From 87b20762d539888b031aba92b574108f5f817815 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Tue, 24 May 2016 18:54:06 -0400 Subject: Numerous changes (see below) * Fix build errors from previous commit * Fix predef text pointers * Disassemble hidden object data and additional accessory functions --- constants/predef_constants.asm | 2 +- constants/tx_pre_constants.asm | 140 +++++++++++++++++++++-------------------- 2 files changed, 72 insertions(+), 70 deletions(-) (limited to 'constants') diff --git a/constants/predef_constants.asm b/constants/predef_constants.asm index 14d1029d..d1e81a72 100644 --- a/constants/predef_constants.asm +++ b/constants/predef_constants.asm @@ -98,4 +98,4 @@ const_value = 0 predef_const DrawHP ; 5F predef_const DrawHP2 predef_const Func_1c9c6 - predef_const OaksAideScript \ No newline at end of file + predef_const OaksAideScript diff --git a/constants/tx_pre_constants.asm b/constants/tx_pre_constants.asm index e2bade58..0e06a8e3 100644 --- a/constants/tx_pre_constants.asm +++ b/constants/tx_pre_constants.asm @@ -1,70 +1,72 @@ -const_value = 1 +; const_value = 1 - tx_pre_const CardKeySuccessText ; 01 - tx_pre_const CardKeyFailText ; 02 - tx_pre_const RedBedroomPCText ; 03 - tx_pre_const RedBedroomSNESText ; 04 - tx_pre_const PushStartText ; 05 - tx_pre_const SaveOptionText ; 06 - tx_pre_const StrengthsAndWeaknessesText ; 07 - tx_pre_const OakLabEmailText ; 08 - tx_pre_const AerodactylFossilText ; 09 - tx_pre_const Route15UpstairsBinocularsText ; 0A - tx_pre_const KabutopsFossilText ; 0B - tx_pre_const GymStatueText1 ; 0C - tx_pre_const GymStatueText2 ; 0D - tx_pre_const BookcaseText ; 0E - tx_pre_const ViridianCityPokecenterBenchGuyText ; 0F - tx_pre_const PewterCityPokecenterBenchGuyText ; 10 - tx_pre_const CeruleanCityPokecenterBenchGuyText ; 11 - tx_pre_const LavenderCityPokecenterBenchGuyText ; 12 - tx_pre_const VermilionCityPokecenterBenchGuyText ; 13 - tx_pre_const CeladonCityPokecenterBenchGuyText ; 14 - tx_pre_const CeladonCityHotelText ; 15 - tx_pre_const FuchsiaCityPokecenterBenchGuyText ; 16 - tx_pre_const CinnabarIslandPokecenterBenchGuyText ; 17 - tx_pre_const SaffronCityPokecenterBenchGuyText ; 18 - tx_pre_const MtMoonPokecenterBenchGuyText ; 19 - tx_pre_const RockTunnelPokecenterBenchGuyText ; 1A - tx_pre_const UnusedBenchGuyText1 ; 1B XXX unused - tx_pre_const UnusedBenchGuyText2 ; 1C XXX unused - tx_pre_const UnusedBenchGuyText3 ; 1D XXX unused - tx_pre_const UnusedPredefText ; 1E XXX unused - tx_pre_const PokemonCenterPCText ; 1F - tx_pre_const ViridianSchoolNotebook ; 20 - tx_pre_const ViridianSchoolBlackboard ; 21 - tx_pre_const FakeTextPredef22 - tx_pre_const FakeTextPredef23 - tx_pre_const JustAMomentText ; 22 - tx_pre_const OpenBillsPCText ; 23 - tx_pre_const FoundHiddenItemText ; 24 - tx_pre_const HiddenItemBagFullText ; 25 XXX unused - tx_pre_const VermilionGymTrashText ; 26 - tx_pre_const IndigoPlateauHQText ; 27 - tx_pre_const GameCornerOutOfOrderText ; 28 - tx_pre_const GameCornerOutToLunchText ; 29 - tx_pre_const GameCornerSomeonesKeysText ; 2A - tx_pre_const FoundHiddenCoinsText ; 2B - tx_pre_const DroppedHiddenCoinsText ; 2C - tx_pre_const BillsHouseMonitorText ; 2D - tx_pre_const BillsHouseInitiatedText ; 2E - tx_pre_const BillsHousePokemonList ; 2F - tx_pre_const MagazinesText ; 30 - tx_pre_const CinnabarGymQuiz ; 31 - tx_pre_const GameCornerNoCoinsText ; 32 - tx_pre_const GameCornerCoinCaseText ; 33 - tx_pre_const LinkCableHelp ; 34 - tx_pre_const TMNotebook ; 35 - tx_pre_const FightingDojoText ; 36 - tx_pre_const EnemiesOnEverySideText ; 37 - tx_pre_const WhatGoesAroundComesAroundText ; 38 - tx_pre_const NewBicycleText ; 39 - tx_pre_const IndigoPlateauStatues ; 3A - tx_pre_const VermilionGymTrashSuccesText1 ; 3B - tx_pre_const VermilionGymTrashSuccesText2 ; 3C XXX unused - tx_pre_const VermilionGymTrashSuccesText3 ; 3D - tx_pre_const VermilionGymTrashFailText ; 3E - tx_pre_const TownMapText ; 3F - tx_pre_const BookOrSculptureText ; 40 - tx_pre_const ElevatorText ; 41 - tx_pre_const PokemonStuffText ; 42 \ No newline at end of file + ; tx_pre_const CardKeySuccessText ; 01 + ; tx_pre_const CardKeyFailText ; 02 + ; tx_pre_const RedBedroomPCText ; 03 + ; tx_pre_const RedBedroomSNESText ; 04 + ; tx_pre_const PushStartText ; 05 + ; tx_pre_const SaveOptionText ; 06 + ; tx_pre_const StrengthsAndWeaknessesText ; 07 + ; tx_pre_const OakLabEmailText ; 08 + ; tx_pre_const AerodactylFossilText ; 09 + ; tx_pre_const Route15UpstairsBinocularsText ; 0A + ; tx_pre_const KabutopsFossilText ; 0B + ; tx_pre_const FanClubRapidashText ; 0C + ; tx_pre_const FanClubFearowText ; 0D + ; tx_pre_const GymStatueText1 ; 0E + ; tx_pre_const GymStatueText2 ; 0F + ; tx_pre_const BookcaseText ; 10 + ; tx_pre_const ViridianCityPokecenterBenchGuyText ; 11 + ; tx_pre_const PewterCityPokecenterBenchGuyText ; 12 + ; tx_pre_const CeruleanCityPokecenterBenchGuyText ; 13 + ; tx_pre_const LavenderCityPokecenterBenchGuyText ; 14 + ; tx_pre_const VermilionCityPokecenterBenchGuyText ; 15 + ; tx_pre_const CeladonCityPokecenterBenchGuyText ; 16 + ; tx_pre_const CeladonCityHotelText ; 17 + ; tx_pre_const FuchsiaCityPokecenterBenchGuyText ; 18 + ; tx_pre_const CinnabarIslandPokecenterBenchGuyText ; 19 + ; tx_pre_const SaffronCityPokecenterBenchGuyText ; 1A + ; tx_pre_const MtMoonPokecenterBenchGuyText ; 1B + ; tx_pre_const RockTunnelPokecenterBenchGuyText ; 1C + ; tx_pre_const UnusedBenchGuyText1 ; 1D + ; tx_pre_const UnusedBenchGuyText2 ; 1E + ; tx_pre_const UnusedBenchGuyText3 ; 1F + ; tx_pre_const UnusedPredefText ; 20 + ; tx_pre_const PokemonCenterPCText ; 21 + ; tx_pre_const ViridianSchoolNotebook ; 22 + ; tx_pre_const ViridianSchoolBlackboard ; 23 + ; tx_pre_const FakeTextPredef22 + ; tx_pre_const FakeTextPredef23 + ; tx_pre_const JustAMomentText ; 24 + ; tx_pre_const OpenBillsPCText ; 25 + ; tx_pre_const FoundHiddenItemText ; 26 + ; tx_pre_const HiddenItemBagFullText ; 27 + ; tx_pre_const VermilionGymTrashText ; 28 + ; tx_pre_const IndigoPlateauHQText ; 29 + ; tx_pre_const GameCornerOutOfOrderText ; 2A + ; tx_pre_const GameCornerOutToLunchText ; 2B + ; tx_pre_const GameCornerSomeonesKeysText ; 2C + ; tx_pre_const FoundHiddenCoinsText ; 2D + ; tx_pre_const DroppedHiddenCoinsText ; 2E + ; tx_pre_const BillsHouseMonitorText ; 2F + ; tx_pre_const BillsHouseInitiatedText ; 30 + ; tx_pre_const BillsHousePokemonList ; 31 + ; tx_pre_const MagazinesText ; 32 + ; tx_pre_const CinnabarGymQuiz ; 33 + ; tx_pre_const GameCornerNoCoinsText ; 34 + ; tx_pre_const GameCornerCoinCaseText ; 35 + ; tx_pre_const LinkCableHelp ; 36 + ; tx_pre_const TMNotebook ; 37 + ; tx_pre_const FightingDojoText ; 38 + ; tx_pre_const EnemiesOnEverySideText ; 39 + ; tx_pre_const WhatGoesAroundComesAroundText ; 3A + ; tx_pre_const NewBicycleText ; 3B + ; tx_pre_const IndigoPlateauStatues ; 3C XXX unused + ; tx_pre_const VermilionGymTrashSuccesText1 ; 3D + ; tx_pre_const VermilionGymTrashSuccesText2 ; 3E + ; tx_pre_const VermilionGymTrashSuccesText3 ; 3F + ; tx_pre_const VermilionGymTrashFailText ; 40 + ; tx_pre_const TownMapText ; 41 + ; tx_pre_const BookOrSculptureText ; 42 + ; tx_pre_const ElevatorText ; 43 + ; tx_pre_const PokemonStuffText ; 44 -- cgit v1.3.1-sl0p From 850b1186547b1603e9e8927a5985ad6d2deb8e56 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Tue, 24 May 2016 20:43:52 -0400 Subject: We don't need this file anymore --- constants.asm | 1 - constants/tx_pre_constants.asm | 72 ------------------------------------------ 2 files changed, 73 deletions(-) delete mode 100644 constants/tx_pre_constants.asm (limited to 'constants') diff --git a/constants.asm b/constants.asm index 24730d77..c5f4575e 100644 --- a/constants.asm +++ b/constants.asm @@ -29,7 +29,6 @@ INCLUDE "constants/music_constants.asm" INCLUDE "constants/tilesets.asm" INCLUDE "constants/starter_mons.asm" INCLUDE "constants/predef_constants.asm" -INCLUDE "constants/tx_pre_constants.asm" INCLUDE "constants/event_constants.asm" INCLUDE "constants/event_macros.asm" INCLUDE "constants/pikachu_emotion_constants.asm" \ No newline at end of file diff --git a/constants/tx_pre_constants.asm b/constants/tx_pre_constants.asm deleted file mode 100644 index 0e06a8e3..00000000 --- a/constants/tx_pre_constants.asm +++ /dev/null @@ -1,72 +0,0 @@ -; const_value = 1 - - ; tx_pre_const CardKeySuccessText ; 01 - ; tx_pre_const CardKeyFailText ; 02 - ; tx_pre_const RedBedroomPCText ; 03 - ; tx_pre_const RedBedroomSNESText ; 04 - ; tx_pre_const PushStartText ; 05 - ; tx_pre_const SaveOptionText ; 06 - ; tx_pre_const StrengthsAndWeaknessesText ; 07 - ; tx_pre_const OakLabEmailText ; 08 - ; tx_pre_const AerodactylFossilText ; 09 - ; tx_pre_const Route15UpstairsBinocularsText ; 0A - ; tx_pre_const KabutopsFossilText ; 0B - ; tx_pre_const FanClubRapidashText ; 0C - ; tx_pre_const FanClubFearowText ; 0D - ; tx_pre_const GymStatueText1 ; 0E - ; tx_pre_const GymStatueText2 ; 0F - ; tx_pre_const BookcaseText ; 10 - ; tx_pre_const ViridianCityPokecenterBenchGuyText ; 11 - ; tx_pre_const PewterCityPokecenterBenchGuyText ; 12 - ; tx_pre_const CeruleanCityPokecenterBenchGuyText ; 13 - ; tx_pre_const LavenderCityPokecenterBenchGuyText ; 14 - ; tx_pre_const VermilionCityPokecenterBenchGuyText ; 15 - ; tx_pre_const CeladonCityPokecenterBenchGuyText ; 16 - ; tx_pre_const CeladonCityHotelText ; 17 - ; tx_pre_const FuchsiaCityPokecenterBenchGuyText ; 18 - ; tx_pre_const CinnabarIslandPokecenterBenchGuyText ; 19 - ; tx_pre_const SaffronCityPokecenterBenchGuyText ; 1A - ; tx_pre_const MtMoonPokecenterBenchGuyText ; 1B - ; tx_pre_const RockTunnelPokecenterBenchGuyText ; 1C - ; tx_pre_const UnusedBenchGuyText1 ; 1D - ; tx_pre_const UnusedBenchGuyText2 ; 1E - ; tx_pre_const UnusedBenchGuyText3 ; 1F - ; tx_pre_const UnusedPredefText ; 20 - ; tx_pre_const PokemonCenterPCText ; 21 - ; tx_pre_const ViridianSchoolNotebook ; 22 - ; tx_pre_const ViridianSchoolBlackboard ; 23 - ; tx_pre_const FakeTextPredef22 - ; tx_pre_const FakeTextPredef23 - ; tx_pre_const JustAMomentText ; 24 - ; tx_pre_const OpenBillsPCText ; 25 - ; tx_pre_const FoundHiddenItemText ; 26 - ; tx_pre_const HiddenItemBagFullText ; 27 - ; tx_pre_const VermilionGymTrashText ; 28 - ; tx_pre_const IndigoPlateauHQText ; 29 - ; tx_pre_const GameCornerOutOfOrderText ; 2A - ; tx_pre_const GameCornerOutToLunchText ; 2B - ; tx_pre_const GameCornerSomeonesKeysText ; 2C - ; tx_pre_const FoundHiddenCoinsText ; 2D - ; tx_pre_const DroppedHiddenCoinsText ; 2E - ; tx_pre_const BillsHouseMonitorText ; 2F - ; tx_pre_const BillsHouseInitiatedText ; 30 - ; tx_pre_const BillsHousePokemonList ; 31 - ; tx_pre_const MagazinesText ; 32 - ; tx_pre_const CinnabarGymQuiz ; 33 - ; tx_pre_const GameCornerNoCoinsText ; 34 - ; tx_pre_const GameCornerCoinCaseText ; 35 - ; tx_pre_const LinkCableHelp ; 36 - ; tx_pre_const TMNotebook ; 37 - ; tx_pre_const FightingDojoText ; 38 - ; tx_pre_const EnemiesOnEverySideText ; 39 - ; tx_pre_const WhatGoesAroundComesAroundText ; 3A - ; tx_pre_const NewBicycleText ; 3B - ; tx_pre_const IndigoPlateauStatues ; 3C XXX unused - ; tx_pre_const VermilionGymTrashSuccesText1 ; 3D - ; tx_pre_const VermilionGymTrashSuccesText2 ; 3E - ; tx_pre_const VermilionGymTrashSuccesText3 ; 3F - ; tx_pre_const VermilionGymTrashFailText ; 40 - ; tx_pre_const TownMapText ; 41 - ; tx_pre_const BookOrSculptureText ; 42 - ; tx_pre_const ElevatorText ; 43 - ; tx_pre_const PokemonStuffText ; 44 -- cgit v1.3.1-sl0p From 9b4b0f179048915bb013e95a2342c574b0a9a5bf Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Wed, 25 May 2016 19:08:54 -0400 Subject: Replace pcm arguments with pcm file labels --- constants/pikachu_emotion_constants.asm | 6 +- engine/bank3f.asm | 417 ++++++++++++++++++++++++++++++++ engine/pikachu_pic_animation.asm | 416 ------------------------------- 3 files changed, 422 insertions(+), 417 deletions(-) (limited to 'constants') diff --git a/constants/pikachu_emotion_constants.asm b/constants/pikachu_emotion_constants.asm index bce84eb7..22c1d8ea 100644 --- a/constants/pikachu_emotion_constants.asm +++ b/constants/pikachu_emotion_constants.asm @@ -35,7 +35,11 @@ ENDM pikaemotion_pcm: MACRO db PIKAEMOTION_PLAYPCMSOUNDCLIP - db \1 +IF _NARG > 0 + dpikacry \1 +ELSE + db $ff +ENDC ENDM pikaemotion_emotebubble: MACRO diff --git a/engine/bank3f.asm b/engine/bank3f.asm index f6a9371e..75ebda71 100644 --- a/engine/bank3f.asm +++ b/engine/bank3f.asm @@ -1914,6 +1914,423 @@ Func_fcffb: ; fcffb (3f:4ffb) Func_fd001:: ; fd001 (3f:5001) ld a, e jr asm_fd00f + +Func_fd004:: ; fd004 (3f:5004) + call Func_fd05e + jr c, asm_fd00f + call GetPikaPicAnimationScriptIndex + call Func_fcffb +asm_fd00f: ; fd00f (3f:500f) + ld [wExpressionNumber], a + ld hl, PikachuEmotionTable + call DoStarterPikachuEmotions + ret + +PikachuEmotionTable: ; fd019 (3f:4019) + dw PikachuEmotion0_fd115 + dw PikachuEmotion1_fd141 + dw PikachuEmotion2_fd116 + dw PikachuEmotion3_fd160 + dw PikachuEmotion4_fd136 + dw PikachuEmotion5_fd14d + dw PikachuEmotion6_fd153 + dw PikachuEmotion7_fd128 + dw PikachuEmotion8_fd147 + dw PikachuEmotion9_fd166 + dw PikachuEmotion10_fd11e + dw PikachuEmotion11_fd173 + dw PikachuEmotion12_fd17a + dw PikachuEmotion13_fd180 + dw PikachuEmotion14_fd189 + dw PikachuEmotion15_fd191 + dw PikachuEmotion16_fd197 + dw PikachuEmotion17_fd19d + dw PikachuEmotion18_fd1a3 + dw PikachuEmotion19_fd1a9 + dw PikachuEmotion20_fd1b1 + dw PikachuEmotion21_fd1b9 + dw PikachuEmotion22_fd1c1 + dw PikachuEmotion23_fd1c7 + dw PikachuEmotion24_fd1cf + dw PikachuEmotion25_fd1d7 + dw PikachuEmotion26_fd1df + dw PikachuEmotion27_fd1eb + dw PikachuEmotion28_fd1f1 + dw PikachuEmotion29_fd1f7 + dw PikachuEmotion30_fd1fc + dw PikachuEmotion31_fd20a + dw PikachuEmotion32_fd213 + dw PikachuEmotion33_fd05d + +PikachuEmotion33_fd05d: ; fd05d (3f:505d) + db $ff + +Func_fd05e: ; fd05e (3f:505e) + ld a, [wCurMap] + cp POKEMON_FAN_CLUB + jr nz, .notFanClub + ld hl, wPreventBlackout + bit 7, [hl] + ld a, $1d + jr z, .asm_fd0c9 + call Func_154a + ld a, $1e + jr nz, .asm_fd0c9 + jr .asm_fd096 +.notFanClub + ld a, [wCurMap] + cp PEWTER_POKECENTER + jr nz, .notPewterPokecenter + call Func_154a + ld a, $1a + jr nz, .asm_fd0c9 + jr .asm_fd096 +.notPewterPokecenter + callab Func_f24ae + ld a, e + cp $ff + jr nz, .asm_fd0c9 + jr .asm_fd096 +.asm_fd096 + call IsPlayerPikachuAsleepInParty + ld a, $b + jr c, .asm_fd0c9 + callab Func_fce73 ; same bank + ld a, $1c + jr c, .asm_fd0c9 + ld a, [wCurMap] + cp POKEMONTOWER_1 + jr c, .notInLavenderTower + cp POKEMONTOWER_7 + 1 + ld a, $16 + jr c, .asm_fd0c9 +.notInLavenderTower + ld a, [wd49c] + and a + jr z, .asm_fd0c7 + dec a + ld c, a + ld b, $0 + ld hl, Pointer_fd0cb + add hl, bc + ld a, [hl] + jr .asm_fd0c9 +.asm_fd0c7 + and a + ret +.asm_fd0c9 + scf + ret + +Pointer_fd0cb: + db $12, $15, $17, $18, $19 + +IsPlayerPikachuAsleepInParty:: ; fd0d0 (3f:50d0) + xor a + ld [wWhichPokemon], a +.loop + ld a, [wWhichPokemon] + ld c, a + ld b, $0 + ld hl, wPartySpecies + add hl, bc + ld a, [hl] + cp $ff + jr z, .done + cp PIKACHU + jr nz, .curMonNotStarterPikachu + callab IsThisPartymonStarterPikachu + jr nc, .curMonNotStarterPikachu + ld a, [wWhichPokemon] + ld hl, wPartyMon1Status + ld bc, wPartyMon2 - wPartyMon1 + call AddNTimes + ld a, [hl] + and SLP + jr z, .done + jr .curMonSleepingPikachu +.curMonNotStarterPikachu + ld a, [wWhichPokemon] + cp PARTY_LENGTH - 1 + jr z, .done + inc a + ld [wWhichPokemon], a + jr .loop +.curMonSleepingPikachu + scf + ret +.done + and a + ret + +PikachuEmotion0_fd115: ; fd115 (3f:5115) + db $ff + +PikachuEmotion2_fd116: ; fd116 (3f:5116) + pikaemotion_dummy2 + pikaemotion_emotebubble SMILE_BUBBLE + pikaemotion_pcm PikachuCry35 + pikaemotion_5 $2 + db $ff + +PikachuEmotion10_fd11e: ; fd11e (3f:511e) + pikaemotion_dummy2 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES + pikaemotion_emotebubble HEART_BUBBLE + pikaemotion_pcm PikachuCry5 + pikaemotion_5 $a + db $ff + +PikachuEmotion7_fd128: ; fd128 (3f:5128) + pikaemotion_dummy2 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES + pikaemotion_4 Pointer_fd224 + pikaemotion_pcm PikachuCry1 + pikaemotion_4 Pointer_fd224 + pikaemotion_5 $7 + db $ff + +PikachuEmotion4_fd136: ; fd136 (3f:5136) + pikaemotion_dummy2 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES + pikaemotion_4 Pointer_fd230 + pikaemotion_pcm PikachuCry29 + pikaemotion_5 $4 + db $ff + +PikachuEmotion1_fd141: ; fd141 (3f:5141) + pikaemotion_dummy2 + pikaemotion_pcm + pikaemotion_5 $1 + db $ff + +PikachuEmotion8_fd147: ; fd147 (3f:5147) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry39 + pikaemotion_5 $8 + db $ff + +PikachuEmotion5_fd14d: ; fd14d (3f:514d) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry31 + pikaemotion_5 $5 + db $ff + +PikachuEmotion6_fd153: ; fd153 (3f:5153) + pikaemotion_dummy2 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES + pikaemotion_pcm + pikaemotion_4 Pointer_fd21e + pikaemotion_emotebubble SKULL_BUBBLE + pikaemotion_5 $6 + db $ff + +PikachuEmotion3_fd160: ; fd160 (3f:5160) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry40 + pikaemotion_5 $3 + db $ff + +PikachuEmotion9_fd166: ; fd166 (3f:5166) + pikaemotion_dummy2 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES + pikaemotion_pcm PikachuCry6 + pikaemotion_4 Pointer_fd218 + pikaemotion_emotebubble SKULL_BUBBLE + pikaemotion_5 $9 + db $ff + +PikachuEmotion11_fd173: ; fd173 (3f:5173) + pikaemotion_emotebubble ZZZ_BUBBLE + pikaemotion_pcm PikachuCry37 + pikaemotion_5 $b + db $ff + +PikachuEmotion12_fd17a: ; fd17a (3f:517a) + pikaemotion_dummy2 + pikaemotion_pcm + pikaemotion_5 $c + db $ff + +PikachuEmotion13_fd180: ; fd180 (3f:5180) + pikaemotion_dummy2 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES + pikaemotion_4 Pointer_fd21e + pikaemotion_5 $d + db $ff + +PikachuEmotion14_fd189: ; fd189 (3f:5189) + pikaemotion_dummy2 + pikaemotion_emotebubble BOLT_BUBBLE + pikaemotion_pcm PikachuCry10 + pikaemotion_5 $e + db $ff + +PikachuEmotion15_fd191: ; fd191 (3f:5191) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry34 + pikaemotion_5 $f + db $ff + +PikachuEmotion16_fd197: ; fd197 (3f:5197) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry33 + pikaemotion_5 $10 + db $ff + +PikachuEmotion17_fd19d: ; fd19d (3f:519d) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry13 + pikaemotion_5 $11 + db $ff + +PikachuEmotion18_fd1a3: ; fd1a3 (3f:51a3) + pikaemotion_dummy2 + pikaemotion_pcm + pikaemotion_5 $12 + db $ff + +PikachuEmotion19_fd1a9: ; fd1a9 (3f:51a9) + pikaemotion_dummy2 + pikaemotion_emotebubble HEART_BUBBLE + pikaemotion_pcm PikachuCry33 + pikaemotion_5 $13 + db $ff + +PikachuEmotion20_fd1b1: ; fd1b1 (3f:51b1) + pikaemotion_dummy2 + pikaemotion_emotebubble HEART_BUBBLE + pikaemotion_pcm PikachuCry5 + pikaemotion_5 $14 + db $ff + +PikachuEmotion21_fd1b9: ; fd1b9 (3f:51b9) + pikaemotion_dummy2 + pikaemotion_emotebubble FISH_BUBBLE + pikaemotion_pcm + pikaemotion_5 $15 + db $ff + +PikachuEmotion22_fd1c1: ; fd1c1 (3f:51c1) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry4 + pikaemotion_5 $16 + db $ff + +PikachuEmotion23_fd1c7: ; fd1c7 (3f:51c7) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry19 + pikaemotion_5 $17 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW + db $ff + +PikachuEmotion24_fd1cf: ; fd1cf (3f:51cf) + pikaemotion_dummy2 + pikaemotion_emotebubble EXCLAMATION_BUBBLE + pikaemotion_pcm + pikaemotion_5 $18 + db $ff + +PikachuEmotion25_fd1d7: ; fd1d7 (3f:51d7) + pikaemotion_dummy2 + pikaemotion_emotebubble BOLT_BUBBLE + pikaemotion_pcm PikachuCry35 + pikaemotion_5 $19 + db $ff + +PikachuEmotion26_fd1df: ; fd1df (3f:51df) + pikaemotion_dummy2 + pikaemotion_emotebubble ZZZ_BUBBLE + pikaemotion_pcm PikachuCry37 + pikaemotion_5 $1a + pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW + pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKPEWTERCENTER + db $ff + +PikachuEmotion27_fd1eb: ; fd1eb (3f:51eb) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry9 + pikaemotion_5 $1b + db $ff + +PikachuEmotion28_fd1f1: ; fd1f1 (3f:51f1) + pikaemotion_dummy2 + pikaemotion_pcm PikachuCry15 + pikaemotion_5 $1c + db $ff + +PikachuEmotion29_fd1f7: ; fd1f7 (3f:51f7) + pikaemotion_pcm PikachuCry5 + pikaemotion_5 $a + db $ff + +PikachuEmotion30_fd1fc: ; fd1fc (3f:51fc) + pikaemotion_9 + pikaemotion_emotebubble HEART_BUBBLE + pikaemotion_pcm PikachuCry5 + pikaemotion_5 $14 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW + pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADFONT + pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKLAVENDERTOWER + db $ff + +PikachuEmotion31_fd20a: ; fd20a (3f:520a) + pikaemotion_pcm PikachuCry19 + pikaemotion_5 $17 + pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW + pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKBILLSHOUSE + db $ff + +PikachuEmotion32_fd213: ; fd213 (3f:5213) + pikaemotion_pcm PikachuCry26 + pikaemotion_5 $17 + db $ff + +Pointer_fd218: ; fd218 (3f:5218) + + db $00 + db $39, $01 + db $3e, $1e + db $3f + +Pointer_fd21e: ; fd21e (3f:521e) + db $00 + db $39, $00 + db $3e, $1e + db $3f + +Pointer_fd224: ; fd224 (3f:5224) + db $00 + db $3c, $07, $2f + db $3c, $07, $2f + db $3f + +Pointer_fd22c: ; fd22c (3f:522c) + db $3b, $1f, $03 + db $3f + +Pointer_fd230: ; fd230 (3f:5230) + db $00 + db $3c, $0f, $1f + db $3c, $0f, $1f + db $3f + +Pointer_fd238: ; fd238 (3f:5238) + db $00 + db $05, $07 + db $39, $00 + db $05, $07 + db $06, $07 + db $39, $00 + db $06, $07 + db $08, $07 + db $39, $00 + db $08, $07 + db $07, $07 + db $39, $00 + db $07, $07 + db $3f + INCLUDE "engine/pikachu_pic_animation.asm" diff --git a/engine/pikachu_pic_animation.asm b/engine/pikachu_pic_animation.asm index 68bddad6..954ac77e 100755 --- a/engine/pikachu_pic_animation.asm +++ b/engine/pikachu_pic_animation.asm @@ -1,419 +1,3 @@ -Func_fd004:: ; fd004 (3f:5004) - call Func_fd05e - jr c, asm_fd00f - call GetPikaPicAnimationScriptIndex - call Func_fcffb -asm_fd00f: ; fd00f (3f:500f) - ld [wExpressionNumber], a - ld hl, PikachuEmotionTable - call DoStarterPikachuEmotions - ret - -PikachuEmotionTable: ; fd019 (3f:4019) - dw PikachuEmotion0_fd115 - dw PikachuEmotion1_fd141 - dw PikachuEmotion2_fd116 - dw PikachuEmotion3_fd160 - dw PikachuEmotion4_fd136 - dw PikachuEmotion5_fd14d - dw PikachuEmotion6_fd153 - dw PikachuEmotion7_fd128 - dw PikachuEmotion8_fd147 - dw PikachuEmotion9_fd166 - dw PikachuEmotion10_fd11e - dw PikachuEmotion11_fd173 - dw PikachuEmotion12_fd17a - dw PikachuEmotion13_fd180 - dw PikachuEmotion14_fd189 - dw PikachuEmotion15_fd191 - dw PikachuEmotion16_fd197 - dw PikachuEmotion17_fd19d - dw PikachuEmotion18_fd1a3 - dw PikachuEmotion19_fd1a9 - dw PikachuEmotion20_fd1b1 - dw PikachuEmotion21_fd1b9 - dw PikachuEmotion22_fd1c1 - dw PikachuEmotion23_fd1c7 - dw PikachuEmotion24_fd1cf - dw PikachuEmotion25_fd1d7 - dw PikachuEmotion26_fd1df - dw PikachuEmotion27_fd1eb - dw PikachuEmotion28_fd1f1 - dw PikachuEmotion29_fd1f7 - dw PikachuEmotion30_fd1fc - dw PikachuEmotion31_fd20a - dw PikachuEmotion32_fd213 - dw PikachuEmotion33_fd05d - -PikachuEmotion33_fd05d: ; fd05d (3f:505d) - db $ff - -Func_fd05e: ; fd05e (3f:505e) - ld a, [wCurMap] - cp POKEMON_FAN_CLUB - jr nz, .notFanClub - ld hl, wPreventBlackout - bit 7, [hl] - ld a, $1d - jr z, .asm_fd0c9 - call Func_154a - ld a, $1e - jr nz, .asm_fd0c9 - jr .asm_fd096 -.notFanClub - ld a, [wCurMap] - cp PEWTER_POKECENTER - jr nz, .notPewterPokecenter - call Func_154a - ld a, $1a - jr nz, .asm_fd0c9 - jr .asm_fd096 -.notPewterPokecenter - callab Func_f24ae - ld a, e - cp $ff - jr nz, .asm_fd0c9 - jr .asm_fd096 -.asm_fd096 - call IsPlayerPikachuAsleepInParty - ld a, $b - jr c, .asm_fd0c9 - callab Func_fce73 ; same bank - ld a, $1c - jr c, .asm_fd0c9 - ld a, [wCurMap] - cp POKEMONTOWER_1 - jr c, .notInLavenderTower - cp POKEMONTOWER_7 + 1 - ld a, $16 - jr c, .asm_fd0c9 -.notInLavenderTower - ld a, [wd49c] - and a - jr z, .asm_fd0c7 - dec a - ld c, a - ld b, $0 - ld hl, Pointer_fd0cb - add hl, bc - ld a, [hl] - jr .asm_fd0c9 -.asm_fd0c7 - and a - ret -.asm_fd0c9 - scf - ret - -Pointer_fd0cb: - db $12, $15, $17, $18, $19 - -IsPlayerPikachuAsleepInParty:: ; fd0d0 (3f:50d0) - xor a - ld [wWhichPokemon], a -.loop - ld a, [wWhichPokemon] - ld c, a - ld b, $0 - ld hl, wPartySpecies - add hl, bc - ld a, [hl] - cp $ff - jr z, .done - cp PIKACHU - jr nz, .curMonNotStarterPikachu - callab IsThisPartymonStarterPikachu - jr nc, .curMonNotStarterPikachu - ld a, [wWhichPokemon] - ld hl, wPartyMon1Status - ld bc, wPartyMon2 - wPartyMon1 - call AddNTimes - ld a, [hl] - and SLP - jr z, .done - jr .curMonSleepingPikachu -.curMonNotStarterPikachu - ld a, [wWhichPokemon] - cp PARTY_LENGTH - 1 - jr z, .done - inc a - ld [wWhichPokemon], a - jr .loop -.curMonSleepingPikachu - scf - ret -.done - and a - ret - -PikachuEmotion0_fd115: ; fd115 (3f:5115) - db $ff - -PikachuEmotion2_fd116: ; fd116 (3f:5116) - pikaemotion_dummy2 - pikaemotion_emotebubble SMILE_BUBBLE - pikaemotion_pcm $22 - pikaemotion_5 $2 - db $ff - -PikachuEmotion10_fd11e: ; fd11e (3f:511e) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $4 - pikaemotion_5 $a - db $ff - -PikachuEmotion7_fd128: ; fd128 (3f:5128) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_4 Pointer_fd224 - pikaemotion_pcm $0 - pikaemotion_4 Pointer_fd224 - pikaemotion_5 $7 - db $ff - -PikachuEmotion4_fd136: ; fd136 (3f:5136) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_4 Pointer_fd230 - pikaemotion_pcm $1c - pikaemotion_5 $4 - db $ff - -PikachuEmotion1_fd141: ; fd141 (3f:5141) - pikaemotion_dummy2 - pikaemotion_pcm $ff - pikaemotion_5 $1 - db $ff - -PikachuEmotion8_fd147: ; fd147 (3f:5147) - pikaemotion_dummy2 - pikaemotion_pcm $26 - pikaemotion_5 $8 - db $ff - -PikachuEmotion5_fd14d: ; fd14d (3f:514d) - pikaemotion_dummy2 - pikaemotion_pcm $1e - pikaemotion_5 $5 - db $ff - -PikachuEmotion6_fd153: ; fd153 (3f:5153) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_pcm $ff - pikaemotion_4 Pointer_fd21e - pikaemotion_emotebubble SKULL_BUBBLE - pikaemotion_5 $6 - db $ff - -PikachuEmotion3_fd160: ; fd160 (3f:5160) - pikaemotion_dummy2 - pikaemotion_pcm $27 - pikaemotion_5 $3 - db $ff - -PikachuEmotion9_fd166: ; fd166 (3f:5166) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_pcm $5 - pikaemotion_4 Pointer_fd218 - pikaemotion_emotebubble SKULL_BUBBLE - pikaemotion_5 $9 - db $ff - -PikachuEmotion11_fd173: ; fd173 (3f:5173) - pikaemotion_emotebubble ZZZ_BUBBLE - pikaemotion_pcm $24 - pikaemotion_5 $b - db $ff - -PikachuEmotion12_fd17a: ; fd17a (3f:517a) - pikaemotion_dummy2 - pikaemotion_pcm $ff - pikaemotion_5 $c - db $ff - -PikachuEmotion13_fd180: ; fd180 (3f:5180) - pikaemotion_dummy2 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADEXTRAPIKASPRITES - pikaemotion_4 Pointer_fd21e - pikaemotion_5 $d - db $ff - -PikachuEmotion14_fd189: ; fd189 (3f:5189) - pikaemotion_dummy2 - pikaemotion_emotebubble BOLT_BUBBLE - pikaemotion_pcm $9 - pikaemotion_5 $e - db $ff - -PikachuEmotion15_fd191: ; fd191 (3f:5191) - pikaemotion_dummy2 - pikaemotion_pcm $21 - pikaemotion_5 $f - db $ff - -PikachuEmotion16_fd197: ; fd197 (3f:5197) - pikaemotion_dummy2 - pikaemotion_pcm $20 - pikaemotion_5 $10 - db $ff - -PikachuEmotion17_fd19d: ; fd19d (3f:519d) - pikaemotion_dummy2 - pikaemotion_pcm $c - pikaemotion_5 $11 - db $ff - -PikachuEmotion18_fd1a3: ; fd1a3 (3f:51a3) - pikaemotion_dummy2 - pikaemotion_pcm $ff - pikaemotion_5 $12 - db $ff - -PikachuEmotion19_fd1a9: ; fd1a9 (3f:51a9) - pikaemotion_dummy2 - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $20 - pikaemotion_5 $13 - db $ff - -PikachuEmotion20_fd1b1: ; fd1b1 (3f:51b1) - pikaemotion_dummy2 - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $4 - pikaemotion_5 $14 - db $ff - -PikachuEmotion21_fd1b9: ; fd1b9 (3f:51b9) - pikaemotion_dummy2 - pikaemotion_emotebubble FISH_BUBBLE - pikaemotion_pcm $ff - pikaemotion_5 $15 - db $ff - -PikachuEmotion22_fd1c1: ; fd1c1 (3f:51c1) - pikaemotion_dummy2 - pikaemotion_pcm $3 - pikaemotion_5 $16 - db $ff - -PikachuEmotion23_fd1c7: ; fd1c7 (3f:51c7) - pikaemotion_dummy2 - pikaemotion_pcm $12 - pikaemotion_5 $17 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - db $ff - -PikachuEmotion24_fd1cf: ; fd1cf (3f:51cf) - pikaemotion_dummy2 - pikaemotion_emotebubble EXCLAMATION_BUBBLE - pikaemotion_pcm $ff - pikaemotion_5 $18 - db $ff - -PikachuEmotion25_fd1d7: ; fd1d7 (3f:51d7) - pikaemotion_dummy2 - pikaemotion_emotebubble BOLT_BUBBLE - pikaemotion_pcm $22 - pikaemotion_5 $19 - db $ff - -PikachuEmotion26_fd1df: ; fd1df (3f:51df) - pikaemotion_dummy2 - pikaemotion_emotebubble ZZZ_BUBBLE - pikaemotion_pcm $24 - pikaemotion_5 $1a - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKPEWTERCENTER - db $ff - -PikachuEmotion27_fd1eb: ; fd1eb (3f:51eb) - pikaemotion_dummy2 - pikaemotion_pcm $8 - pikaemotion_5 $1b - db $ff - -PikachuEmotion28_fd1f1: ; fd1f1 (3f:51f1) - pikaemotion_dummy2 - pikaemotion_pcm $e - pikaemotion_5 $1c - db $ff - -PikachuEmotion29_fd1f7: ; fd1f7 (3f:51f7) - pikaemotion_pcm $4 - pikaemotion_5 $a - db $ff - -PikachuEmotion30_fd1fc: ; fd1fc (3f:51fc) - pikaemotion_9 - pikaemotion_emotebubble HEART_BUBBLE - pikaemotion_pcm $4 - pikaemotion_5 $14 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - pikaemotion_subcmd PIKAEMOTION_SUBCMD_LOADFONT - pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKLAVENDERTOWER - db $ff - -PikachuEmotion31_fd20a: ; fd20a (3f:520a) - pikaemotion_pcm $12 - pikaemotion_5 $17 - pikaemotion_subcmd PIKAEMOTION_SUBCMD_SHOWMAPVIEW - pikaemotion_subcmd PIKAEMOTION_SUBCMD_CHECKBILLSHOUSE - db $ff - -PikachuEmotion32_fd213: ; fd213 (3f:5213) - pikaemotion_pcm $19 - pikaemotion_5 $17 - db $ff - -Pointer_fd218: ; fd218 (3f:5218) - - db $00 - db $39, $01 - db $3e, $1e - db $3f - -Pointer_fd21e: ; fd21e (3f:521e) - db $00 - db $39, $00 - db $3e, $1e - db $3f - -Pointer_fd224: ; fd224 (3f:5224) - db $00 - db $3c, $07, $2f - db $3c, $07, $2f - db $3f - -Pointer_fd22c: ; fd22c (3f:522c) - db $3b, $1f, $03 - db $3f - -Pointer_fd230: ; fd230 (3f:5230) - db $00 - db $3c, $0f, $1f - db $3c, $0f, $1f - db $3f - -Pointer_fd238: ; fd238 (3f:5238) - db $00 - db $05, $07 - db $39, $00 - db $05, $07 - db $06, $07 - db $39, $00 - db $06, $07 - db $08, $07 - db $39, $00 - db $08, $07 - db $07, $07 - db $39, $00 - db $07, $07 - db $3f - Func_fd252: ; fd252 (3f:5252) ld a, $40 ld [h_0xFFFC], a -- cgit v1.3.1-sl0p From d3c9c0650289728d107c3cdade5956f0f4a2a02a Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Thu, 26 May 2016 11:20:12 -0400 Subject: Merge map ID and dimension constants into a single file --- constants.asm | 1 - constants/map_constants.asm | 505 +++++++++++----------- constants/map_dimensions.asm | 896 --------------------------------------- data/hide_show_data.asm | 2 +- data/mapObjects/ceruleancity.asm | 12 +- data/town_map_entries.asm | 2 +- 6 files changed, 263 insertions(+), 1155 deletions(-) delete mode 100755 constants/map_dimensions.asm (limited to 'constants') diff --git a/constants.asm b/constants.asm index c5f4575e..ba2d76c6 100644 --- a/constants.asm +++ b/constants.asm @@ -21,7 +21,6 @@ INCLUDE "constants/palette_constants.asm" INCLUDE "constants/evolution_constants.asm" INCLUDE "constants/list_constants.asm" INCLUDE "constants/map_constants.asm" -INCLUDE "constants/map_dimensions.asm" INCLUDE "constants/connection_constants.asm" INCLUDE "constants/hide_show_constants.asm" INCLUDE "constants/credits_constants.asm" diff --git a/constants/map_constants.asm b/constants/map_constants.asm index 9ff23355..c2068dd9 100644 --- a/constants/map_constants.asm +++ b/constants/map_constants.asm @@ -1,251 +1,256 @@ -const_value = 0 +mapconst: MACRO + const \1 +\1_HEIGHT EQU \2 +\1_WIDTH EQU \3 +ENDM - const PALLET_TOWN ; $00 - const VIRIDIAN_CITY ; $01 - const PEWTER_CITY ; $02 - const CERULEAN_CITY ; $03 - const LAVENDER_TOWN ; $04 - const VERMILION_CITY ; $05 - const CELADON_CITY ; $06 - const FUCHSIA_CITY ; $07 - const CINNABAR_ISLAND ; $08 - const INDIGO_PLATEAU ; $09 - const SAFFRON_CITY ; $0A - const UNUSED_MAP_0B ; $0B - const ROUTE_1 ; $0C - const ROUTE_2 ; $0D - const ROUTE_3 ; $0E - const ROUTE_4 ; $0F - const ROUTE_5 ; $10 - const ROUTE_6 ; $11 - const ROUTE_7 ; $12 - const ROUTE_8 ; $13 - const ROUTE_9 ; $14 - const ROUTE_10 ; $15 - const ROUTE_11 ; $16 - const ROUTE_12 ; $17 - const ROUTE_13 ; $18 - const ROUTE_14 ; $19 - const ROUTE_15 ; $1A - const ROUTE_16 ; $1B - const ROUTE_17 ; $1C - const ROUTE_18 ; $1D - const ROUTE_19 ; $1E - const ROUTE_20 ; $1F - const ROUTE_21 ; $20 - const ROUTE_22 ; $21 - const ROUTE_23 ; $22 - const ROUTE_24 ; $23 - const ROUTE_25 ; $24 - const REDS_HOUSE_1F ; $25 - const REDS_HOUSE_2F ; $26 - const BLUES_HOUSE ; $27 - const OAKS_LAB ; $28 - const VIRIDIAN_POKECENTER ; $29 - const VIRIDIAN_MART ; $2A - const VIRIDIAN_SCHOOL ; $2B - const VIRIDIAN_HOUSE ; $2C - const VIRIDIAN_GYM ; $2D - const DIGLETTS_CAVE_EXIT ; $2E - const VIRIDIAN_FOREST_EXIT ; $2F - const ROUTE_2_HOUSE ; $30 - const ROUTE_2_GATE ; $31 - const VIRIDIAN_FOREST_ENTRANCE ; $32 - const VIRIDIAN_FOREST ; $33 - const MUSEUM_1F ; $34 - const MUSEUM_2F ; $35 - const PEWTER_GYM ; $36 - const PEWTER_HOUSE_1 ; $37 - const PEWTER_MART ; $38 - const PEWTER_HOUSE_2 ; $39 - const PEWTER_POKECENTER ; $3A - const MT_MOON_1 ; $3B - const MT_MOON_2 ; $3C - const MT_MOON_3 ; $3D - const TRASHED_HOUSE ; $3E - const CERULEAN_HOUSE ; $3F - const CERULEAN_POKECENTER ; $40 - const CERULEAN_GYM ; $41 - const BIKE_SHOP ; $42 - const CERULEAN_MART ; $43 - const MT_MOON_POKECENTER ; $44 - const TRASHED_HOUSE_COPY ; $45 - const ROUTE_5_GATE ; $46 - const PATH_ENTRANCE_ROUTE_5 ; $47 - const DAYCAREM ; $48 - const ROUTE_6_GATE ; $49 - const PATH_ENTRANCE_ROUTE_6 ; $4A - const PATH_ENTRANCE_ROUTE_6_COPY ; $4B - const ROUTE_7_GATE ; $4C - const PATH_ENTRANCE_ROUTE_7 ; $4D - const PATH_ENTRANCE_ROUTE_7_COPY ; $4E - const ROUTE_8_GATE ; $4F - const PATH_ENTRANCE_ROUTE_8 ; $50 - const ROCK_TUNNEL_POKECENTER ; $51 - const ROCK_TUNNEL_1 ; $52 - const POWER_PLANT ; $53 - const ROUTE_11_GATE_1F ; $54 - const DIGLETTS_CAVE_ENTRANCE ; $55 - const ROUTE_11_GATE_2F ; $56 - const ROUTE_12_GATE_1F ; $57 - const BILLS_HOUSE ; $58 - const VERMILION_POKECENTER ; $59 - const POKEMON_FAN_CLUB ; $5A - const VERMILION_MART ; $5B - const VERMILION_GYM ; $5C - const VERMILION_HOUSE_1 ; $5D - const VERMILION_DOCK ; $5E - const SS_ANNE_1 ; $5F - const SS_ANNE_2 ; $60 - const SS_ANNE_3 ; $61 - const SS_ANNE_4 ; $62 - const SS_ANNE_5 ; $63 - const SS_ANNE_6 ; $64 - const SS_ANNE_7 ; $65 - const SS_ANNE_8 ; $66 - const SS_ANNE_9 ; $67 - const SS_ANNE_10 ; $68 - const UNUSED_MAP_69 ; $69 - const UNUSED_MAP_6A ; $6A - const UNUSED_MAP_6B ; $6B - const VICTORY_ROAD_1 ; $6C - const UNUSED_MAP_6D ; $6D - const UNUSED_MAP_6E ; $6E - const UNUSED_MAP_6F ; $6F - const UNUSED_MAP_70 ; $70 - const LANCES_ROOM ; $71 - const UNUSED_MAP_72 ; $72 - const UNUSED_MAP_73 ; $73 - const UNUSED_MAP_74 ; $74 - const UNUSED_MAP_75 ; $75 - const HALL_OF_FAME ; $76 - const UNDERGROUND_PATH_NS ; $77 - const CHAMPIONS_ROOM ; $78 - const UNDERGROUND_PATH_WE ; $79 - const CELADON_MART_1 ; $7A - const CELADON_MART_2 ; $7B - const CELADON_MART_3 ; $7C - const CELADON_MART_4 ; $7D - const CELADON_MART_ROOF ; $7E - const CELADON_MART_ELEVATOR ; $7F - const CELADON_MANSION_1 ; $80 - const CELADON_MANSION_2 ; $81 - const CELADON_MANSION_3 ; $82 - const CELADON_MANSION_4 ; $83 - const CELADON_MANSION_5 ; $84 - const CELADON_POKECENTER ; $85 - const CELADON_GYM ; $86 - const GAME_CORNER ; $87 - const CELADON_MART_5 ; $88 - const CELADON_PRIZE_ROOM ; $89 - const CELADON_DINER ; $8A - const CELADON_HOUSE ; $8B - const CELADON_HOTEL ; $8C - const LAVENDER_POKECENTER ; $8D - const POKEMONTOWER_1 ; $8E - const POKEMONTOWER_2 ; $8F - const POKEMONTOWER_3 ; $90 - const POKEMONTOWER_4 ; $91 - const POKEMONTOWER_5 ; $92 - const POKEMONTOWER_6 ; $93 - const POKEMONTOWER_7 ; $94 - const LAVENDER_HOUSE_1 ; $95 - const LAVENDER_MART ; $96 - const LAVENDER_HOUSE_2 ; $97 - const FUCHSIA_MART ; $98 - const FUCHSIA_HOUSE_1 ; $99 - const FUCHSIA_POKECENTER ; $9A - const FUCHSIA_HOUSE_2 ; $9B - const SAFARI_ZONE_ENTRANCE ; $9C - const FUCHSIA_GYM ; $9D - const FUCHSIA_MEETING_ROOM ; $9E - const SEAFOAM_ISLANDS_2 ; $9F - const SEAFOAM_ISLANDS_3 ; $A0 - const SEAFOAM_ISLANDS_4 ; $A1 - const SEAFOAM_ISLANDS_5 ; $A2 - const VERMILION_HOUSE_2 ; $A3 - const FUCHSIA_HOUSE_3 ; $A4 - const MANSION_1 ; $A5 - const CINNABAR_GYM ; $A6 - const CINNABAR_LAB_1 ; $A7 - const CINNABAR_LAB_2 ; $A8 - const CINNABAR_LAB_3 ; $A9 - const CINNABAR_LAB_4 ; $AA - const CINNABAR_POKECENTER ; $AB - const CINNABAR_MART ; $AC - const CINNABAR_MART_COPY ; $AD - const INDIGO_PLATEAU_LOBBY ; $AE - const COPYCATS_HOUSE_1F ; $AF - const COPYCATS_HOUSE_2F ; $B0 - const FIGHTING_DOJO ; $B1 - const SAFFRON_GYM ; $B2 - const SAFFRON_HOUSE_1 ; $B3 - const SAFFRON_MART ; $B4 - const SILPH_CO_1F ; $B5 - const SAFFRON_POKECENTER ; $B6 - const SAFFRON_HOUSE_2 ; $B7 - const ROUTE_15_GATE_1F ; $B8 - const ROUTE_15_GATE_2F ; $B9 - const ROUTE_16_GATE_1F ; $BA - const ROUTE_16_GATE_2F ; $BB - const ROUTE_16_HOUSE ; $BC - const ROUTE_12_HOUSE ; $BD - const ROUTE_18_GATE_1F ; $BE - const ROUTE_18_GATE_2F ; $BF - const SEAFOAM_ISLANDS_1 ; $C0 - const ROUTE_22_GATE ; $C1 - const VICTORY_ROAD_2 ; $C2 - const ROUTE_12_GATE_2F ; $C3 - const VERMILION_HOUSE_3 ; $C4 - const DIGLETTS_CAVE ; $C5 - const VICTORY_ROAD_3 ; $C6 - const ROCKET_HIDEOUT_1 ; $C7 - const ROCKET_HIDEOUT_2 ; $C8 - const ROCKET_HIDEOUT_3 ; $C9 - const ROCKET_HIDEOUT_4 ; $CA - const ROCKET_HIDEOUT_ELEVATOR ; $CB - const UNUSED_MAP_CC ; $CC - const UNUSED_MAP_CD ; $CD - const UNUSED_MAP_CE ; $CE - const SILPH_CO_2F ; $CF - const SILPH_CO_3F ; $D0 - const SILPH_CO_4F ; $D1 - const SILPH_CO_5F ; $D2 - const SILPH_CO_6F ; $D3 - const SILPH_CO_7F ; $D4 - const SILPH_CO_8F ; $D5 - const MANSION_2 ; $D6 - const MANSION_3 ; $D7 - const MANSION_4 ; $D8 - const SAFARI_ZONE_EAST ; $D9 - const SAFARI_ZONE_NORTH ; $DA - const SAFARI_ZONE_WEST ; $DB - const SAFARI_ZONE_CENTER ; $DC - const SAFARI_ZONE_REST_HOUSE_1 ; $DD - const SAFARI_ZONE_SECRET_HOUSE ; $DE - const SAFARI_ZONE_REST_HOUSE_2 ; $DF - const SAFARI_ZONE_REST_HOUSE_3 ; $E0 - const SAFARI_ZONE_REST_HOUSE_4 ; $E1 - const UNKNOWN_DUNGEON_2 ; $E2 - const UNKNOWN_DUNGEON_3 ; $E3 - const UNKNOWN_DUNGEON_1 ; $E4 - const NAME_RATERS_HOUSE ; $E5 - const CERULEAN_HOUSE_3 ; $E6 - const UNUSED_MAP_E7 ; $E7 - const ROCK_TUNNEL_2 ; $E8 - const SILPH_CO_9F ; $E9 - const SILPH_CO_10F ; $EA - const SILPH_CO_11F ; $EB - const SILPH_CO_ELEVATOR ; $EC - const UNUSED_MAP_ED ; $ED - const UNUSED_MAP_EE ; $EE - const TRADE_CENTER ; $EF - const COLOSSEUM ; $F0 - const UNUSED_MAP_F1 ; $F1 - const UNUSED_MAP_F2 ; $F2 - const UNUSED_MAP_F3 ; $F3 - const UNUSED_MAP_F4 ; $F4 - const LORELEIS_ROOM ; $F5 - const BRUNOS_ROOM ; $F6 - const AGATHAS_ROOM ; $F7 - const BEACH_HOUSE ; $F8 + const_def + mapconst PALLET_TOWN, 9, 10 ; $00 + mapconst VIRIDIAN_CITY, 18, 20 ; $01 + mapconst PEWTER_CITY, 18, 20 ; $02 + mapconst CERULEAN_CITY, 18, 20 ; $03 + mapconst LAVENDER_TOWN, 9, 10 ; $04 + mapconst VERMILION_CITY, 18, 20 ; $05 + mapconst CELADON_CITY, 18, 25 ; $06 + mapconst FUCHSIA_CITY, 18, 20 ; $07 + mapconst CINNABAR_ISLAND, 9, 10 ; $08 + mapconst INDIGO_PLATEAU, 9, 10 ; $09 + mapconst SAFFRON_CITY, 18, 20 ; $0A + mapconst UNUSED_MAP_0B, 0, 0 ; $0B + mapconst ROUTE_1, 18, 10 ; $0C + mapconst ROUTE_2, 36, 10 ; $0D + mapconst ROUTE_3, 9, 35 ; $0E + mapconst ROUTE_4, 9, 45 ; $0F + mapconst ROUTE_5, 18, 10 ; $10 + mapconst ROUTE_6, 18, 10 ; $11 + mapconst ROUTE_7, 9, 10 ; $12 + mapconst ROUTE_8, 9, 30 ; $13 + mapconst ROUTE_9, 9, 30 ; $14 + mapconst ROUTE_10, 36, 10 ; $15 + mapconst ROUTE_11, 9, 30 ; $16 + mapconst ROUTE_12, 54, 10 ; $17 + mapconst ROUTE_13, 9, 30 ; $18 + mapconst ROUTE_14, 27, 10 ; $19 + mapconst ROUTE_15, 9, 30 ; $1A + mapconst ROUTE_16, 9, 20 ; $1B + mapconst ROUTE_17, 72, 10 ; $1C + mapconst ROUTE_18, 9, 25 ; $1D + mapconst ROUTE_19, 27, 10 ; $1E + mapconst ROUTE_20, 9, 50 ; $1F + mapconst ROUTE_21, 45, 10 ; $20 + mapconst ROUTE_22, 9, 20 ; $21 + mapconst ROUTE_23, 72, 10 ; $22 + mapconst ROUTE_24, 18, 10 ; $23 + mapconst ROUTE_25, 9, 30 ; $24 + mapconst REDS_HOUSE_1F, 4, 4 ; $25 + mapconst REDS_HOUSE_2F, 4, 4 ; $26 + mapconst BLUES_HOUSE, 4, 4 ; $27 + mapconst OAKS_LAB, 6, 5 ; $28 + mapconst VIRIDIAN_POKECENTER, 4, 7 ; $29 + mapconst VIRIDIAN_MART, 4, 4 ; $2A + mapconst VIRIDIAN_SCHOOL, 4, 4 ; $2B + mapconst VIRIDIAN_HOUSE, 4, 4 ; $2C + mapconst VIRIDIAN_GYM, 9, 10 ; $2D + mapconst DIGLETTS_CAVE_EXIT, 4, 4 ; $2E + mapconst VIRIDIAN_FOREST_EXIT, 4, 5 ; $2F + mapconst ROUTE_2_HOUSE, 4, 4 ; $30 + mapconst ROUTE_2_GATE, 4, 5 ; $31 + mapconst VIRIDIAN_FOREST_ENTRANCE, 4, 5 ; $32 + mapconst VIRIDIAN_FOREST, 24, 17 ; $33 + mapconst MUSEUM_1F, 4, 10 ; $34 + mapconst MUSEUM_2F, 4, 7 ; $35 + mapconst PEWTER_GYM, 7, 5 ; $36 + mapconst PEWTER_HOUSE_1, 4, 4 ; $37 + mapconst PEWTER_MART, 4, 4 ; $38 + mapconst PEWTER_HOUSE_2, 4, 4 ; $39 + mapconst PEWTER_POKECENTER, 4, 7 ; $3A + mapconst MT_MOON_1, 18, 20 ; $3B + mapconst MT_MOON_2, 14, 14 ; $3C + mapconst MT_MOON_3, 18, 20 ; $3D + mapconst TRASHED_HOUSE, 4, 4 ; $3E + mapconst CERULEAN_HOUSE_1, 4, 4 ; $3F + mapconst CERULEAN_POKECENTER, 4, 7 ; $40 + mapconst CERULEAN_GYM, 7, 5 ; $41 + mapconst BIKE_SHOP, 4, 4 ; $42 + mapconst CERULEAN_MART, 4, 4 ; $43 + mapconst MT_MOON_POKECENTER, 4, 7 ; $44 + mapconst TRASHED_HOUSE_COPY, 4, 4 ; $45 + mapconst ROUTE_5_GATE, 3, 4 ; $46 + mapconst PATH_ENTRANCE_ROUTE_5, 4, 4 ; $47 + mapconst DAYCAREM, 4, 4 ; $48 + mapconst ROUTE_6_GATE, 3, 4 ; $49 + mapconst PATH_ENTRANCE_ROUTE_6, 4, 4 ; $4A + mapconst PATH_ENTRANCE_ROUTE_6_COPY, 4, 4 ; $4B + mapconst ROUTE_7_GATE, 4, 3 ; $4C + mapconst PATH_ENTRANCE_ROUTE_7, 4, 4 ; $4D + mapconst PATH_ENTRANCE_ROUTE_7_COPY, 4, 4 ; $4E + mapconst ROUTE_8_GATE, 4, 3 ; $4F + mapconst PATH_ENTRANCE_ROUTE_8, 4, 4 ; $50 + mapconst ROCK_TUNNEL_POKECENTER, 4, 7 ; $51 + mapconst ROCK_TUNNEL_1, 18, 20 ; $52 + mapconst POWER_PLANT, 18, 20 ; $53 + mapconst ROUTE_11_GATE_1F, 5, 4 ; $54 + mapconst DIGLETTS_CAVE_ENTRANCE, 4, 4 ; $55 + mapconst ROUTE_11_GATE_2F, 4, 4 ; $56 + mapconst ROUTE_12_GATE_1F, 4, 5 ; $57 + mapconst BILLS_HOUSE, 4, 4 ; $58 + mapconst VERMILION_POKECENTER, 4, 7 ; $59 + mapconst POKEMON_FAN_CLUB, 4, 4 ; $5A + mapconst VERMILION_MART, 4, 4 ; $5B + mapconst VERMILION_GYM, 9, 5 ; $5C + mapconst VERMILION_HOUSE_1, 4, 4 ; $5D + mapconst VERMILION_DOCK, 6, 14 ; $5E + mapconst SS_ANNE_1, 9, 20 ; $5F + mapconst SS_ANNE_2, 9, 20 ; $60 + mapconst SS_ANNE_3, 3, 10 ; $61 + mapconst SS_ANNE_4, 4, 15 ; $62 + mapconst SS_ANNE_5, 7, 10 ; $63 + mapconst SS_ANNE_6, 8, 7 ; $64 + mapconst SS_ANNE_7, 4, 3 ; $65 + mapconst SS_ANNE_8, 8, 12 ; $66 + mapconst SS_ANNE_9, 8, 12 ; $67 + mapconst SS_ANNE_10, 8, 12 ; $68 + mapconst UNUSED_MAP_69, 0, 0 ; $69 + mapconst UNUSED_MAP_6A, 0, 0 ; $6A + mapconst UNUSED_MAP_6B, 0, 0 ; $6B + mapconst VICTORY_ROAD_1, 9, 10 ; $6C + mapconst UNUSED_MAP_6D, 0, 0 ; $6D + mapconst UNUSED_MAP_6E, 0, 0 ; $6E + mapconst UNUSED_MAP_6F, 0, 0 ; $6F + mapconst UNUSED_MAP_70, 0, 0 ; $70 + mapconst LANCES_ROOM, 13, 13 ; $71 + mapconst UNUSED_MAP_72, 0, 0 ; $72 + mapconst UNUSED_MAP_73, 0, 0 ; $73 + mapconst UNUSED_MAP_74, 0, 0 ; $74 + mapconst UNUSED_MAP_75, 0, 0 ; $75 + mapconst HALL_OF_FAME, 4, 5 ; $76 + mapconst UNDERGROUND_PATH_NS, 24, 4 ; $77 + mapconst CHAMPIONS_ROOM, 4, 4 ; $78 + mapconst UNDERGROUND_PATH_WE, 4, 25 ; $79 + mapconst CELADON_MART_1, 4, 10 ; $7A + mapconst CELADON_MART_2, 4, 10 ; $7B + mapconst CELADON_MART_3, 4, 10 ; $7C + mapconst CELADON_MART_4, 4, 10 ; $7D + mapconst CELADON_MART_ROOF, 4, 10 ; $7E + mapconst CELADON_MART_ELEVATOR, 2, 2 ; $7F + mapconst CELADON_MANSION_1, 6, 4 ; $80 + mapconst CELADON_MANSION_2, 6, 4 ; $81 + mapconst CELADON_MANSION_3, 6, 4 ; $82 + mapconst CELADON_MANSION_4, 6, 4 ; $83 + mapconst CELADON_MANSION_5, 4, 4 ; $84 + mapconst CELADON_POKECENTER, 4, 7 ; $85 + mapconst CELADON_GYM, 9, 5 ; $86 + mapconst GAME_CORNER, 9, 10 ; $87 + mapconst CELADON_MART_5, 4, 10 ; $88 + mapconst CELADON_PRIZE_ROOM, 4, 5 ; $89 + mapconst CELADON_DINER, 4, 5 ; $8A + mapconst CELADON_HOUSE, 4, 4 ; $8B + mapconst CELADON_HOTEL, 4, 7 ; $8C + mapconst LAVENDER_POKECENTER, 4, 7 ; $8D + mapconst POKEMONTOWER_1, 9, 10 ; $8E + mapconst POKEMONTOWER_2, 9, 10 ; $8F + mapconst POKEMONTOWER_3, 9, 10 ; $90 + mapconst POKEMONTOWER_4, 9, 10 ; $91 + mapconst POKEMONTOWER_5, 9, 10 ; $92 + mapconst POKEMONTOWER_6, 9, 10 ; $93 + mapconst POKEMONTOWER_7, 9, 10 ; $94 + mapconst LAVENDER_HOUSE_1, 4, 4 ; $95 + mapconst LAVENDER_MART, 4, 4 ; $96 + mapconst LAVENDER_HOUSE_2, 4, 4 ; $97 + mapconst FUCHSIA_MART, 4, 4 ; $98 + mapconst FUCHSIA_HOUSE_1, 4, 4 ; $99 + mapconst FUCHSIA_POKECENTER, 4, 7 ; $9A + mapconst FUCHSIA_HOUSE_2, 4, 5 ; $9B + mapconst SAFARI_ZONE_ENTRANCE, 3, 4 ; $9C + mapconst FUCHSIA_GYM, 9, 5 ; $9D + mapconst FUCHSIA_MEETING_ROOM, 4, 7 ; $9E + mapconst SEAFOAM_ISLANDS_2, 9, 15 ; $9F + mapconst SEAFOAM_ISLANDS_3, 9, 15 ; $A0 + mapconst SEAFOAM_ISLANDS_4, 9, 15 ; $A1 + mapconst SEAFOAM_ISLANDS_5, 9, 15 ; $A2 + mapconst VERMILION_HOUSE_2, 4, 4 ; $A3 + mapconst FUCHSIA_HOUSE_3, 4, 4 ; $A4 + mapconst MANSION_1, 14, 15 ; $A5 + mapconst CINNABAR_GYM, 9, 10 ; $A6 + mapconst CINNABAR_LAB_1, 4, 9 ; $A7 + mapconst CINNABAR_LAB_2, 4, 4 ; $A8 + mapconst CINNABAR_LAB_3, 4, 4 ; $A9 + mapconst CINNABAR_LAB_4, 4, 4 ; $AA + mapconst CINNABAR_POKECENTER, 4, 7 ; $AB + mapconst CINNABAR_MART, 4, 4 ; $AC + mapconst CINNABAR_MART_COPY, 4, 4 ; $AD + mapconst INDIGO_PLATEAU_LOBBY, 6, 8 ; $AE + mapconst COPYCATS_HOUSE_1F, 4, 4 ; $AF + mapconst COPYCATS_HOUSE_2F, 4, 4 ; $B0 + mapconst FIGHTING_DOJO, 6, 5 ; $B1 + mapconst SAFFRON_GYM, 9, 10 ; $B2 + mapconst SAFFRON_HOUSE_1, 4, 4 ; $B3 + mapconst SAFFRON_MART, 4, 4 ; $B4 + mapconst SILPH_CO_1F, 9, 15 ; $B5 + mapconst SAFFRON_POKECENTER, 4, 7 ; $B6 + mapconst SAFFRON_HOUSE_2, 4, 4 ; $B7 + mapconst ROUTE_15_GATE_1F, 5, 4 ; $B8 + mapconst ROUTE_15_GATE_2F, 4, 4 ; $B9 + mapconst ROUTE_16_GATE_1F, 7, 4 ; $BA + mapconst ROUTE_16_GATE_2F, 4, 4 ; $BB + mapconst ROUTE_16_HOUSE, 4, 4 ; $BC + mapconst ROUTE_12_HOUSE, 4, 4 ; $BD + mapconst ROUTE_18_GATE_1F, 5, 4 ; $BE + mapconst ROUTE_18_GATE_2F, 4, 4 ; $BF + mapconst SEAFOAM_ISLANDS_1, 9, 15 ; $C0 + mapconst ROUTE_22_GATE, 4, 5 ; $C1 + mapconst VICTORY_ROAD_2, 9, 15 ; $C2 + mapconst ROUTE_12_GATE_2F, 4, 4 ; $C3 + mapconst VERMILION_HOUSE_3, 4, 4 ; $C4 + mapconst DIGLETTS_CAVE, 18, 20 ; $C5 + mapconst VICTORY_ROAD_3, 9, 15 ; $C6 + mapconst ROCKET_HIDEOUT_1, 14, 15 ; $C7 + mapconst ROCKET_HIDEOUT_2, 14, 15 ; $C8 + mapconst ROCKET_HIDEOUT_3, 14, 15 ; $C9 + mapconst ROCKET_HIDEOUT_4, 12, 15 ; $CA + mapconst ROCKET_HIDEOUT_ELEVATOR, 4, 3 ; $CB + mapconst UNUSED_MAP_CC, 0, 0 ; $CC + mapconst UNUSED_MAP_CD, 0, 0 ; $CD + mapconst UNUSED_MAP_CE, 0, 0 ; $CE + mapconst SILPH_CO_2F, 9, 15 ; $CF + mapconst SILPH_CO_3F, 9, 15 ; $D0 + mapconst SILPH_CO_4F, 9, 15 ; $D1 + mapconst SILPH_CO_5F, 9, 15 ; $D2 + mapconst SILPH_CO_6F, 9, 13 ; $D3 + mapconst SILPH_CO_7F, 9, 13 ; $D4 + mapconst SILPH_CO_8F, 9, 13 ; $D5 + mapconst MANSION_2, 14, 15 ; $D6 + mapconst MANSION_3, 9, 15 ; $D7 + mapconst MANSION_4, 14, 15 ; $D8 + mapconst SAFARI_ZONE_EAST, 13, 15 ; $D9 + mapconst SAFARI_ZONE_NORTH, 18, 20 ; $DA + mapconst SAFARI_ZONE_WEST, 13, 15 ; $DB + mapconst SAFARI_ZONE_CENTER, 13, 15 ; $DC + mapconst SAFARI_ZONE_REST_HOUSE_1, 4, 4 ; $DD + mapconst SAFARI_ZONE_SECRET_HOUSE, 4, 4 ; $DE + mapconst SAFARI_ZONE_REST_HOUSE_2, 4, 4 ; $DF + mapconst SAFARI_ZONE_REST_HOUSE_3, 4, 4 ; $E0 + mapconst SAFARI_ZONE_REST_HOUSE_4, 4, 4 ; $E1 + mapconst UNKNOWN_DUNGEON_2, 9, 15 ; $E2 + mapconst UNKNOWN_DUNGEON_3, 9, 15 ; $E3 + mapconst UNKNOWN_DUNGEON_1, 9, 15 ; $E4 + mapconst NAME_RATERS_HOUSE, 4, 4 ; $E5 + mapconst CERULEAN_HOUSE_2, 4, 4 ; $E6 + mapconst UNUSED_MAP_E7, 0, 0 ; $E7 + mapconst ROCK_TUNNEL_2, 18, 20 ; $E8 + mapconst SILPH_CO_9F, 9, 13 ; $E9 + mapconst SILPH_CO_10F, 9, 8 ; $EA + mapconst SILPH_CO_11F, 9, 9 ; $EB + mapconst SILPH_CO_ELEVATOR, 2, 2 ; $EC + mapconst UNUSED_MAP_ED, 0, 0 ; $ED + mapconst UNUSED_MAP_EE, 0, 0 ; $EE + mapconst TRADE_CENTER, 4, 5 ; $EF + mapconst COLOSSEUM, 4, 5 ; $F0 + mapconst UNUSED_MAP_F1, 0, 0 ; $F1 + mapconst UNUSED_MAP_F2, 0, 0 ; $F2 + mapconst UNUSED_MAP_F3, 0, 0 ; $F3 + mapconst UNUSED_MAP_F4, 0, 0 ; $F4 + mapconst LORELEIS_ROOM, 6, 5 ; $F5 + mapconst BRUNOS_ROOM, 6, 5 ; $F6 + mapconst AGATHAS_ROOM, 6, 5 ; $F7 + mapconst BEACH_HOUSE, 4, 7 ; $F8 diff --git a/constants/map_dimensions.asm b/constants/map_dimensions.asm deleted file mode 100755 index 22fa3c6e..00000000 --- a/constants/map_dimensions.asm +++ /dev/null @@ -1,896 +0,0 @@ -; Map sizes (y, x) - -; PalletTown_h map_id=0 -PALLET_TOWN_HEIGHT EQU $09 -PALLET_TOWN_WIDTH EQU $0a - -; ViridianCity_h map_id=1 -VIRIDIAN_CITY_HEIGHT EQU $12 -VIRIDIAN_CITY_WIDTH EQU $14 - -; PewterCity_h map_id=2 -PEWTER_CITY_HEIGHT EQU $12 -PEWTER_CITY_WIDTH EQU $14 - -; CeruleanCity_h map_id=3 -CERULEAN_CITY_HEIGHT EQU $12 -CERULEAN_CITY_WIDTH EQU $14 - -; LavenderTown_h map_id=4 -LAVENDER_TOWN_HEIGHT EQU $09 -LAVENDER_TOWN_WIDTH EQU $0a - -; VermilionCity_h map_id=5 -VERMILION_CITY_HEIGHT EQU $12 -VERMILION_CITY_WIDTH EQU $14 - -; CeladonCity_h map_id=6 -CELADON_CITY_HEIGHT EQU $12 -CELADON_CITY_WIDTH EQU $19 - -; FuchsiaCity_h map_id=7 -FUCHSIA_CITY_HEIGHT EQU $12 -FUCHSIA_CITY_WIDTH EQU $14 - -; CinnabarIsland_h map_id=8 -CINNABAR_ISLAND_HEIGHT EQU $09 -CINNABAR_ISLAND_WIDTH EQU $0a - -; IndigoPlateau_h map_id=9 -INDIGO_PLATEAU_HEIGHT EQU $09 -INDIGO_PLATEAU_WIDTH EQU $0a - -; SaffronCity_h map_id=10 -SAFFRON_CITY_HEIGHT EQU $12 -SAFFRON_CITY_WIDTH EQU $14 - -; Route1_h map_id=12 -ROUTE_1_HEIGHT EQU $12 -ROUTE_1_WIDTH EQU $0a - -; Route2_h map_id=13 -ROUTE_2_HEIGHT EQU $24 -ROUTE_2_WIDTH EQU $0a - -; Route3_h map_id=14 -ROUTE_3_HEIGHT EQU $09 -ROUTE_3_WIDTH EQU $23 - -; Route4_h map_id=15 -ROUTE_4_HEIGHT EQU $09 -ROUTE_4_WIDTH EQU $2d - -; Route5_h map_id=16 -ROUTE_5_HEIGHT EQU $12 -ROUTE_5_WIDTH EQU $0a - -; Route6_h map_id=17 -ROUTE_6_HEIGHT EQU $12 -ROUTE_6_WIDTH EQU $0a - -; Route7_h map_id=18 -ROUTE_7_HEIGHT EQU $09 -ROUTE_7_WIDTH EQU $0a - -; Route8_h map_id=19 -ROUTE_8_HEIGHT EQU $09 -ROUTE_8_WIDTH EQU $1e - -; Route9_h map_id=20 -ROUTE_9_HEIGHT EQU $09 -ROUTE_9_WIDTH EQU $1e - -; Route10_h map_id=21 -ROUTE_10_HEIGHT EQU $24 -ROUTE_10_WIDTH EQU $0a - -; Route11_h map_id=22 -ROUTE_11_HEIGHT EQU $09 -ROUTE_11_WIDTH EQU $1e - -; Route12_h map_id=23 -ROUTE_12_HEIGHT EQU $36 -ROUTE_12_WIDTH EQU $0a - -; Route13_h map_id=24 -ROUTE_13_HEIGHT EQU $09 -ROUTE_13_WIDTH EQU $1e - -; Route14_h map_id=25 -ROUTE_14_HEIGHT EQU $1b -ROUTE_14_WIDTH EQU $0a - -; Route15_h map_id=26 -ROUTE_15_HEIGHT EQU $09 -ROUTE_15_WIDTH EQU $1e - -; Route16_h map_id=27 -ROUTE_16_HEIGHT EQU $09 -ROUTE_16_WIDTH EQU $14 - -; Route17_h map_id=28 -ROUTE_17_HEIGHT EQU $48 -ROUTE_17_WIDTH EQU $0a - -; Route18_h map_id=29 -ROUTE_18_HEIGHT EQU $09 -ROUTE_18_WIDTH EQU $19 - -; Route19_h map_id=30 -ROUTE_19_HEIGHT EQU $1b -ROUTE_19_WIDTH EQU $0a - -; Route20_h map_id=31 -ROUTE_20_HEIGHT EQU $09 -ROUTE_20_WIDTH EQU $32 - -; Route21_h map_id=32 -ROUTE_21_HEIGHT EQU $2d -ROUTE_21_WIDTH EQU $0a - -; Route22_h map_id=33 -ROUTE_22_HEIGHT EQU $09 -ROUTE_22_WIDTH EQU $14 - -; Route23_h map_id=34 -ROUTE_23_HEIGHT EQU $48 -ROUTE_23_WIDTH EQU $0a - -; Route24_h map_id=35 -ROUTE_24_HEIGHT EQU $12 -ROUTE_24_WIDTH EQU $0a - -; Route25_h map_id=36 -ROUTE_25_HEIGHT EQU $09 -ROUTE_25_WIDTH EQU $1e - -; RedsHouse1F_h map_id=37 -REDS_HOUSE_1F_HEIGHT EQU $04 -REDS_HOUSE_1F_WIDTH EQU $04 - -; RedsHouse2F_h map_id=38 -REDS_HOUSE_2F_HEIGHT EQU $04 -REDS_HOUSE_2F_WIDTH EQU $04 - -; BluesHouse_h map_id=39 -BLUES_HOUSE_HEIGHT EQU $04 -BLUES_HOUSE_WIDTH EQU $04 - -; OaksLab_h map_id=40 -OAKS_LAB_HEIGHT EQU $06 -OAKS_LAB_WIDTH EQU $05 - -; ViridianPokeCenter_h map_id=41 -VIRIDIAN_POKECENTER_HEIGHT EQU $04 -VIRIDIAN_POKECENTER_WIDTH EQU $07 - -; ViridianMart_h map_id=42 -VIRIDIAN_MART_HEIGHT EQU $04 -VIRIDIAN_MART_WIDTH EQU $04 - -; School_h map_id=43 -VIRIDIAN_SCHOOL_HEIGHT EQU $04 -VIRIDIAN_SCHOOL_WIDTH EQU $04 - -; ViridianHouse_h map_id=44 -VIRIDIAN_HOUSE_HEIGHT EQU $04 -VIRIDIAN_HOUSE_WIDTH EQU $04 - -; ViridianGym_h map_id=45 -VIRIDIAN_GYM_HEIGHT EQU $09 -VIRIDIAN_GYM_WIDTH EQU $0a - -; DiglettsCaveRoute2_h map_id=46 -DIGLETTS_CAVE_EXIT_HEIGHT EQU $04 -DIGLETTS_CAVE_EXIT_WIDTH EQU $04 - -; ViridianForestExit_h map_id=47 -VIRIDIAN_FOREST_EXIT_HEIGHT EQU $04 -VIRIDIAN_FOREST_EXIT_WIDTH EQU $05 - -; Route2House_h map_id=48 -ROUTE_2_HOUSE_HEIGHT EQU $04 -ROUTE_2_HOUSE_WIDTH EQU $04 - -; Route2Gate_h map_id=49 -ROUTE_2_GATE_HEIGHT EQU $04 -ROUTE_2_GATE_WIDTH EQU $05 - -; ViridianForestEntrance_h map_id=50 -VIRIDIAN_FOREST_ENTRANCE_HEIGHT EQU $04 -VIRIDIAN_FOREST_ENTRANCE_WIDTH EQU $05 - -; ViridianForest_h map_id=51 -VIRIDIAN_FOREST_HEIGHT EQU $18 -VIRIDIAN_FOREST_WIDTH EQU $11 - -; MuseumF1_h map_id=52 -MUSEUM_1F_HEIGHT EQU $04 -MUSEUM_1F_WIDTH EQU $0a - -; MuseumF2_h map_id=53 -MUSEUM_2F_HEIGHT EQU $04 -MUSEUM_2F_WIDTH EQU $07 - -; PewterGym_h map_id=54 -PEWTER_GYM_HEIGHT EQU $07 -PEWTER_GYM_WIDTH EQU $05 - -; PewterHouse1_h map_id=55 -PEWTER_HOUSE_1_HEIGHT EQU $04 -PEWTER_HOUSE_1_WIDTH EQU $04 - -; PewterMart_h map_id=56 -PEWTER_MART_HEIGHT EQU $04 -PEWTER_MART_WIDTH EQU $04 - -; PewterHouse2_h map_id=57 -PEWTER_HOUSE_2_HEIGHT EQU $04 -PEWTER_HOUSE_2_WIDTH EQU $04 - -; PewterPokecenter_h map_id=58 -PEWTER_POKECENTER_HEIGHT EQU $04 -PEWTER_POKECENTER_WIDTH EQU $07 - -; MtMoon1_h map_id=59 -MT_MOON_1_HEIGHT EQU $12 -MT_MOON_1_WIDTH EQU $14 - -; MtMoon2_h map_id=60 -MT_MOON_2_HEIGHT EQU $0e -MT_MOON_2_WIDTH EQU $0e - -; MtMoon3_h map_id=61 -MT_MOON_3_HEIGHT EQU $12 -MT_MOON_3_WIDTH EQU $14 - -; CeruleanHouseTrashed_h map_id=62 -TRASHED_HOUSE_HEIGHT EQU $04 -TRASHED_HOUSE_WIDTH EQU $04 - -; CeruleanHouse1_h map_id=63 -CERULEAN_HOUSE_1_HEIGHT EQU $04 -CERULEAN_HOUSE_1_WIDTH EQU $04 - -; CeruleanPokecenter_h map_id=64 -CERULEAN_POKECENTER_HEIGHT EQU $04 -CERULEAN_POKECENTER_WIDTH EQU $07 - -; CeruleanGym_h map_id=65 -CERULEAN_GYM_HEIGHT EQU $07 -CERULEAN_GYM_WIDTH EQU $05 - -; BikeShop_h map_id=66 -BIKE_SHOP_HEIGHT EQU $04 -BIKE_SHOP_WIDTH EQU $04 - -; CeruleanMart_h map_id=67 -CERULEAN_MART_HEIGHT EQU $04 -CERULEAN_MART_WIDTH EQU $04 - -; MtMoonPokecenter_h map_id=68 -MT_MOON_POKECENTER_HEIGHT EQU $04 -MT_MOON_POKECENTER_WIDTH EQU $07 - -; Route5Gate_h map_id=70 -ROUTE_5_GATE_HEIGHT EQU $03 -ROUTE_5_GATE_WIDTH EQU $04 - -; UndergroundTunnelEntranceRoute5_h map_id=71 -PATH_ENTRANCE_ROUTE_5_HEIGHT EQU $04 -PATH_ENTRANCE_ROUTE_5_WIDTH EQU $04 - -; DayCareM_h map_id=72 -DAYCAREM_HEIGHT EQU $04 -DAYCAREM_WIDTH EQU $04 - -; Route6Gate_h map_id=73 -ROUTE_6_GATE_HEIGHT EQU $03 -ROUTE_6_GATE_WIDTH EQU $04 - -; UndergroundTunnelEntranceRoute6_h map_id=74 -PATH_ENTRANCE_ROUTE_6_HEIGHT EQU $04 -PATH_ENTRANCE_ROUTE_6_WIDTH EQU $04 - -; Route7Gate_h map_id=76 -ROUTE_7_GATE_HEIGHT EQU $04 -ROUTE_7_GATE_WIDTH EQU $03 - -; UndergroundPathEntranceRoute7_h map_id=77 -PATH_ENTRANCE_ROUTE_7_HEIGHT EQU $04 -PATH_ENTRANCE_ROUTE_7_WIDTH EQU $04 - -; UndergroundPathEntranceRoute7Copy_h map_id=78 -PATH_ENTRANCE_ROUTE_7_COPY_HEIGHT EQU $04 -PATH_ENTRANCE_ROUTE_7_COPY_WIDTH EQU $04 - -; Route8Gate_h map_id=79 -ROUTE_8_GATE_HEIGHT EQU $04 -ROUTE_8_GATE_WIDTH EQU $03 - -; UndergroundPathEntranceRoute8_h map_id=80 -PATH_ENTRANCE_ROUTE_8_HEIGHT EQU $04 -PATH_ENTRANCE_ROUTE_8_WIDTH EQU $04 - -; RockTunnelPokecenter_h map_id=81 -ROCK_TUNNEL_POKECENTER_HEIGHT EQU $04 -ROCK_TUNNEL_POKECENTER_WIDTH EQU $07 - -; RockTunnel1_h map_id=82 -ROCK_TUNNEL_1_HEIGHT EQU $12 -ROCK_TUNNEL_1_WIDTH EQU $14 - -; PowerPlant_h map_id=83 -POWER_PLANT_HEIGHT EQU $12 -POWER_PLANT_WIDTH EQU $14 - -; Route11Gate_h map_id=84 -ROUTE_11_GATE_1F_HEIGHT EQU $05 -ROUTE_11_GATE_1F_WIDTH EQU $04 - -; DiglettsCaveEntranceRoute11_h map_id=85 -DIGLETTS_CAVE_ENTRANCE_HEIGHT EQU $04 -DIGLETTS_CAVE_ENTRANCE_WIDTH EQU $04 - -; Route11GateUpstairs_h map_id=86 -ROUTE_11_GATE_2F_HEIGHT EQU $04 -ROUTE_11_GATE_2F_WIDTH EQU $04 - -; Route12Gate_h map_id=87 -ROUTE_12_GATE_1F_HEIGHT EQU $04 -ROUTE_12_GATE_1F_WIDTH EQU $05 - -; BillsHouse_h map_id=88 -BILLS_HOUSE_HEIGHT EQU $04 -BILLS_HOUSE_WIDTH EQU $04 - -; VermilionPokecenter_h map_id=89 -VERMILION_POKECENTER_HEIGHT EQU $04 -VERMILION_POKECENTER_WIDTH EQU $07 - -; FanClub_h map_id=90 -POKEMON_FAN_CLUB_HEIGHT EQU $04 -POKEMON_FAN_CLUB_WIDTH EQU $04 - -; VermilionMart_h map_id=91 -VERMILION_MART_HEIGHT EQU $04 -VERMILION_MART_WIDTH EQU $04 - -; VermilionGym_h map_id=92 -VERMILION_GYM_HEIGHT EQU $09 -VERMILION_GYM_WIDTH EQU $05 - -; VermilionHouse1_h map_id=93 -VERMILION_HOUSE_1_HEIGHT EQU $04 -VERMILION_HOUSE_1_WIDTH EQU $04 - -; VermilionDock_h map_id=94 -VERMILION_DOCK_HEIGHT EQU $06 -VERMILION_DOCK_WIDTH EQU $0e - -; SSAnne1_h map_id=95 -SS_ANNE_1_HEIGHT EQU $09 -SS_ANNE_1_WIDTH EQU $14 - -; SSAnne2_h map_id=96 -SS_ANNE_2_HEIGHT EQU $09 -SS_ANNE_2_WIDTH EQU $14 - -; SSAnne3_h map_id=97 -SS_ANNE_3_HEIGHT EQU $03 -SS_ANNE_3_WIDTH EQU $0a - -; SSAnne4_h map_id=98 -SS_ANNE_4_HEIGHT EQU $04 -SS_ANNE_4_WIDTH EQU $0f - -; SSAnne5_h map_id=99 -SS_ANNE_5_HEIGHT EQU $07 -SS_ANNE_5_WIDTH EQU $0a - -; SSAnne6_h map_id=100 -SS_ANNE_6_HEIGHT EQU $08 -SS_ANNE_6_WIDTH EQU $07 - -; SSAnne7_h map_id=101 -SS_ANNE_7_HEIGHT EQU $04 -SS_ANNE_7_WIDTH EQU $03 - -; SSAnne8_h map_id=102 -SS_ANNE_8_HEIGHT EQU $08 -SS_ANNE_8_WIDTH EQU $0c - -; SSAnne9_h map_id=103 -SS_ANNE_9_HEIGHT EQU $08 -SS_ANNE_9_WIDTH EQU $0c - -; SSAnne10_h map_id=104 -SS_ANNE_10_HEIGHT EQU $08 -SS_ANNE_10_WIDTH EQU $0c - -; VictoryRoad1_h map_id=108 -VICTORY_ROAD_1_HEIGHT EQU $09 -VICTORY_ROAD_1_WIDTH EQU $0a - -; Lance_h map_id=113 -LANCES_ROOM_HEIGHT EQU $0d -LANCES_ROOM_WIDTH EQU $0d - -; HallofFameRoom_h map_id=118 -HALL_OF_FAME_HEIGHT EQU $04 -HALL_OF_FAME_WIDTH EQU $05 - -; UndergroundPathNS_h map_id=119 -UNDERGROUND_PATH_NS_HEIGHT EQU $18 -UNDERGROUND_PATH_NS_WIDTH EQU $04 - -; Gary_h map_id=120 -CHAMPIONS_ROOM_HEIGHT EQU $04 -CHAMPIONS_ROOM_WIDTH EQU $04 - -; UndergroundPathWE_h map_id=121 -UNDERGROUND_PATH_WE_HEIGHT EQU $04 -UNDERGROUND_PATH_WE_WIDTH EQU $19 - -; CeladonMart1_h map_id=122 -CELADON_MART_1_HEIGHT EQU $04 -CELADON_MART_1_WIDTH EQU $0a - -; CeladonMart2_h map_id=123 -CELADON_MART_2_HEIGHT EQU $04 -CELADON_MART_2_WIDTH EQU $0a - -; CeladonMart3_h map_id=124 -CELADON_MART_3_HEIGHT EQU $04 -CELADON_MART_3_WIDTH EQU $0a - -; CeladonMart4_h map_id=125 -CELADON_MART_4_HEIGHT EQU $04 -CELADON_MART_4_WIDTH EQU $0a - -; CeladonMartRoof_h map_id=126 -CELADON_MART_ROOF_HEIGHT EQU $04 -CELADON_MART_ROOF_WIDTH EQU $0a - -; CeladonMartElevator_h map_id=127 -CELADON_MART_ELEVATOR_HEIGHT EQU $02 -CELADON_MART_ELEVATOR_WIDTH EQU $02 - -; CeladonMansion1_h map_id=128 -CELADON_MANSION_1_HEIGHT EQU $06 -CELADON_MANSION_1_WIDTH EQU $04 - -; CeladonMansion2_h map_id=129 -CELADON_MANSION_2_HEIGHT EQU $06 -CELADON_MANSION_2_WIDTH EQU $04 - -; CeladonMansion3_h map_id=130 -CELADON_MANSION_3_HEIGHT EQU $06 -CELADON_MANSION_3_WIDTH EQU $04 - -; CeladonMansion4_h map_id=131 -CELADON_MANSION_4_HEIGHT EQU $06 -CELADON_MANSION_4_WIDTH EQU $04 - -; CeladonMansion5_h map_id=132 -CELADON_MANSION_5_HEIGHT EQU $04 -CELADON_MANSION_5_WIDTH EQU $04 - -; CeladonPokecenter_h map_id=133 -CELADON_POKECENTER_HEIGHT EQU $04 -CELADON_POKECENTER_WIDTH EQU $07 - -; CeladonGym_h map_id=134 -CELADON_GYM_HEIGHT EQU $09 -CELADON_GYM_WIDTH EQU $05 - -; CeladonGameCorner_h map_id=135 -GAME_CORNER_HEIGHT EQU $09 -GAME_CORNER_WIDTH EQU $0a - -; CeladonMart5_h map_id=136 -CELADON_MART_5_HEIGHT EQU $04 -CELADON_MART_5_WIDTH EQU $0a - -; CeladonPrizeRoom_h map_id=137 -CELADON_PRIZE_ROOM_HEIGHT EQU $04 -CELADON_PRIZE_ROOM_WIDTH EQU $05 - -; CeladonDiner_h map_id=138 -CELADON_DINER_HEIGHT EQU $04 -CELADON_DINER_WIDTH EQU $05 - -; CeladonHouse_h map_id=139 -CELADON_HOUSE_HEIGHT EQU $04 -CELADON_HOUSE_WIDTH EQU $04 - -; CeladonHotel_h map_id=140 -CELADON_HOTEL_HEIGHT EQU $04 -CELADON_HOTEL_WIDTH EQU $07 - -; LavenderPokecenter_h map_id=141 -LAVENDER_POKECENTER_HEIGHT EQU $04 -LAVENDER_POKECENTER_WIDTH EQU $07 - -; PokemonTower1_h map_id=142 -POKEMONTOWER_1_HEIGHT EQU $09 -POKEMONTOWER_1_WIDTH EQU $0a - -; PokemonTower2_h map_id=143 -POKEMONTOWER_2_HEIGHT EQU $09 -POKEMONTOWER_2_WIDTH EQU $0a - -; PokemonTower3_h map_id=144 -POKEMONTOWER_3_HEIGHT EQU $09 -POKEMONTOWER_3_WIDTH EQU $0a - -; PokemonTower4_h map_id=145 -POKEMONTOWER_4_HEIGHT EQU $09 -POKEMONTOWER_4_WIDTH EQU $0a - -; PokemonTower5_h map_id=146 -POKEMONTOWER_5_HEIGHT EQU $09 -POKEMONTOWER_5_WIDTH EQU $0a - -; PokemonTower6_h map_id=147 -POKEMONTOWER_6_HEIGHT EQU $09 -POKEMONTOWER_6_WIDTH EQU $0a - -; PokemonTower7_h map_id=148 -POKEMONTOWER_7_HEIGHT EQU $09 -POKEMONTOWER_7_WIDTH EQU $0a - -; LavenderHouse1_h map_id=149 -LAVENDER_HOUSE_1_HEIGHT EQU $04 -LAVENDER_HOUSE_1_WIDTH EQU $04 - -; LavenderMart_h map_id=150 -LAVENDER_MART_HEIGHT EQU $04 -LAVENDER_MART_WIDTH EQU $04 - -; LavenderHouse2_h map_id=151 -LAVENDER_HOUSE_2_HEIGHT EQU $04 -LAVENDER_HOUSE_2_WIDTH EQU $04 - -; FuchsiaMart_h map_id=152 -FUCHSIA_MART_HEIGHT EQU $04 -FUCHSIA_MART_WIDTH EQU $04 - -; FuchsiaHouse1_h map_id=153 -FUCHSIA_HOUSE_1_HEIGHT EQU $04 -FUCHSIA_HOUSE_1_WIDTH EQU $04 - -; FuchsiaPokecenter_h map_id=154 -FUCHSIA_POKECENTER_HEIGHT EQU $04 -FUCHSIA_POKECENTER_WIDTH EQU $07 - -; FuchsiaHouse2_h map_id=155 -FUCHSIA_HOUSE_2_HEIGHT EQU $04 -FUCHSIA_HOUSE_2_WIDTH EQU $05 - -; SafariZoneEntrance_h map_id=156 -SAFARI_ZONE_ENTRANCE_HEIGHT EQU $03 -SAFARI_ZONE_ENTRANCE_WIDTH EQU $04 - -; FuchsiaGym_h map_id=157 -FUCHSIA_GYM_HEIGHT EQU $09 -FUCHSIA_GYM_WIDTH EQU $05 - -; FuchsiaMeetingRoom_h map_id=158 -FUCHSIA_MEETING_ROOM_HEIGHT EQU $04 -FUCHSIA_MEETING_ROOM_WIDTH EQU $07 - -; SeafoamIslands2_h map_id=159 -SEAFOAM_ISLANDS_2_HEIGHT EQU $09 -SEAFOAM_ISLANDS_2_WIDTH EQU $0f - -; SeafoamIslands3_h map_id=160 -SEAFOAM_ISLANDS_3_HEIGHT EQU $09 -SEAFOAM_ISLANDS_3_WIDTH EQU $0f - -; SeafoamIslands4_h map_id=161 -SEAFOAM_ISLANDS_4_HEIGHT EQU $09 -SEAFOAM_ISLANDS_4_WIDTH EQU $0f - -; SeafoamIslands5_h map_id=162 -SEAFOAM_ISLANDS_5_HEIGHT EQU $09 -SEAFOAM_ISLANDS_5_WIDTH EQU $0f - -; VermilionHouse2_h map_id=163 -VERMILION_HOUSE_2_HEIGHT EQU $04 -VERMILION_HOUSE_2_WIDTH EQU $04 - -; FuchsiaHouse3_h map_id=164 -FUCHSIA_HOUSE_3_HEIGHT EQU $04 -FUCHSIA_HOUSE_3_WIDTH EQU $04 - -; Mansion1_h map_id=165 -MANSION_1_HEIGHT EQU $0e -MANSION_1_WIDTH EQU $0f - -; CinnabarGym_h map_id=166 -CINNABAR_GYM_HEIGHT EQU $09 -CINNABAR_GYM_WIDTH EQU $0a - -; Lab1_h map_id=167 -CINNABAR_LAB_1_HEIGHT EQU $04 -CINNABAR_LAB_1_WIDTH EQU $09 - -; Lab2_h map_id=168 -CINNABAR_LAB_2_HEIGHT EQU $04 -CINNABAR_LAB_2_WIDTH EQU $04 - -; Lab3_h map_id=169 -CINNABAR_LAB_3_HEIGHT EQU $04 -CINNABAR_LAB_3_WIDTH EQU $04 - -; Lab4_h map_id=170 -CINNABAR_LAB_4_HEIGHT EQU $04 -CINNABAR_LAB_4_WIDTH EQU $04 - -; CinnabarPokecenter_h map_id=171 -CINNABAR_POKECENTER_HEIGHT EQU $04 -CINNABAR_POKECENTER_WIDTH EQU $07 - -; CinnabarMart_h map_id=172 -CINNABAR_MART_HEIGHT EQU $04 -CINNABAR_MART_WIDTH EQU $04 - -; IndigoPlateauLobby_h map_id=174 -INDIGO_PLATEAU_LOBBY_HEIGHT EQU $06 -INDIGO_PLATEAU_LOBBY_WIDTH EQU $08 - -; CopycatsHouse1F_h map_id=175 -COPYCATS_HOUSE_1F_HEIGHT EQU $04 -COPYCATS_HOUSE_1F_WIDTH EQU $04 - -; CopycatsHouse2F_h map_id=176 -COPYCATS_HOUSE_2F_HEIGHT EQU $04 -COPYCATS_HOUSE_2F_WIDTH EQU $04 - -; FightingDojo_h map_id=177 -FIGHTING_DOJO_HEIGHT EQU $06 -FIGHTING_DOJO_WIDTH EQU $05 - -; SaffronGym_h map_id=178 -SAFFRON_GYM_HEIGHT EQU $09 -SAFFRON_GYM_WIDTH EQU $0a - -; SaffronHouse1_h map_id=179 -SAFFRON_HOUSE_1_HEIGHT EQU $04 -SAFFRON_HOUSE_1_WIDTH EQU $04 - -; SaffronMart_h map_id=180 -SAFFRON_MART_HEIGHT EQU $04 -SAFFRON_MART_WIDTH EQU $04 - -; SilphCo1_h map_id=181 -SILPH_CO_1F_HEIGHT EQU $09 -SILPH_CO_1F_WIDTH EQU $0f - -; SaffronPokecenter_h map_id=182 -SAFFRON_POKECENTER_HEIGHT EQU $04 -SAFFRON_POKECENTER_WIDTH EQU $07 - -; SaffronHouse2_h map_id=183 -SAFFRON_HOUSE_2_HEIGHT EQU $04 -SAFFRON_HOUSE_2_WIDTH EQU $04 - -; Route15Gate1F_h map_id=184 -ROUTE_15_GATE_1F_HEIGHT EQU $05 -ROUTE_15_GATE_1F_WIDTH EQU $04 - -; Route15GateUpstairs_h map_id=185 -ROUTE_15_GATE_2F_HEIGHT EQU $04 -ROUTE_15_GATE_2F_WIDTH EQU $04 - -; Route16GateMap_h map_id=186 -ROUTE_16_GATE_1F_HEIGHT EQU $07 -ROUTE_16_GATE_1F_WIDTH EQU $04 - -; Route16GateUpstairs_h map_id=187 -ROUTE_16_GATE_2F_HEIGHT EQU $04 -ROUTE_16_GATE_2F_WIDTH EQU $04 - -; Route16House_h map_id=188 -ROUTE_16_HOUSE_HEIGHT EQU $04 -ROUTE_16_HOUSE_WIDTH EQU $04 - -; Route12House_h map_id=189 -ROUTE_12_HOUSE_HEIGHT EQU $04 -ROUTE_12_HOUSE_WIDTH EQU $04 - -; Route18Gate_h map_id=190 -ROUTE_18_GATE_1F_HEIGHT EQU $05 -ROUTE_18_GATE_1F_WIDTH EQU $04 - -; Route18GateHeader_h map_id=191 -ROUTE_18_GATE_2F_HEIGHT EQU $04 -ROUTE_18_GATE_2F_WIDTH EQU $04 - -; SeafoamIslands1_h map_id=192 -SEAFOAM_ISLANDS_1_HEIGHT EQU $09 -SEAFOAM_ISLANDS_1_WIDTH EQU $0f - -; Route22Gate_h map_id=193 -ROUTE_22_GATE_HEIGHT EQU $04 -ROUTE_22_GATE_WIDTH EQU $05 - -; VictoryRoad2_h map_id=194 -VICTORY_ROAD_2_HEIGHT EQU $09 -VICTORY_ROAD_2_WIDTH EQU $0f - -; Route12GateUpstairs_h map_id=195 -ROUTE_12_GATE_2F_HEIGHT EQU $04 -ROUTE_12_GATE_2F_WIDTH EQU $04 - -; VermilionHouse3_h map_id=196 -VERMILION_HOUSE_3_HEIGHT EQU $04 -VERMILION_HOUSE_3_WIDTH EQU $04 - -; DiglettsCave_h map_id=197 -DIGLETTS_CAVE_HEIGHT EQU $12 -DIGLETTS_CAVE_WIDTH EQU $14 - -; VictoryRoad3_h map_id=198 -VICTORY_ROAD_3_HEIGHT EQU $09 -VICTORY_ROAD_3_WIDTH EQU $0f - -; RocketHideout1_h map_id=199 -ROCKET_HIDEOUT_1_HEIGHT EQU $0e -ROCKET_HIDEOUT_1_WIDTH EQU $0f - -; RocketHideout2_h map_id=200 -ROCKET_HIDEOUT_2_HEIGHT EQU $0e -ROCKET_HIDEOUT_2_WIDTH EQU $0f - -; RocketHideout3_h map_id=201 -ROCKET_HIDEOUT_3_HEIGHT EQU $0e -ROCKET_HIDEOUT_3_WIDTH EQU $0f - -; RocketHideout4_h map_id=202 -ROCKET_HIDEOUT_4_HEIGHT EQU $0c -ROCKET_HIDEOUT_4_WIDTH EQU $0f - -; RocketHideoutElevator_h map_id=203 -ROCKET_HIDEOUT_ELEVATOR_HEIGHT EQU $04 -ROCKET_HIDEOUT_ELEVATOR_WIDTH EQU $03 - -; SilphCo2_h map_id=207 -SILPH_CO_2F_HEIGHT EQU $09 -SILPH_CO_2F_WIDTH EQU $0f - -; SilphCo3_h map_id=208 -SILPH_CO_3F_HEIGHT EQU $09 -SILPH_CO_3F_WIDTH EQU $0f - -; SilphCo4_h map_id=209 -SILPH_CO_4F_HEIGHT EQU $09 -SILPH_CO_4F_WIDTH EQU $0f - -; SilphCo5_h map_id=210 -SILPH_CO_5F_HEIGHT EQU $09 -SILPH_CO_5F_WIDTH EQU $0f - -; SilphCo6_h map_id=211 -SILPH_CO_6F_HEIGHT EQU $09 -SILPH_CO_6F_WIDTH EQU $0d - -; SilphCo7_h map_id=212 -SILPH_CO_7F_HEIGHT EQU $09 -SILPH_CO_7F_WIDTH EQU $0d - -; SilphCo8_h map_id=213 -SILPH_CO_8F_HEIGHT EQU $09 -SILPH_CO_8F_WIDTH EQU $0d - -; Mansion2_h map_id=214 -MANSION_2_HEIGHT EQU $0e -MANSION_2_WIDTH EQU $0f - -; Mansion3_h map_id=215 -MANSION_3_HEIGHT EQU $09 -MANSION_3_WIDTH EQU $0f - -; Mansion4_h map_id=216 -MANSION_4_HEIGHT EQU $0e -MANSION_4_WIDTH EQU $0f - -; SafariZoneEast_h map_id=217 -SAFARI_ZONE_EAST_HEIGHT EQU $0d -SAFARI_ZONE_EAST_WIDTH EQU $0f - -; SafariZoneNorth_h map_id=218 -SAFARI_ZONE_NORTH_HEIGHT EQU $12 -SAFARI_ZONE_NORTH_WIDTH EQU $14 - -; SafariZoneWest_h map_id=219 -SAFARI_ZONE_WEST_HEIGHT EQU $0d -SAFARI_ZONE_WEST_WIDTH EQU $0f - -; SafariZoneCenter_h map_id=220 -SAFARI_ZONE_CENTER_HEIGHT EQU $0d -SAFARI_ZONE_CENTER_WIDTH EQU $0f - -; SafariZoneRestHouse1_h map_id=221 -SAFARI_ZONE_REST_HOUSE_1_HEIGHT EQU $04 -SAFARI_ZONE_REST_HOUSE_1_WIDTH EQU $04 - -; SafariZoneSecretHouse_h map_id=222 -SAFARI_ZONE_SECRET_HOUSE_HEIGHT EQU $04 -SAFARI_ZONE_SECRET_HOUSE_WIDTH EQU $04 - -; SafariZoneRestHouse2_h map_id=223 -SAFARI_ZONE_REST_HOUSE_2_HEIGHT EQU $04 -SAFARI_ZONE_REST_HOUSE_2_WIDTH EQU $04 - -; SafariZoneRestHouse3_h map_id=224 -SAFARI_ZONE_REST_HOUSE_3_HEIGHT EQU $04 -SAFARI_ZONE_REST_HOUSE_3_WIDTH EQU $04 - -; SafariZoneRestHouse4_h map_id=225 -SAFARI_ZONE_REST_HOUSE_4_HEIGHT EQU $04 -SAFARI_ZONE_REST_HOUSE_4_WIDTH EQU $04 - -; UnknownDungeon2_h map_id=226 -UNKNOWN_DUNGEON_2_HEIGHT EQU $09 -UNKNOWN_DUNGEON_2_WIDTH EQU $0f - -; UnknownDungeon3_h map_id=227 -UNKNOWN_DUNGEON_3_HEIGHT EQU $09 -UNKNOWN_DUNGEON_3_WIDTH EQU $0f - -; UnknownDungeon1_h map_id=228 -UNKNOWN_DUNGEON_1_HEIGHT EQU $09 -UNKNOWN_DUNGEON_1_WIDTH EQU $0f - -; NameRater_h map_id=229 -NAME_RATERS_HOUSE_HEIGHT EQU $04 -NAME_RATERS_HOUSE_WIDTH EQU $04 - -; CeruleanHouse2_h map_id=230 -CERULEAN_HOUSE_2_HEIGHT EQU $04 -CERULEAN_HOUSE_2_WIDTH EQU $04 - -; RockTunnel2_h map_id=232 -ROCK_TUNNEL_2_HEIGHT EQU $12 -ROCK_TUNNEL_2_WIDTH EQU $14 - -; SilphCo9_h map_id=233 -SILPH_CO_9F_HEIGHT EQU $09 -SILPH_CO_9F_WIDTH EQU $0d - -; SilphCo10_h map_id=234 -SILPH_CO_10F_HEIGHT EQU $09 -SILPH_CO_10F_WIDTH EQU $08 - -; SilphCo11_h map_id=235 -SILPH_CO_11F_HEIGHT EQU $09 -SILPH_CO_11F_WIDTH EQU $09 - -; SilphCoElevator_h map_id=236 -SILPH_CO_ELEVATOR_HEIGHT EQU $02 -SILPH_CO_ELEVATOR_WIDTH EQU $02 - -; TradeCenter_h map_id=239 -TRADE_CENTER_HEIGHT EQU $04 -TRADE_CENTER_WIDTH EQU $05 - -; Colosseum_h map_id=240 -COLOSSEUM_HEIGHT EQU $04 -COLOSSEUM_WIDTH EQU $05 - -; Lorelei_h map_id=245 -LORELEIS_ROOM_HEIGHT EQU $06 -LORELEIS_ROOM_WIDTH EQU $05 - -; Bruno_h map_id=246 -BRUNOS_ROOM_HEIGHT EQU $06 -BRUNOS_ROOM_WIDTH EQU $05 - -; Agatha_h map_id=247 -AGATHAS_ROOM_HEIGHT EQU $06 -AGATHAS_ROOM_WIDTH EQU $05 - -BEACH_HOUSE_HEIGHT EQU 4 -BEACH_HOUSE_WIDTH EQU 7 diff --git a/data/hide_show_data.asm b/data/hide_show_data.asm index 4e3fe2c2..71a76e47 100755 --- a/data/hide_show_data.asm +++ b/data/hide_show_data.asm @@ -343,7 +343,7 @@ MapHS2D: ; c925 (3:4925) MapHS34: ; c92b (3:492b) db MUSEUM_1F,$05,Show MapHS3F: ; c92e (3:492e) ; bulbasaur adoption house - db CERULEAN_HOUSE,$02,Show + db CERULEAN_HOUSE_1,$02,Show MapHSE4: ; c931 (3:4931) db UNKNOWN_DUNGEON_1,$01,Show db UNKNOWN_DUNGEON_1,$02,Show diff --git a/data/mapObjects/ceruleancity.asm b/data/mapObjects/ceruleancity.asm index 8c429695..248a8e83 100755 --- a/data/mapObjects/ceruleancity.asm +++ b/data/mapObjects/ceruleancity.asm @@ -3,15 +3,15 @@ CeruleanCityObject: ; 0x18786 (size=170) db $a ; warps db $b, $1b, $0, TRASHED_HOUSE - db $f, $d, $0, CERULEAN_HOUSE + db $f, $d, $0, CERULEAN_HOUSE_1 db $11, $13, $0, CERULEAN_POKECENTER db $13, $1e, $0, CERULEAN_GYM db $19, $d, $0, BIKE_SHOP db $19, $19, $0, CERULEAN_MART db $b, $4, $0, UNKNOWN_DUNGEON_1 db $9, $1b, $2, TRASHED_HOUSE - db $b, $9, $1, CERULEAN_HOUSE_3 - db $9, $9, $0, CERULEAN_HOUSE_3 + db $b, $9, $1, CERULEAN_HOUSE_2 + db $9, $9, $0, CERULEAN_HOUSE_2 db $6 ; signs db $13, $17, $c ; CeruleanCityText12 @@ -36,12 +36,12 @@ CeruleanCityObject: ; 0x18786 (size=170) ; warp-to EVENT_DISP CERULEAN_CITY_WIDTH, $b, $1b ; TRASHED_HOUSE - EVENT_DISP CERULEAN_CITY_WIDTH, $f, $d ; CERULEAN_HOUSE + EVENT_DISP CERULEAN_CITY_WIDTH, $f, $d ; CERULEAN_HOUSE_1 EVENT_DISP CERULEAN_CITY_WIDTH, $11, $13 ; CERULEAN_POKECENTER EVENT_DISP CERULEAN_CITY_WIDTH, $13, $1e ; CERULEAN_GYM EVENT_DISP CERULEAN_CITY_WIDTH, $19, $d ; BIKE_SHOP EVENT_DISP CERULEAN_CITY_WIDTH, $19, $19 ; CERULEAN_MART EVENT_DISP CERULEAN_CITY_WIDTH, $b, $4 ; UNKNOWN_DUNGEON_1 EVENT_DISP CERULEAN_CITY_WIDTH, $9, $1b ; TRASHED_HOUSE - EVENT_DISP CERULEAN_CITY_WIDTH, $b, $9 ; CERULEAN_HOUSE_3 - EVENT_DISP CERULEAN_CITY_WIDTH, $9, $9 ; CERULEAN_HOUSE_3 + EVENT_DISP CERULEAN_CITY_WIDTH, $b, $9 ; CERULEAN_HOUSE_2 + EVENT_DISP CERULEAN_CITY_WIDTH, $9, $9 ; CERULEAN_HOUSE_2 diff --git a/data/town_map_entries.asm b/data/town_map_entries.asm index bb0f31ff..865f14d8 100755 --- a/data/town_map_entries.asm +++ b/data/town_map_entries.asm @@ -94,7 +94,7 @@ InternalMapEntries: ; 7140b (1c:540b) IMAP SAFARI_ZONE_REST_HOUSE_4, $8,$C,SafariZoneName IMAP UNKNOWN_DUNGEON_1, $9,$1,CeruleanCaveName IMAP NAME_RATERS_HOUSE, $E,$5,LavenderTownName - IMAP CERULEAN_HOUSE_3, $A,$2,CeruleanCityName + IMAP CERULEAN_HOUSE_2, $A,$2,CeruleanCityName IMAP ROCK_TUNNEL_2, $E,$3,RockTunnelName IMAP SILPH_CO_ELEVATOR, $A,$5,SilphCoName IMAP AGATHAS_ROOM, $0,$2,PokemonLeagueName -- cgit v1.3.1-sl0p From 3239ab648c05e39aa84e9d0572ed34dbb63c7054 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Thu, 26 May 2016 13:28:30 -0400 Subject: Add Pewter City and fix scripts --- constants/hide_show_constants.asm | 457 +++++++++++++++++++------------------- main.asm | 20 +- scripts/pewtercity.asm | 22 +- 3 files changed, 254 insertions(+), 245 deletions(-) (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 1a44b1e7..02ebc54e 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -6,231 +6,232 @@ const_value = 0 - const HS_PALLET_TOWN_OAK ; 00 - const HS_LYING_OLD_MAN ; 01 - const HS_OLD_MAN ; 02 - const HS_MUSEUM_GUY ; 03 - const HS_GYM_GUY ; 04 - const HS_CERULEAN_RIVAL ; 05 - const HS_CERULEAN_ROCKET ; 06 - const HS_CERULEAN_GUARD_1 ; 07 - const HS_UNKNOWN_DUNGEON_GUY ; 08 - const HS_CERULEAN_GUARD_2 ; 09 - const HS_SAFFRON_CITY_1 ; 0A - const HS_SAFFRON_CITY_2 ; 0B - const HS_SAFFRON_CITY_3 ; 0C - const HS_SAFFRON_CITY_4 ; 0D - const HS_SAFFRON_CITY_5 ; 0E - const HS_SAFFRON_CITY_6 ; 0F - const HS_SAFFRON_CITY_7 ; 10 - const HS_SAFFRON_CITY_8 ; 11 - const HS_SAFFRON_CITY_9 ; 12 - const HS_SAFFRON_CITY_A ; 13 - const HS_SAFFRON_CITY_B ; 14 - const HS_SAFFRON_CITY_C ; 15 - const HS_SAFFRON_CITY_D ; 16 - const HS_SAFFRON_CITY_E ; 17 - const HS_SAFFRON_CITY_F ; 18 - const HS_ROUTE_2_ITEM_1 ; 19 X - const HS_ROUTE_2_ITEM_2 ; 1A X - const HS_ROUTE_4_ITEM ; 1B X - const HS_ROUTE_9_ITEM ; 1C X - const HS_ROUTE_12_SNORLAX ; 1D - const HS_ROUTE_12_ITEM_1 ; 1E X - const HS_ROUTE_12_ITEM_2 ; 1F X - const HS_ROUTE_15_ITEM ; 20 X - const HS_ROUTE_16_SNORLAX ; 21 - const HS_ROUTE_22_RIVAL_1 ; 22 - const HS_ROUTE_22_RIVAL_2 ; 23 - const HS_NUGGET_BRIDGE_GUY ; 24 - const HS_ROUTE_24_ITEM ; 25 X - const HS_ROUTE_25_ITEM ; 26 X - const HS_DAISY_SITTING ; 27 - const HS_DAISY_WALKING ; 28 - const HS_TOWN_MAP ; 29 - const HS_OAKS_LAB_RIVAL ; 2A - const HS_STARTER_BALL_1 ; 2B - const HS_STARTER_BALL_2 ; 2C - const HS_STARTER_BALL_3 ; 2D - const HS_OAKS_LAB_OAK_1 ; 2E - const HS_POKEDEX_1 ; 2F - const HS_POKEDEX_2 ; 30 - const HS_OAKS_LAB_OAK_2 ; 31 - const HS_VIRIDIAN_GYM_GIOVANNI ; 32 - const HS_VIRIDIAN_GYM_ITEM ; 33 X - const HS_OLD_AMBER ; 34 - const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 35 X - const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 36 X - const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 37 X - const HS_POKEMONTOWER_2_RIVAL ; 38 - const HS_POKEMONTOWER_3_ITEM ; 39 X - const HS_POKEMONTOWER_4_ITEM_1 ; 3A X - const HS_POKEMONTOWER_4_ITEM_2 ; 3B X - const HS_POKEMONTOWER_4_ITEM_3 ; 3C X - const HS_POKEMONTOWER_5_ITEM ; 3D X - const HS_POKEMONTOWER_6_ITEM_1 ; 3E X - const HS_POKEMONTOWER_6_ITEM_2 ; 3F X - const HS_POKEMONTOWER_7_ROCKET_1 ; 40 X - const HS_POKEMONTOWER_7_ROCKET_2 ; 41 X - const HS_POKEMONTOWER_7_ROCKET_3 ; 42 X - const HS_POKEMONTOWER_7_MR_FUJI ; 43 - const HS_LAVENDER_HOUSE_1_MR_FUJI ; 44 - const HS_CELADON_MANSION_5_GIFT ; 45 - const HS_GAME_CORNER_ROCKET ; 46 - const HS_FUCHSIA_HOUSE_2_ITEM ; 47 X - const HS_MANSION_1_ITEM_1 ; 48 X - const HS_MANSION_1_ITEM_2 ; 49 X - const HS_FIGHTING_DOJO_GIFT_1 ; 4A - const HS_FIGHTING_DOJO_GIFT_2 ; 4B - const HS_SILPH_CO_1F_RECEPTIONIST ; 4C - const HS_VOLTORB_1 ; 4D X - const HS_VOLTORB_2 ; 4E X - const HS_VOLTORB_3 ; 4F X - const HS_ELECTRODE_1 ; 50 X - const HS_VOLTORB_4 ; 51 X - const HS_VOLTORB_5 ; 52 X - const HS_ELECTRODE_2 ; 53 X - const HS_VOLTORB_6 ; 54 X - const HS_ZAPDOS ; 55 X - const HS_POWER_PLANT_ITEM_1 ; 56 X - const HS_POWER_PLANT_ITEM_2 ; 57 X - const HS_POWER_PLANT_ITEM_3 ; 58 X - const HS_POWER_PLANT_ITEM_4 ; 59 X - const HS_POWER_PLANT_ITEM_5 ; 5A X - const HS_MOLTRES ; 5B X - const HS_VICTORY_ROAD_2_ITEM_1 ; 5C X - const HS_VICTORY_ROAD_2_ITEM_2 ; 5D X - const HS_VICTORY_ROAD_2_ITEM_3 ; 5E X - const HS_VICTORY_ROAD_2_ITEM_4 ; 5F X - const HS_VICTORY_ROAD_2_BOULDER ; 60 - const HS_BILL_POKEMON ; 61 - const HS_BILL_1 ; 62 - const HS_BILL_2 ; 63 - const HS_VIRIDIAN_FOREST_ITEM_1 ; 64 X - const HS_VIRIDIAN_FOREST_ITEM_2 ; 65 X - const HS_VIRIDIAN_FOREST_ITEM_3 ; 66 X - const HS_MT_MOON_1_ITEM_1 ; 67 X - const HS_MT_MOON_1_ITEM_2 ; 68 X - const HS_MT_MOON_1_ITEM_3 ; 69 X - const HS_MT_MOON_1_ITEM_4 ; 6A X - const HS_MT_MOON_1_ITEM_5 ; 6B X - const HS_MT_MOON_1_ITEM_6 ; 6C X - const HS_MT_MOON_3_FOSSIL_1 ; 6D - const HS_MT_MOON_3_FOSSIL_2 ; 6E - const HS_MT_MOON_3_ITEM_1 ; 6F X - const HS_MT_MOON_3_ITEM_2 ; 70 X - const HS_SS_ANNE_2_RIVAL ; 71 - const HS_SS_ANNE_8_ITEM ; 72 X - const HS_SS_ANNE_9_ITEM_1 ; 73 X - const HS_SS_ANNE_9_ITEM_2 ; 74 X - const HS_SS_ANNE_10_ITEM_1 ; 75 X - const HS_SS_ANNE_10_ITEM_2 ; 76 X - const HS_SS_ANNE_10_ITEM_3 ; 77 X - const HS_VICTORY_ROAD_3_ITEM_1 ; 78 X - const HS_VICTORY_ROAD_3_ITEM_2 ; 79 X - const HS_VICTORY_ROAD_3_BOULDER ; 7A - const HS_ROCKET_HIDEOUT_1_ITEM_1 ; 7B X - const HS_ROCKET_HIDEOUT_1_ITEM_2 ; 7C X - const HS_ROCKET_HIDEOUT_2_ITEM_1 ; 7D X - const HS_ROCKET_HIDEOUT_2_ITEM_2 ; 7E X - const HS_ROCKET_HIDEOUT_2_ITEM_3 ; 7F X - const HS_ROCKET_HIDEOUT_2_ITEM_4 ; 80 X - const HS_ROCKET_HIDEOUT_3_ITEM_1 ; 81 X - const HS_ROCKET_HIDEOUT_3_ITEM_2 ; 82 X - const HS_ROCKET_HIDEOUT_4_GIOVANNI ; 83 - const HS_ROCKET_HIDEOUT_4_ITEM_1 ; 84 X - const HS_ROCKET_HIDEOUT_4_ITEM_2 ; 85 X - const HS_ROCKET_HIDEOUT_4_ITEM_3 ; 86 X - const HS_ROCKET_HIDEOUT_4_ITEM_4 ; 87 - const HS_ROCKET_HIDEOUT_4_ITEM_5 ; 88 - const HS_SILPH_CO_2F_1 ; 89 XXX never (de)activated? - const HS_SILPH_CO_2F_2 ; 8A - const HS_SILPH_CO_2F_3 ; 8B - const HS_SILPH_CO_2F_4 ; 8C - const HS_SILPH_CO_2F_5 ; 8D - const HS_SILPH_CO_3F_1 ; 8E - const HS_SILPH_CO_3F_2 ; 8F - const HS_SILPH_CO_3F_ITEM ; 90 X - const HS_SILPH_CO_4F_1 ; 91 - const HS_SILPH_CO_4F_2 ; 92 - const HS_SILPH_CO_4F_3 ; 93 - const HS_SILPH_CO_4F_ITEM_1 ; 94 X - const HS_SILPH_CO_4F_ITEM_2 ; 95 X - const HS_SILPH_CO_4F_ITEM_3 ; 96 X - const HS_SILPH_CO_5F_1 ; 97 - const HS_SILPH_CO_5F_2 ; 98 - const HS_SILPH_CO_5F_3 ; 99 - const HS_SILPH_CO_5F_4 ; 9A - const HS_SILPH_CO_5F_ITEM_1 ; 9B X - const HS_SILPH_CO_5F_ITEM_2 ; 9C X - const HS_SILPH_CO_5F_ITEM_3 ; 9D X - const HS_SILPH_CO_6F_1 ; 9E - const HS_SILPH_CO_6F_2 ; 9F - const HS_SILPH_CO_6F_3 ; A0 - const HS_SILPH_CO_6F_ITEM_1 ; A1 X - const HS_SILPH_CO_6F_ITEM_2 ; A2 X - const HS_SILPH_CO_7F_1 ; A3 - const HS_SILPH_CO_7F_2 ; A4 - const HS_SILPH_CO_7F_3 ; A5 - const HS_SILPH_CO_7F_4 ; A6 - const HS_SILPH_CO_7F_RIVAL ; A7 - const HS_SILPH_CO_7F_ITEM_1 ; A8 X - const HS_SILPH_CO_7F_ITEM_2 ; A9 X - const HS_SILPH_CO_7F_8 ; AA XXX sprite doesn't exist - const HS_SILPH_CO_8F_1 ; AB - const HS_SILPH_CO_8F_2 ; AC - const HS_SILPH_CO_8F_3 ; AD - const HS_SILPH_CO_9F_1 ; AE - const HS_SILPH_CO_9F_2 ; AF - const HS_SILPH_CO_9F_3 ; B0 - const HS_SILPH_CO_10F_1 ; B1 - const HS_SILPH_CO_10F_2 ; B2 - const HS_SILPH_CO_10F_3 ; B3 XXX never (de)activated? - const HS_SILPH_CO_10F_ITEM_1 ; B4 X - const HS_SILPH_CO_10F_ITEM_2 ; B5 X - const HS_SILPH_CO_10F_ITEM_3 ; B6 X - const HS_SILPH_CO_11F_1 ; B7 - const HS_SILPH_CO_11F_2 ; B8 - const HS_SILPH_CO_11F_3 ; B9 - const HS_MAP_F4_1 ; BA XXX sprite doesn't exist - const HS_MANSION_2_ITEM ; BB X - const HS_MANSION_3_ITEM_1 ; BC X - const HS_MANSION_3_ITEM_2 ; BD X - const HS_MANSION_4_ITEM_1 ; BE X - const HS_MANSION_4_ITEM_2 ; BF X - const HS_MANSION_4_ITEM_3 ; C0 X - const HS_MANSION_4_ITEM_4 ; C1 X - const HS_MANSION_4_ITEM_5 ; C2 X - const HS_SAFARI_ZONE_EAST_ITEM_1 ; C3 X - const HS_SAFARI_ZONE_EAST_ITEM_2 ; C4 X - const HS_SAFARI_ZONE_EAST_ITEM_3 ; C5 X - const HS_SAFARI_ZONE_EAST_ITEM_4 ; C6 X - const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C7 X - const HS_SAFARI_ZONE_NORTH_ITEM_2 ; C8 X - const HS_SAFARI_ZONE_WEST_ITEM_1 ; C9 X - const HS_SAFARI_ZONE_WEST_ITEM_2 ; CA X - const HS_SAFARI_ZONE_WEST_ITEM_3 ; CB X - const HS_SAFARI_ZONE_WEST_ITEM_4 ; CC X - const HS_SAFARI_ZONE_CENTER_ITEM ; CD X - const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; CE X - const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; CF X - const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D0 X - const HS_MEWTWO ; D1 X - const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D2 X - const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D3 X - const HS_VICTORY_ROAD_1_ITEM_1 ; D4 X - const HS_VICTORY_ROAD_1_ITEM_2 ; D5 X - const HS_CHAMPIONS_ROOM_OAK ; D6 - const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D7 - const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; D8 - const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; D9 - const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; DA - const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; DB - const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; DC - const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; DD - const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; DE - const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; DF - const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E0 - const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E1 - const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; E2 - const HS_ARTICUNO ; E3 X + const HS_PIKACHU ; 00 + const HS_PALLET_TOWN_OAK ; 01 + const HS_LYING_OLD_MAN ; 02 + const HS_OLD_MAN ; 03 + const HS_MUSEUM_GUY ; 04 + const HS_GYM_GUY ; 05 + const HS_CERULEAN_RIVAL ; 06 + const HS_CERULEAN_ROCKET ; 07 + const HS_CERULEAN_GUARD_1 ; 08 + const HS_UNKNOWN_DUNGEON_GUY ; 09 + const HS_CERULEAN_GUARD_2 ; 0A + const HS_SAFFRON_CITY_1 ; 0B + const HS_SAFFRON_CITY_2 ; 0C + const HS_SAFFRON_CITY_3 ; 0D + const HS_SAFFRON_CITY_4 ; 0E + const HS_SAFFRON_CITY_5 ; 0F + const HS_SAFFRON_CITY_6 ; 10 + const HS_SAFFRON_CITY_7 ; 11 + const HS_SAFFRON_CITY_8 ; 12 + const HS_SAFFRON_CITY_9 ; 13 + const HS_SAFFRON_CITY_A ; 14 + const HS_SAFFRON_CITY_B ; 15 + const HS_SAFFRON_CITY_C ; 16 + const HS_SAFFRON_CITY_D ; 17 + const HS_SAFFRON_CITY_E ; 18 + const HS_SAFFRON_CITY_F ; 19 X + const HS_ROUTE_2_ITEM_1 ; 1A X + const HS_ROUTE_2_ITEM_2 ; 1B X + const HS_ROUTE_4_ITEM ; 1C X + const HS_ROUTE_9_ITEM ; 1D + const HS_ROUTE_12_SNORLAX ; 1E X + const HS_ROUTE_12_ITEM_1 ; 1F X + const HS_ROUTE_12_ITEM_2 ; 20 X + const HS_ROUTE_15_ITEM ; 21 + const HS_ROUTE_16_SNORLAX ; 22 + const HS_ROUTE_22_RIVAL_1 ; 23 + const HS_ROUTE_22_RIVAL_2 ; 24 + const HS_NUGGET_BRIDGE_GUY ; 25 X + const HS_ROUTE_24_ITEM ; 26 X + const HS_ROUTE_25_ITEM ; 27 + const HS_DAISY_SITTING ; 28 + const HS_DAISY_WALKING ; 29 + const HS_TOWN_MAP ; 2A + const HS_OAKS_LAB_RIVAL ; 2B + const HS_STARTER_BALL_1 ; 2C + const HS_STARTER_BALL_2 ; 2D + const HS_STARTER_BALL_3 ; 2E + const HS_OAKS_LAB_OAK_1 ; 2F + const HS_POKEDEX_1 ; 30 + const HS_POKEDEX_2 ; 31 + const HS_OAKS_LAB_OAK_2 ; 32 + const HS_VIRIDIAN_GYM_GIOVANNI ; 33 X + const HS_VIRIDIAN_GYM_ITEM ; 34 + const HS_OLD_AMBER ; 35 X + const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 36 X + const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 37 X + const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 38 + const HS_POKEMONTOWER_2_RIVAL ; 39 X + const HS_POKEMONTOWER_3_ITEM ; 3A X + const HS_POKEMONTOWER_4_ITEM_1 ; 3B X + const HS_POKEMONTOWER_4_ITEM_2 ; 3C X + const HS_POKEMONTOWER_4_ITEM_3 ; 3D X + const HS_POKEMONTOWER_5_ITEM ; 3E X + const HS_POKEMONTOWER_6_ITEM_1 ; 3F X + const HS_POKEMONTOWER_6_ITEM_2 ; 40 X + const HS_POKEMONTOWER_7_ROCKET_1 ; 41 X + const HS_POKEMONTOWER_7_ROCKET_2 ; 42 X + const HS_POKEMONTOWER_7_ROCKET_3 ; 43 + const HS_POKEMONTOWER_7_MR_FUJI ; 44 + const HS_LAVENDER_HOUSE_1_MR_FUJI ; 45 + const HS_CELADON_MANSION_5_GIFT ; 46 + const HS_GAME_CORNER_ROCKET ; 47 X + const HS_FUCHSIA_HOUSE_2_ITEM ; 48 X + const HS_MANSION_1_ITEM_1 ; 49 X + const HS_MANSION_1_ITEM_2 ; 4A + const HS_FIGHTING_DOJO_GIFT_1 ; 4B + const HS_FIGHTING_DOJO_GIFT_2 ; 4C + const HS_SILPH_CO_1F_RECEPTIONIST ; 4D X + const HS_VOLTORB_1 ; 4E X + const HS_VOLTORB_2 ; 4F X + const HS_VOLTORB_3 ; 50 X + const HS_ELECTRODE_1 ; 51 X + const HS_VOLTORB_4 ; 52 X + const HS_VOLTORB_5 ; 53 X + const HS_ELECTRODE_2 ; 54 X + const HS_VOLTORB_6 ; 55 X + const HS_ZAPDOS ; 56 X + const HS_POWER_PLANT_ITEM_1 ; 57 X + const HS_POWER_PLANT_ITEM_2 ; 58 X + const HS_POWER_PLANT_ITEM_3 ; 59 X + const HS_POWER_PLANT_ITEM_4 ; 5A X + const HS_POWER_PLANT_ITEM_5 ; 5B X + const HS_MOLTRES ; 5C X + const HS_VICTORY_ROAD_2_ITEM_1 ; 5D X + const HS_VICTORY_ROAD_2_ITEM_2 ; 5E X + const HS_VICTORY_ROAD_2_ITEM_3 ; 5F X + const HS_VICTORY_ROAD_2_ITEM_4 ; 60 + const HS_VICTORY_ROAD_2_BOULDER ; 61 + const HS_BILL_POKEMON ; 62 + const HS_BILL_1 ; 63 + const HS_BILL_2 ; 64 X + const HS_VIRIDIAN_FOREST_ITEM_1 ; 65 X + const HS_VIRIDIAN_FOREST_ITEM_2 ; 66 X + const HS_VIRIDIAN_FOREST_ITEM_3 ; 67 X + const HS_MT_MOON_1_ITEM_1 ; 68 X + const HS_MT_MOON_1_ITEM_2 ; 69 X + const HS_MT_MOON_1_ITEM_3 ; 6A X + const HS_MT_MOON_1_ITEM_4 ; 6B X + const HS_MT_MOON_1_ITEM_5 ; 6C X + const HS_MT_MOON_1_ITEM_6 ; 6D + const HS_MT_MOON_3_FOSSIL_1 ; 6E + const HS_MT_MOON_3_FOSSIL_2 ; 6F X + const HS_MT_MOON_3_ITEM_1 ; 70 X + const HS_MT_MOON_3_ITEM_2 ; 71 + const HS_SS_ANNE_2_RIVAL ; 72 X + const HS_SS_ANNE_8_ITEM ; 73 X + const HS_SS_ANNE_9_ITEM_1 ; 74 X + const HS_SS_ANNE_9_ITEM_2 ; 75 X + const HS_SS_ANNE_10_ITEM_1 ; 76 X + const HS_SS_ANNE_10_ITEM_2 ; 77 X + const HS_SS_ANNE_10_ITEM_3 ; 78 X + const HS_VICTORY_ROAD_3_ITEM_1 ; 79 X + const HS_VICTORY_ROAD_3_ITEM_2 ; 7A + const HS_VICTORY_ROAD_3_BOULDER ; 7B X + const HS_ROCKET_HIDEOUT_1_ITEM_1 ; 7C X + const HS_ROCKET_HIDEOUT_1_ITEM_2 ; 7D X + const HS_ROCKET_HIDEOUT_2_ITEM_1 ; 7E X + const HS_ROCKET_HIDEOUT_2_ITEM_2 ; 7F X + const HS_ROCKET_HIDEOUT_2_ITEM_3 ; 80 X + const HS_ROCKET_HIDEOUT_2_ITEM_4 ; 81 X + const HS_ROCKET_HIDEOUT_3_ITEM_1 ; 82 X + const HS_ROCKET_HIDEOUT_3_ITEM_2 ; 83 + const HS_ROCKET_HIDEOUT_4_GIOVANNI ; 84 X + const HS_ROCKET_HIDEOUT_4_ITEM_1 ; 85 X + const HS_ROCKET_HIDEOUT_4_ITEM_2 ; 86 X + const HS_ROCKET_HIDEOUT_4_ITEM_3 ; 87 + const HS_ROCKET_HIDEOUT_4_ITEM_4 ; 88 + const HS_ROCKET_HIDEOUT_4_ITEM_5 ; 89 XXX never (de)activated? + const HS_SILPH_CO_2F_1 ; 8A + const HS_SILPH_CO_2F_2 ; 8B + const HS_SILPH_CO_2F_3 ; 8C + const HS_SILPH_CO_2F_4 ; 8D + const HS_SILPH_CO_2F_5 ; 8E + const HS_SILPH_CO_3F_1 ; 8F + const HS_SILPH_CO_3F_2 ; 90 X + const HS_SILPH_CO_3F_ITEM ; 91 + const HS_SILPH_CO_4F_1 ; 92 + const HS_SILPH_CO_4F_2 ; 93 + const HS_SILPH_CO_4F_3 ; 94 X + const HS_SILPH_CO_4F_ITEM_1 ; 95 X + const HS_SILPH_CO_4F_ITEM_2 ; 96 X + const HS_SILPH_CO_4F_ITEM_3 ; 97 + const HS_SILPH_CO_5F_1 ; 98 + const HS_SILPH_CO_5F_2 ; 99 + const HS_SILPH_CO_5F_3 ; 9A + const HS_SILPH_CO_5F_4 ; 9B X + const HS_SILPH_CO_5F_ITEM_1 ; 9C X + const HS_SILPH_CO_5F_ITEM_2 ; 9D X + const HS_SILPH_CO_5F_ITEM_3 ; 9E + const HS_SILPH_CO_6F_1 ; 9F + const HS_SILPH_CO_6F_2 ; A0 + const HS_SILPH_CO_6F_3 ; A1 X + const HS_SILPH_CO_6F_ITEM_1 ; A2 X + const HS_SILPH_CO_6F_ITEM_2 ; A3 + const HS_SILPH_CO_7F_1 ; A4 + const HS_SILPH_CO_7F_2 ; A5 + const HS_SILPH_CO_7F_3 ; A6 + const HS_SILPH_CO_7F_4 ; A7 + const HS_SILPH_CO_7F_RIVAL ; A8 X + const HS_SILPH_CO_7F_ITEM_1 ; A9 X + const HS_SILPH_CO_7F_ITEM_2 ; AA XXX sprite doesn't exist + const HS_SILPH_CO_7F_8 ; AB + const HS_SILPH_CO_8F_1 ; AC + const HS_SILPH_CO_8F_2 ; AD + const HS_SILPH_CO_8F_3 ; AE + const HS_SILPH_CO_9F_1 ; AF + const HS_SILPH_CO_9F_2 ; B0 + const HS_SILPH_CO_9F_3 ; B1 + const HS_SILPH_CO_10F_1 ; B2 + const HS_SILPH_CO_10F_2 ; B3 XXX never (de)activated? + const HS_SILPH_CO_10F_3 ; B4 X + const HS_SILPH_CO_10F_ITEM_1 ; B5 X + const HS_SILPH_CO_10F_ITEM_2 ; B6 X + const HS_SILPH_CO_10F_ITEM_3 ; B7 + const HS_SILPH_CO_11F_1 ; B8 + const HS_SILPH_CO_11F_2 ; B9 + const HS_SILPH_CO_11F_3 ; BA XXX sprite doesn't exist + const HS_MAP_F4_1 ; BB X + const HS_MANSION_2_ITEM ; BC X + const HS_MANSION_3_ITEM_1 ; BD X + const HS_MANSION_3_ITEM_2 ; BE X + const HS_MANSION_4_ITEM_1 ; BF X + const HS_MANSION_4_ITEM_2 ; C0 X + const HS_MANSION_4_ITEM_3 ; C1 X + const HS_MANSION_4_ITEM_4 ; C2 X + const HS_MANSION_4_ITEM_5 ; C3 X + const HS_SAFARI_ZONE_EAST_ITEM_1 ; C4 X + const HS_SAFARI_ZONE_EAST_ITEM_2 ; C5 X + const HS_SAFARI_ZONE_EAST_ITEM_3 ; C6 X + const HS_SAFARI_ZONE_EAST_ITEM_4 ; C7 X + const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C8 X + const HS_SAFARI_ZONE_NORTH_ITEM_2 ; C9 X + const HS_SAFARI_ZONE_WEST_ITEM_1 ; CA X + const HS_SAFARI_ZONE_WEST_ITEM_2 ; CB X + const HS_SAFARI_ZONE_WEST_ITEM_3 ; CC X + const HS_SAFARI_ZONE_WEST_ITEM_4 ; CD X + const HS_SAFARI_ZONE_CENTER_ITEM ; CE X + const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; CF X + const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; D0 X + const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D1 X + const HS_MEWTWO ; D2 X + const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D3 X + const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D4 X + const HS_VICTORY_ROAD_1_ITEM_1 ; D5 X + const HS_VICTORY_ROAD_1_ITEM_2 ; D6 + const HS_CHAMPIONS_ROOM_OAK ; D7 + const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D8 + const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; D9 + const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; DA + const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; DB + const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; DC + const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; DD + const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; DE + const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; DF + const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; E0 + const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E1 + const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E2 + const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; E3 X + const HS_ARTICUNO ; EF diff --git a/main.asm b/main.asm index 1fbfd873..68229c0d 100755 --- a/main.asm +++ b/main.asm @@ -236,7 +236,7 @@ INCLUDE "data/mapHeaders/celadoncity.asm" INCLUDE "data/mapObjects/celadoncity.asm" CeladonCityBlocks: INCBIN "maps/celadoncity.blk" - dr $182a1,$185ec ; headers, objects, blocks + dr $182a1,$1855a ; headers, objects, blocks ; INCLUDE "data/mapHeaders/pallettown.asm" ; INCLUDE "data/mapObjects/pallettown.asm" ; PalletTownBlocks: INCBIN "maps/pallettown.blk" @@ -245,8 +245,8 @@ CeladonCityBlocks: INCBIN "maps/celadoncity.blk" ; INCLUDE "data/mapObjects/viridiancity.asm" ; ViridianCityBlocks: INCBIN "maps/viridiancity.blk" -; INCLUDE "data/mapHeaders/pewtercity.asm" -; INCLUDE "data/mapObjects/pewtercity.asm" +INCLUDE "data/mapHeaders/pewtercity.asm" +INCLUDE "data/mapObjects/pewtercity.asm" PewterCityBlocks: INCBIN "maps/pewtercity.blk" INCLUDE "data/mapHeaders/ceruleancity.asm" @@ -262,11 +262,11 @@ CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk" ; 18836 ; INCLUDE "data/mapObjects/fuchsiacity.asm" ; FuchsiaCityBlocks: INCBIN "maps/fuchsiacity.blk" - dr $18dee,$1953d ; map scripts + dr $18dee,$192f5 ; map scripts ; INCLUDE "scripts/pallettown.asm" ; INCLUDE "scripts/viridiancity.asm" -; INCLUDE "scripts/pewtercity.asm" +INCLUDE "scripts/pewtercity.asm" ; INCLUDE "scripts/ceruleancity.asm" CeruleanCityScript: dr $1953d,$196cd ; map scripts @@ -803,19 +803,27 @@ INCLUDE "engine/hidden_object_functions14.asm" SECTION "bank15",ROMX,BANK[$15] - dr $54000,$541ee + dr $54000,$54086 +; INCLUDE "data/mapHeaders/route2.asm" +; INCLUDE "data/mapObjects/route2.asm" +Route2Blocks: ; 54086 +INCBIN "maps/route2.blk" + INCLUDE "data/mapHeaders/route3.asm" INCLUDE "data/mapObjects/route3.asm" Route3Blocks: ; 5425d INCBIN "maps/route3.blk" + INCLUDE "data/mapHeaders/route4.asm" INCLUDE "data/mapObjects/route4.asm" Route4Blocks: ; 543f4 INCBIN "maps/route4.blk" + INCLUDE "data/mapHeaders/route5.asm" INCLUDE "data/mapObjects/route5.asm" Route5Blocks: ; 545da INCBIN "maps/route5.blk" + dr $5468e,$54706 Route9Blocks: ; 54706 INCBIN "maps/route9.blk" diff --git a/scripts/pewtercity.asm b/scripts/pewtercity.asm index 66589d52..1e9a922a 100755 --- a/scripts/pewtercity.asm +++ b/scripts/pewtercity.asm @@ -1,10 +1,13 @@ -PewterCityScript: ; 19237 (6:5237) +PewterCityScript: ; 192f5 (6:52f5) call EnableAutoTextBoxDrawing + ld hl, wPreventBlackout + res 7, [hl] ld hl, PewterCityScriptPointers ld a, [W_PEWTERCITYCURSCRIPT] - jp CallFunctionInTable + call JumpTable + ret -PewterCityScriptPointers: ; 19243 (6:5243) +PewterCityScriptPointers: ; 19307 (6:5307) dw PewterCityScript0 dw PewterCityScript1 dw PewterCityScript2 @@ -13,7 +16,7 @@ PewterCityScriptPointers: ; 19243 (6:5243) dw PewterCityScript5 dw PewterCityScript6 -PewterCityScript0: ; 19251 (6:5251) +PewterCityScript0: ; 19315 (6:5315) xor a ld [W_MUSEUM1FCURSCRIPT], a ResetEvent EVENT_BOUGHT_MUSEUM_TICKET @@ -26,7 +29,7 @@ PewterCityScript_1925e: ; 1925e (6:525e) ld hl, CoordsData_19277 call ArePlayerCoordsInArray ret nc - ld a, $f0 + ld a, $fc ld [wJoyIgnore], a ld a, $5 ld [hSpriteIndexOrTextID], a @@ -48,9 +51,9 @@ PewterCityScript1: ; 19280 (6:5280) ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay - ld a, ($3 << 4) | SPRITE_FACING_UP + ld a, SPRITE_FACING_UP ld [hSpriteImageIndex], a - call SetSpriteImageIndexAfterSettingFacingDirection + call SpriteFunc_34a1 call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] @@ -115,10 +118,7 @@ PewterCityScript4: ; 19305 (6:5305) ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_LEFT ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, ($1 << 4) | SPRITE_FACING_LEFT - ld [hSpriteImageIndex], a - call SetSpriteImageIndexAfterSettingFacingDirection + call SpriteFunc_34a1 call PlayDefaultMusic ld hl, wFlags_0xcd60 set 4, [hl] -- cgit v1.3.1-sl0p From edafbab453e53564e1826fb6b73bbc72e7f9edd3 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Thu, 26 May 2016 22:02:52 -0400 Subject: Disassemble Pallet Town --- constants/hide_show_constants.asm | 4 +- data/mapObjects/pallettown.asm | 2 +- main.asm | 16 ++- scripts/pallettown.asm | 286 +++++++++++++++++++++++++------------- 4 files changed, 199 insertions(+), 109 deletions(-) (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 02ebc54e..9d009f5e 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -6,8 +6,8 @@ const_value = 0 - const HS_PIKACHU ; 00 - const HS_PALLET_TOWN_OAK ; 01 + const HS_PALLET_TOWN_OAK ; 00 + const HS_PIKACHU ; 01 const HS_LYING_OLD_MAN ; 02 const HS_OLD_MAN ; 03 const HS_MUSEUM_GUY ; 04 diff --git a/data/mapObjects/pallettown.asm b/data/mapObjects/pallettown.asm index 4832246f..0d45fea3 100755 --- a/data/mapObjects/pallettown.asm +++ b/data/mapObjects/pallettown.asm @@ -13,7 +13,7 @@ PalletTownObject: ; 0x182c3 (size=58) db $5, $b, $7 ; PalletTownText7 db $3 ; objects - object SPRITE_OAK, $8, $5, STAY, NONE, $1 ; person + object SPRITE_OAK, $a, $4, STAY, NONE, $1 ; person object SPRITE_GIRL, $3, $8, WALK, $0, $2 ; person object SPRITE_FISHER2, $b, $e, WALK, $0, $3 ; person diff --git a/main.asm b/main.asm index e78f650d..c53ba358 100755 --- a/main.asm +++ b/main.asm @@ -236,9 +236,8 @@ INCLUDE "data/mapHeaders/celadoncity.asm" INCLUDE "data/mapObjects/celadoncity.asm" CeladonCityBlocks: INCBIN "maps/celadoncity.blk" - dr $182a1,$182fd ; headers, objects, blocks -; INCLUDE "data/mapHeaders/pallettown.asm" -; INCLUDE "data/mapObjects/pallettown.asm" +INCLUDE "data/mapHeaders/pallettown.asm" +INCLUDE "data/mapObjects/pallettown.asm" PalletTownBlocks: INCBIN "maps/pallettown.blk" INCLUDE "data/mapHeaders/viridiancity.asm" @@ -252,7 +251,7 @@ PewterCityBlocks: INCBIN "maps/pewtercity.blk" INCLUDE "data/mapHeaders/ceruleancity.asm" INCLUDE "data/mapObjects/ceruleancity.asm" CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk" ; 18836 - dr $1899e,$18dee ; headers, objects, blocks + dr $1899e,$18dfa ; headers, objects, blocks ; INCLUDE "data/mapHeaders/vermilioncity.asm" ; INCLUDE "data/mapObjects/vermilioncity.asm" @@ -262,9 +261,9 @@ CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk" ; 18836 ; INCLUDE "data/mapObjects/fuchsiacity.asm" ; FuchsiaCityBlocks: INCBIN "maps/fuchsiacity.blk" - dr $18dee,$1902a ; map scripts + ; dr $18dee,$1902a ; map scripts -; INCLUDE "scripts/pallettown.asm" +INCLUDE "scripts/pallettown.asm" INCLUDE "scripts/viridiancity.asm" INCLUDE "scripts/pewtercity.asm" INCLUDE "scripts/ceruleancity.asm" @@ -836,7 +835,10 @@ INCBIN "maps/route5.blk" dr $5468e,$54706 Route9Blocks: ; 54706 INCBIN "maps/route9.blk" - dr $54814,$5525f + dr $54814,$5507d +Route21Blocks: ; 5507d +INCBIN "maps/route21.blk" + dr $5523f,$5525f INCLUDE "engine/battle/experience.asm" diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index 106d8ec0..131ecaea 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -1,11 +1,11 @@ PalletTownScript: ; 18e5b (6:4e5b) CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK - jr z,.next + jr z, .next SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS .next call EnableAutoTextBoxDrawing - ld hl,PalletTownScriptPointers - ld a,[W_PALLETTOWNCURSCRIPT] + ld hl, PalletTownScriptPointers + ld a, [W_PALLETTOWNCURSCRIPT] jp CallFunctionInTable PalletTownScriptPointers: ; 18e73 (6:4e73) @@ -16,136 +16,208 @@ PalletTownScriptPointers: ; 18e73 (6:4e73) dw PalletTownScript4 dw PalletTownScript5 dw PalletTownScript6 + dw PalletTownScript7 + dw PalletTownScript8 + dw PalletTownScript9 PalletTownScript0: ; 18e81 (6:4e81) CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB ret nz - ld a,[wYCoord] - cp 1 ; is player near north exit? + ld a, [wYCoord] + cp 0 ; is player at north exit? ret nz + ResetEvent EVENT_005 + ld a, [wXCoord] + cp 10 + jr z, .asm_18e40 + SetEventReuseHL EVENT_005 +.asm_18e40 xor a - ld [hJoyHeld],a - ld a,PLAYER_DIR_DOWN - ld [wPlayerMovingDirection],a - ld a,$FF - call PlaySound ; stop music + ld [hJoyHeld], a + ld a, $ff + ld [wJoyIgnore], a + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + call StopAllMusic ld a, BANK(Music_MeetProfOak) - ld c,a + ld c, a ld a, MUSIC_MEET_PROF_OAK ; “oak appears” music call PlayMusic - ld a,$FC - ld [wJoyIgnore],a SetEvent EVENT_OAK_APPEARED_IN_PALLET ; trigger the next script - ld a,1 - ld [W_PALLETTOWNCURSCRIPT],a + ld a, 1 + ld [W_PALLETTOWNCURSCRIPT], a ret PalletTownScript1: ; 18eb2 (6:4eb2) + ld a, $FF ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a xor a - ld [wcf0d],a - ld a,1 - ld [hSpriteIndexOrTextID],a + ld [wcf0d], a + ld a, 1 + ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a,$FF - ld [wJoyIgnore],a - ld a,HS_PALLET_TOWN_OAK - ld [wMissableObjectIndex],a + ld a, $FF + ld [wJoyIgnore], a + ld hl, wSpriteStateData2 + 1 * $10 + 4 + ld a, $8 + ld [hli], a + ld a, $e + ld [hl], a + ld a, HS_PALLET_TOWN_OAK + ld [wMissableObjectIndex], a predef ShowObject ; trigger the next script - ld a,2 - ld [W_PALLETTOWNCURSCRIPT],a + ld a, $2 + ld [wSpriteStateData1 + 1 * $10 + 1], a + ld a, SPRITE_FACING_UP + ld [wSpriteStateData1 + 1 * $10 + 9], a + ld a, 2 + ld [W_PALLETTOWNCURSCRIPT], a ret PalletTownScript2: ; 18ed2 (6:4ed2) - ld a,1 - ld [H_SPRITEINDEX],a - ld a,SPRITE_FACING_UP - ld [hSpriteFacingDirection],a - call SetSpriteFacingDirectionAndDelay call Delay3 - ld a,1 - ld [wYCoord],a - ld a,1 - ld [hNPCPlayerRelativePosPerspective],a - ld a,1 + ld a, 0 + ld [wYCoord], a + ld a, 1 + ld [hNPCPlayerRelativePosPerspective], a + ld a, 1 swap a - ld [hNPCSpriteOffset],a + ld [hNPCSpriteOffset], a predef CalcPositionOfPlayerRelativeToNPC - ld hl,hNPCPlayerYDistance + ld hl, hNPCPlayerYDistance dec [hl] predef FindPathToPlayer ; load Oak’s movement into wNPCMovementDirections2 - ld de,wNPCMovementDirections2 - ld a,1 ; oak - ld [H_SPRITEINDEX],a + ld de, wNPCMovementDirections2 + ld a, 1 ; oak + ld [H_SPRITEINDEX], a call MoveSprite - ld a,$FF - ld [wJoyIgnore],a ; trigger the next script - ld a,3 - ld [W_PALLETTOWNCURSCRIPT],a + ld a, 3 + ld [W_PALLETTOWNCURSCRIPT], a ret PalletTownScript3: ; 18f12 (6:4f12) - ld a,[wd730] - bit 0,a + ld a, [wd730] + bit 0, a ret nz - xor a ; ld a, SPRITE_FACING_DOWN - ld [wSpriteStateData1 + 9],a - ld a,1 - ld [wcf0d],a - ld a,$FC - ld [wJoyIgnore],a - ld a,1 - ld [hSpriteIndexOrTextID],a + ld a, $FF ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a + ld a, 1 + ld [wcf0d], a + ld a, $2 + ld [wSpriteStateData1 + 1 * $10 + 1], a + ld a, SPRITE_FACING_UP + ld [wSpriteStateData1 + 1 * $10 + 9], a + ld a, 1 + ld [hSpriteIndexOrTextID], a call DisplayTextID -; set up movement script that causes the player to follow Oak to his lab - ld a,$FF - ld [wJoyIgnore],a - ld a,1 - ld [wSpriteIndex],a - xor a - ld [wNPCMovementScriptFunctionNum],a - ld a,1 - ld [wNPCMovementScriptPointerTableNum],a - ld a,[H_LOADEDROMBANK] - ld [wNPCMovementScriptBank],a - + ; oak faces the horizontally adjacent patch of grass to face pikachu + ld a, $FF + ld [wJoyIgnore], a + ld a, $2 + ld [wSpriteStateData1 + 1 * $10 + 1], a + CheckEvent EVENT_005 + ld a, SPRITE_FACING_RIGHT + jr z, .asm_18f01 + ld a, SPRITE_FACING_LEFT +.asm_18f01 + ld [wSpriteStateData1 + 1 * $10 + 9], a + ; trigger the next script - ld a,4 - ld [W_PALLETTOWNCURSCRIPT],a + ld a, 4 + ld [W_PALLETTOWNCURSCRIPT], a ret PalletTownScript4: ; 18f4b (6:4f4b) - ld a,[wNPCMovementScriptPointerTableNum] - and a ; is the movement script over? - ret nz + ; start the pikachu battle + ld a, $FF ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a + xor a + ld [wListScrollOffset], a + ld a, STARTER_PIKACHU_BATTLE + ld [wBattleType], a + ld a, PIKACHU + ld [wCurOpponent], a + ld a, 5 + ld [wCurEnemyLVL], a ; trigger the next script - ld a,5 - ld [W_PALLETTOWNCURSCRIPT],a + ld a, 5 + ld [W_PALLETTOWNCURSCRIPT], a ret PalletTownScript5: ; 18f56 (6:4f56) + ld a, $2 + ld [wcf0d], a + ld a, $1 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $2 + ld [wSpriteStateData1 + 1 * $10 + 1], a + ld a, SPRITE_FACING_UP + ld [wSpriteStateData1 + 1 * $10 + 9], a + ld a, $8 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $ff + ld [wJoyIgnore], a + + ; trigger the next script + ld a, 6 + ld [W_PALLETTOWNCURSCRIPT], a + ret + +PalletTownScript6: ; 18f87 (6:4f87) + xor a + ld [wSpriteStateData1 + 9], a + ld a, $1 + ld [wSpriteIndex], a + xor a + ld [wNPCMovementScriptFunctionNum], a + ld a, $1 + ld [wNPCMovementScriptPointerTableNum], a + ld a, [H_LOADEDROMBANK] + ld [wNPCMovementScriptBank], a + + ; trigger the next script + ld a, 7 + ld [W_PALLETTOWNCURSCRIPT], a + ret + +PalletTownScript7: + ld a, [wNPCMovementScriptPointerTableNum] + and a + ret nz + + ; trigger the next script + ld a, 8 + ld [W_PALLETTOWNCURSCRIPT], a + ret + +PalletTownScript8: CheckEvent EVENT_DAISY_WALKING - jr nz,.next - CheckBothEventsSet EVENT_GOT_TOWN_MAP, EVENT_ENTERED_BLUES_HOUSE, 1 - jr nz,.next + jr nz, .asm_18f9e + and $3 ; (EVENT_GOT_TOWN_MAP | EVENT_ENTERED_BLUES_HOUSE) + cp $3 + jr nz, .asm_18f9e SetEvent EVENT_DAISY_WALKING - ld a,HS_DAISY_SITTING - ld [wMissableObjectIndex],a + ld a, HS_DAISY_SITTING + ld [wMissableObjectIndex], a predef HideObject - ld a,HS_DAISY_WALKING - ld [wMissableObjectIndex],a + ld a, HS_DAISY_WALKING + ld [wMissableObjectIndex], a predef_jump ShowObject -.next + +.asm_18f9e CheckEvent EVENT_GOT_POKEBALLS_FROM_OAK ret z SetEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS_2 -PalletTownScript6: ; 18f87 (6:4f87) +PalletTownScript9: ret PalletTownTextPointers: ; 18f88 (6:4f88) @@ -156,18 +228,25 @@ PalletTownTextPointers: ; 18f88 (6:4f88) dw PalletTownText5 dw PalletTownText6 dw PalletTownText7 + dw PalletTownText8 PalletTownText1: ; 18f96 (6:4f96) TX_ASM - ld a,[wcf0d] + ld a, [wcf0d] and a - jr nz,.next - ld a,1 - ld [wDoNotWaitForButtonPressAfterDisplayingText],a - ld hl,OakAppearsText + jr nz, .next + ld a, 1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, OakAppearsText jr .done .next - ld hl,OakWalksUpText + dec a + jr nz, .asm_18fd3 + ld hl, OakWalksUpText + jr .done + +.asm_18fd3 + ld hl, PalletTownText_19002 .done call PrintText jp TextScriptEnd @@ -175,40 +254,49 @@ PalletTownText1: ; 18f96 (6:4f96) OakAppearsText: ; 18fb0 (6:4fb0) TX_FAR _OakAppearsText TX_ASM - ld c,10 + ld c, 10 call DelayFrames - xor a - ld [wEmotionBubbleSpriteIndex],a ; player's sprite - ld [wWhichEmotionBubble],a ; EXCLAMATION_BUBBLE + ld a, PLAYER_DIR_DOWN + ld [wPlayerMovingDirection], a + ld a, 0 + ld [wEmotionBubbleSpriteIndex], a ; player's sprite + ld a, 0 + ld [wWhichEmotionBubble], a ; EXCLAMATION_BUBBLE predef EmotionBubble - ld a,PLAYER_DIR_DOWN - ld [wPlayerMovingDirection],a jp TextScriptEnd OakWalksUpText: ; 18fce (6:4fce) TX_FAR _OakWalksUpText db "@" -PalletTownText2: ; 0x18fd3 girl +PalletTownText_19002: + TX_FAR _OakWhewText + db "@" + +PalletTownText8: ; 0x18fd3 girl + TX_FAR _OakGrassText + db "@" + +PalletTownText2: ; 0x18fd8 fat man TX_FAR _PalletTownText2 db "@" -PalletTownText3: ; 0x18fd8 fat man +PalletTownText3: ; 0x18fdd sign by lab TX_FAR _PalletTownText3 db "@" -PalletTownText4: ; 0x18fdd sign by lab +PalletTownText4: ; 0x18fe2 sign by fence TX_FAR _PalletTownText4 db "@" -PalletTownText5: ; 0x18fe2 sign by fence +PalletTownText5: ; 0x18fe7 sign by Red’s house TX_FAR _PalletTownText5 db "@" -PalletTownText6: ; 0x18fe7 sign by Red’s house +PalletTownText6: ; 0x18fec sign by Blue’s house TX_FAR _PalletTownText6 db "@" -PalletTownText7: ; 0x18fec sign by Blue’s house +PalletTownText7: TX_FAR _PalletTownText7 db "@" -- cgit v1.3.1-sl0p From e44ad103a332fc07403fbc346266a35de9914132 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 08:25:31 -0400 Subject: Name Yellow-specific event flags in Pallet and Vermilion --- constants/event_constants.asm | 4 ++-- scripts/pallettown.asm | 6 +++--- scripts/vermilioncity2.asm | 4 ++-- 3 files changed, 7 insertions(+), 7 deletions(-) (limited to 'constants') diff --git a/constants/event_constants.asm b/constants/event_constants.asm index f284c967..491f8664 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -5,7 +5,7 @@ const_value = 0 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_PLAYER_AT_RIGHT_EXIT_TO_PALLET_TOWN ; 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) @@ -327,7 +327,7 @@ const_value = 0 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_GOT_SQUIRTLE_FROM_OFFICER_JENNY ; 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) diff --git a/scripts/pallettown.asm b/scripts/pallettown.asm index 131ecaea..147cbdb6 100755 --- a/scripts/pallettown.asm +++ b/scripts/pallettown.asm @@ -26,11 +26,11 @@ PalletTownScript0: ; 18e81 (6:4e81) ld a, [wYCoord] cp 0 ; is player at north exit? ret nz - ResetEvent EVENT_005 + ResetEvent EVENT_PLAYER_AT_RIGHT_EXIT_TO_PALLET_TOWN ld a, [wXCoord] cp 10 jr z, .asm_18e40 - SetEventReuseHL EVENT_005 + SetEventReuseHL EVENT_PLAYER_AT_RIGHT_EXIT_TO_PALLET_TOWN .asm_18e40 xor a ld [hJoyHeld], a @@ -121,7 +121,7 @@ PalletTownScript3: ; 18f12 (6:4f12) ld [wJoyIgnore], a ld a, $2 ld [wSpriteStateData1 + 1 * $10 + 1], a - CheckEvent EVENT_005 + CheckEvent EVENT_PLAYER_AT_RIGHT_EXIT_TO_PALLET_TOWN ld a, SPRITE_FACING_RIGHT jr z, .asm_18f01 ld a, SPRITE_FACING_LEFT diff --git a/scripts/vermilioncity2.asm b/scripts/vermilioncity2.asm index 7eee7b1f..4be44db0 100755 --- a/scripts/vermilioncity2.asm +++ b/scripts/vermilioncity2.asm @@ -1,5 +1,5 @@ Func_f1a0f: - CheckEvent EVENT_147 + CheckEvent EVENT_GOT_SQUIRTLE_FROM_OFFICER_JENNY jr nz, .asm_f1a69 ld a, [wBeatGymFlags] bit 2, a ; THUNDERBADGE @@ -31,7 +31,7 @@ Func_f1a0f: ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, OfficerJennyText3 call PrintText - SetEvent EVENT_147 + SetEvent EVENT_GOT_SQUIRTLE_FROM_OFFICER_JENNY ret .asm_f1a62 -- cgit v1.3.1-sl0p From 40f0dba6c17116c61ce4935663bf1a79485edee9 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 09:22:38 -0400 Subject: Route 24 scripts --- constants/event_constants.asm | 2 +- data/mapObjects/route24.asm | 3 +- home/text.asm | 440 +++++++++++++++++++++--------------------- macros.asm | 4 + main.asm | 19 +- scripts/route24.asm | 64 +++++- text/maps/route_24.asm | 28 +++ text/maps/route_25.asm | 28 --- 8 files changed, 333 insertions(+), 255 deletions(-) (limited to 'constants') diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 491f8664..b0c67e4b 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -5,7 +5,7 @@ const_value = 0 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_PLAYER_AT_RIGHT_EXIT_TO_PALLET_TOWN ; 005, (D747, bit 5) + const EVENT_PLAYER_AT_RIGHT_EXIT_TO_PALLET_TOWN ; 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) diff --git a/data/mapObjects/route24.asm b/data/mapObjects/route24.asm index f8173c9d..115f08d3 100755 --- a/data/mapObjects/route24.asm +++ b/data/mapObjects/route24.asm @@ -5,7 +5,7 @@ Route24Object: ; 0x506a4 (size=67) db $0 ; signs - db $8 ; objects + db $9 ; objects object SPRITE_BLACK_HAIR_BOY_1, $b, $f, STAY, LEFT, $1, OPP_ROCKET, $6 object SPRITE_BLACK_HAIR_BOY_1, $5, $14, STAY, UP, $2, OPP_JR_TRAINER_M, $2 object SPRITE_BLACK_HAIR_BOY_1, $b, $13, STAY, LEFT, $3, OPP_JR_TRAINER_M, $3 @@ -14,3 +14,4 @@ Route24Object: ; 0x506a4 (size=67) object SPRITE_LASS, $a, $1c, STAY, RIGHT, $6, OPP_LASS, $8 object SPRITE_BUG_CATCHER, $b, $1f, STAY, LEFT, $7, OPP_BUG_CATCHER, $9 object SPRITE_BALL, $a, $5, STAY, NONE, $8, TM_45 + object SPRITE_BLACK_HAIR_BOY_1, $6, $5, STAY, DOWN, $9 diff --git a/home/text.asm b/home/text.asm index da20a833..437a5c79 100644 --- a/home/text.asm +++ b/home/text.asm @@ -18,7 +18,7 @@ TextBoxBorder:: ; 16f0 (0:16f0) .next push hl ld a, "│" - ld [hli],a + ld [hli], a ld a, " " call NPlaceChar ld [hl], "│" @@ -49,32 +49,32 @@ NPlaceChar:: ; 171d (0:171d) PlaceString:: ; 1723 (0:1723) push hl PlaceNextChar:: ; 1724 (0:1724) - ld a,[de] + ld a, [de] cp "@" - jr nz,Char4ETest - ld b,h - ld c,l + jr nz, Char4ETest + ld b, h + ld c, l pop hl ret Char4ETest:: ; 172d (0:172d) cp $4E - jr nz,.next - ld bc,$0028 - ld a,[hFlags_0xFFFA] - bit 2,a - jr z,.next2 - ld bc,SCREEN_WIDTH + jr nz, .next + ld bc, $0028 + ld a, [hFlags_0xFFFA] + bit 2, a + jr z, .next2 + ld bc, SCREEN_WIDTH .next2 pop hl - add hl,bc + add hl, bc push hl jp PlaceNextChar_inc ; 17b6 .next cp $4F - jr nz,.next3 + jr nz, .next3 pop hl coord hl, 1, 16 push hl @@ -82,56 +82,56 @@ Char4ETest:: ; 172d (0:172d) .next3 ; Check against a dictionary and a - jp z,Char00 + jp z, Char00 cp $4C - jp z,Char4C + jp z, Char4C cp $4B - jp z,Char4B + jp z, Char4B cp $51 - jp z,Char51 + jp z, Char51 cp $49 - jp z,Char49 + jp z, Char49 cp $52 - jp z,Char52 + jp z, Char52 cp $53 - jp z,Char53 + jp z, Char53 cp $54 - jp z,Char54 + jp z, Char54 cp $5B - jp z,Char5B + jp z, Char5B cp $5E - jp z,Char5E + jp z, Char5E cp $5C - jp z,Char5C + jp z, Char5C cp $5D - jp z,Char5D + jp z, Char5D cp $55 - jp z,Char55 + jp z, Char55 cp $56 - jp z,Char56 + jp z, Char56 cp $57 - jp z,Char57 + jp z, Char57 cp $58 - jp z,Char58 + jp z, Char58 cp $4A - jp z,Char4A + jp z, Char4A cp $5F - jp z,Char5F + jp z, Char5F cp $59 - jp z,Char59 + jp z, Char59 cp $5A - jp z,Char5A - ld [hli],a + jp z, Char5A + ld [hli], a call PrintLetterDelay PlaceNextChar_inc:: ; 17b6 (0:17b6) inc de jp PlaceNextChar Char00:: ; 17ba (0:17ba) - ld b,h - ld c,l + ld b, h + ld c, l pop hl - ld de,Char00Text + ld de, Char00Text dec de ret @@ -141,47 +141,47 @@ Char00Text:: ; 17c2 (0:17c2) ; “%d ERROR.” Char52:: ; 17c7 (0:17c7) ; player’s name push de - ld de,wPlayerName + ld de, wPlayerName jr FinishDTE Char53:: ; 17cd (0:17cd) ; rival’s name push de - ld de,wRivalName + ld de, wRivalName jr FinishDTE Char5D:: ; 17d3 (0:17d3) ; TRAINER push de - ld de,Char5DText + ld de, Char5DText jr FinishDTE Char5C:: ; 17d9 (0:17d9) ; TM push de - ld de,Char5CText + ld de, Char5CText jr FinishDTE Char5B:: ; 17df (0:17df) ; PC push de - ld de,Char5BText + ld de, Char5BText jr FinishDTE Char5E:: ; 17e5 (0:17e5) ; ROCKET push de - ld de,Char5EText + ld de, Char5EText jr FinishDTE Char54:: ; 17eb (0:17eb) ; POKé push de - ld de,Char54Text + ld de, Char54Text jr FinishDTE Char56:: ; 17f1 (0:17f1) ; …… push de - ld de,Char56Text + ld de, Char56Text jr FinishDTE Char4A:: ; 17f7 (0:17f7) ; PKMN push de - ld de,Char4AText + ld de, Char4AText jr FinishDTE Char59:: ; 17fb (0:17fb) @@ -190,7 +190,7 @@ Char59:: ; 17fb (0:17fb) ; or ; player active monster’s name ; (like Char5A but flipped) - ld a,[H_WHOSETURN] + ld a, [H_WHOSETURN] xor 1 jr MonsterNameCharsCommon @@ -199,26 +199,26 @@ Char5A:: ; 1803 (0:1803) ; player active monster’s name ; or ; enemy active monster’s name, prefixed with “Enemy ” - ld a,[H_WHOSETURN] + ld a, [H_WHOSETURN] MonsterNameCharsCommon:: ; 1a37 (0:1a37) push de and a - jr nz,.Enemy - ld de,wBattleMonNick ; player active monster name + jr nz, .Enemy + ld de, wBattleMonNick ; player active monster name jr FinishDTE .Enemy ; print “Enemy ” - ld de,Char5AText + ld de, Char5AText call PlaceString - ld h,b - ld l,c - ld de,wEnemyMonNick ; enemy active monster name + ld h, b + ld l, c + ld de, wEnemyMonNick ; enemy active monster name FinishDTE:: ; 1819 (0:1819) call PlaceString - ld h,b - ld l,c + ld h, b + ld l, c pop de inc de jp PlaceNextChar @@ -238,16 +238,16 @@ Char56Text:: ; 183d (0:183d) Char5AText:: ; 1840 (0:1840) db "Enemy @" Char4AText:: ; 1847 (0:1847) - db $E1,$E2,"@" ; PKMN + db $E1, $E2, "@" ; PKMN Char55:: ; 184a (0:184a) push de - ld b,h - ld c,l - ld hl,Char55Text + ld b, h + ld c, l + ld hl, Char55Text call TextCommandProcessor ; 1919 - ld h,b - ld l,c + ld h, b + ld l, c pop de inc de jp PlaceNextChar @@ -259,15 +259,15 @@ Char55Text:: ; 185a (0:185a) Char5F:: ; 185f (0:185f) ; ends a Pokédex entry - ld [hl],"." + ld [hl], "." pop hl ret Char58:: ; 1863 (0:1863) - ld a,[wLinkState] + ld a, [wLinkState] cp LINK_STATE_BATTLING - jp z,Next1870 - ld a,$EE + jp z, Next1870 + ld a, $EE Coorda 18, 16 Next1870:: ; 1870 (0:1870) call ProtectedDelay3 ; 1913 @@ -276,7 +276,7 @@ Next1870:: ; 1870 (0:1870) Coorda 18, 16 Char57:: ; 1aad (0:1aad) pop hl - ld de,Char58Text + ld de, Char58Text dec de ret @@ -285,36 +285,36 @@ Char58Text:: ; 1881 (0:1881) Char51:: ; 1882 (0:1882) push de - ld a,$EE + ld a, $EE Coorda 18, 16 call ProtectedDelay3 call ManualTextScroll coord hl, 1, 13 lb bc, 4, 18 call ClearScreenArea - ld c,20 + ld c, 20 call DelayFrames pop de coord hl, 1, 14 jp PlaceNextChar_inc Char49:: ; 18a3 (0:18a3) - ld a,[hFlags_0xFFFA] - bit 3,a - jr z,.Char49 - ld a,$4e + ld a, [hFlags_0xFFFA] + bit 3, a + jr z, .Char49 + ld a, $4e jp Char4ETest .Char49 push de - ld a,$EE + ld a, $EE Coorda 18, 16 call ProtectedDelay3 call ManualTextScroll coord hl, 1, 10 lb bc, 7, 18 call ClearScreenArea - ld c,20 + ld c, 20 call DelayFrames pop de pop hl @@ -323,7 +323,7 @@ Char49:: ; 18a3 (0:18a3) jp PlaceNextChar_inc Char4B:: ; 18d1 (0:18d1) - ld a,$EE + ld a, $EE Coorda 18, 16 call ProtectedDelay3 push de @@ -345,25 +345,25 @@ Next18F1:: ; 18f1 (0:18f1) coord de, 0, 13 ld b, 60 .next - ld a,[hli] - ld [de],a + ld a, [hli] + ld [de], a inc de dec b - jr nz,.next + jr nz, .next coord hl, 1, 16 ld a, " " - ld b,SCREEN_WIDTH - 2 + ld b, SCREEN_WIDTH - 2 .next2 - ld [hli],a + ld [hli], a dec b - jr nz,.next2 + jr nz, .next2 ; wait five frames - ld b,5 + ld b, 5 .WaitFrame call DelayFrame dec b - jr nz,.WaitFrame + jr nz, .WaitFrame ret @@ -374,42 +374,42 @@ ProtectedDelay3:: ; 1913 (0:1913) ret TextCommandProcessor:: ; 1919 (0:1919) - ld a,[wLetterPrintingDelayFlags] + ld a, [wLetterPrintingDelayFlags] push af - set 1,a - ld e,a - ld a,[$fff9] + set 1, a + ld e, a + ld a, [$fff9] xor e - ld [wLetterPrintingDelayFlags],a - ld a,c - ld [wUnusedCC3A],a - ld a,b - ld [wUnusedCC3B],a + ld [wLetterPrintingDelayFlags], a + ld a, c + ld [wUnusedCC3A], a + ld a, b + ld [wUnusedCC3B], a NextTextCommand:: ; 192e (0:192e) - ld a,[hli] + ld a, [hli] cp a, "@" ; terminator - jr nz,.doTextCommand + jr nz, .doTextCommand pop af - ld [wLetterPrintingDelayFlags],a + ld [wLetterPrintingDelayFlags], a ret .doTextCommand push hl - cp a,$17 - jp z,TextCommand17 - cp a,$0e - jp nc,TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB + cp a, $17 + jp z, TextCommand17 + cp a, $0e + jp nc, TextCommand0B ; if a != 0x17 and a >= 0xE, go to command 0xB ; if a < 0xE, use a jump table - ld hl,TextCommandJumpTable + ld hl, TextCommandJumpTable push bc add a - ld b,$00 - ld c,a - add hl,bc + ld b, $00 + ld c, a + add hl, bc pop bc - ld a,[hli] - ld h,[hl] - ld l,a + ld a, [hli] + ld h, [hl] + ld l, a jp [hl] ; draw box @@ -419,17 +419,17 @@ NextTextCommand:: ; 192e (0:192e) ; CC = width TextCommand04:: ; 1951 (0:1951) pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] - ld b,a - ld a,[hli] - ld c,a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld b, a + ld a, [hli] + ld c, a push hl - ld h,d - ld l,e + ld h, d + ld l, e call TextBoxBorder pop hl jr NextTextCommand @@ -438,13 +438,13 @@ TextCommand04:: ; 1951 (0:1951) ; 00{string} TextCommand00:: ; 1963 (0:1963) pop hl - ld d,h - ld e,l - ld h,b - ld l,c + ld d, h + ld e, l + ld h, b + ld l, c call PlaceString - ld h,d - ld l,e + ld h, d + ld l, e inc hl jr NextTextCommand @@ -453,13 +453,13 @@ TextCommand00:: ; 1963 (0:1963) ; AAAA = address of string TextCommand01:: ; 1970 (0:1970) pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a push hl - ld h,b - ld l,c + ld h, b + ld l, c call PlaceString pop hl jr NextTextCommand @@ -472,18 +472,18 @@ TextCommand01:: ; 1970 (0:1970) ; bits 5-7 = unknown flags TextCommand02:: ; 197e (0:197e) pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] push hl - ld h,b - ld l,c - ld c,a + ld h, b + ld l, c + ld c, a call PrintBCDNumber - ld b,h - ld c,l + ld b, h + ld c, l pop hl jr NextTextCommand @@ -492,12 +492,12 @@ TextCommand02:: ; 197e (0:197e) ; AAAA = new destination address TextCommand03:: ; 1990 (0:1990) pop hl - ld a,[hli] - ld [wUnusedCC3A],a - ld c,a - ld a,[hli] - ld [wUnusedCC3B],a - ld b,a + ld a, [hli] + ld [wUnusedCC3A], a + ld c, a + ld a, [hli] + ld [wUnusedCC3B], a + ld b, a jp NextTextCommand ; repoint destination to second line of dialogue text box @@ -512,15 +512,15 @@ TextCommand05:: ; 199e (0:199e) ; 06 ; (no arguments) TextCommand06:: ; 19a5 (0:19a5) - ld a,[wLinkState] - cp a,LINK_STATE_BATTLING - jp z,TextCommand0D - ld a,$ee ; down arrow + ld a, [wLinkState] + cp a, LINK_STATE_BATTLING + jp z, TextCommand0D + ld a, $ee ; down arrow Coorda 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," " + ld a, " " Coorda 18, 16 ; overwrite down arrow with blank space pop hl jp NextTextCommand @@ -529,7 +529,7 @@ TextCommand06:: ; 19a5 (0:19a5) ; 07 ; (no arguments) TextCommand07:: ; 19c0 (0:19c0) - ld a," " + ld a, " " Coorda 18, 16 ; place blank space in lower right corner of dialogue text box call Next18F1 ; scroll up text call Next18F1 @@ -541,7 +541,7 @@ TextCommand07:: ; 19c0 (0:19c0) ; 08{code} TextCommand08:: ; 19d2 (0:19d2) pop hl - ld de,NextTextCommand + ld de, NextTextCommand push de ; return address jp [hl] @@ -553,25 +553,25 @@ TextCommand08:: ; 19d2 (0:19d2) ; bits 4-7 = how long the number is in bytes TextCommand09:: ; 19d8 (0:19d8) pop hl - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] push hl - ld h,b - ld l,c - ld b,a - and a,$0f - ld c,a - ld a,b - and a,$f0 + ld h, b + ld l, c + ld b, a + and a, $0f + ld c, a + ld a, b + and a, $f0 swap a - set BIT_LEFT_ALIGN,a - ld b,a + set BIT_LEFT_ALIGN, a + ld b, a call PrintNumber - ld b,h - ld c,l + ld b, h + ld c, l pop hl jp NextTextCommand @@ -581,10 +581,10 @@ TextCommand09:: ; 19d8 (0:19d8) TextCommand0A:: ; 19f6 (0:19f6) push bc call Joypad - ld a,[hJoyHeld] - and a,A_BUTTON | B_BUTTON - jr nz,.skipDelay - ld c,30 + ld a, [hJoyHeld] + and a, A_BUTTON | B_BUTTON + jr nz, .skipDelay + ld c, 30 call DelayFrames .skipDelay pop bc @@ -598,24 +598,24 @@ TextCommand0B:: ; 1a0a (0:1a0a) pop hl push bc dec hl - ld a,[hli] - ld b,a ; b = command number that got us here + ld a, [hli] + ld b, a ; b = command number that got us here push hl - ld hl,TextCommandSounds + ld hl, TextCommandSounds .loop - ld a,[hli] + ld a, [hli] cp b - jr z,.matchFound + jr z, .matchFound inc hl jr .loop .matchFound - cp a,$14 - jr z,.pokemonCry - cp a,$15 - jr z,.pokemonCry - cp a,$16 - jr z,.pokemonCry - ld a,[hl] + cp a, $14 + jr z, .pokemonCry + cp a, $15 + jr z, .pokemonCry + cp a, $16 + jr z, .pokemonCry + ld a, [hl] call PlaySound call WaitForSoundToFinish pop hl @@ -623,7 +623,7 @@ TextCommand0B:: ; 1a0a (0:1a0a) jp NextTextCommand .pokemonCry push de - ld a,[hl] + ld a, [hl] call PlayCry pop de pop hl @@ -632,43 +632,43 @@ TextCommand0B:: ; 1a0a (0:1a0a) ; format: text command ID, sound ID or cry ID TextCommandSounds:: ; 1a3d (0:1a3d) - db $0B,$86 ; (SFX_02_3a - SFX_Headers_02) / 3 - db $12,$9A ; (SFX_08_46 - SFX_Headers_08) / 3 - db $0E,$91 ; (SFX_02_41 - SFX_Headers_02) / 3 - db $0F,$86 ; (SFX_02_3a - SFX_Headers_02) / 3 - db $10,$89 ; (SFX_02_3b - SFX_Headers_02) / 3 - db $11,$94 ; (SFX_02_42 - SFX_Headers_02) / 3 - db $13,$98 ; (SFX_08_45 - SFX_Headers_08) / 3 - db $14,PIKACHU ; used in OakSpeech - db $15,PIDGEOT ; used in SaffronCityText12 - db $16,DEWGONG ; unused? + db $0B, SFX_GET_ITEM_1 + db $12, SFX_TURN_OFF_PC + db $0E, SFX_POKEDEX_RATING + db $0F, SFX_GET_ITEM_1 + db $10, SFX_GET_ITEM_2 + db $11, SFX_GET_KEY_ITEM + db $13, SFX_TRADE_MACHINE + db $14, PIKACHU ; used in OakSpeech + db $15, PIDGEOT ; used in SaffronCityText12 + db $16, DEWGONG ; unused? ; draw ellipses ; 0CAA ; AA = number of ellipses to draw TextCommand0C:: ; 1a51 (0:1a51) pop hl - ld a,[hli] - ld d,a + ld a, [hli] + ld d, a push hl - ld h,b - ld l,c + ld h, b + ld l, c .loop - ld a,$75 ; ellipsis - ld [hli],a + ld a, $75 ; ellipsis + ld [hli], a push de call Joypad pop de - ld a,[hJoyHeld] ; joypad state - and a,A_BUTTON | B_BUTTON - jr nz,.skipDelay ; if so, skip the delay - ld c,10 + ld a, [hJoyHeld] ; joypad state + and a, A_BUTTON | B_BUTTON + jr nz, .skipDelay ; if so, skip the delay + ld c, 10 call DelayFrames .skipDelay dec d - jr nz,.loop - ld b,h - ld c,l + jr nz, .loop + ld b, h + ld c, l pop hl jp NextTextCommand @@ -688,23 +688,23 @@ TextCommand0D:: ; 1a73 (0:1a73) ; BB = bank TextCommand17:: ; 1a7c (0:1a7c) pop hl - ld a,[H_LOADEDROMBANK] + ld a, [H_LOADEDROMBANK] push af - ld a,[hli] - ld e,a - ld a,[hli] - ld d,a - ld a,[hli] - ld [H_LOADEDROMBANK],a - ld [MBC1RomBank],a + ld a, [hli] + ld e, a + ld a, [hli] + ld d, a + ld a, [hli] + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a push hl - ld l,e - ld h,d + ld l, e + ld h, d call TextCommandProcessor pop hl pop af - ld [H_LOADEDROMBANK],a - ld [MBC1RomBank],a + ld [H_LOADEDROMBANK], a + ld [MBC1RomBank], a jp NextTextCommand TextCommandJumpTable:: ; 1a9a (0:1a9a) diff --git a/macros.asm b/macros.asm index ed59b848..8d7a37c8 100644 --- a/macros.asm +++ b/macros.asm @@ -311,6 +311,10 @@ TX_ASM: MACRO db $08 ENDM +TX_BUTTON_SOUND: MACRO + db $06 + ENDM + TX_SFX_ITEM EQUS "db $0b" TX_SFX_CONGRATS EQUS "db $10" TX_SFX_KEY_ITEM EQUS "db $11" diff --git a/main.asm b/main.asm index 4503d4d7..a7e4908e 100755 --- a/main.asm +++ b/main.asm @@ -781,10 +781,21 @@ SECTION "bank14",ROMX,BANK[$14] dr $50000,$5003d Route22Blocks: INCBIN "maps/route22.blk" - dr $500f1,$506ed + dr $500f1,$50682 + +INCLUDE "data/mapHeaders/route24.asm" +INCLUDE "data/mapObjects/route24.asm" Route24Blocks: ; 506ed (14:46ed) INCBIN "maps/route24.blk" - dr $507a1,$509aa + +; INCLUDE "data/mapHeaders/route25.asm" +; INCLUDE "data/mapObjects/route25.asm" + dr $507a1,$50816 +Route25Blocks: ; 50816 (14:4816) +INCBIN "maps/route25.blk" + + + dr $50924,$509aa INCLUDE "data/mapHeaders/saffroncity.asm" INCLUDE "data/mapObjects/saffroncity.asm" @@ -792,7 +803,9 @@ SaffronCityBlocks: ; 50a98 (14:4a98) INCBIN "maps/saffroncity.blk" INCLUDE "scripts/saffroncity.asm" - dr $50ca9,$517cc + dr $50ca9,$51366 +INCLUDE "scripts/route24.asm" + dr $515f3,$517cc ; victoryroad2 dr $517cc,$52060 diff --git a/scripts/route24.asm b/scripts/route24.asm index 61df4377..15fe78b8 100755 --- a/scripts/route24.asm +++ b/scripts/route24.asm @@ -1,4 +1,4 @@ -Route24Script: ; 513ad (14:53ad) +Route24Script: ; 51366 (14:5366) call EnableAutoTextBoxDrawing ld hl, Route24TrainerHeaders ld de, Route24ScriptPointers @@ -84,6 +84,7 @@ Route24TextPointers: ; 5144b (14:544b) dw Route24Text6 dw Route24Text7 dw PickUpItemText + dw Route24Text8 Route24TrainerHeaders: ; 5145b (14:545b) Route24TrainerHeader0: ; 5145b (14:545b) @@ -191,7 +192,9 @@ Route24Text_51510: ; 51510 (14:5510) Route24Text_5151a: ; 5151a (14:551a) TX_FAR _Route24Text_5151a - db $0B, $6, "@" + TX_SFX_KEY_ITEM + TX_BUTTON_SOUND + db "@" Route24Text_51521: ; 51521 (14:5521) TX_FAR _Route24Text_51521 @@ -316,3 +319,60 @@ Route24EndBattleText6: ; 515c1 (14:55c1) Route24AfterBattleText6: ; 515c6 (14:55c6) TX_FAR _Route24AfterBattleText6 db "@" + +Route24Text8: + TX_ASM + CheckEvent EVENT_54F + jr nz, .asm_515d5 + ld hl, Route24Text_515de + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_515d0 + ld a, CHARMANDER + ld [wd11e], a + ld [wcf91], a + call GetMonName + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + lb bc, CHARMANDER, 10 + call GivePokemon + jp nc, TextScriptEnd + ld a, [wAddedToParty] + and a + call z, WaitForTextScrollButtonPress + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, Route24Text_515e3 + call PrintText + SetEvent EVENT_54F + jp TextScriptEnd + +.asm_515d0 + ld hl, Route24Text_515e9 + jr .asm_515d8 + +.asm_515d5 + ld hl, Route24Text_515ee +.asm_515d8 + call PrintText + jp TextScriptEnd + +Route24Text_515de: + TX_FAR _Route24DamianText1 + db "@" + +Route24Text_515e3: + TX_FAR _Route24DamianText2 + db $d + db "@" + +Route24Text_515e9: + TX_FAR _Route24DamianText3 + db "@" + +Route24Text_515ee: + TX_FAR _Route24DamianText4 + db "@" + diff --git a/text/maps/route_24.asm b/text/maps/route_24.asm index 7a073916..26cb4044 100644 --- a/text/maps/route_24.asm +++ b/text/maps/route_24.asm @@ -154,3 +154,31 @@ _Route24AfterBattleText6:: line "have no regrets!" done +_Route24DamianText1:: + text "I'm not good at" + line "raising #MON." + + para "I should release" + line "my CHARMANDER" + cont "because I haven't" + cont "raised it well..." + + para "If you promise me" + line "you'll care for" + cont "it, it's yours." + done + +_Route24DamianText2:: + text "Take good care of" + line "my CHARMANDER!@@" + +_Route24DamianText3:: + text "Oh... I'd better" + line "release it then." + done + +_Route24DamianText4:: + text "How's CHARMANDER" + line "doing?" + done + diff --git a/text/maps/route_25.asm b/text/maps/route_25.asm index 0d0d8b5b..f9f0c8ff 100644 --- a/text/maps/route_25.asm +++ b/text/maps/route_25.asm @@ -1,31 +1,3 @@ -_Route25DamianText1:: - text "I'm not good at" - line "raising #MON." - - para "I should release" - line "my CHARMANDER" - cont "because I haven't" - cont "raised it well..." - - para "If you promise me" - line "you'll care for" - cont "it, it's yours." - done - -_Route25DamianText2:: - text "Take good care of" - line "my CHARMANDER!@@" - -_Route25DamianText3:: - text "Oh... I'd better" - line "release it then." - done - -_Route25DamianText4:: - text "How's CHARMANDER" - line "doing?" - done - _Route25BattleText1:: text "Local trainers" line "come here to" -- cgit v1.3.1-sl0p From 4878c118567df8a97e2a796c1c755f2311d955a7 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 09:38:27 -0400 Subject: Route 25 scripts --- charmap.asm | 1 + constants/hide_show_constants.asm | 264 +++++++++++++++++++------------------- data/map_header_banks.asm | 4 +- data/map_header_pointers.asm | 4 +- main.asm | 9 +- scripts/route25.asm | 23 +++- text/maps/route_24.asm | 5 +- 7 files changed, 161 insertions(+), 149 deletions(-) (limited to 'constants') diff --git a/charmap.asm b/charmap.asm index c794549f..1932b39e 100644 --- a/charmap.asm +++ b/charmap.asm @@ -149,6 +149,7 @@ charmap "ー", $E3 charmap "", $4a ; PkMn charmap "@", $50 +charmap "", $52 charmap "#", $54 ;charmap "POKé", $54 charmap "′", $71 diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 9d009f5e..9877fba7 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -104,134 +104,136 @@ const_value = 0 const HS_VICTORY_ROAD_2_ITEM_3 ; 5F X const HS_VICTORY_ROAD_2_ITEM_4 ; 60 const HS_VICTORY_ROAD_2_BOULDER ; 61 - const HS_BILL_POKEMON ; 62 - const HS_BILL_1 ; 63 - const HS_BILL_2 ; 64 X - const HS_VIRIDIAN_FOREST_ITEM_1 ; 65 X - const HS_VIRIDIAN_FOREST_ITEM_2 ; 66 X - const HS_VIRIDIAN_FOREST_ITEM_3 ; 67 X - const HS_MT_MOON_1_ITEM_1 ; 68 X - const HS_MT_MOON_1_ITEM_2 ; 69 X - const HS_MT_MOON_1_ITEM_3 ; 6A X - const HS_MT_MOON_1_ITEM_4 ; 6B X - const HS_MT_MOON_1_ITEM_5 ; 6C X - const HS_MT_MOON_1_ITEM_6 ; 6D - const HS_MT_MOON_3_FOSSIL_1 ; 6E - const HS_MT_MOON_3_FOSSIL_2 ; 6F X - const HS_MT_MOON_3_ITEM_1 ; 70 X - const HS_MT_MOON_3_ITEM_2 ; 71 - const HS_SS_ANNE_2_RIVAL ; 72 X - const HS_SS_ANNE_8_ITEM ; 73 X - const HS_SS_ANNE_9_ITEM_1 ; 74 X - const HS_SS_ANNE_9_ITEM_2 ; 75 X - const HS_SS_ANNE_10_ITEM_1 ; 76 X - const HS_SS_ANNE_10_ITEM_2 ; 77 X - const HS_SS_ANNE_10_ITEM_3 ; 78 X - const HS_VICTORY_ROAD_3_ITEM_1 ; 79 X - const HS_VICTORY_ROAD_3_ITEM_2 ; 7A - const HS_VICTORY_ROAD_3_BOULDER ; 7B X - const HS_ROCKET_HIDEOUT_1_ITEM_1 ; 7C X - const HS_ROCKET_HIDEOUT_1_ITEM_2 ; 7D X - const HS_ROCKET_HIDEOUT_2_ITEM_1 ; 7E X - const HS_ROCKET_HIDEOUT_2_ITEM_2 ; 7F X - const HS_ROCKET_HIDEOUT_2_ITEM_3 ; 80 X - const HS_ROCKET_HIDEOUT_2_ITEM_4 ; 81 X - const HS_ROCKET_HIDEOUT_3_ITEM_1 ; 82 X - const HS_ROCKET_HIDEOUT_3_ITEM_2 ; 83 - const HS_ROCKET_HIDEOUT_4_GIOVANNI ; 84 X - const HS_ROCKET_HIDEOUT_4_ITEM_1 ; 85 X - const HS_ROCKET_HIDEOUT_4_ITEM_2 ; 86 X - const HS_ROCKET_HIDEOUT_4_ITEM_3 ; 87 - const HS_ROCKET_HIDEOUT_4_ITEM_4 ; 88 - const HS_ROCKET_HIDEOUT_4_ITEM_5 ; 89 XXX never (de)activated? - const HS_SILPH_CO_2F_1 ; 8A - const HS_SILPH_CO_2F_2 ; 8B - const HS_SILPH_CO_2F_3 ; 8C - const HS_SILPH_CO_2F_4 ; 8D - const HS_SILPH_CO_2F_5 ; 8E - const HS_SILPH_CO_3F_1 ; 8F - const HS_SILPH_CO_3F_2 ; 90 X - const HS_SILPH_CO_3F_ITEM ; 91 - const HS_SILPH_CO_4F_1 ; 92 - const HS_SILPH_CO_4F_2 ; 93 - const HS_SILPH_CO_4F_3 ; 94 X - const HS_SILPH_CO_4F_ITEM_1 ; 95 X - const HS_SILPH_CO_4F_ITEM_2 ; 96 X - const HS_SILPH_CO_4F_ITEM_3 ; 97 - const HS_SILPH_CO_5F_1 ; 98 - const HS_SILPH_CO_5F_2 ; 99 - const HS_SILPH_CO_5F_3 ; 9A - const HS_SILPH_CO_5F_4 ; 9B X - const HS_SILPH_CO_5F_ITEM_1 ; 9C X - const HS_SILPH_CO_5F_ITEM_2 ; 9D X - const HS_SILPH_CO_5F_ITEM_3 ; 9E - const HS_SILPH_CO_6F_1 ; 9F - const HS_SILPH_CO_6F_2 ; A0 - const HS_SILPH_CO_6F_3 ; A1 X - const HS_SILPH_CO_6F_ITEM_1 ; A2 X - const HS_SILPH_CO_6F_ITEM_2 ; A3 - const HS_SILPH_CO_7F_1 ; A4 - const HS_SILPH_CO_7F_2 ; A5 - const HS_SILPH_CO_7F_3 ; A6 - const HS_SILPH_CO_7F_4 ; A7 - const HS_SILPH_CO_7F_RIVAL ; A8 X - const HS_SILPH_CO_7F_ITEM_1 ; A9 X - const HS_SILPH_CO_7F_ITEM_2 ; AA XXX sprite doesn't exist - const HS_SILPH_CO_7F_8 ; AB - const HS_SILPH_CO_8F_1 ; AC - const HS_SILPH_CO_8F_2 ; AD - const HS_SILPH_CO_8F_3 ; AE - const HS_SILPH_CO_9F_1 ; AF - const HS_SILPH_CO_9F_2 ; B0 - const HS_SILPH_CO_9F_3 ; B1 - const HS_SILPH_CO_10F_1 ; B2 - const HS_SILPH_CO_10F_2 ; B3 XXX never (de)activated? - const HS_SILPH_CO_10F_3 ; B4 X - const HS_SILPH_CO_10F_ITEM_1 ; B5 X - const HS_SILPH_CO_10F_ITEM_2 ; B6 X - const HS_SILPH_CO_10F_ITEM_3 ; B7 - const HS_SILPH_CO_11F_1 ; B8 - const HS_SILPH_CO_11F_2 ; B9 - const HS_SILPH_CO_11F_3 ; BA XXX sprite doesn't exist - const HS_MAP_F4_1 ; BB X - const HS_MANSION_2_ITEM ; BC X - const HS_MANSION_3_ITEM_1 ; BD X - const HS_MANSION_3_ITEM_2 ; BE X - const HS_MANSION_4_ITEM_1 ; BF X - const HS_MANSION_4_ITEM_2 ; C0 X - const HS_MANSION_4_ITEM_3 ; C1 X - const HS_MANSION_4_ITEM_4 ; C2 X - const HS_MANSION_4_ITEM_5 ; C3 X - const HS_SAFARI_ZONE_EAST_ITEM_1 ; C4 X - const HS_SAFARI_ZONE_EAST_ITEM_2 ; C5 X - const HS_SAFARI_ZONE_EAST_ITEM_3 ; C6 X - const HS_SAFARI_ZONE_EAST_ITEM_4 ; C7 X - const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C8 X - const HS_SAFARI_ZONE_NORTH_ITEM_2 ; C9 X - const HS_SAFARI_ZONE_WEST_ITEM_1 ; CA X - const HS_SAFARI_ZONE_WEST_ITEM_2 ; CB X - const HS_SAFARI_ZONE_WEST_ITEM_3 ; CC X - const HS_SAFARI_ZONE_WEST_ITEM_4 ; CD X - const HS_SAFARI_ZONE_CENTER_ITEM ; CE X - const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; CF X - const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; D0 X - const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D1 X - const HS_MEWTWO ; D2 X - const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D3 X - const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D4 X - const HS_VICTORY_ROAD_1_ITEM_1 ; D5 X - const HS_VICTORY_ROAD_1_ITEM_2 ; D6 - const HS_CHAMPIONS_ROOM_OAK ; D7 - const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D8 - const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; D9 - const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; DA - const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; DB - const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; DC - const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; DD - const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; DE - const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; DF - const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; E0 - const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E1 - const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E2 - const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; E3 X - const HS_ARTICUNO ; EF + +const_value SET $61 ; something above was deleted, idk what yet + const HS_BILL_POKEMON ; 61 + const HS_BILL_1 ; 62 + const HS_BILL_2 ; 63 + const HS_VIRIDIAN_FOREST_ITEM_1 ; 64 X + const HS_VIRIDIAN_FOREST_ITEM_2 ; 65 X + const HS_VIRIDIAN_FOREST_ITEM_3 ; 66 X + const HS_MT_MOON_1_ITEM_1 ; 67 X + const HS_MT_MOON_1_ITEM_2 ; 68 X + const HS_MT_MOON_1_ITEM_3 ; 69 X + const HS_MT_MOON_1_ITEM_4 ; 6A X + const HS_MT_MOON_1_ITEM_5 ; 6B X + const HS_MT_MOON_1_ITEM_6 ; 6C X + const HS_MT_MOON_3_FOSSIL_1 ; 6D + const HS_MT_MOON_3_FOSSIL_2 ; 6E + const HS_MT_MOON_3_ITEM_1 ; 6F X + const HS_MT_MOON_3_ITEM_2 ; 70 X + const HS_SS_ANNE_2_RIVAL ; 71 + const HS_SS_ANNE_8_ITEM ; 72 X + const HS_SS_ANNE_9_ITEM_1 ; 73 X + const HS_SS_ANNE_9_ITEM_2 ; 74 X + const HS_SS_ANNE_10_ITEM_1 ; 75 X + const HS_SS_ANNE_10_ITEM_2 ; 76 X + const HS_SS_ANNE_10_ITEM_3 ; 77 X + const HS_VICTORY_ROAD_3_ITEM_1 ; 78 X + const HS_VICTORY_ROAD_3_ITEM_2 ; 79 X + const HS_VICTORY_ROAD_3_BOULDER ; 7A + const HS_ROCKET_HIDEOUT_1_ITEM_1 ; 7B X + const HS_ROCKET_HIDEOUT_1_ITEM_2 ; 7C X + const HS_ROCKET_HIDEOUT_2_ITEM_1 ; 7D X + const HS_ROCKET_HIDEOUT_2_ITEM_2 ; 7E X + const HS_ROCKET_HIDEOUT_2_ITEM_3 ; 7F X + const HS_ROCKET_HIDEOUT_2_ITEM_4 ; 80 X + const HS_ROCKET_HIDEOUT_3_ITEM_1 ; 81 X + const HS_ROCKET_HIDEOUT_3_ITEM_2 ; 82 X + const HS_ROCKET_HIDEOUT_4_GIOVANNI ; 83 + const HS_ROCKET_HIDEOUT_4_ITEM_1 ; 84 X + const HS_ROCKET_HIDEOUT_4_ITEM_2 ; 85 X + const HS_ROCKET_HIDEOUT_4_ITEM_3 ; 86 X + const HS_ROCKET_HIDEOUT_4_ITEM_4 ; 87 + const HS_ROCKET_HIDEOUT_4_ITEM_5 ; 88 + const HS_SILPH_CO_2F_1 ; 89 XXX never (de)activated? + const HS_SILPH_CO_2F_2 ; 8A + const HS_SILPH_CO_2F_3 ; 8B + const HS_SILPH_CO_2F_4 ; 8C + const HS_SILPH_CO_2F_5 ; 8D + const HS_SILPH_CO_3F_1 ; 8E + const HS_SILPH_CO_3F_2 ; 8F + const HS_SILPH_CO_3F_ITEM ; 90 X + const HS_SILPH_CO_4F_1 ; 91 + const HS_SILPH_CO_4F_2 ; 92 + const HS_SILPH_CO_4F_3 ; 93 + const HS_SILPH_CO_4F_ITEM_1 ; 94 X + const HS_SILPH_CO_4F_ITEM_2 ; 95 X + const HS_SILPH_CO_4F_ITEM_3 ; 96 X + const HS_SILPH_CO_5F_1 ; 97 + const HS_SILPH_CO_5F_2 ; 98 + const HS_SILPH_CO_5F_3 ; 99 + const HS_SILPH_CO_5F_4 ; 9A + const HS_SILPH_CO_5F_ITEM_1 ; 9B X + const HS_SILPH_CO_5F_ITEM_2 ; 9C X + const HS_SILPH_CO_5F_ITEM_3 ; 9D X + const HS_SILPH_CO_6F_1 ; 9E + const HS_SILPH_CO_6F_2 ; 9F + const HS_SILPH_CO_6F_3 ; A0 + const HS_SILPH_CO_6F_ITEM_1 ; A1 X + const HS_SILPH_CO_6F_ITEM_2 ; A2 X + const HS_SILPH_CO_7F_1 ; A3 + const HS_SILPH_CO_7F_2 ; A4 + const HS_SILPH_CO_7F_3 ; A5 + const HS_SILPH_CO_7F_4 ; A6 + const HS_SILPH_CO_7F_RIVAL ; A7 + const HS_SILPH_CO_7F_ITEM_1 ; A8 X + const HS_SILPH_CO_7F_ITEM_2 ; A9 X + const HS_SILPH_CO_7F_8 ; AA XXX sprite doesn't exist + const HS_SILPH_CO_8F_1 ; AB + const HS_SILPH_CO_8F_2 ; AC + const HS_SILPH_CO_8F_3 ; AD + const HS_SILPH_CO_9F_1 ; AE + const HS_SILPH_CO_9F_2 ; AF + const HS_SILPH_CO_9F_3 ; B0 + const HS_SILPH_CO_10F_1 ; B1 + const HS_SILPH_CO_10F_2 ; B2 + const HS_SILPH_CO_10F_3 ; B3 XXX never (de)activated? + const HS_SILPH_CO_10F_ITEM_1 ; B4 X + const HS_SILPH_CO_10F_ITEM_2 ; B5 X + const HS_SILPH_CO_10F_ITEM_3 ; B6 X + const HS_SILPH_CO_11F_1 ; B7 + const HS_SILPH_CO_11F_2 ; B8 + const HS_SILPH_CO_11F_3 ; B9 + const HS_MAP_F4_1 ; BA XXX sprite doesn't exist + const HS_MANSION_2_ITEM ; BB X + const HS_MANSION_3_ITEM_1 ; BC X + const HS_MANSION_3_ITEM_2 ; BD X + const HS_MANSION_4_ITEM_1 ; BE X + const HS_MANSION_4_ITEM_2 ; BF X + const HS_MANSION_4_ITEM_3 ; C0 X + const HS_MANSION_4_ITEM_4 ; C1 X + const HS_MANSION_4_ITEM_5 ; C2 X + const HS_SAFARI_ZONE_EAST_ITEM_1 ; C3 X + const HS_SAFARI_ZONE_EAST_ITEM_2 ; C4 X + const HS_SAFARI_ZONE_EAST_ITEM_3 ; C5 X + const HS_SAFARI_ZONE_EAST_ITEM_4 ; C6 X + const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C7 X + const HS_SAFARI_ZONE_NORTH_ITEM_2 ; C8 X + const HS_SAFARI_ZONE_WEST_ITEM_1 ; C9 X + const HS_SAFARI_ZONE_WEST_ITEM_2 ; CA X + const HS_SAFARI_ZONE_WEST_ITEM_3 ; CB X + const HS_SAFARI_ZONE_WEST_ITEM_4 ; CC X + const HS_SAFARI_ZONE_CENTER_ITEM ; CD X + const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; CE X + const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; CF X + const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D0 X + const HS_MEWTWO ; D1 X + const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D2 X + const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D3 X + const HS_VICTORY_ROAD_1_ITEM_1 ; D4 X + const HS_VICTORY_ROAD_1_ITEM_2 ; D5 X + const HS_CHAMPIONS_ROOM_OAK ; D6 + const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D7 + const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; D8 + const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; D9 + const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; DA + const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; DB + const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; DC + const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; DD + const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; DE + const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; DF + const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E0 + const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E1 + const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; E2 + const HS_ARTICUNO ; E3 X diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 7e730780..2fff5f22 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -35,8 +35,8 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $15 ; db BANK(Route21_h) ; ROUTE_21 db $14 ; db BANK(Route22_h) ; ROUTE_22 db $14 ; db BANK(Route23_h) ; ROUTE_23 - db $14 ; db BANK(Route24_h) ; ROUTE_24 - db $14 ; db BANK(Route25_h) ; ROUTE_25 + db BANK(Route24_h) ; ROUTE_24 + db BANK(Route25_h) ; ROUTE_25 db $12 ; db BANK(RedsHouse1F_h) db $17 ; db BANK(RedsHouse2F_h) db $06 ; db BANK(BluesHouse_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index adbe374b..6721a8a5 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -35,8 +35,8 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $500f ; dw Route21_h dw $4000 ; dw Route22_h dw $433f ; dw Route23_h - dw $4682 ; dw Route24_h - dw $47a1 ; dw Route25_h + dw Route24_h + dw Route25_h dw $40f6 ; dw RedsHouse1F_h dw $40a4 ; dw RedsHouse2F_h dw $5c2f ; dw BluesHouse_h diff --git a/main.asm b/main.asm index a7e4908e..cfcfa6c0 100755 --- a/main.asm +++ b/main.asm @@ -788,13 +788,12 @@ INCLUDE "data/mapObjects/route24.asm" Route24Blocks: ; 506ed (14:46ed) INCBIN "maps/route24.blk" -; INCLUDE "data/mapHeaders/route25.asm" -; INCLUDE "data/mapObjects/route25.asm" - dr $507a1,$50816 +INCLUDE "data/mapHeaders/route25.asm" +INCLUDE "data/mapObjects/route25.asm" Route25Blocks: ; 50816 (14:4816) INCBIN "maps/route25.blk" - +; victoryroad2 dr $50924,$509aa INCLUDE "data/mapHeaders/saffroncity.asm" @@ -805,7 +804,7 @@ INCLUDE "scripts/saffroncity.asm" dr $50ca9,$51366 INCLUDE "scripts/route24.asm" - dr $515f3,$517cc +INCLUDE "scripts/route25.asm" ; victoryroad2 dr $517cc,$52060 diff --git a/scripts/route25.asm b/scripts/route25.asm index 49580ba6..20dcc890 100755 --- a/scripts/route25.asm +++ b/scripts/route25.asm @@ -1,14 +1,21 @@ Route25Script: ; 515cb (14:55cb) - call Route25Script_515e1 call EnableAutoTextBoxDrawing ld hl, Route25TrainerHeaders ld de, Route25ScriptPointers ld a, [W_ROUTE25CURSCRIPT] call ExecuteCurMapScriptInTable ld [W_ROUTE25CURSCRIPT], a + call Route25Script_515e1 ret Route25Script_515e1: ; 515e1 (14:55e1) + ld hl, wPreventBlackout + res 2, [hl] + res 3, [hl] + res 4, [hl] + res 7, [hl] + xor a + ld [W_BILLSHOUSECURSCRIPT], a ld hl, wd126 bit 6, [hl] res 6, [hl] @@ -16,14 +23,16 @@ Route25Script_515e1: ; 515e1 (14:55e1) CheckEventHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ret nz CheckEventReuseHL EVENT_MET_BILL_2 - jr nz, .asm_515ff + jr nz, .asm_51638 ResetEventReuseHL EVENT_BILL_SAID_USE_CELL_SEPARATOR ld a, HS_BILL_POKEMON ld [wMissableObjectIndex], a - predef_jump ShowObject -.asm_515ff + predef ShowObject + jr .asm_5165c + +.asm_51638 CheckEventAfterBranchReuseHL EVENT_GOT_SS_TICKET, EVENT_MET_BILL_2 - ret z + jr z, .asm_5165c SetEventReuseHL EVENT_LEFT_BILLS_HOUSE_AFTER_HELPING ld a, HS_NUGGET_BRIDGE_GUY ld [wMissableObjectIndex], a @@ -33,7 +42,9 @@ Route25Script_515e1: ; 515e1 (14:55e1) predef HideObject ld a, HS_BILL_2 ld [wMissableObjectIndex], a - predef_jump ShowObject + predef ShowObject +.asm_5165c + ret Route25ScriptPointers: ; 51622 (14:5622) dw CheckFightingMapTrainers diff --git a/text/maps/route_24.asm b/text/maps/route_24.asm index 26cb4044..475a2602 100644 --- a/text/maps/route_24.asm +++ b/text/maps/route_24.asm @@ -4,13 +4,13 @@ _Route24Text_51510:: cont "contest trainers!@@" _Route24Text_51515:: - db $0 + text "" para "You just earned a" line "fabulous prize!" prompt _Route24Text_5151a:: - text $52, " received" + text " received" line "a @" TX_RAM wcf4b text "!@@" @@ -181,4 +181,3 @@ _Route24DamianText4:: text "How's CHARMANDER" line "doing?" done - -- cgit v1.3.1-sl0p From 7a649c27baca781e4cc3e8e70bc41b66530dd5b5 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 10:08:04 -0400 Subject: Route 22 --- constants/trainer_constants.asm | 2 +- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- engine/bank3c.asm | 4 +- main.asm | 11 +++- scripts/route22.asm | 133 +++++++++++++--------------------------- 6 files changed, 54 insertions(+), 100 deletions(-) (limited to 'constants') diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index a710b5fa..fde4d42a 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -41,7 +41,7 @@ const_value = 1 trainer_const BRUNO ; $21 trainer_const BROCK ; $22 trainer_const MISTY ; $23 - trainer_const LT_SURGE ; $24 + trainer_const LT_SURGE ; $24 trainer_const ERIKA ; $25 trainer_const KOGA ; $26 trainer_const BLAINE ; $27 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 2fff5f22..1f3e4967 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -33,7 +33,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $15 ; db BANK(Route19_h) ; ROUTE_19 db $14 ; db BANK(Route20_h) ; ROUTE_20 db $15 ; db BANK(Route21_h) ; ROUTE_21 - db $14 ; db BANK(Route22_h) ; ROUTE_22 + db BANK(Route22_h) ; ROUTE_22 db $14 ; db BANK(Route23_h) ; ROUTE_23 db BANK(Route24_h) ; ROUTE_24 db BANK(Route25_h) ; ROUTE_25 diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 6721a8a5..e93c3def 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -33,7 +33,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $4e80 ; dw Route19_h dw $40f1 ; dw Route20_h dw $500f ; dw Route21_h - dw $4000 ; dw Route22_h + dw Route22_h dw $433f ; dw Route23_h dw Route24_h dw Route25_h diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 35be938e..61096d27 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -348,8 +348,8 @@ INCLUDE "scripts/viridiancity2.asm" INCLUDE "scripts/vermilioncity2.asm" INCLUDE "scripts/celadoncity2.asm" INCLUDE "scripts/route1_2.asm" - - dr $f1b27, $f220e +INCLUDE "scripts/route22_2.asm" + dr $f1b73, $f220e INCLUDE "data/mapHeaders/beach_house.asm" INCLUDE "scripts/beach_house.asm" diff --git a/main.asm b/main.asm index cfcfa6c0..803dc68c 100755 --- a/main.asm +++ b/main.asm @@ -778,10 +778,13 @@ INCBIN "maps/colosseum.blk" SECTION "bank14",ROMX,BANK[$14] - dr $50000,$5003d +INCLUDE "data/mapHeaders/route22.asm" +INCLUDE "data/mapObjects/route22.asm" Route22Blocks: INCBIN "maps/route22.blk" - dr $500f1,$50682 + dr $500f1,$503b2 +Route23Blocks: +INCBIN "maps/route23.blk" INCLUDE "data/mapHeaders/route24.asm" INCLUDE "data/mapObjects/route24.asm" @@ -802,7 +805,9 @@ SaffronCityBlocks: ; 50a98 (14:4a98) INCBIN "maps/saffroncity.blk" INCLUDE "scripts/saffroncity.asm" - dr $50ca9,$51366 + dr $50ca9,$50eb2 +INCLUDE "scripts/route22.asm" + dr $51193,$51366 INCLUDE "scripts/route24.asm" INCLUDE "scripts/route25.asm" diff --git a/scripts/route22.asm b/scripts/route22.asm index 5c3d2b21..a7c61903 100755 --- a/scripts/route22.asm +++ b/scripts/route22.asm @@ -22,16 +22,17 @@ Route22Script7: ; 50ed5 (14:4ed5) ret Route22Script_50ed6: ; 50ed6 (14:4ed6) + ld a, OPP_SONY1 + ld [wCurOpponent], a + ld a, $2 + ld [wTrainerNo], a + ret + +Route22Script_50ee1: + ld a, OPP_SONY2 + ld [wCurOpponent], a ld a, [W_RIVALSTARTER] - ld b, a -.asm_50eda - ld a, [hli] - cp b - jr z, .asm_50ee1 - inc hl - jr .asm_50eda -.asm_50ee1 - ld a, [hl] + add 7 ld [wTrainerNo], a ret @@ -88,9 +89,7 @@ Route22Script0: ; 50f00 (14:4f00) ld a, [wWalkBikeSurfState] and a jr z, .asm_50f4e - ld a, $ff - ld [wNewSoundID], a - call PlaySound + call StopAllMusic .asm_50f4e ld c, BANK(Music_MeetRival) ld a, MUSIC_MEET_RIVAL @@ -131,24 +130,29 @@ Route22Script1: ; 50f62 (14:4f62) ld hl, Route22RivalDefeatedText1 ld de, Route22Text_511bc call SaveEndBattleTextPointers - ld a, OPP_SONY1 - ld [wCurOpponent], a - ld hl, StarterMons_50faf call Route22Script_50ed6 ld a, $2 ld [W_ROUTE22CURSCRIPT], a ret -StarterMons_50faf: ; 50faf (14:4faf) -; starter the rival picked, rival trainer number - db STARTER2,$04 - db STARTER3,$05 - db STARTER1,$06 +Route22RivalDefeatedText1: ; 511b7 (14:51b7) + TX_FAR _Route22RivalDefeatedText1 + db "@" + +Route22Text_511bc: ; 511bc (14:51bc) + TX_FAR _Route22Text_511bc + db "@" Route22Script2: ; 50fb5 (14:4fb5) ld a, [wIsInBattle] cp $ff jp z, Route22Script_50ece + ld a, [W_RIVALSTARTER] + cp 2 + jr nz, .asm_50fc9 + ld a, $1 + ld [W_RIVALSTARTER], a +.asm_50fc9 ld a, [wSpriteStateData1 + 9] and a ; cp SPRITE_FACING_DOWN jr nz, .notDown @@ -167,9 +171,7 @@ Route22Script2: ; 50fb5 (14:4fb5) ld a, $1 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff - ld [wNewSoundID], a - call PlaySound + call StopAllMusic callba Music_RivalAlternateStart ld a, [wcf0d] cp $1 @@ -241,13 +243,9 @@ Route22Script_5104e: ; 5104e (14:504e) ld a, [wWalkBikeSurfState] and a jr z, .skipYVisibilityTesta - ld a, $ff - ld [wNewSoundID], a - call PlaySound + call StopAllMusic .skipYVisibilityTesta - ld a, $ff - ld [wNewSoundID], a - call PlaySound + call StopAllMusic callba Music_RivalAlternateTempo ld a, $2 ld [H_SPRITEINDEX], a @@ -287,18 +285,18 @@ Route22Script4: ; 51087 (14:5087) ld hl, Route22RivalDefeatedText2 ld de, Route22Text_511d0 call SaveEndBattleTextPointers - ld a, OPP_SONY2 - ld [wCurOpponent], a - ld hl, StarterMons_510d9 - call Route22Script_50ed6 + call Route22Script_50ee1 ld a, $5 ld [W_ROUTE22CURSCRIPT], a ret -StarterMons_510d9: ; 510d9 (14:50d9) - db STARTER2,$0a - db STARTER3,$0b - db STARTER1,$0c +Route22RivalDefeatedText2: ; 511cb (14:51cb) + TX_FAR _Route22RivalDefeatedText2 + db "@" + +Route22Text_511d0: ; 511d0 (14:51d0) + TX_FAR _Route22Text_511d0 + db "@" Route22Script5: ; 510df (14:50df) ld a, [wIsInBattle] @@ -326,9 +324,7 @@ Route22Script5: ; 510df (14:50df) ld a, $2 ld [hSpriteIndexOrTextID], a call DisplayTextID - ld a, $ff - ld [wNewSoundID], a - call PlaySound + call StopAllMusic callba Music_RivalAlternateStartAndTempo ld a, [wcf0d] cp $1 @@ -384,62 +380,15 @@ Route22TextPointers: ; 51175 (14:5175) Route22Text1: ; 5117b (14:517b) TX_ASM - CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE - jr z, .asm_5118b - ld hl, Route22RivalAfterBattleText1 - call PrintText - jr .asm_51191 -.asm_5118b - ld hl, Route22RivalBeforeBattleText1 - call PrintText -.asm_51191 + callba Func_f1b27 jp TextScriptEnd Route22Text2: ; 51194 (14:5194) TX_ASM - CheckEvent EVENT_BEAT_ROUTE22_RIVAL_2ND_BATTLE - jr z, .asm_511a4 - ld hl, Route22RivalAfterBattleText2 - call PrintText - jr .asm_511aa -.asm_511a4 - ld hl, Route22RivalBeforeBattleText2 - call PrintText -.asm_511aa + callba Func_f1b47 jp TextScriptEnd -Route22RivalBeforeBattleText1: ; 511ad (14:51ad) - TX_FAR _Route22RivalBeforeBattleText1 - db "@" - -Route22RivalAfterBattleText1: ; 511b2 (14:51b2) - TX_FAR _Route22RivalAfterBattleText1 - db "@" - -Route22RivalDefeatedText1: ; 511b7 (14:51b7) - TX_FAR _Route22RivalDefeatedText1 - db "@" - -Route22Text_511bc: ; 511bc (14:51bc) - TX_FAR _Route22Text_511bc - db "@" - -Route22RivalBeforeBattleText2: ; 511c1 (14:51c1) - TX_FAR _Route22RivalBeforeBattleText2 - db "@" - -Route22RivalAfterBattleText2: ; 511c6 (14:51c6) - TX_FAR _Route22RivalAfterBattleText2 - db "@" - -Route22RivalDefeatedText2: ; 511cb (14:51cb) - TX_FAR _Route22RivalDefeatedText2 - db "@" - -Route22Text_511d0: ; 511d0 (14:51d0) - TX_FAR _Route22Text_511d0 - db "@" - Route22FrontGateText: ; 511d5 (14:51d5) - TX_FAR _Route22FrontGateText - db "@" + TX_ASM + callba Func_f1b67 + jp TextScriptEnd -- cgit v1.3.1-sl0p From 33c2637c16b1af0611d297b7ee9aa79fb5407eaa Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 10:28:02 -0400 Subject: Route 23 --- constants/hide_show_constants.asm | 276 +++++++++++++++++----------------- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- engine/overworld/missable_objects.asm | 2 +- main.asm | 13 +- scripts/route23.asm | 2 +- 6 files changed, 152 insertions(+), 145 deletions(-) (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 9877fba7..db37b9d9 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -74,38 +74,38 @@ const_value = 0 const HS_POKEMONTOWER_7_ROCKET_1 ; 41 X const HS_POKEMONTOWER_7_ROCKET_2 ; 42 X const HS_POKEMONTOWER_7_ROCKET_3 ; 43 - const HS_POKEMONTOWER_7_MR_FUJI ; 44 - const HS_LAVENDER_HOUSE_1_MR_FUJI ; 45 - const HS_CELADON_MANSION_5_GIFT ; 46 - const HS_GAME_CORNER_ROCKET ; 47 X - const HS_FUCHSIA_HOUSE_2_ITEM ; 48 X - const HS_MANSION_1_ITEM_1 ; 49 X - const HS_MANSION_1_ITEM_2 ; 4A - const HS_FIGHTING_DOJO_GIFT_1 ; 4B - const HS_FIGHTING_DOJO_GIFT_2 ; 4C - const HS_SILPH_CO_1F_RECEPTIONIST ; 4D X - const HS_VOLTORB_1 ; 4E X - const HS_VOLTORB_2 ; 4F X - const HS_VOLTORB_3 ; 50 X - const HS_ELECTRODE_1 ; 51 X - const HS_VOLTORB_4 ; 52 X - const HS_VOLTORB_5 ; 53 X - const HS_ELECTRODE_2 ; 54 X - const HS_VOLTORB_6 ; 55 X - const HS_ZAPDOS ; 56 X - const HS_POWER_PLANT_ITEM_1 ; 57 X - const HS_POWER_PLANT_ITEM_2 ; 58 X - const HS_POWER_PLANT_ITEM_3 ; 59 X - const HS_POWER_PLANT_ITEM_4 ; 5A X - const HS_POWER_PLANT_ITEM_5 ; 5B X - const HS_MOLTRES ; 5C X - const HS_VICTORY_ROAD_2_ITEM_1 ; 5D X - const HS_VICTORY_ROAD_2_ITEM_2 ; 5E X - const HS_VICTORY_ROAD_2_ITEM_3 ; 5F X - const HS_VICTORY_ROAD_2_ITEM_4 ; 60 - const HS_VICTORY_ROAD_2_BOULDER ; 61 -const_value SET $61 ; something above was deleted, idk what yet +const_value SET $43 ; something above was deleted, idk what yet + const HS_POKEMONTOWER_7_MR_FUJI ; 43 + const HS_LAVENDER_HOUSE_1_MR_FUJI ; 44 + const HS_CELADON_MANSION_5_GIFT ; 45 + const HS_GAME_CORNER_ROCKET ; 46 + const HS_FUCHSIA_HOUSE_2_ITEM ; 47 X + const HS_MANSION_1_ITEM_1 ; 48 X + const HS_MANSION_1_ITEM_2 ; 49 X + const HS_FIGHTING_DOJO_GIFT_1 ; 4A + const HS_FIGHTING_DOJO_GIFT_2 ; 4B + const HS_SILPH_CO_1F_RECEPTIONIST ; 4C + const HS_VOLTORB_1 ; 4D X + const HS_VOLTORB_2 ; 4E X + const HS_VOLTORB_3 ; 4F X + const HS_ELECTRODE_1 ; 50 X + const HS_VOLTORB_4 ; 51 X + const HS_VOLTORB_5 ; 52 X + const HS_ELECTRODE_2 ; 53 X + const HS_VOLTORB_6 ; 54 X + const HS_ZAPDOS ; 55 X + const HS_POWER_PLANT_ITEM_1 ; 56 X + const HS_POWER_PLANT_ITEM_2 ; 57 X + const HS_POWER_PLANT_ITEM_3 ; 58 X + const HS_POWER_PLANT_ITEM_4 ; 59 X + const HS_POWER_PLANT_ITEM_5 ; 5A X + const HS_MOLTRES ; 5B X + const HS_VICTORY_ROAD_2_ITEM_1 ; 5C X + const HS_VICTORY_ROAD_2_ITEM_2 ; 5D X + const HS_VICTORY_ROAD_2_ITEM_3 ; 5E X + const HS_VICTORY_ROAD_2_ITEM_4 ; 5F X + const HS_VICTORY_ROAD_2_BOULDER ; 60 const HS_BILL_POKEMON ; 61 const HS_BILL_1 ; 62 const HS_BILL_2 ; 63 @@ -131,109 +131,111 @@ const_value SET $61 ; something above was deleted, idk what yet const HS_SS_ANNE_10_ITEM_3 ; 77 X const HS_VICTORY_ROAD_3_ITEM_1 ; 78 X const HS_VICTORY_ROAD_3_ITEM_2 ; 79 X - const HS_VICTORY_ROAD_3_BOULDER ; 7A - const HS_ROCKET_HIDEOUT_1_ITEM_1 ; 7B X - const HS_ROCKET_HIDEOUT_1_ITEM_2 ; 7C X - const HS_ROCKET_HIDEOUT_2_ITEM_1 ; 7D X - const HS_ROCKET_HIDEOUT_2_ITEM_2 ; 7E X - const HS_ROCKET_HIDEOUT_2_ITEM_3 ; 7F X - const HS_ROCKET_HIDEOUT_2_ITEM_4 ; 80 X - const HS_ROCKET_HIDEOUT_3_ITEM_1 ; 81 X - const HS_ROCKET_HIDEOUT_3_ITEM_2 ; 82 X - const HS_ROCKET_HIDEOUT_4_GIOVANNI ; 83 - const HS_ROCKET_HIDEOUT_4_ITEM_1 ; 84 X - const HS_ROCKET_HIDEOUT_4_ITEM_2 ; 85 X - const HS_ROCKET_HIDEOUT_4_ITEM_3 ; 86 X - const HS_ROCKET_HIDEOUT_4_ITEM_4 ; 87 - const HS_ROCKET_HIDEOUT_4_ITEM_5 ; 88 - const HS_SILPH_CO_2F_1 ; 89 XXX never (de)activated? - const HS_SILPH_CO_2F_2 ; 8A - const HS_SILPH_CO_2F_3 ; 8B - const HS_SILPH_CO_2F_4 ; 8C - const HS_SILPH_CO_2F_5 ; 8D - const HS_SILPH_CO_3F_1 ; 8E - const HS_SILPH_CO_3F_2 ; 8F - const HS_SILPH_CO_3F_ITEM ; 90 X - const HS_SILPH_CO_4F_1 ; 91 - const HS_SILPH_CO_4F_2 ; 92 - const HS_SILPH_CO_4F_3 ; 93 - const HS_SILPH_CO_4F_ITEM_1 ; 94 X - const HS_SILPH_CO_4F_ITEM_2 ; 95 X - const HS_SILPH_CO_4F_ITEM_3 ; 96 X - const HS_SILPH_CO_5F_1 ; 97 - const HS_SILPH_CO_5F_2 ; 98 - const HS_SILPH_CO_5F_3 ; 99 - const HS_SILPH_CO_5F_4 ; 9A - const HS_SILPH_CO_5F_ITEM_1 ; 9B X - const HS_SILPH_CO_5F_ITEM_2 ; 9C X - const HS_SILPH_CO_5F_ITEM_3 ; 9D X - const HS_SILPH_CO_6F_1 ; 9E - const HS_SILPH_CO_6F_2 ; 9F - const HS_SILPH_CO_6F_3 ; A0 - const HS_SILPH_CO_6F_ITEM_1 ; A1 X - const HS_SILPH_CO_6F_ITEM_2 ; A2 X - const HS_SILPH_CO_7F_1 ; A3 - const HS_SILPH_CO_7F_2 ; A4 - const HS_SILPH_CO_7F_3 ; A5 - const HS_SILPH_CO_7F_4 ; A6 - const HS_SILPH_CO_7F_RIVAL ; A7 - const HS_SILPH_CO_7F_ITEM_1 ; A8 X - const HS_SILPH_CO_7F_ITEM_2 ; A9 X - const HS_SILPH_CO_7F_8 ; AA XXX sprite doesn't exist - const HS_SILPH_CO_8F_1 ; AB - const HS_SILPH_CO_8F_2 ; AC - const HS_SILPH_CO_8F_3 ; AD - const HS_SILPH_CO_9F_1 ; AE - const HS_SILPH_CO_9F_2 ; AF - const HS_SILPH_CO_9F_3 ; B0 - const HS_SILPH_CO_10F_1 ; B1 - const HS_SILPH_CO_10F_2 ; B2 - const HS_SILPH_CO_10F_3 ; B3 XXX never (de)activated? - const HS_SILPH_CO_10F_ITEM_1 ; B4 X - const HS_SILPH_CO_10F_ITEM_2 ; B5 X - const HS_SILPH_CO_10F_ITEM_3 ; B6 X - const HS_SILPH_CO_11F_1 ; B7 - const HS_SILPH_CO_11F_2 ; B8 - const HS_SILPH_CO_11F_3 ; B9 - const HS_MAP_F4_1 ; BA XXX sprite doesn't exist - const HS_MANSION_2_ITEM ; BB X - const HS_MANSION_3_ITEM_1 ; BC X - const HS_MANSION_3_ITEM_2 ; BD X - const HS_MANSION_4_ITEM_1 ; BE X - const HS_MANSION_4_ITEM_2 ; BF X - const HS_MANSION_4_ITEM_3 ; C0 X - const HS_MANSION_4_ITEM_4 ; C1 X - const HS_MANSION_4_ITEM_5 ; C2 X - const HS_SAFARI_ZONE_EAST_ITEM_1 ; C3 X - const HS_SAFARI_ZONE_EAST_ITEM_2 ; C4 X - const HS_SAFARI_ZONE_EAST_ITEM_3 ; C5 X - const HS_SAFARI_ZONE_EAST_ITEM_4 ; C6 X - const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C7 X - const HS_SAFARI_ZONE_NORTH_ITEM_2 ; C8 X - const HS_SAFARI_ZONE_WEST_ITEM_1 ; C9 X - const HS_SAFARI_ZONE_WEST_ITEM_2 ; CA X - const HS_SAFARI_ZONE_WEST_ITEM_3 ; CB X - const HS_SAFARI_ZONE_WEST_ITEM_4 ; CC X - const HS_SAFARI_ZONE_CENTER_ITEM ; CD X - const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; CE X - const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; CF X - const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D0 X - const HS_MEWTWO ; D1 X - const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D2 X - const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D3 X - const HS_VICTORY_ROAD_1_ITEM_1 ; D4 X - const HS_VICTORY_ROAD_1_ITEM_2 ; D5 X - const HS_CHAMPIONS_ROOM_OAK ; D6 - const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D7 - const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; D8 - const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; D9 - const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; DA - const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; DB - const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; DC - const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; DD - const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; DE - const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; DF - const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E0 - const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E1 - const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; E2 - const HS_ARTICUNO ; E3 X + +const_value SET $7c ; idk anymore lol + const HS_VICTORY_ROAD_3_BOULDER ; 7C X + const HS_ROCKET_HIDEOUT_1_ITEM_1 ; 7D X + const HS_ROCKET_HIDEOUT_1_ITEM_2 ; 7E X + const HS_ROCKET_HIDEOUT_2_ITEM_1 ; 7F X + const HS_ROCKET_HIDEOUT_2_ITEM_2 ; 80 X + const HS_ROCKET_HIDEOUT_2_ITEM_3 ; 81 X + const HS_ROCKET_HIDEOUT_2_ITEM_4 ; 82 X + const HS_ROCKET_HIDEOUT_3_ITEM_1 ; 83 + const HS_ROCKET_HIDEOUT_3_ITEM_2 ; 84 X + const HS_ROCKET_HIDEOUT_4_GIOVANNI ; 85 X + const HS_ROCKET_HIDEOUT_4_ITEM_1 ; 86 X + const HS_ROCKET_HIDEOUT_4_ITEM_2 ; 87 + const HS_ROCKET_HIDEOUT_4_ITEM_3 ; 88 + const HS_ROCKET_HIDEOUT_4_ITEM_4 ; 89 XXX never (de)activated? + const HS_ROCKET_HIDEOUT_4_ITEM_5 ; 8A + const HS_SILPH_CO_2F_1 ; 8B + const HS_SILPH_CO_2F_2 ; 8C + const HS_SILPH_CO_2F_3 ; 8D + const HS_SILPH_CO_2F_4 ; 8E + const HS_SILPH_CO_2F_5 ; 8F + const HS_SILPH_CO_3F_1 ; 90 X + const HS_SILPH_CO_3F_2 ; 91 + const HS_SILPH_CO_3F_ITEM ; 92 + const HS_SILPH_CO_4F_1 ; 93 + const HS_SILPH_CO_4F_2 ; 94 X + const HS_SILPH_CO_4F_3 ; 95 X + const HS_SILPH_CO_4F_ITEM_1 ; 96 X + const HS_SILPH_CO_4F_ITEM_2 ; 97 + const HS_SILPH_CO_4F_ITEM_3 ; 98 + const HS_SILPH_CO_5F_1 ; 99 + const HS_SILPH_CO_5F_2 ; 9A + const HS_SILPH_CO_5F_3 ; 9B X + const HS_SILPH_CO_5F_4 ; 9C X + const HS_SILPH_CO_5F_ITEM_1 ; 9D X + const HS_SILPH_CO_5F_ITEM_2 ; 9E + const HS_SILPH_CO_5F_ITEM_3 ; 9F + const HS_SILPH_CO_6F_1 ; A0 + const HS_SILPH_CO_6F_2 ; A1 X + const HS_SILPH_CO_6F_3 ; A2 X + const HS_SILPH_CO_6F_ITEM_1 ; A3 + const HS_SILPH_CO_6F_ITEM_2 ; A4 + const HS_SILPH_CO_7F_1 ; A5 + const HS_SILPH_CO_7F_2 ; A6 + const HS_SILPH_CO_7F_3 ; A7 + const HS_SILPH_CO_7F_4 ; A8 X + const HS_SILPH_CO_7F_RIVAL ; A9 X + const HS_SILPH_CO_7F_ITEM_1 ; AA XXX sprite doesn't exist + const HS_SILPH_CO_7F_ITEM_2 ; AB + const HS_SILPH_CO_7F_8 ; AC + const HS_SILPH_CO_8F_1 ; AD + const HS_SILPH_CO_8F_2 ; AE + const HS_SILPH_CO_8F_3 ; AF + const HS_SILPH_CO_9F_1 ; B0 + const HS_SILPH_CO_9F_2 ; B1 + const HS_SILPH_CO_9F_3 ; B2 + const HS_SILPH_CO_10F_1 ; B3 XXX never (de)activated? + const HS_SILPH_CO_10F_2 ; B4 X + const HS_SILPH_CO_10F_3 ; B5 X + const HS_SILPH_CO_10F_ITEM_1 ; B6 X + const HS_SILPH_CO_10F_ITEM_2 ; B7 + const HS_SILPH_CO_10F_ITEM_3 ; B8 + const HS_SILPH_CO_11F_1 ; B9 + const HS_SILPH_CO_11F_2 ; BA XXX sprite doesn't exist + const HS_SILPH_CO_11F_3 ; BB X + const HS_MAP_F4_1 ; BC X + const HS_MANSION_2_ITEM ; BD X + const HS_MANSION_3_ITEM_1 ; BE X + const HS_MANSION_3_ITEM_2 ; BF X + const HS_MANSION_4_ITEM_1 ; C0 X + const HS_MANSION_4_ITEM_2 ; C1 X + const HS_MANSION_4_ITEM_3 ; C2 X + const HS_MANSION_4_ITEM_4 ; C3 X + const HS_MANSION_4_ITEM_5 ; C4 X + const HS_SAFARI_ZONE_EAST_ITEM_1 ; C5 X + const HS_SAFARI_ZONE_EAST_ITEM_2 ; C6 X + const HS_SAFARI_ZONE_EAST_ITEM_3 ; C7 X + const HS_SAFARI_ZONE_EAST_ITEM_4 ; C8 X + const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C9 X + const HS_SAFARI_ZONE_NORTH_ITEM_2 ; CA X + const HS_SAFARI_ZONE_WEST_ITEM_1 ; CB X + const HS_SAFARI_ZONE_WEST_ITEM_2 ; CC X + const HS_SAFARI_ZONE_WEST_ITEM_3 ; CD X + const HS_SAFARI_ZONE_WEST_ITEM_4 ; CE X + const HS_SAFARI_ZONE_CENTER_ITEM ; CF X + const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; D0 X + const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; D1 X + const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D2 X + const HS_MEWTWO ; D3 X + const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D4 X + const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D5 X + const HS_VICTORY_ROAD_1_ITEM_1 ; D6 + const HS_VICTORY_ROAD_1_ITEM_2 ; D7 + const HS_CHAMPIONS_ROOM_OAK ; D8 + const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D9 + const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; DA + const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; DB + const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; DC + const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; DD + const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; DE + const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; DF + const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; E0 + const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; E1 + const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E2 + const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E3 X + const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; E4 + const HS_ARTICUNO ; E5 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 1f3e4967..e181c2a3 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -34,7 +34,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $14 ; db BANK(Route20_h) ; ROUTE_20 db $15 ; db BANK(Route21_h) ; ROUTE_21 db BANK(Route22_h) ; ROUTE_22 - db $14 ; db BANK(Route23_h) ; ROUTE_23 + db BANK(Route23_h) ; ROUTE_23 db BANK(Route24_h) ; ROUTE_24 db BANK(Route25_h) ; ROUTE_25 db $12 ; db BANK(RedsHouse1F_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index e93c3def..9909b09f 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -34,7 +34,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $40f1 ; dw Route20_h dw $500f ; dw Route21_h dw Route22_h - dw $433f ; dw Route23_h + dw Route23_h dw Route24_h dw Route25_h dw $40f6 ; dw RedsHouse1F_h diff --git a/engine/overworld/missable_objects.asm b/engine/overworld/missable_objects.asm index f18a0823..65305d30 100644 --- a/engine/overworld/missable_objects.asm +++ b/engine/overworld/missable_objects.asm @@ -209,4 +209,4 @@ MissableObjectFlagAction: ; f062 (3:7062) pop de pop hl ld c, a - ret \ No newline at end of file + ret diff --git a/main.asm b/main.asm index 803dc68c..c0001587 100755 --- a/main.asm +++ b/main.asm @@ -782,7 +782,10 @@ INCLUDE "data/mapHeaders/route22.asm" INCLUDE "data/mapObjects/route22.asm" Route22Blocks: INCBIN "maps/route22.blk" - dr $500f1,$503b2 + dr $500f1,$5033f + +INCLUDE "data/mapHeaders/route23.asm" +INCLUDE "data/mapObjects/route23.asm" Route23Blocks: INCBIN "maps/route23.blk" @@ -796,8 +799,10 @@ INCLUDE "data/mapObjects/route25.asm" Route25Blocks: ; 50816 (14:4816) INCBIN "maps/route25.blk" -; victoryroad2 - dr $50924,$509aa +; indigoplateau + dr $50924,$50950 +IndigoPlateauBlocks: ; 50950 (14:4950) +INCBIN "maps/indigoplateau.blk" INCLUDE "data/mapHeaders/saffroncity.asm" INCLUDE "data/mapObjects/saffroncity.asm" @@ -807,7 +812,7 @@ INCLUDE "scripts/saffroncity.asm" dr $50ca9,$50eb2 INCLUDE "scripts/route22.asm" - dr $51193,$51366 +INCLUDE "scripts/route23.asm" INCLUDE "scripts/route24.asm" INCLUDE "scripts/route25.asm" diff --git a/scripts/route23.asm b/scripts/route23.asm index 6fc0eef1..f324963b 100755 --- a/scripts/route23.asm +++ b/scripts/route23.asm @@ -3,7 +3,7 @@ Route23Script: ; 511da (14:51da) call EnableAutoTextBoxDrawing ld hl, Route23ScriptPointers ld a, [W_ROUTE23CURSCRIPT] - jp CallFunctionInTable + jp JumpTable Route23Script_511e9: ; 511e9 (14:51e9) ld hl, wd126 -- cgit v1.3.1-sl0p From 1524d902bf223115fac0f9f528826049817d28c7 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 15:55:56 -0400 Subject: Credits. Can I add my own name? Kappa --- constants/credits_constants.asm | 2 + data/credit_mons.asm | 4 + data/credits_order.asm | 69 ++++---- engine/HoF_room_pc.asm | 333 ++++++++++++++++++++++----------------- engine/bank3c.asm | 3 +- text/credits_text.asm | 338 ++++++++++++++++++++++++---------------- 6 files changed, 439 insertions(+), 310 deletions(-) (limited to 'constants') diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index f5715072..99af7992 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -64,4 +64,6 @@ const_value = 0 const CRED_FUKUI ; $3D const CRED_CLUB ; $3E const CRED_PAAD ; $3F + const CRED_40 + diff --git a/data/credit_mons.asm b/data/credit_mons.asm index 6a8bb416..c271db68 100755 --- a/data/credit_mons.asm +++ b/data/credit_mons.asm @@ -14,3 +14,7 @@ CreditsMons: ; 74131 (1d:4131) db VILEPLUME db NIDOKING db PARASECT + +rept 9 + db GENGAR +endr diff --git a/data/credits_order.asm b/data/credits_order.asm index 5a71a26a..4d940602 100755 --- a/data/credits_order.asm +++ b/data/credits_order.asm @@ -2,38 +2,37 @@ CreditsOrder: ; 74243 (1d:4243) ; 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 + db $1c, $00, $ff + db $1d, $01, $ff + db $1e, $02, $03, $04, $fd + db $1e, $05, $2b, $fe + db $1f, $07, $08, $ff + db $20, $05, $fd + db $21, $05, $04, $fe + db $22, $01, $06, $ff + db $23, $07, $08, $2f, $ff + db $24, $01, $fd + db $24, $30, $fe + db $25, $06, $ff + db $26, $01, $06, $31, $ff + db $27, $32, $31, $fd + db $27, $33, $34, $fe + db $28, $3d, $ff + db $3f, $3e, $ff + db $29, $36, $fd + db $29, $0a, $fc + db $29, $0b, $fe + db $40, $fd + db $41, $42, $fd + db $41, $43, $44, $fc + db $41, $45, $46, $fc + db $47, $48, $fd + db $1e, $4c, $4d, $fd + db $1f, $51, $fd + db $28, $52, $4b, $fd + db $28, $53, $54, $55, $fc + db $27, $4f, $4e, $fd + db $2a, $0c, $ff + db $fb + db $ff + db $fa diff --git a/engine/HoF_room_pc.asm b/engine/HoF_room_pc.asm index e00fc57d..51575a9d 100755 --- a/engine/HoF_room_pc.asm +++ b/engine/HoF_room_pc.asm @@ -1,173 +1,214 @@ -HallOfFamePC: ; 7405c (1d:405c) - callba AnimateHallOfFame +HallOfFamePC: + callab FallingStarEnd 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 + ld a, $a7 + ld [rWX], a + xor a + ld [rSCX], a + ld [rSCY], a + ld [hSCX], a + ld [hSCY], a + ld [hWY], a + ld [rWY], a + call CreditsLoadFont coord hl, 0, 0 call FillFourRowsWithBlack coord hl, 0, 14 call FillFourRowsWithBlack - ld a, $c0 + ld a, %11000000 ld [rBGP], a + call UpdateGBCPal_BGP call EnableLCD - ld a, $ff - call PlaySoundWaitForCurrent + call StopAllMusic + ld hl, vBGMap1 + call CreditsCopyTileMapToVRAM + ld hl, vBGMap0 + call CreditsCopyTileMapToVRAM ld c, BANK(Music_Credits) ld a, MUSIC_CREDITS call PlayMusic ld c, 128 call DelayFrames xor a - ld [wUnusedCD3D], a ; not read + ld [wHoFMonSpecies], a ld [wNumCreditsMonsDisplayed], a jp Credits -FadeInCreditsText: ; 740ba (1d:40ba) +FadeInCreditsText: + ld a, $1 + ld [H_AUTOBGTRANSFERENABLED], a ld hl, HoFGBPalettes ld b, 4 -.asm_740bf +.asm_f0f91 ld a, [hli] ld [rBGP], a + call UpdateGBCPal_BGP ld c, 5 call DelayFrames dec b - jr nz, .asm_740bf + jr nz, .asm_f0f91 ret -DisplayCreditsMon: ; 740cb (1d:40cb) - xor a - ld [H_AUTOBGTRANSFERENABLED],a - call SaveScreenTilesToBuffer1 - call FillMiddleOfScreenWithWhite +HoFGBPalettes: + db %11000000 + db %11010000 + db %11100000 + db %11110000 - ; 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 +DisplayCreditsMon: + ld hl, vBGMap1 call CreditsCopyTileMapToVRAM xor a - ld [H_AUTOBGTRANSFERENABLED],a - call LoadScreenTilesFromBuffer1 - ld hl,vBGMap0 + ld [H_AUTOBGTRANSFERENABLED], a + ld hl, rLCDC + set 3, [hl] + call SaveScreenTilesToBuffer2 + call FillMiddleOfScreenWithWhite + call GetNextCreditsMon + ld hl, vBGMap0 + 12 call CreditsCopyTileMapToVRAM - ld a,$A7 - ld [rWX],a - ld hl,vBGMap1 + xor a + ld [H_AUTOBGTRANSFERENABLED], a + call LoadScreenTilesFromBuffer2DisableBGTransfer + ld hl, vBGMap0 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 + ld a, %11111100 + ld [rBGP], a + call UpdateGBCPal_BGP + ld hl, rLCDC + res 3, [hl] + ld a, 1 + ld [H_AUTOBGTRANSFERENABLED], a + ld b, 0 + ld c, 10 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 FillLeftHalfOfScreenWithWhite + ld c, 10 call ScrollCreditsMonLeft - ld a,[rWX] - sub 8 - ld [rWX],a - dec c - jr nz,.scrollLoop2 - + call FillRightHalfOfScreenWithWhite + ld c, 8 + call ScrollCreditsMonLeft + ld a, %11000000 + ld [rBGP], a + call UpdateGBCPal_BGP xor a - ld [hWY],a - ld a,%11000000 - ld [rBGP],a + ld [hSCX], a ret -INCLUDE "data/credit_mons.asm" - -ScrollCreditsMonLeft: ; 74140 (1d:4140) - ld h, b - ld l, $20 - call ScrollCreditsMonLeft_SetSCX - ld h, $0 - ld l, $70 - call ScrollCreditsMonLeft_SetSCX +ScrollCreditsMonLeft: +.asm_f0fff ld a, b - add $8 + ld [hSCX], a + add 8 ld b, a + call DelayFrame + dec c + jr nz, .asm_f0fff ret -ScrollCreditsMonLeft_SetSCX: ; 74152 (1d:4152) - ld a, [rLY] - cp l - jr nz, ScrollCreditsMonLeft_SetSCX - ld a, h - ld [rSCX], a -.loop - ld a, [rLY] - cp h - jr z, .loop +GetNextCreditsMon: + ld hl, wNumCreditsMonsDisplayed + ld c, [hl] + inc [hl] + ld b, 0 + ld hl, CreditsMons + add hl, bc + ld a, [hl] + ld [wcf91], a + ld [wd0b5], a + coord hl, 8, 6 + call GetMonHeader + call LoadFrontSpriteByMonIndex ret -HoFGBPalettes: ; 74160 (1d:4160) - db %11000000 - db %11010000 - db %11100000 - db %11110000 +INCLUDE "data/credit_mons.asm" -CreditsCopyTileMapToVRAM: ; 74164 (1d:4164) +CreditsCopyTileMapToVRAM: ld a, l - ld [H_AUTOBGTRANSFERDEST], a + ld [$ffbc], a ld a, h - ld [H_AUTOBGTRANSFERDEST + 1], a - ld a, 1 + ld [$ffbd], a + ld a, $1 ld [H_AUTOBGTRANSFERENABLED], a jp Delay3 -ZeroMemory: ; 74171 (1d:4171) -; zero bc bytes at hl +CreditsLoadFont: + call LoadFontTilePatterns + ld hl, vChars1 + ld bc, $40 * $10 + call ZeroMemory + + call LoadTextBoxTilePatterns + ld hl, vChars2 + $60 * $10 + ld bc, $10 * $10 + call ZeroMemory + + ld hl, vChars2 + $7e * $10 + ld bc, $1 * $10 + ld a, $ff + call FillMemory + ret + +ZeroMemory: +.asm_f1071 ld [hl], 0 inc hl inc hl dec bc ld a, b or c - jr nz, ZeroMemory + jr nz, .asm_f1071 ret -FillFourRowsWithBlack: ; 7417b (1d:417b) - ld bc, SCREEN_WIDTH * 4 +FillFourRowsWithBlack: + ld bc, 4 * SCREEN_WIDTH ld a, $7e jp FillMemory -FillMiddleOfScreenWithWhite: ; 74183 (1d:4183) +FillMiddleOfScreenWithWhite: coord hl, 0, 4 - ld bc, SCREEN_WIDTH * 10 + ld bc, 10 * SCREEN_WIDTH ld a, " " jp FillMemory -Credits: ; 7418e (1d:418e) +FillLeftHalfOfScreenWithWhite: + coord hl, 0, 4 + push bc + call FillHalfOfScreenWithWhite + pop bc + ret + +FillRightHalfOfScreenWithWhite: + coord hl, 10, 4 + push bc + call FillHalfOfScreenWithWhite + pop bc + ret + +FillHalfOfScreenWithWhite: + ld b, 10 + ld c, 10 + ld a, " " +.asm_f10a6 + push bc + push hl +.asm_f10a8 + ld [hli], a + dec c + jr nz, .asm_f10a8 + pop hl + ld bc, SCREEN_WIDTH + add hl, bc + pop bc + dec b + jr nz, .asm_f10a6 + ret + +Credits: ; Roll credits ld de, CreditsOrder push de .nextCreditsScreen @@ -192,58 +233,48 @@ Credits: ; 7418e (1d:418e) 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 + call PlaceCreditsText pop de jr .nextCreditsCommand + +.showCopyrightText + callba LoadCopyrightTiles + pop de + jr .nextCreditsCommand + + .fadeInTextAndShowMon call FadeInCreditsText - ld c, 90 + ld c, 102 jr .next1 + .showTextAndShowMon - ld c, 110 + ld c, 122 .next1 call DelayFrames call DisplayCreditsMon jr .nextCreditsScreen + .fadeInText call FadeInCreditsText - ld c, 120 + ld c, 132 jr .next2 + .showText - ld c, 140 + ld c, 152 .next2 call DelayFrames jr .nextCreditsScreen -.showCopyrightText - push de - callba LoadCopyrightTiles - pop de - pop de - jr .nextCreditsCommand + .showTheEnd - ld c, 16 + call ShowTheEndGFX + pop de + ret + +ShowTheEndGFX: + ld c, 24 call DelayFrames call FillMiddleOfScreenWithWhite - pop de ld de, TheEndGfx ld hl, vChars2 + $600 lb bc, BANK(TheEndGfx), (TheEndGfxEnd - TheEndGfx) / $10 @@ -258,8 +289,31 @@ Credits: ; 7418e (1d:418e) TheEndTextString: ; 74229 (1d:4229) ; "T H E E N D" - db $60," ",$62," ",$64," ",$64," ",$66," ",$68,"@" - db $61," ",$63," ",$65," ",$65," ",$67," ",$69,"@" + db $60, " ", $62, " ", $64, " ", $64, " ", $66, " ", $68, "@" + db $61, " ", $63, " ", $65, " ", $65, " ", $67, " ", $69, "@" + +PlaceCreditsText: + push hl + push hl + ld hl, CreditsTextPointers + ld c, a + ld b, 0 + add hl, bc + add hl, bc + ld e, [hl] + inc hl + ld d, [hl] + pop hl + ld a, [de] + inc de + ld c, a + ld b, $ff + add hl, bc + call PlaceString + pop hl + ld bc, SCREEN_WIDTH * 2 + add hl, bc + ret INCLUDE "data/credits_order.asm" @@ -268,3 +322,4 @@ INCLUDE "text/credits_text.asm" TheEndGfx: ; 7473e (1d:473e) (7473f on blue) INCBIN "gfx/theend.interleave.2bpp" TheEndGfxEnd: + diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 61096d27..6174dc0b 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -342,8 +342,7 @@ NurseChanseyText: TX_FAR _NurseChanseyText db "@" - dr $f0f26, $f18bb - +INCLUDE "engine/HoF_room_pc.asm" INCLUDE "scripts/viridiancity2.asm" INCLUDE "scripts/vermilioncity2.asm" INCLUDE "scripts/celadoncity2.asm" diff --git a/text/credits_text.asm b/text/credits_text.asm index 02614c6a..c1ec13ba 100755 --- a/text/credits_text.asm +++ b/text/credits_text.asm @@ -1,194 +1,264 @@ CreditsTextPointers: ; 742c3 (1d:42c3) - 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 + dw CreditsText_f128f + dw CreditsText_f12a9 + dw CreditsText_f12b9 + dw CreditsText_f12c8 + dw CreditsText_f12da + dw CreditsText_f12ec + dw CreditsText_f12fc + dw CreditsText_f130b + dw CreditsText_f1319 + dw CreditsText_f1329 + dw CreditsText_f133b + dw CreditsText_f134e + dw CreditsText_f1362 + dw CreditsText_f1374 + dw CreditsText_f1385 + dw CreditsText_f1396 + dw CreditsText_f13a6 + dw CreditsText_f13b8 + dw CreditsText_f13cb + dw CreditsText_f13df + dw CreditsText_f13f2 + dw CreditsText_f1405 + dw CreditsText_f1416 + dw CreditsText_f1428 + dw CreditsText_f143a + dw CreditsText_f144a + dw CreditsText_f145b + dw CreditsText_f146b + dw CreditsText_f147b + dw CreditsText_f1481 + dw CreditsText_f148b + dw CreditsText_f1498 + dw CreditsText_f14aa + dw CreditsText_f14b1 + dw CreditsText_f14c0 + dw CreditsText_f14cd + dw CreditsText_f14dd + dw CreditsText_f14ec + dw CreditsText_f14ff + dw CreditsText_f150b + dw CreditsText_f151c + dw CreditsText_f1537 + dw CreditsText_f1541 + dw CreditsText_f1555 + dw CreditsText_f1565 + dw CreditsText_f1573 + dw CreditsText_f1583 + dw CreditsText_f15b7 + dw CreditsText_f1593 + dw CreditsText_f15a8 + dw CreditsText_f15c9 + dw CreditsText_f15da + dw CreditsText_f15ed + dw CreditsText_f1603 + dw CreditsText_f1619 + dw CreditsText_f162a + dw CreditsText_f1639 + dw CreditsText_f164a + dw CreditsText_f165c + dw CreditsText_f1670 + dw CreditsText_f167d + dw CreditsText_f168b + dw CreditsText_f16a2 + dw CreditsText_f16af + dw CreditsText_f16c8 + dw CreditsText_f16da + dw CreditsText_f16eb + dw CreditsText_f16f8 + dw CreditsText_f1708 + dw CreditsText_f1717 + dw CreditsText_f1727 + dw CreditsText_f1735 + dw CreditsText_f1747 + dw CreditsText_f1756 + dw CreditsText_f1764 + dw CreditsText_f1775 + dw CreditsText_f1786 + dw CreditsText_f1797 + dw CreditsText_f17a4 + dw CreditsText_f17ba + dw CreditsText_f152c + dw CreditsText_f17c8 + dw CreditsText_f17db + dw CreditsText_f17e8 + dw CreditsText_f17fa + dw CreditsText_f180b -CredVersion: ; 74343 (1d:4343) ; this 1 byte difference makes all bank addresses offset by 1 in the blue version - db -8, "RED VERSION STAFF@" -CredTajiri: ; 74356 (1d:4356) +CreditsText_f128f: + db -6, "YELLOW VERSION" + next " STAFF@" +CreditsText_f12a9: db -6, "SATOSHI TAJIRI@" -CredTaOota: ; 74366 (1d:4366) +CreditsText_f12b9: db -6, "TAKENORI OOTA@" -CredMorimoto: ; 74375 (1d:4375) +CreditsText_f12c8: db -7, "SHIGEKI MORIMOTO@" -CredWatanabe: ; 74387 (1d:4387) +CreditsText_f12da: db -7, "TETSUYA WATANABE@" -CredMasuda: ; 74399 (1d:4399) +CreditsText_f12ec: db -6, "JUNICHI MASUDA@" -CredNisino: ; 743a9 (1d:43a9) - db -5, "KOHJI NISINO@" -CredSugimori: ; 743b7 (1d:43b7) +CreditsText_f12fc: + db -5, "KOHJI NISHINO@" +CreditsText_f130b: db -5, "KEN SUGIMORI@" -CredNishida: ; 743c5 (1d:43c5) +CreditsText_f1319: db -6, "ATSUKO NISHIDA@" -CredMiyamoto: ; 743d5 (1d:43d5) +CreditsText_f1329: db -7, "SHIGERU MIYAMOTO@" -CredKawaguchi: ; 743e7 (1d:43e7) +CreditsText_f133b: db -8, "TAKASHI KAWAGUCHI@" -CredIshihara: ; 743fa (1d:43fa) +CreditsText_f134e: db -8, "TSUNEKAZU ISHIHARA@" -CredYamauchi: ; 7440e (1d:440e) +CreditsText_f1362: db -7, "HIROSHI YAMAUCHI@" -CredZinnai: ; 74420 (1d:4420) +CreditsText_f1374: db -7, "HIROYUKI ZINNAI@" -CredHishida: ; 74431 (1d:4431) +CreditsText_f1385: db -7, "TATSUYA HISHIDA@" -CredSakai: ; 74442 (1d:4442) +CreditsText_f1396: db -6, "YASUHIRO SAKAI@" -CredYamaguchi: ; 74452 (1d:4452) +CreditsText_f13a6: db -7, "WATARU YAMAGUCHI@" -CredYamamoto: ; 74464 (1d:4464) +CreditsText_f13b8: db -8, "KAZUYUKI YAMAMOTO@" -CredTaniguchi: ; 74477 (1d:4477) +CreditsText_f13cb: db -8, "RYOHSUKE TANIGUCHI@" -CredNonomura: ; 7448b (1d:448b) +CreditsText_f13df: db -8, "FUMIHIRO NONOMURA@" -CredFuziwara: ; 7449e (1d:449e) +CreditsText_f13f2: db -7, "MOTOFUMI FUZIWARA@" -CredMatsusima: ; 744b1 (1d:44b1) +CreditsText_f1405: db -7, "KENJI MATSUSIMA@" -CredTomisawa: ; 744c2 (1d:44c2) +CreditsText_f1416: db -7, "AKIHITO TOMISAWA@" -CredKawamoto: ; 744d4 (1d:44d4) +CreditsText_f1428: db -7, "HIROSHI KAWAMOTO@" -CredKakei: ; 744e6 (1d:44e6) +CreditsText_f143a: db -6, "AKIYOSHI KAKEI@" -CredTsuchiya: ; 744f6 (1d:44f6) +CreditsText_f144a: db -7, "KAZUKI TSUCHIYA@" -CredTaNakamura: ; 74507 (1d:4507) +CreditsText_f145b: db -6, "TAKEO NAKAMURA@" -CredYuda: ; 74517 (1d:4517) +CreditsText_f146b: db -6, "MASAMITSU YUDA@" -CredMon: ; 74527 (1d:4527) +CreditsText_f147b: db -3, "#MON@" -CredDirector: ; 7452d (1d:452d) +CreditsText_f1481: db -3, "DIRECTOR@" -CredProgrammers: ; 74537 (1d:4537) +CreditsText_f148b: db -5, "PROGRAMMERS@" -CredCharDesign: ; 74544 (1d:4544) +CreditsText_f1498: db -7, "CHARACTER DESIGN@" -CredMusic: ; 74556 (1d:4556) +CreditsText_f14aa: db -2, "MUSIC@" -CredSoundEffects: ; 7455d (1d:455d) +CreditsText_f14b1: db -6, "SOUND EFFECTS@" -CredGameDesign: ; 7456c (1d:456c) +CreditsText_f14c0: db -5, "GAME DESIGN@" -CredMonsterDesign: ; 74579 (1d:4579) +CreditsText_f14cd: db -6, "MONSTER DESIGN@" -CredGameScene: ; 74589 (1d:4589) +CreditsText_f14dd: db -6, "GAME SCENARIO@" -CredParam: ; 74598 (1d:4598) - db -8, "PARAMETRIC DESIGN@" -CredMap: ; 745ab (1d:45ab) +CreditsText_f14ec: + db -7, "PARAMETRIC DESIGN@" +CreditsText_f14ff: db -4, "MAP DESIGN@" -CredTest: ; 745b7 (1d:45b7) - db -7, "PRODUCT TESTING@" -CredSpecial: ; 745c8 (1d:45c8) +CreditsText_f150b: + db -6, "PRODUCT TESTING@" +CreditsText_f151c: db -6, "SPECIAL THANKS@" -CredProducers: ; 745d8 (1d:45d8) +CreditsText_f152c: db -4, "PRODUCERS@" -CredProducer: ; 745e3 (1d:45e3) - db -4, "PRODUCER@" -CredExecutive: ; 745ed (1d:45ed) +CreditsText_f1537: + db -3, "PRODUCER@" +CreditsText_f1541: db -8, "EXECUTIVE PRODUCER@" -CredTamada: ; 74601 (1d:4601) +CreditsText_f1555: db -6, "SOUSUKE TAMADA@" -CredSaOota: ; 74611 (1d:4611) +CreditsText_f1565: db -5, "SATOSHI OOTA@" -CredYoshikawa: ; 7461f (1d:461f) +CreditsText_f1573: db -6, "RENA YOSHIKAWA@" -CredToOota: ; 7462f (1d:462f) +CreditsText_f1583: db -6, "TOMOMICHI OOTA@" -CredUSStaff: ; 7463f (1d:463f) +CreditsText_f1593: + db -8, "TOSHINOBU MATSUMIYA@" +CreditsText_f15a8: + db -5, "NOBUHIRO SEYA@" +CreditsText_f15b7: + db -7, "HIRONOBU YOSHIDA@" +CreditsText_f15c9: + db -6, "KAZUHITO SEKINE@" +CreditsText_f15da: + db -7, "KAZUSHI SHIMAMURA@" +CreditsText_f15ed: + db -9, "TERUYUKI SHIMOYAMADA@" +CreditsText_f1603: + db -9, "NCL SUPER MARIO CLUB@" +CreditsText_f1619: + db -7, "TAKEHIRO IZUSHI@" +CreditsText_f162a: + db -5, "FUZIKO NOMURA@" +CreditsText_f1639: + db -6, "TAKAHIRO HARADA@" +CreditsText_f164a: + db -7, "HITOSHI YAMAGAMI@" +CreditsText_f165c: + db -8, "KENTAROU NISHIMURA@" +CreditsText_f1670: + db -5, "NAOKO SAEKI@" +CreditsText_f167d: + db -5, "TAKAYA FUZII@" +CreditsText_f168b: + db -4, "SHOGAKUKAN" + next "PRODUCTION@" +CreditsText_f16a2: + db -5, "IKUE OOTANI@" +CreditsText_f16af: + db -6, "PIKACHU VOICE@" + + db -3, "××××××××@" +CreditsText_f16c8: db -7, "US VERSION STAFF@" -CredUSCoord: ; 74651 (1d:4651) +CreditsText_f16da: db -7, "US COORDINATION@" -CredTilden: ; 74662 (1d:4662) +CreditsText_f16eb: db -5, "GAIL TILDEN@" -CredKawakami: ; 7466f (1d:466f) +CreditsText_f16f8: db -6, "NAOKO KAWAKAMI@" -CredHiNakamura: ; 7467f (1d:467f) +CreditsText_f1708: db -6, "HIRO NAKAMURA@" -CredGiese: ; 7468e (1d:468e) - db -6, "WILLIAM GIESE@" -CredOsborne: ; 7469d (1d:469d) +CreditsText_f1717: + db -6, "RANDY SHOEMAKE@" +CreditsText_f1727: db -5, "SARA OSBORNE@" -CredTrans: ; 746ab (1d:46ab) +CreditsText_f1735: db -7, "TEXT TRANSLATION@" -CredOgasawara: ; 746bd (1d:46bd) +CreditsText_f1747: db -6, "NOB OGASAWARA@" -CredIwata: ; 746cc (1d:46cc) +CreditsText_f1756: db -5, "SATORU IWATA@" -CredIzushi: ; 746da (1d:46da) +CreditsText_f1764: db -7, "TAKEHIRO IZUSHI@" -CredHarada: ; 746eb (1d:46eb) +CreditsText_f1775: db -7, "TAKAHIRO HARADA@" -CredMurakawa: ; 746fc (1d:46fc) +CreditsText_f1786: db -7, "TERUKI MURAKAWA@" -CredFukui: ; 7470d (1d:470d) +CreditsText_f1797: db -5, "KOHTA FUKUI@" -CredClub: ; 7471a (1d:471a) +CreditsText_f17a4: db -9, "NCL SUPER MARIO CLUB@" -CredPAAD: ; 74730 (1d:4730) +CreditsText_f17ba: db -5, "PAAD TESTING@" +CreditsText_f17c8: + db -8, "TAKEHIKO HOSOKAWA@" +CreditsText_f17db: + db -5, "KENJI OKUBO@" +CreditsText_f17e8: + db -7, "KIMIKO NAKAMICHI@" +CreditsText_f17fa: + db -6, "KAMON YOSHIMURA@" +CreditsText_f180b: + db -6, "SAKAE YAMAZAKI@" -- cgit v1.3.1-sl0p From 886ae03c1c2c7fb12ba5b430fb8f05e1c4342d05 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 17:34:09 -0400 Subject: Redo credits constants --- constants/credits_constants.asm | 162 +++++++++++-------- data/credits_order.asm | 68 ++++---- text/credits_text.asm | 344 ++++++++++++++++++++-------------------- 3 files changed, 300 insertions(+), 274 deletions(-) (limited to 'constants') diff --git a/constants/credits_constants.asm b/constants/credits_constants.asm index 99af7992..013ceceb 100644 --- a/constants/credits_constants.asm +++ b/constants/credits_constants.asm @@ -1,69 +1,95 @@ -const_value = 0 - - const CRED_VERSION ; $00 - const CRED_TAJIRI ; $01 - const CRED_TA_OOTA ; $02 - const CRED_MORIMOTO ; $03 - const CRED_WATANABE ; $04 - const CRED_MASUDE ; $05 - const CRED_NISINO ; $06 - const CRED_SUGIMORI ; $07 - const CRED_NISHIDA ; $08 - const CRED_MIYAMOTO ; $09 - const CRED_KAWAGUCHI ; $0A - const CRED_ISHIHARA ; $0B - const CRED_YAMAUCHI ; $0C - const CRED_ZINNAI ; $0D - const CRED_HISHIDA ; $0E - const CRED_SAKAI ; $0F - const CRED_YAMAGUCHI ; $10 - const CRED_YAMAMOTO ; $11 - const CRED_TANIGUCHI ; $12 - const CRED_NONOMURA ; $13 - const CRED_FUZIWARA ; $14 - const CRED_MATSUSIMA ; $15 - const CRED_TOMISAWA ; $16 - const CRED_KAWAMOTO ; $17 - const CRED_KAKEI ; $18 - const CRED_TSUCHIYA ; $19 - const CRED_TA_NAKAMURA ; $1A - const CRED_YUDA ; $1B - const CRED_MON ; $1C - const CRED_DIRECTOR ; $1D - const CRED_PROGRAMMERS ; $1E - const CRED_CHAR_DESIGN ; $1F - const CRED_MUSIC ; $20 - const CRED_SOUND_EFFECTS ; $21 - const CRED_GAME_DESIGN ; $22 - const CRED_MONSTER_DESIGN ; $23 - const CRED_GAME_SCENE ; $24 - const CRED_PARAM ; $25 - const CRED_MAP ; $26 - const CRED_TEST ; $27 - const CRED_SPECIAL ; $28 - const CRED_PRODUCERS ; $29 - const CRED_PRODUCER ; $2A - const CRED_EXECUTIVE ; $2B - const CRED_TAMADA ; $2C - const CRED_SA_OOTA ; $2D - const CRED_YOSHIKAWA ; $2E - const CRED_TO_OOTA ; $2F - const CRED_US_STAFF ; $30 - const CRED_US_COORD ; $31 - const CRED_TILDEN ; $32 - const CRED_KAWAKAMI ; $33 - const CRED_HI_NAKAMURA ; $34 - const CRED_GIESE ; $35 - const CRED_OSBORNE ; $36 - const CRED_TRANS ; $37 - const CRED_OGASAWARA ; $38 - const CRED_IWATA ; $39 - const CRED_IZUSHI ; $3A - const CRED_HARADA ; $3B - const CRED_MURAKAWA ; $3C - const CRED_FUKUI ; $3D - const CRED_CLUB ; $3E - const CRED_PAAD ; $3F - const CRED_40 - + const_def + const CRED_VERSION ; 00 + const CRED_TAJIRI ; 01 + const CRED_OOTA ; 02 + const CRED_MORIMOTO ; 03 + const CRED_WATANABE ; 04 + const CRED_MASUDA ; 05 + const CRED_NISHINO ; 06 + const CRED_SUGIMORI ; 07 + const CRED_NISHIDA ; 08 + const CRED_MIYAMOTO ; 09 + const CRED_KAWAGUCHI ; 0a + const CRED_ISHIHARA ; 0b + const CRED_YAMAUCHI ; 0c + const CRED_ZINNAI ; 0d + const CRED_HISHIDA ; 0e + const CRED_SAKAI ; 0f + const CRED_YAMAGUCHI ; 10 + const CRED_YAMAMOTO ; 11 + const CRED_TANIGUCHI ; 12 + const CRED_NONOMURA ; 13 + const CRED_FUZIWARA ; 14 + const CRED_MATSUSIMA ; 15 + const CRED_TOMISAWA ; 16 + const CRED_KAWAMOTO ; 17 + const CRED_KAKEI ; 18 + const CRED_TSUCHIYA ; 19 + const CRED_NAKAMURA ; 1a + const CRED_YUDA ; 1b + const CRED_POKEMON ; 1c + const CRED_DIRECTOR ; 1d + const CRED_PROGRAMMERS ; 1e + const CRED_CHARACTER_DESIGN ; 1f + const CRED_MUSIC ; 20 + const CRED_SOUND_EFFECTS ; 21 + const CRED_GAME_DESIGN ; 22 + const CRED_MONSTER_DESIGN ; 23 + const CRED_GAME_SCENARIO ; 24 + const CRED_PARAMETRIC_DESIGN ; 25 + const CRED_MAP_DESIGN ; 26 + const CRED_TESTING ; 27 + const CRED_SPECIAL_THANKS ; 28 + const CRED_PRODUCER ; 29 + const CRED_EXECUTIVE_PRODUCER ; 2a + const CRED_TAMADA ; 2b + const CRED_OOTA2 ; 2c + const CRED_YOSHIKAWA ; 2d + const CRED_OOTA23 ; 2e + const CRED_YOSHIDA ; 2f + const CRED_MATSUMITA ; 30 + const CRED_SEYA ; 31 + const CRED_SEKINE ; 32 + const CRED_SHIMAMURA ; 33 + const CRED_SHIMOYAMADA ; 34 + const CRED_SUPER_MARIO_CLUB ; 35 + const CRED_IZUSHI ; 36 + const CRED_NOMURA ; 37 + const CRED_HARADA ; 38 + const CRED_YAMAGAMI ; 39 + const CRED_NISHIMURA ; 3a + const CRED_SAEKI ; 3b + const CRED_FUZII ; 3c + const CRED_SHOGAKUKAN ; 3d + const CRED_OOTANI ; 3e + const CRED_PIKACHU_VOICE ; 3f + const CRED_U_S_STAFF ; 40 + const CRED_U_S_COORD ; 41 + const CRED_TILDEN ; 42 + const CRED_KAWAKAMI ; 43 + const CRED_NAKAMURA2 ; 44 + const CRED_SHOEMAKE ; 45 + const CRED_OSBORNE ; 46 + const CRED_TRANSLATION ; 47 + const CRED_OGASAWARA ; 48 + const CRED_IWATA ; 49 + const CRED_IZUSHI2 ; 4a + const CRED_HARADA2 ; 4b + const CRED_MURAKAWA ; 4c + const CRED_FUKUI ; 4d + const CRED_SUPER_MARIO_CLUB2 ; 4e + const CRED_PAAD ; 4f + const CRED_PRODUCERS ; 50 + const CRED_HOSOKAWA ; 51 + const CRED_OKUBO ; 52 + const CRED_NAKAMICHI ; 53 + const CRED_YOSHIMURA ; 54 + const CRED_YAMAZAKI ; 55 +const_value SET $fa + const CRED_THE_END + const CRED_COPYRIGHT + const CRED_TEXT + const CRED_TEXT_FADE + const CRED_TEXT_MON + const CRED_TEXT_FADE_MON diff --git a/data/credits_order.asm b/data/credits_order.asm index 4d940602..e84a2a09 100755 --- a/data/credits_order.asm +++ b/data/credits_order.asm @@ -2,37 +2,37 @@ CreditsOrder: ; 74243 (1d:4243) ; 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 $1c, $00, $ff - db $1d, $01, $ff - db $1e, $02, $03, $04, $fd - db $1e, $05, $2b, $fe - db $1f, $07, $08, $ff - db $20, $05, $fd - db $21, $05, $04, $fe - db $22, $01, $06, $ff - db $23, $07, $08, $2f, $ff - db $24, $01, $fd - db $24, $30, $fe - db $25, $06, $ff - db $26, $01, $06, $31, $ff - db $27, $32, $31, $fd - db $27, $33, $34, $fe - db $28, $3d, $ff - db $3f, $3e, $ff - db $29, $36, $fd - db $29, $0a, $fc - db $29, $0b, $fe - db $40, $fd - db $41, $42, $fd - db $41, $43, $44, $fc - db $41, $45, $46, $fc - db $47, $48, $fd - db $1e, $4c, $4d, $fd - db $1f, $51, $fd - db $28, $52, $4b, $fd - db $28, $53, $54, $55, $fc - db $27, $4f, $4e, $fd - db $2a, $0c, $ff - db $fb - db $ff - db $fa + db CRED_POKEMON, CRED_VERSION, CRED_TEXT_FADE_MON + db CRED_DIRECTOR, CRED_TAJIRI, CRED_TEXT_FADE_MON + db CRED_PROGRAMMERS, CRED_OOTA, CRED_MORIMOTO, CRED_WATANABE, CRED_TEXT_FADE + db CRED_PROGRAMMERS, CRED_MASUDA, CRED_TAMADA, CRED_TEXT_MON + db CRED_CHARACTER_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, CRED_TEXT_FADE_MON + db CRED_MUSIC, CRED_MASUDA, CRED_TEXT_FADE + db CRED_SOUND_EFFECTS, CRED_MASUDA, CRED_WATANABE, CRED_TEXT_MON + db CRED_GAME_DESIGN, CRED_TAJIRI, CRED_NISHINO, CRED_TEXT_FADE_MON + db CRED_MONSTER_DESIGN, CRED_SUGIMORI, CRED_NISHIDA, CRED_YOSHIDA, CRED_TEXT_FADE_MON + db CRED_GAME_SCENARIO, CRED_TAJIRI, CRED_TEXT_FADE + db CRED_GAME_SCENARIO, CRED_MATSUMITA, CRED_TEXT_MON + db CRED_PARAMETRIC_DESIGN, CRED_NISHINO, CRED_TEXT_FADE_MON + db CRED_MAP_DESIGN, CRED_TAJIRI, CRED_NISHINO, CRED_SEYA, CRED_TEXT_FADE_MON + db CRED_TESTING, CRED_SEKINE, CRED_SEYA, CRED_TEXT_FADE + db CRED_TESTING, CRED_SHIMAMURA, CRED_SHIMOYAMADA, CRED_TEXT_MON + db CRED_SPECIAL_THANKS, CRED_SHOGAKUKAN, CRED_TEXT_FADE_MON + db CRED_PIKACHU_VOICE, CRED_OOTANI, CRED_TEXT_FADE_MON + db CRED_PRODUCER, CRED_IZUSHI, CRED_TEXT_FADE + db CRED_PRODUCER, CRED_KAWAGUCHI, CRED_TEXT + db CRED_PRODUCER, CRED_ISHIHARA, CRED_TEXT_MON + db CRED_U_S_STAFF, CRED_TEXT_FADE + db CRED_U_S_COORD, CRED_TILDEN, CRED_TEXT_FADE + db CRED_U_S_COORD, CRED_KAWAKAMI, CRED_NAKAMURA2, CRED_TEXT + db CRED_U_S_COORD, CRED_SHOEMAKE, CRED_OSBORNE, CRED_TEXT + db CRED_TRANSLATION, CRED_OGASAWARA, CRED_TEXT_FADE + db CRED_PROGRAMMERS, CRED_MURAKAWA, CRED_FUKUI, CRED_TEXT_FADE + db CRED_CHARACTER_DESIGN, CRED_HOSOKAWA, CRED_TEXT_FADE + db CRED_SPECIAL_THANKS, CRED_OKUBO, CRED_HARADA2, CRED_TEXT_FADE + db CRED_SPECIAL_THANKS, CRED_NAKAMICHI, CRED_YOSHIMURA, CRED_YAMAZAKI, CRED_TEXT + db CRED_TESTING, CRED_PAAD, CRED_SUPER_MARIO_CLUB2, CRED_TEXT_FADE + db CRED_EXECUTIVE_PRODUCER, CRED_YAMAUCHI, CRED_TEXT_FADE_MON + db CRED_COPYRIGHT + db CRED_TEXT_FADE_MON + db CRED_THE_END diff --git a/text/credits_text.asm b/text/credits_text.asm index c1ec13ba..54b52c97 100755 --- a/text/credits_text.asm +++ b/text/credits_text.asm @@ -1,264 +1,264 @@ CreditsTextPointers: ; 742c3 (1d:42c3) - dw CreditsText_f128f - dw CreditsText_f12a9 - dw CreditsText_f12b9 - dw CreditsText_f12c8 - dw CreditsText_f12da - dw CreditsText_f12ec - dw CreditsText_f12fc - dw CreditsText_f130b - dw CreditsText_f1319 - dw CreditsText_f1329 - dw CreditsText_f133b - dw CreditsText_f134e - dw CreditsText_f1362 - dw CreditsText_f1374 - dw CreditsText_f1385 - dw CreditsText_f1396 - dw CreditsText_f13a6 - dw CreditsText_f13b8 - dw CreditsText_f13cb - dw CreditsText_f13df - dw CreditsText_f13f2 - dw CreditsText_f1405 - dw CreditsText_f1416 - dw CreditsText_f1428 - dw CreditsText_f143a - dw CreditsText_f144a - dw CreditsText_f145b - dw CreditsText_f146b - dw CreditsText_f147b - dw CreditsText_f1481 - dw CreditsText_f148b - dw CreditsText_f1498 - dw CreditsText_f14aa - dw CreditsText_f14b1 - dw CreditsText_f14c0 - dw CreditsText_f14cd - dw CreditsText_f14dd - dw CreditsText_f14ec - dw CreditsText_f14ff - dw CreditsText_f150b - dw CreditsText_f151c - dw CreditsText_f1537 - dw CreditsText_f1541 - dw CreditsText_f1555 - dw CreditsText_f1565 - dw CreditsText_f1573 - dw CreditsText_f1583 - dw CreditsText_f15b7 - dw CreditsText_f1593 - dw CreditsText_f15a8 - dw CreditsText_f15c9 - dw CreditsText_f15da - dw CreditsText_f15ed - dw CreditsText_f1603 - dw CreditsText_f1619 - dw CreditsText_f162a - dw CreditsText_f1639 - dw CreditsText_f164a - dw CreditsText_f165c - dw CreditsText_f1670 - dw CreditsText_f167d - dw CreditsText_f168b - dw CreditsText_f16a2 - dw CreditsText_f16af - dw CreditsText_f16c8 - dw CreditsText_f16da - dw CreditsText_f16eb - dw CreditsText_f16f8 - dw CreditsText_f1708 - dw CreditsText_f1717 - dw CreditsText_f1727 - dw CreditsText_f1735 - dw CreditsText_f1747 - dw CreditsText_f1756 - dw CreditsText_f1764 - dw CreditsText_f1775 - dw CreditsText_f1786 - dw CreditsText_f1797 - dw CreditsText_f17a4 - dw CreditsText_f17ba - dw CreditsText_f152c - dw CreditsText_f17c8 - dw CreditsText_f17db - dw CreditsText_f17e8 - dw CreditsText_f17fa - dw CreditsText_f180b + dw CreditsText_Version + dw CreditsText_Tajiri + dw CreditsText_Oota + dw CreditsText_Morimoto + dw CreditsText_Watanabe + dw CreditsText_Masuda + dw CreditsText_Nishino + dw CreditsText_Sugimori + dw CreditsText_Nishida + dw CreditsText_Miyamoto + dw CreditsText_Kawaguchi + dw CreditsText_Ishihara + dw CreditsText_Yamauchi + dw CreditsText_Zinnai + dw CreditsText_Hishida + dw CreditsText_Sakai + dw CreditsText_Yamaguchi + dw CreditsText_Yamamoto + dw CreditsText_Taniguchi + dw CreditsText_Nonomura + dw CreditsText_Fuziwara + dw CreditsText_Matsusima + dw CreditsText_Tomisawa + dw CreditsText_Kawamoto + dw CreditsText_Kakei + dw CreditsText_Tsuchiya + dw CreditsText_Nakamura + dw CreditsText_Yuda + dw CreditsText_Pokemon + dw CreditsText_Director + dw CreditsText_Programmers + dw CreditsText_CharacterDesign + dw CreditsText_Music + dw CreditsText_SoundEffects + dw CreditsText_GameDesign + dw CreditsText_MonsterDesign + dw CreditsText_GameScenario + dw CreditsText_ParametricDesign + dw CreditsText_MapDesign + dw CreditsText_Testing + dw CreditsText_SpecialThanks + dw CreditsText_Producer + dw CreditsText_ExecutiveProducer + dw CreditsText_Tamada + dw CreditsText_Oota2 + dw CreditsText_Yoshikawa + dw CreditsText_Oota23 + dw CreditsText_Yoshida + dw CreditsText_Matsumita + dw CreditsText_Seya + dw CreditsText_Sekine + dw CreditsText_Shimamura + dw CreditsText_Shimoyamada + dw CreditsText_SuperMarioClub + dw CreditsText_Izushi + dw CreditsText_Nomura + dw CreditsText_Harada + dw CreditsText_Yamagami + dw CreditsText_Nishimura + dw CreditsText_Saeki + dw CreditsText_Fuzii + dw CreditsText_Shogakukan + dw CreditsText_Ootani + dw CreditsText_PikachuVoice + dw CreditsText_USStaff + dw CreditsText_USCoord + dw CreditsText_Tilden + dw CreditsText_Kawakami + dw CreditsText_Nakamura2 + dw CreditsText_Shoemake + dw CreditsText_Osborne + dw CreditsText_Translation + dw CreditsText_Ogasawara + dw CreditsText_Iwata + dw CreditsText_Izushi2 + dw CreditsText_Harada2 + dw CreditsText_Murakawa + dw CreditsText_Fukui + dw CreditsText_SuperMarioClub2 + dw CreditsText_Paad + dw CreditsText_Producers + dw CreditsText_Hosokawa + dw CreditsText_Okubo + dw CreditsText_Nakamichi + dw CreditsText_Yoshimura + dw CreditsText_Yamazaki -CreditsText_f128f: +CreditsText_Version: db -6, "YELLOW VERSION" next " STAFF@" -CreditsText_f12a9: +CreditsText_Tajiri: db -6, "SATOSHI TAJIRI@" -CreditsText_f12b9: +CreditsText_Oota: db -6, "TAKENORI OOTA@" -CreditsText_f12c8: +CreditsText_Morimoto: db -7, "SHIGEKI MORIMOTO@" -CreditsText_f12da: +CreditsText_Watanabe: db -7, "TETSUYA WATANABE@" -CreditsText_f12ec: +CreditsText_Masuda: db -6, "JUNICHI MASUDA@" -CreditsText_f12fc: +CreditsText_Nishino: db -5, "KOHJI NISHINO@" -CreditsText_f130b: +CreditsText_Sugimori: db -5, "KEN SUGIMORI@" -CreditsText_f1319: +CreditsText_Nishida: db -6, "ATSUKO NISHIDA@" -CreditsText_f1329: +CreditsText_Miyamoto: db -7, "SHIGERU MIYAMOTO@" -CreditsText_f133b: +CreditsText_Kawaguchi: db -8, "TAKASHI KAWAGUCHI@" -CreditsText_f134e: +CreditsText_Ishihara: db -8, "TSUNEKAZU ISHIHARA@" -CreditsText_f1362: +CreditsText_Yamauchi: db -7, "HIROSHI YAMAUCHI@" -CreditsText_f1374: +CreditsText_Zinnai: db -7, "HIROYUKI ZINNAI@" -CreditsText_f1385: +CreditsText_Hishida: db -7, "TATSUYA HISHIDA@" -CreditsText_f1396: +CreditsText_Sakai: db -6, "YASUHIRO SAKAI@" -CreditsText_f13a6: +CreditsText_Yamaguchi: db -7, "WATARU YAMAGUCHI@" -CreditsText_f13b8: +CreditsText_Yamamoto: db -8, "KAZUYUKI YAMAMOTO@" -CreditsText_f13cb: +CreditsText_Taniguchi: db -8, "RYOHSUKE TANIGUCHI@" -CreditsText_f13df: +CreditsText_Nonomura: db -8, "FUMIHIRO NONOMURA@" -CreditsText_f13f2: +CreditsText_Fuziwara: db -7, "MOTOFUMI FUZIWARA@" -CreditsText_f1405: +CreditsText_Matsusima: db -7, "KENJI MATSUSIMA@" -CreditsText_f1416: +CreditsText_Tomisawa: db -7, "AKIHITO TOMISAWA@" -CreditsText_f1428: +CreditsText_Kawamoto: db -7, "HIROSHI KAWAMOTO@" -CreditsText_f143a: +CreditsText_Kakei: db -6, "AKIYOSHI KAKEI@" -CreditsText_f144a: +CreditsText_Tsuchiya: db -7, "KAZUKI TSUCHIYA@" -CreditsText_f145b: +CreditsText_Nakamura: db -6, "TAKEO NAKAMURA@" -CreditsText_f146b: +CreditsText_Yuda: db -6, "MASAMITSU YUDA@" -CreditsText_f147b: +CreditsText_Pokemon: db -3, "#MON@" -CreditsText_f1481: +CreditsText_Director: db -3, "DIRECTOR@" -CreditsText_f148b: +CreditsText_Programmers: db -5, "PROGRAMMERS@" -CreditsText_f1498: +CreditsText_CharacterDesign: db -7, "CHARACTER DESIGN@" -CreditsText_f14aa: +CreditsText_Music: db -2, "MUSIC@" -CreditsText_f14b1: +CreditsText_SoundEffects: db -6, "SOUND EFFECTS@" -CreditsText_f14c0: +CreditsText_GameDesign: db -5, "GAME DESIGN@" -CreditsText_f14cd: +CreditsText_MonsterDesign: db -6, "MONSTER DESIGN@" -CreditsText_f14dd: +CreditsText_GameScenario: db -6, "GAME SCENARIO@" -CreditsText_f14ec: +CreditsText_ParametricDesign: db -7, "PARAMETRIC DESIGN@" -CreditsText_f14ff: +CreditsText_MapDesign: db -4, "MAP DESIGN@" -CreditsText_f150b: +CreditsText_Testing: db -6, "PRODUCT TESTING@" -CreditsText_f151c: +CreditsText_SpecialThanks: db -6, "SPECIAL THANKS@" -CreditsText_f152c: +CreditsText_Producers: db -4, "PRODUCERS@" -CreditsText_f1537: +CreditsText_Producer: db -3, "PRODUCER@" -CreditsText_f1541: +CreditsText_ExecutiveProducer: db -8, "EXECUTIVE PRODUCER@" -CreditsText_f1555: +CreditsText_Tamada: db -6, "SOUSUKE TAMADA@" -CreditsText_f1565: +CreditsText_Oota2: db -5, "SATOSHI OOTA@" -CreditsText_f1573: +CreditsText_Yoshikawa: db -6, "RENA YOSHIKAWA@" -CreditsText_f1583: +CreditsText_Oota23: db -6, "TOMOMICHI OOTA@" -CreditsText_f1593: +CreditsText_Matsumita: db -8, "TOSHINOBU MATSUMIYA@" -CreditsText_f15a8: +CreditsText_Seya: db -5, "NOBUHIRO SEYA@" -CreditsText_f15b7: +CreditsText_Yoshida: db -7, "HIRONOBU YOSHIDA@" -CreditsText_f15c9: +CreditsText_Sekine: db -6, "KAZUHITO SEKINE@" -CreditsText_f15da: +CreditsText_Shimamura: db -7, "KAZUSHI SHIMAMURA@" -CreditsText_f15ed: +CreditsText_Shimoyamada: db -9, "TERUYUKI SHIMOYAMADA@" -CreditsText_f1603: +CreditsText_SuperMarioClub: db -9, "NCL SUPER MARIO CLUB@" -CreditsText_f1619: +CreditsText_Izushi: db -7, "TAKEHIRO IZUSHI@" -CreditsText_f162a: +CreditsText_Nomura: db -5, "FUZIKO NOMURA@" -CreditsText_f1639: +CreditsText_Harada: db -6, "TAKAHIRO HARADA@" -CreditsText_f164a: +CreditsText_Yamagami: db -7, "HITOSHI YAMAGAMI@" -CreditsText_f165c: +CreditsText_Nishimura: db -8, "KENTAROU NISHIMURA@" -CreditsText_f1670: +CreditsText_Saeki: db -5, "NAOKO SAEKI@" -CreditsText_f167d: +CreditsText_Fuzii: db -5, "TAKAYA FUZII@" -CreditsText_f168b: +CreditsText_Shogakukan: db -4, "SHOGAKUKAN" next "PRODUCTION@" -CreditsText_f16a2: +CreditsText_Ootani: db -5, "IKUE OOTANI@" -CreditsText_f16af: +CreditsText_PikachuVoice: db -6, "PIKACHU VOICE@" db -3, "××××××××@" -CreditsText_f16c8: +CreditsText_USStaff: db -7, "US VERSION STAFF@" -CreditsText_f16da: +CreditsText_USCoord: db -7, "US COORDINATION@" -CreditsText_f16eb: +CreditsText_Tilden: db -5, "GAIL TILDEN@" -CreditsText_f16f8: +CreditsText_Kawakami: db -6, "NAOKO KAWAKAMI@" -CreditsText_f1708: +CreditsText_Nakamura2: db -6, "HIRO NAKAMURA@" -CreditsText_f1717: +CreditsText_Shoemake: db -6, "RANDY SHOEMAKE@" -CreditsText_f1727: +CreditsText_Osborne: db -5, "SARA OSBORNE@" -CreditsText_f1735: +CreditsText_Translation: db -7, "TEXT TRANSLATION@" -CreditsText_f1747: +CreditsText_Ogasawara: db -6, "NOB OGASAWARA@" -CreditsText_f1756: +CreditsText_Iwata: db -5, "SATORU IWATA@" -CreditsText_f1764: +CreditsText_Izushi2: db -7, "TAKEHIRO IZUSHI@" -CreditsText_f1775: +CreditsText_Harada2: db -7, "TAKAHIRO HARADA@" -CreditsText_f1786: +CreditsText_Murakawa: db -7, "TERUKI MURAKAWA@" -CreditsText_f1797: +CreditsText_Fukui: db -5, "KOHTA FUKUI@" -CreditsText_f17a4: +CreditsText_SuperMarioClub2: db -9, "NCL SUPER MARIO CLUB@" -CreditsText_f17ba: +CreditsText_Paad: db -5, "PAAD TESTING@" -CreditsText_f17c8: +CreditsText_Hosokawa: db -8, "TAKEHIKO HOSOKAWA@" -CreditsText_f17db: +CreditsText_Okubo: db -5, "KENJI OKUBO@" -CreditsText_f17e8: +CreditsText_Nakamichi: db -7, "KIMIKO NAKAMICHI@" -CreditsText_f17fa: +CreditsText_Yoshimura: db -6, "KAMON YOSHIMURA@" -CreditsText_f180b: +CreditsText_Yamazaki: db -6, "SAKAE YAMAZAKI@" -- cgit v1.3.1-sl0p From d9e7b91cb3a77891901974f65104dca2fc286ab7 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 18:13:32 -0400 Subject: Route 20 scripts and route 19 blocks --- constants/hide_show_constants.asm | 2 ++ data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- main.asm | 12 ++++++------ maps/route19.blk | 2 +- 5 files changed, 11 insertions(+), 9 deletions(-) (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index db37b9d9..fc8ab90f 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -226,6 +226,8 @@ const_value SET $7c ; idk anymore lol const HS_VICTORY_ROAD_1_ITEM_1 ; D6 const HS_VICTORY_ROAD_1_ITEM_2 ; D7 const HS_CHAMPIONS_ROOM_OAK ; D8 + +const_value SET $df const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D9 const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; DA const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; DB diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index e75d32b5..a9de3dff 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -31,7 +31,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $15 ; db BANK(Route17_h) ; ROUTE_17 db $16 ; db BANK(Route18_h) ; ROUTE_18 db $15 ; db BANK(Route19_h) ; ROUTE_19 - db $14 ; db BANK(Route20_h) ; ROUTE_20 + db BANK(Route20_h) ; ROUTE_20 db BANK(Route21_h) ; ROUTE_21 db BANK(Route22_h) ; ROUTE_22 db BANK(Route23_h) ; ROUTE_23 diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 0de20020..d6672bbe 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -31,7 +31,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $4b28 ; dw Route17_h dw $4c38 ; dw Route18_h dw $4e80 ; dw Route19_h - dw $40f1 ; dw Route20_h + dw Route20_h dw Route21_h dw Route22_h dw Route23_h diff --git a/main.asm b/main.asm index 5c85df92..b988997b 100755 --- a/main.asm +++ b/main.asm @@ -780,9 +780,8 @@ INCLUDE "data/mapHeaders/route22.asm" INCLUDE "data/mapObjects/route22.asm" Route22Blocks: INCBIN "maps/route22.blk" -; INCLUDE "data/mapHeaders/route20.asm" -; INCLUDE "data/mapObjects/route20.asm" - dr $500f1,$5017d +INCLUDE "data/mapHeaders/route20.asm" +INCLUDE "data/mapObjects/route20.asm" Route20Blocks: INCBIN "maps/route20.blk" @@ -813,8 +812,7 @@ INCLUDE "data/mapObjects/saffroncity.asm" SaffronCityBlocks: ; 50a98 (14:4a98) INCBIN "maps/saffroncity.blk" INCLUDE "scripts/saffroncity.asm" -; INCLUDE "scripts/route20.asm" - dr $50ca9,$50eb2 +INCLUDE "scripts/route20.asm" INCLUDE "scripts/route22.asm" INCLUDE "scripts/route23.asm" INCLUDE "scripts/route24.asm" @@ -858,7 +856,9 @@ INCBIN "maps/route5.blk" dr $5468e,$54706 Route9Blocks: ; 54706 INCBIN "maps/route9.blk" - dr $54814,$5500f + dr $54814,$54f01 +Route19Blocks: +INCBIN "maps/route19.blk" INCLUDE "data/mapHeaders/route21.asm" INCLUDE "data/mapObjects/route21.asm" Route21Blocks: ; 5507d diff --git a/maps/route19.blk b/maps/route19.blk index 0bd469e7..3fc58494 100644 --- a/maps/route19.blk +++ b/maps/route19.blk @@ -1 +1 @@ -(,)(,)(,)$W%$W%CCC11111CCk1111kkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkkkkkkkkk \ No newline at end of file +(,)(,)(,)$W%$W%CCC11111CCC111CCk1111kkCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCCkkkkkkkkk \ No newline at end of file -- cgit v1.3.1-sl0p From f23133ddcc6cb4ec5f974139cd8193b27d146733 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 18:57:15 -0400 Subject: Fuchsia City --- constants/event_constants.asm | 4 ++-- data/mapObjects/fuchsiacity.asm | 2 +- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- main.asm | 21 ++++++++++++--------- 5 files changed, 17 insertions(+), 14 deletions(-) (limited to 'constants') diff --git a/constants/event_constants.asm b/constants/event_constants.asm index b0c67e4b..7fc3b509 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1400,13 +1400,13 @@ const_value = 0 const EVENT_BEAT_MT_MOON_1_TRAINER_5 ; 575, (D7F5, bit 5) const EVENT_BEAT_MT_MOON_1_TRAINER_6 ; 576, (D7F5, bit 6) const EVENT_BEAT_MT_MOON_1_TRAINER_7 ; 577, (D7F5, bit 7) - const EVENT_578 ; 578, (D7F6, bit 0) + const EVENT_GOT_DOME_FOSSIL ; 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_2 ; 57B, (D7F6, bit 3) const EVENT_BEAT_MT_MOON_3_TRAINER_3 ; 57C, (D7F6, bit 4) const EVENT_BEAT_MT_MOON_3_TRAINER_4 ; 57D, (D7F6, bit 5) - const EVENT_GOT_DOME_FOSSIL ; 57E, (D7F6, bit 6) + const EVENT_57E ; 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) diff --git a/data/mapObjects/fuchsiacity.asm b/data/mapObjects/fuchsiacity.asm index 85f801d9..c64760c0 100755 --- a/data/mapObjects/fuchsiacity.asm +++ b/data/mapObjects/fuchsiacity.asm @@ -33,7 +33,7 @@ FuchsiaCityObject: ; 0x18bd4 (size=178) object SPRITE_GAMBLER, $1c, $11, WALK, $2, $2 ; person object SPRITE_FISHER2, $1e, $e, STAY, DOWN, $3 ; person object SPRITE_BUG_CATCHER, $18, $8, STAY, UP, $4 ; person - object SPRITE_CLEFAIRY, $1f, $5, WALK, $0, $5 ; person + object SPRITE_CHANSEY, $1f, $5, STAY, DOWN, $5 ; person object SPRITE_BALL, $19, $6, STAY, NONE, $6 ; person object SPRITE_SLOWBRO, $c, $6, WALK, $2, $7 ; person object SPRITE_SLOWBRO, $1e, $c, WALK, $2, $8 ; person diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 22b939d6..cf1ca6cc 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -7,7 +7,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db $11 ; db BANK(LavenderTown_h) ; LAVENDER_TOWN db BANK(VermilionCity_h) ; VERMILION_CITY db BANK(CeladonCity_h) ; CELADON_CITY - db $06 ; db BANK(FuchsiaCity_h) ; FUCHSIA_CITY + db BANK(FuchsiaCity_h) ; FUCHSIA_CITY db BANK(CinnabarIsland_h) ; CINNABAR_ISLAND db BANK(IndigoPlateau_h) ; INDIGO_PLATEAU db BANK(SaffronCity_h) ; SAFFRON_CITY diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 7ac1d910..adec78bc 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -7,7 +7,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw $4000 ; dw LavenderTown_h dw VermilionCity_h dw CeladonCity_h - dw $4bb3 ; dw FuchsiaCity_h + dw FuchsiaCity_h dw CinnabarIsland_h dw IndigoPlateau_h dw SaffronCity_h diff --git a/main.asm b/main.asm index 8eaf7c9a..d5da1a30 100755 --- a/main.asm +++ b/main.asm @@ -255,10 +255,8 @@ CeruleanCityBlocks: INCBIN "maps/ceruleancity.blk" ; 18836 INCLUDE "data/mapHeaders/vermilioncity.asm" INCLUDE "data/mapObjects/vermilioncity.asm" VermilionCityBlocks: INCBIN "maps/vermilioncity.blk" - - dr $18bb3,$18c92 ; headers, objects, blocks -; INCLUDE "data/mapHeaders/fuchsiacity.asm" -; INCLUDE "data/mapObjects/fuchsiacity.asm" +INCLUDE "data/mapHeaders/fuchsiacity.asm" +INCLUDE "data/mapObjects/fuchsiacity.asm" FuchsiaCityBlocks: INCBIN "maps/fuchsiacity.blk" @@ -268,9 +266,8 @@ INCLUDE "scripts/pewtercity.asm" INCLUDE "scripts/ceruleancity.asm" INCLUDE "scripts/vermilioncity.asm" INCLUDE "scripts/celadoncity.asm" - - dr $19b2b,$1a4ea -; INCLUDE "scripts/fuchsiacity.asm" +INCLUDE "scripts/fuchsiacity.asm" + dr $19c2f,$1a4ea INCLUDE "engine/overworld/npc_movement.asm" INCLUDE "engine/overworld/doors.asm" @@ -895,10 +892,16 @@ INCBIN "maps/route8.blk" dr $582d4,$5855f Route11Blocks: ; 5854f INCBIN "maps/route11.blk" - dr $5866d,$58b84 + dr $5866d,$589cc +Route15Blocks: +INCBIN "maps/route15.blk" + dr $58ada,$58b84 Route16Blocks: ; 58b84 INCBIN "maps/route16.blk" - dr $58c38,$58d99 + dr $58c38,$58c9c +Route18Blocks: +INCBIN "maps/route18.blk" + dr $58d7d,$58d99 INCLUDE "engine/experience.asm" -- cgit v1.3.1-sl0p From 9835d77c286b51adbe9cd1606f7a6f06d0ebaf2d Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Fri, 27 May 2016 23:08:50 -0400 Subject: Blue's House --- constants/hide_show_constants.asm | 2 +- data/mapObjects/blueshouse.asm | 6 +++--- data/map_header_banks.asm | 6 +++--- data/map_header_pointers.asm | 6 +++--- main.asm | 8 +++++++- scripts/blueshouse.asm | 33 ++++++++++++++++----------------- 6 files changed, 33 insertions(+), 28 deletions(-) (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index fc8ab90f..77820f75 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -75,7 +75,7 @@ const_value = 0 const HS_POKEMONTOWER_7_ROCKET_2 ; 42 X const HS_POKEMONTOWER_7_ROCKET_3 ; 43 -const_value SET $43 ; something above was deleted, idk what yet +const_value SET $43 ; replace the tower rockets with jessie/james const HS_POKEMONTOWER_7_MR_FUJI ; 43 const HS_LAVENDER_HOUSE_1_MR_FUJI ; 44 const HS_CELADON_MANSION_5_GIFT ; 45 diff --git a/data/mapObjects/blueshouse.asm b/data/mapObjects/blueshouse.asm index 43ba02e4..3dfce6e1 100755 --- a/data/mapObjects/blueshouse.asm +++ b/data/mapObjects/blueshouse.asm @@ -8,9 +8,9 @@ BluesHouseObject: ; 19bce (6:5bce) 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 + object SPRITE_DAISY, $2, $3, STAY, RIGHT, $81, $0 ; Daisy, sitting by map + object SPRITE_DAISY, $6, $4, WALK, $1, $82, $0 ; Daisy, walking around + object SPRITE_BOOK_MAP_DEX, $3, $3, STAY, NONE, $83, $0 ; map on table ; warp-to EVENT_DISP BLUES_HOUSE_WIDTH, $7, $2 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 060ebdc8..94393e3e 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -37,9 +37,9 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(Route23_h) ; ROUTE_23 db BANK(Route24_h) ; ROUTE_24 db BANK(Route25_h) ; ROUTE_25 - db $12 ; db BANK(RedsHouse1F_h) - db $17 ; db BANK(RedsHouse2F_h) - db $06 ; db BANK(BluesHouse_h) + db BANK(RedsHouse1F_h) + db BANK(RedsHouse2F_h) + db BANK(BluesHouse_h) db $07 ; db BANK(OaksLab_h) db $11 ; db BANK(ViridianPokecenter_h) db $07 ; db BANK(ViridianMart_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 704e7c2d..eed956bf 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -37,9 +37,9 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw Route23_h dw Route24_h dw Route25_h - dw $40f6 ; dw RedsHouse1F_h - dw $40a4 ; dw RedsHouse2F_h - dw $5c2f ; dw BluesHouse_h + dw RedsHouse1F_h + dw RedsHouse2F_h + dw BluesHouse_h dw $4386 ; dw OaksLab_h ;id=40 dw $4251 ; dw ViridianPokecenter_h dw $4c6e ; dw ViridianMart_h diff --git a/main.asm b/main.asm index 8a5d2bae..60a25157 100755 --- a/main.asm +++ b/main.asm @@ -267,7 +267,13 @@ INCLUDE "scripts/ceruleancity.asm" INCLUDE "scripts/vermilioncity.asm" INCLUDE "scripts/celadoncity.asm" INCLUDE "scripts/fuchsiacity.asm" - dr $19c2f,$1a4ea + +INCLUDE "data/mapHeaders/blueshouse.asm" +INCLUDE "scripts/blueshouse.asm" +INCLUDE "data/mapObjects/blueshouse.asm" +BluesHouseBlocks: +INCBIN "maps/blueshouse.blk" + dr $19d05,$1a4ea INCLUDE "engine/overworld/npc_movement.asm" INCLUDE "engine/overworld/doors.asm" diff --git a/scripts/blueshouse.asm b/scripts/blueshouse.asm index 4a23df9e..959fb23e 100755 --- a/scripts/blueshouse.asm +++ b/scripts/blueshouse.asm @@ -1,8 +1,9 @@ BluesHouseScript: ; 19b3b (6:5b3b) call EnableAutoTextBoxDrawing - ld hl,BluesHouseScriptPointers - ld a,[W_BLUESHOUSECURSCRIPT] - jp JumpTable + ld hl, BluesHouseScriptPointers + xor a + call JumpTable + ret BluesHouseScriptPointers: ; 19b47 (6:5b47) dw BluesHouseScript0 @@ -12,10 +13,8 @@ BluesHouseScript0: ; 19b4b (6:5b4b) SetEvent EVENT_ENTERED_BLUES_HOUSE ; trigger the next script - ld a,1 - ld [W_BLUESHOUSECURSCRIPT],a - ret - + ld a, 1 + ld [W_BLUESHOUSECURSCRIPT], a BluesHouseScript1: ; 19b56 (6:5b56) ret @@ -27,31 +26,31 @@ BluesHouseTextPointers: ; 19b57 (6:5b57) BluesHouseText1: ; 19b5d (6:5b5d) TX_ASM CheckEvent EVENT_GOT_TOWN_MAP - jr nz,.GotMap + jr nz, .GotMap CheckEvent EVENT_GOT_POKEDEX - jr nz,.GiveMap - ld hl,DaisyInitialText + jr nz, .GiveMap + ld hl, DaisyInitialText call PrintText jr .done .GiveMap - ld hl,DaisyOfferMapText + ld hl, DaisyOfferMapText call PrintText lb bc, TOWN_MAP, 1 call GiveItem jr nc, .BagFull - ld a,HS_TOWN_MAP - ld [wMissableObjectIndex],a + ld a, HS_TOWN_MAP + ld [wMissableObjectIndex], a predef HideObject ; hide table map object - ld hl,GotMapText + ld hl, GotMapText call PrintText SetEvent EVENT_GOT_TOWN_MAP jr .done .GotMap - ld hl,DaisyUseMapText + ld hl, DaisyUseMapText call PrintText jr .done .BagFull - ld hl,DaisyBagFullText + ld hl, DaisyBagFullText call PrintText .done jp TextScriptEnd @@ -66,7 +65,7 @@ DaisyOfferMapText: ; 19baf (6:5baf) GotMapText: ; 19bb4 (6:5bb4) TX_FAR _GotMapText - db $11,"@" + db $11, "@" DaisyBagFullText: ; 19bba (6:5bba) TX_FAR _DaisyBagFullText -- cgit v1.3.1-sl0p From dcd1ecc18f40a8bd2c8e8bcc903153070518fd70 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 28 May 2016 09:28:59 -0400 Subject: Oak's Lab Rewrite part 1 --- constants/hide_show_constants.asm | 44 +- data/mapObjects/oakslab.asm | 22 +- main.asm | 13 +- scripts/oakslab.asm | 1116 ++++--------------------------------- 4 files changed, 142 insertions(+), 1053 deletions(-) (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 77820f75..1e7a4347 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -53,27 +53,29 @@ const_value = 0 const HS_STARTER_BALL_1 ; 2C const HS_STARTER_BALL_2 ; 2D const HS_STARTER_BALL_3 ; 2E - const HS_OAKS_LAB_OAK_1 ; 2F - const HS_POKEDEX_1 ; 30 - const HS_POKEDEX_2 ; 31 - const HS_OAKS_LAB_OAK_2 ; 32 - const HS_VIRIDIAN_GYM_GIOVANNI ; 33 X - const HS_VIRIDIAN_GYM_ITEM ; 34 - const HS_OLD_AMBER ; 35 X - const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 36 X - const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 37 X - const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 38 - const HS_POKEMONTOWER_2_RIVAL ; 39 X - const HS_POKEMONTOWER_3_ITEM ; 3A X - const HS_POKEMONTOWER_4_ITEM_1 ; 3B X - const HS_POKEMONTOWER_4_ITEM_2 ; 3C X - const HS_POKEMONTOWER_4_ITEM_3 ; 3D X - const HS_POKEMONTOWER_5_ITEM ; 3E X - const HS_POKEMONTOWER_6_ITEM_1 ; 3F X - const HS_POKEMONTOWER_6_ITEM_2 ; 40 X - const HS_POKEMONTOWER_7_ROCKET_1 ; 41 X - const HS_POKEMONTOWER_7_ROCKET_2 ; 42 X - const HS_POKEMONTOWER_7_ROCKET_3 ; 43 + +const_value SET $2D + const HS_OAKS_LAB_OAK_1 ; 2D + const HS_POKEDEX_1 ; 2E + const HS_POKEDEX_2 ; 2F + const HS_OAKS_LAB_OAK_2 ; 30 + const HS_VIRIDIAN_GYM_GIOVANNI ; 31 + const HS_VIRIDIAN_GYM_ITEM ; 32 + const HS_OLD_AMBER ; 33 X + const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 34 + const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 35 X + const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 36 X + const HS_POKEMONTOWER_2_RIVAL ; 37 X + const HS_POKEMONTOWER_3_ITEM ; 38 + const HS_POKEMONTOWER_4_ITEM_1 ; 39 X + const HS_POKEMONTOWER_4_ITEM_2 ; 3A X + const HS_POKEMONTOWER_4_ITEM_3 ; 3B X + const HS_POKEMONTOWER_5_ITEM ; 3C X + const HS_POKEMONTOWER_6_ITEM_1 ; 3D X + const HS_POKEMONTOWER_6_ITEM_2 ; 3E X + const HS_POKEMONTOWER_7_ROCKET_1 ; 3F X + const HS_POKEMONTOWER_7_ROCKET_2 ; 40 X + const HS_POKEMONTOWER_7_ROCKET_3 ; 41 X const_value SET $43 ; replace the tower rockets with jessie/james const HS_POKEMONTOWER_7_MR_FUJI ; 43 diff --git a/data/mapObjects/oakslab.asm b/data/mapObjects/oakslab.asm index 53d6b85b..779b458f 100755 --- a/data/mapObjects/oakslab.asm +++ b/data/mapObjects/oakslab.asm @@ -7,18 +7,16 @@ OaksLabObject: ; 0x1d40a (size=88) db $0 ; signs - db $b ; 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, $a, STAY, UP, $8 ; person - object SPRITE_GIRL, $1, $9, WALK, $1, $9 ; person - object SPRITE_OAK_AIDE, $2, $a, STAY, NONE, $a ; person - object SPRITE_OAK_AIDE, $8, $a, STAY, NONE, $b ; person + db $9 ; objects + object SPRITE_BLUE, $4, $3, STAY, NONE, $41, OPP_SONY1, $1 + object SPRITE_BALL, $7, $3, STAY, NONE, $2 ; person + object SPRITE_OAK, $5, $2, STAY, DOWN, $3 ; person + object SPRITE_BOOK_MAP_DEX, $2, $1, STAY, NONE, $4 ; person + object SPRITE_BOOK_MAP_DEX, $3, $1, STAY, NONE, $5 ; person + object SPRITE_OAK, $5, $a, STAY, UP, $6 ; person + object SPRITE_GIRL, $1, $9, WALK, $1, $7 ; person + object SPRITE_OAK_AIDE, $2, $a, STAY, NONE, $8 ; person + object SPRITE_OAK_AIDE, $8, $a, STAY, NONE, $9 ; person ; warp-to EVENT_DISP OAKS_LAB_WIDTH, $b, $4 diff --git a/main.asm b/main.asm index 60a25157..d80a7939 100755 --- a/main.asm +++ b/main.asm @@ -289,15 +289,22 @@ INCLUDE "data/mapHeaders/route1.asm" INCLUDE "data/mapObjects/route1.asm" Route1Blocks: ; 1c0fc INCBIN "maps/route1.blk" - dr $1c1b0,$1c21e ; headers, objects, blocks + dr $1c1b0,$1c1c0 ; headers, objects, blocks +OaksLabBlocks: +INCBIN "maps/oakslab.blk" + dr $1c1de,$1c21e ; headers, objects, blocks INCLUDE "engine/clear_save.asm" INCLUDE "engine/predefs7.asm" INCLUDE "scripts/cinnabarisland.asm" - ; dr $1c2c2,$1c358 ; map scripts INCLUDE "scripts/route1.asm" - dr $1c386,$1e2ae ; map scripts + +INCLUDE "data/mapHeaders/oakslab.asm" +INCLUDE "scripts/oakslab.asm" +INCLUDE "data/mapObjects/oakslab.asm" + + dr $1cc6e,$1e2ae ; map scripts INCLUDE "engine/menu/oaks_pc.asm" diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 2970fa2a..81d78359 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -7,7 +7,8 @@ OaksLabScript: ; 1cb0e (7:4b0e) ld [wDoNotWaitForButtonPressAfterDisplayingText], a ld hl, OaksLabScriptPointers ld a, [W_OAKSLABCURSCRIPT] - jp JumpTable + call JumpTable + ret OaksLabScriptPointers: ; 1cb28 (7:4b28) dw OaksLabScript0 @@ -29,6 +30,10 @@ OaksLabScriptPointers: ; 1cb28 (7:4b28) dw OaksLabScript16 dw OaksLabScript17 dw OaksLabScript18 + dw OaksLabScript19 + dw OaksLabScript20 + dw OaksLabScript21 + dw OaksLabScript22 OaksLabScript0: ; 1cb4e (7:4b4e) CheckEvent EVENT_OAK_APPEARED_IN_PALLET @@ -47,7 +52,7 @@ OaksLabScript0: ; 1cb4e (7:4b4e) ret OaksLabScript1: ; 1cb6e (7:4b6e) - ld a, $8 + ld a, $6 ld [H_SPRITEINDEX], a ld de, OakEntryMovement call MoveSprite @@ -90,7 +95,7 @@ OaksLabScript3: ; 1cba2 (7:4ba2) xor a ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay - ld a, $5 + ld a, $3 ld [H_SPRITEINDEX], a xor a ld [hSpriteFacingDirection], a @@ -104,7 +109,7 @@ PlayerEntryMovementRLE: ; 1cbcf (7:4bcf) db D_UP,$8 db $ff -OaksLabScript4: ; 1cbd2 (7:4bd2) +OaksLabScript4: ; 1cbd2 (7:445f) ld a, [wSimulatedJoypadStatesIndex] and a ret nz @@ -115,7 +120,6 @@ OaksLabScript4: ; 1cbd2 (7:4bd2) ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay - call UpdateSprites ld hl, wFlags_D733 res 1, [hl] call PlayDefaultMusic @@ -125,24 +129,29 @@ OaksLabScript4: ; 1cbd2 (7:4bd2) ret OaksLabScript5: ; 1cbfd (7:4bfd) + ld hl, wd74b + set 1, [hl] ld a, $fc ld [wJoyIgnore], a - ld a, $11 + ld a, $d ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 - ld a, $12 + ld a, $e ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 - ld a, $13 + ld a, $2 + ld [wSpriteStateData1 + 1 * $10 + 1], a + ld a, SPRITE_FACING_UP + ld [wSpriteStateData1 + 1 * $10 + 9], a + ld a, $f ld [hSpriteIndexOrTextID], a call DisplayTextID call Delay3 - ld a, $14 + ld a, $10 ld [hSpriteIndexOrTextID], a call DisplayTextID - SetEvent EVENT_OAK_ASKED_TO_CHOOSE_MON xor a ld [wJoyIgnore], a @@ -154,7 +163,7 @@ OaksLabScript6: ; 1cc36 (7:4c36) ld a, [wYCoord] cp $6 ret nz - ld a, $5 + ld a, $3 ld [H_SPRITEINDEX], a xor a ; SPRITE_FACING_DOWN ld [hSpriteFacingDirection], a @@ -165,7 +174,7 @@ OaksLabScript6: ; 1cc36 (7:4c36) ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay call UpdateSprites - ld a, $c + ld a, $a ld [hSpriteIndexOrTextID], a call DisplayTextID ld a, $1 @@ -191,1048 +200,121 @@ OaksLabScript7: ; 1cc72 (7:4c72) ret OaksLabScript8: ; 1cc80 (7:4c80) - ld a, [W_PLAYERSTARTER] - cp STARTER1 - jr z, .Charmander - cp STARTER2 - jr z, .Squirtle - jr .Bulbasaur -.Charmander - ld de, .MiddleBallMovement1 - ld a, [wYCoord] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 - ld de, .MiddleBallMovement2 - jr .asm_1ccf3 - -.MiddleBallMovement1 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_UP - db $FF - -.MiddleBallMovement2 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -.Squirtle - ld de, .RightBallMovement1 - ld a, [wYCoord] - cp $4 ; is the player standing below the table? - jr z, .asm_1ccf3 - ld de, .RightBallMovement2 - jr .asm_1ccf3 - -.RightBallMovement1 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_UP - db $FF - -.RightBallMovement2 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db NPC_MOVEMENT_RIGHT - db $FF - -.Bulbasaur - ld de, .LeftBallMovement1 - ld a, [wXCoord] - cp $9 ; is the player standing to the right of the table? - jr nz, .asm_1ccf3 - push hl ld a, $1 - ld [H_SPRITEINDEX], a - ld a, $4 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - push hl - ld [hl], $4c - inc hl - inc hl - ld [hl], $0 - pop hl - inc h - ld [hl], $8 - inc hl - ld [hl], $9 - ld de, .LeftBallMovement2 ; the rival is not currently onscreen, so account for that - pop hl - jr .asm_1ccf3 - -.LeftBallMovement1 - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_RIGHT ; not yet terminated! -.LeftBallMovement2 - db NPC_MOVEMENT_RIGHT - db $FF - -.asm_1ccf3 - ld a, $1 - ld [H_SPRITEINDEX], a + ld [hSpriteIndexOrTextID], a + ld de, .SonyPushesPlayerAwayFromEeveeBall call MoveSprite - ld a, $9 ld [W_OAKSLABCURSCRIPT], a ret +.SonyPushesPlayerAwayFromEeveeBall + db $00 + db $07 + db $07 + db $07 + db $FF + OaksLabScript9: ; 1cd00 (7:4d00) ld a, [wd730] bit 0, a - ret nz - ld a, $fc - ld [wJoyIgnore], a - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $d - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, [wRivalStarterBallSpriteIndex] - cp $2 - jr nz, .asm_1cd28 + jr nz, .asm_1c564 ld a, HS_STARTER_BALL_1 - jr .asm_1cd32 -.asm_1cd28 - cp $3 - jr nz, .asm_1cd30 - ld a, HS_STARTER_BALL_2 - jr .asm_1cd32 -.asm_1cd30 - ld a, HS_STARTER_BALL_3 -.asm_1cd32 ld [wMissableObjectIndex], a predef HideObject - call Delay3 - ld a, [wRivalStarterTemp] - ld [W_RIVALSTARTER], a - ld [wcf91], a - ld [wd11e], a - call GetMonName ld a, $1 ld [H_SPRITEINDEX], a ld a, SPRITE_FACING_UP ld [hSpriteFacingDirection], a call SetSpriteFacingDirectionAndDelay - ld a, $e + ld a, 1 + ld [W_RIVALSTARTER], a + ld a, EEVEE + ld [wd11e], a + call GetMonName + ld a, $FF ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a + ld a, $11 ld [hSpriteIndexOrTextID], a call DisplayTextID - SetEvent EVENT_GOT_STARTER - xor a - ld [wJoyIgnore], a ld a, $a ld [W_OAKSLABCURSCRIPT], a ret -OaksLabScript10: ; 1cd6d (7:4d6d) +.asm_1c564 ld a, [wYCoord] - cp $6 + cp $4 ret nz - ld a, $1 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - ld c, BANK(Music_MeetRival) - ld a, MUSIC_MEET_RIVAL - call PlayMusic - ld a, $f - ld [hSpriteIndexOrTextID], a - call DisplayTextID - ld a, $1 - ld [hNPCPlayerRelativePosPerspective], a - ld a, $1 - swap a - ld [hNPCSpriteOffset], a - predef CalcPositionOfPlayerRelativeToNPC - ld a, [hNPCPlayerYDistance] - dec a - ld [hNPCPlayerYDistance], a - predef FindPathToPlayer - ld de, wNPCMovementDirections2 - ld a, $1 - ld [H_SPRITEINDEX], a - call MoveSprite - - ld a, $b - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript11: ; 1cdb9 (7:4db9) - ld a, [wd730] - bit 0, a + ld a, [wNPCNumScriptedSteps] + cp 1 ret nz - - ; define which team rival uses, and fight it - ld a, OPP_SONY1 - ld [wCurOpponent], a - ld a, [W_RIVALSTARTER] - cp STARTER2 - jr nz, .NotSquirtle - ld a, $1 - jr .done -.NotSquirtle - cp STARTER3 - jr nz, .Charmander - ld a, $2 - jr .done -.Charmander - ld a, $3 -.done - ld [wTrainerNo], a - ld a, $1 - ld [wSpriteIndex], a - call GetSpritePosition1 - ld hl, OaksLabText_1d3be - ld de, OaksLabText_1d3c3 - call SaveEndBattleTextPointers - ld hl, wd72d - set 6, [hl] - set 7, [hl] - xor a - ld [wJoyIgnore], a - ld a, PLAYER_DIR_UP - ld [wPlayerMovingDirection], a - ld a, $c - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript12: ; 1ce03 (7:4e03) - ld a, $f0 - ld [wJoyIgnore], a - ld a, PLAYER_DIR_UP + ld a, PLAYER_DIR_LEFT ld [wPlayerMovingDirection], a - call UpdateSprites - ld a, $1 - ld [wSpriteIndex], a - call SetSpritePosition1 - ld a, $1 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - predef HealParty - SetEvent EVENT_BATTLED_RIVAL_IN_OAKS_LAB - - ld a, $d - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript13: ; 1ce32 (7:4e32) - ld c, 20 - call DelayFrames - ld a, $10 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - callba Music_RivalAlternateStart - ld a, $1 - ld [H_SPRITEINDEX], a - ld de, .RivalExitMovement - call MoveSprite - ld a, [wXCoord] - cp $4 - ; move left or right depending on where the player is standing - jr nz, .moveLeft - ld a, NPC_MOVEMENT_RIGHT - jr .next -.moveLeft - ld a, NPC_MOVEMENT_LEFT -.next - ld [wNPCMovementDirections], a - - ld a, $e - ld [W_OAKSLABCURSCRIPT], a + ld a, $2 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_RIGHT + ld [wSimulatedJoypadStatesEnd], a + ld [wSimulatedJoypadStatesEnd + 1], a + call StartSimulatingJoypadStates ret -.RivalExitMovement - db $E0 ; change sprite facing direction - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db NPC_MOVEMENT_DOWN - db $FF - -OaksLabScript14: ; 1ce6d (7:4e6d) - ld a, [wd730] - bit 0, a - jr nz, .asm_1ce8c - ld a, HS_OAKS_LAB_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - xor a - ld [wJoyIgnore], a - call PlayDefaultMusic ; reset to map music - ld a, $12 - ld [W_OAKSLABCURSCRIPT], a - jr .done -; make the player keep facing the rival as he walks away -.asm_1ce8c - ld a, [wNPCNumScriptedSteps] - cp $5 - jr nz, .asm_1cea8 - ld a, [wXCoord] - cp $4 - jr nz, .asm_1cea1 - ld a, SPRITE_FACING_RIGHT - ld [wSpriteStateData1 + 9], a - jr .done -.asm_1cea1 - ld a, SPRITE_FACING_LEFT - ld [wSpriteStateData1 + 9], a - jr .done -.asm_1cea8 +OaksLabScript10: ; 1cd6d (7:4d6d) + ld a, [wYCoord] cp $4 - ret nz - xor a ; ld a, SPRITE_FACING_DOWN - ld [wSpriteStateData1 + 9], a -.done - ret - -OaksLabScript15: ; 1ceb0 (7:4eb0) - xor a - ld [hJoyHeld], a - call EnableAutoTextBoxDrawing - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, $15 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call OaksLabScript_1d02b - ld a, HS_OAKS_LAB_RIVAL - ld [wMissableObjectIndex], a - predef ShowObject - ld a, [wNPCMovementDirections2Index] - ld [wSavedNPCMovementDirections2Index], a - ld b, 0 - ld c, a - ld hl, wNPCMovementDirections2 - ld a, NPC_MOVEMENT_UP - call FillMemory - ld [hl], $ff - ld a, $1 - ld [H_SPRITEINDEX], a - ld de, wNPCMovementDirections2 - call MoveSprite - - ld a, $10 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript_1cefd: ; 1cefd (7:4efd) - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_UP - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - ld a, $8 - ld [H_SPRITEINDEX], a - xor a ; SPRITE_FACING_DOWN - ld [hSpriteFacingDirection], a - jp SetSpriteFacingDirectionAndDelay - -OaksLabScript16: ; 1cf12 (7:4f12) - ld a, [wd730] - bit 0, a - ret nz - call EnableAutoTextBoxDrawing - call PlayDefaultMusic - ld a, $fc - ld [wJoyIgnore], a - call OaksLabScript_1cefd - ld a, $16 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call DelayFrame - call OaksLabScript_1cefd - ld a, $17 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call DelayFrame - call OaksLabScript_1cefd - ld a, $18 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call DelayFrame - ld a, $19 - ld [hSpriteIndexOrTextID], a - call DisplayTextID - call Delay3 - ld a, HS_POKEDEX_1 - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_POKEDEX_2 - ld [wMissableObjectIndex], a - predef HideObject - call OaksLabScript_1cefd - ld a, $1a - ld [hSpriteIndexOrTextID], a - call DisplayTextID + jr z, .asm_1c599 ld a, $1 - ld [H_SPRITEINDEX], a - ld a, SPRITE_FACING_RIGHT - ld [hSpriteFacingDirection], a - call SetSpriteFacingDirectionAndDelay - call Delay3 - ld a, $1b - ld [hSpriteIndexOrTextID], a - call DisplayTextID - SetEvent EVENT_GOT_POKEDEX - SetEvent EVENT_OAK_GOT_PARCEL - ld a, HS_LYING_OLD_MAN - ld [wMissableObjectIndex], a - predef HideObject - ld a, HS_OLD_MAN - ld [wMissableObjectIndex], a - predef ShowObject - ld a, [wSavedNPCMovementDirections2Index] - ld b, 0 - ld c, a - ld hl, wNPCMovementDirections2 - xor a ; NPC_MOVEMENT_DOWN - call FillMemory - ld [hl], $ff - ld a, $ff - ld [wNewSoundID], a - call PlaySound - callba Music_RivalAlternateStart - ld a, $1 - ld [H_SPRITEINDEX], a - ld de, wNPCMovementDirections2 - call MoveSprite - - ld a, $11 - ld [W_OAKSLABCURSCRIPT], a - ret - -OaksLabScript17: ; 1cfd4 (7:4fd4) - ld a, [wd730] - bit 0, a - ret nz - call PlayDefaultMusic - ld a, HS_OAKS_LAB_RIVAL - ld [wMissableObjectIndex], a - predef HideObject - SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE - ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE - SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE - ld a, HS_ROUTE_22_RIVAL_1 - ld [wMissableObjectIndex], a - predef ShowObject - ld a, $5 - ld [W_PALLETTOWNCURSCRIPT], a - xor a - ld [wJoyIgnore], a + ld [wSimulatedJoypadStatesIndex], a + ld a, D_LEFT + ld [wSimulatedJoypadStatesEnd], a + jr .asm_1c5a6 - ld a, $12 +.asm_1c599 + ld hl, wSimulatedJoypadStatesEnd + ld de, OaksLabRLE_PlayerWalksToOak + call DecodeRLEList + dec a + ld [wSimulatedJoypadStatesIndex], a +.asm_1c5a6 + call StartSimulatingJoypadStates + ld a, $b ld [W_OAKSLABCURSCRIPT], a ret -OaksLabScript18: ; 1d009 (7:5009) - ret - -OaksLabScript_RemoveParcel: ; 1d00a (7:500a) - ld hl, wBagItems - ld bc, $0000 -.loop - ld a, [hli] - cp $ff - ret z - cp OAKS_PARCEL - jr z, .foundParcel - inc hl - inc c - jr .loop -.foundParcel - ld hl, wNumBagItems - ld a, c - ld [wWhichPokemon], a - ld a, $1 - ld [wItemQuantity], a - jp RemoveItemFromInventory +OaksLabRLE_PlayerWalksToOak: + db D_UP, 2 + db D_LEFT, 3 + db D_DOWN, 1 + db D_LEFT, 1 + db $FF -OaksLabScript_1d02b: ; 1d02b (7:502b) - ld a, $7c - ld [$ffeb], a - ld a, $8 - ld [$ffee], a - ld a, [wYCoord] - cp $3 - jr nz, .asm_1d045 - ld a, $4 - ld [wNPCMovementDirections2Index], a - ld a, $30 - ld b, $b - jr .asm_1d068 -.asm_1d045 - cp $1 - jr nz, .asm_1d054 - ld a, $2 - ld [wNPCMovementDirections2Index], a - ld a, $30 - ld b, $9 - jr .asm_1d068 -.asm_1d054 - ld a, $3 - ld [wNPCMovementDirections2Index], a - ld b, $a - ld a, [wXCoord] - cp $4 - jr nz, .asm_1d066 - ld a, $40 - jr .asm_1d068 -.asm_1d066 - ld a, $20 -.asm_1d068 - ld [$ffec], a - ld a, b - ld [$ffed], a - ld a, $1 - ld [wSpriteIndex], a - call SetSpritePosition1 - ret -OaksLabScript_1d076: ; 1d076 (7:5076) - ld hl, OaksLabTextPointers + $36 ; starts at OaksLabText28 - ld a, l - ld [wMapTextPtr], a - ld a, h - ld [wMapTextPtr+1], a - ret +OaksLabScript11: + dr $1c5b8,$1c5ce +OaksLabScript12: + dr $1c5ce,$1c61a +OaksLabScript13: + dr $1c61a,$1c651 +OaksLabScript14: + dr $1c651,$1c692 +OaksLabScript15: + dr $1c692,$1c6ce +OaksLabScript16: + dr $1c6ce,$1c70b +OaksLabScript17: + dr $1c70b,$1c72d +OaksLabScript18: + dr $1c72d,$1c73e +OaksLabScript19: + dr $1c73e,$1c7a4 +OaksLabScript20: + dr $1c7a4,$1c866 +OaksLabScript21: + dr $1c866,$1c896 +OaksLabScript22: + dr $1c896,$1c904 +OaksLabScript_1d076: + dr $1c904,$1c910 OaksLabTextPointers: ; 1d082 (7:5082) - dw OaksLabText1 - dw OaksLabText2 - dw OaksLabText3 - dw OaksLabText4 - dw OaksLabText5 - dw OaksLabText6 - dw OaksLabText7 - dw OaksLabText8 - dw OaksLabText9 - dw OaksLabText10 - dw OaksLabText11 - dw OaksLabText12 - dw OaksLabText13 - dw OaksLabText14 - dw OaksLabText15 - dw OaksLabText16 - dw OaksLabText17 - dw OaksLabText18 - dw OaksLabText19 - dw OaksLabText20 - dw OaksLabText21 - dw OaksLabText22 - dw OaksLabText23 - dw OaksLabText24 - dw OaksLabText25 - dw OaksLabText26 - dw OaksLabText27 - dw OaksLabText28 - dw OaksLabText29 - dw OaksLabText30 - dw OaksLabText31 - dw OaksLabText32 - dw OaksLabText33 - dw OaksLabText34 - dw OaksLabText35 - dw OaksLabText36 - dw OaksLabText37 - dw OaksLabText38 - -OaksLabText28: ; 1d0ce (7:50ce) -OaksLabText1: ; 1d0ce (7:50ce) - TX_ASM - CheckEvent EVENT_FOLLOWED_OAK_INTO_LAB_2 - jr nz, .asm_1d0de - ld hl, OaksLabGaryText1 - call PrintText - jr .asm_1d0f0 -.asm_1d0de - bit 2, a - jr nz, .asm_1d0ea - ld hl, OaksLabText40 - call PrintText - jr .asm_1d0f0 -.asm_1d0ea - ld hl, OaksLabText41 - call PrintText -.asm_1d0f0 - jp TextScriptEnd - -OaksLabGaryText1: ; 1d0f3 (7:50f3) - TX_FAR _OaksLabGaryText1 - db "@" - -OaksLabText40: ; 1d0f8 (7:50f8) - TX_FAR _OaksLabText40 - db "@" - -OaksLabText41: ; 1d0fd (7:50fd) - TX_FAR _OaksLabText41 - db "@" - -OaksLabText29: ; 1d102 (7:5102) -OaksLabText2: ; 1d102 (7:5102) - TX_ASM - ld a, STARTER2 - ld [wRivalStarterTemp], a - ld a, $3 - ld [wRivalStarterBallSpriteIndex], a - ld a, STARTER1 - ld b, $2 - jr OaksLabScript_1d133 - -OaksLabText30: ; 1d113 (7:5113) -OaksLabText3: ; 1d113 (7:5113) - TX_ASM - ld a, STARTER3 - ld [wRivalStarterTemp], a - ld a, $4 - ld [wRivalStarterBallSpriteIndex], a - ld a, STARTER2 - ld b, $3 - jr OaksLabScript_1d133 - -OaksLabText31: ; 1d124 (7:5124) -OaksLabText4: ; 1d124 (7:5124) - TX_ASM - ld a, STARTER1 - ld [wRivalStarterTemp], a - ld a, $2 - ld [wRivalStarterBallSpriteIndex], a - ld a, STARTER3 - ld b, $4 - -OaksLabScript_1d133: ; 1d133 (7:5133) - ld [wcf91], a - ld [wd11e], a - ld a, b - ld [wSpriteIndex], a - CheckEvent EVENT_GOT_STARTER - jp nz, OaksLabScript_1d22d - CheckEventReuseA EVENT_OAK_ASKED_TO_CHOOSE_MON - jr nz, OaksLabScript_1d157 - ld hl, OaksLabText39 - call PrintText - jp TextScriptEnd - -OaksLabText39: ; 1d152 (7:5152) - TX_FAR _OaksLabText39 - db "@" - -OaksLabScript_1d157: ; 1d157 (7:5157) - ld a, $5 - ld [H_SPRITEINDEX], a - ld a, $9 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - ld [hl], SPRITE_FACING_DOWN - ld a, $1 - ld [H_SPRITEINDEX], a - ld a, $9 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - ld [hl], SPRITE_FACING_RIGHT - ld hl, wd730 - set 6, [hl] - predef StarterDex - ld hl, wd730 - res 6, [hl] - call ReloadMapData - ld c, 10 - call DelayFrames - ld a, [wSpriteIndex] - cp $2 - jr z, OaksLabLookAtCharmander - cp $3 - jr z, OaksLabLookAtSquirtle - jr OaksLabLookAtBulbasaur - -OaksLabLookAtCharmander: ; 1d195 (7:5195) - ld hl, OaksLabCharmanderText - jr OaksLabMonChoiceMenu -OaksLabCharmanderText: ; 1d19a (7:519a) - TX_FAR _OaksLabCharmanderText - db "@" - -OaksLabLookAtSquirtle: ; 1d19f (7:519f) - ld hl, OaksLabSquirtleText - jr OaksLabMonChoiceMenu -OaksLabSquirtleText: ; 1d1a4 (7:51a4) - TX_FAR _OaksLabSquirtleText - db "@" - -OaksLabLookAtBulbasaur: ; 1d1a9 (7:51a9) - ld hl, OaksLabBulbasaurText - jr OaksLabMonChoiceMenu -OaksLabBulbasaurText: ; 1d1ae (7:51ae) - TX_FAR _OaksLabBulbasaurText - db "@" - -OaksLabMonChoiceMenu: ; 1d1b3 (7:51b3) - call PrintText - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - call YesNoChoice ; yes/no menu - ld a, [wCurrentMenuItem] - and a - jr nz, OaksLabMonChoiceEnd - ld a, [wcf91] - ld [W_PLAYERSTARTER], a - ld [wd11e], a - call GetMonName - ld a, [wSpriteIndex] - cp $2 - jr nz, .asm_1d1db - ld a, HS_STARTER_BALL_1 - jr .asm_1d1e5 -.asm_1d1db - cp $3 - jr nz, .asm_1d1e3 - ld a, HS_STARTER_BALL_2 - jr .asm_1d1e5 -.asm_1d1e3 - ld a, HS_STARTER_BALL_3 -.asm_1d1e5 - ld [wMissableObjectIndex], a - predef HideObject - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, OaksLabMonEnergeticText - call PrintText - ld hl, OaksLabReceivedMonText - call PrintText - xor a ; PLAYER_PARTY_DATA - ld [wMonDataLocation], a - ld a, 5 - ld [wCurEnemyLVL], a - ld a, [wcf91] - ld [wd11e], a - call AddPartyMon - ld hl, wd72e - set 3, [hl] - ld a, $fc - ld [wJoyIgnore], a - ld a, $8 - ld [W_OAKSLABCURSCRIPT], a -OaksLabMonChoiceEnd: ; 1d21f (7:521f) - jp TextScriptEnd - -OaksLabMonEnergeticText: ; 1d222 (7:5222) - TX_FAR _OaksLabMonEnergeticText - db "@" - -OaksLabReceivedMonText: ; 1d227 (7:5227) - TX_FAR _OaksLabReceivedMonText - db $11, "@" - -OaksLabScript_1d22d: ; 1d22d (7:522d) - ld a, $5 - ld [H_SPRITEINDEX], a - ld a, $9 - ld [H_SPRITEDATAOFFSET], a - call GetPointerWithinSpriteStateData1 - ld [hl], $0 - ld hl, OaksLabLastMonText - call PrintText - jp TextScriptEnd - -OaksLabLastMonText: ; 1d243 (7:5243) - TX_FAR _OaksLabLastMonText - db "@" - -OaksLabText32: ; 1d248 (7:5248) -OaksLabText5: ; 1d248 (7:5248) - TX_ASM - CheckEvent EVENT_PALLET_AFTER_GETTING_POKEBALLS - jr nz, .asm_1d266 - ld hl, wPokedexOwned - ld b, wPokedexOwnedEnd - wPokedexOwned - call CountSetBits - ld a, [wNumSetBits] - cp 2 - jr c, .asm_1d279 - CheckEvent EVENT_GOT_POKEDEX - jr z, .asm_1d279 -.asm_1d266 - ld hl, OaksLabText_1d31d - call PrintText - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - predef DisplayDexRating - jp .asm_1d2ed -.asm_1d279 - ld b,POKE_BALL - call IsItemInBag - jr nz, .asm_1d2e7 - CheckEvent EVENT_BEAT_ROUTE22_RIVAL_1ST_BATTLE - jr nz, .asm_1d2d0 - CheckEvent EVENT_GOT_POKEDEX - jr nz, .asm_1d2c8 - CheckEventReuseA EVENT_BATTLED_RIVAL_IN_OAKS_LAB - jr nz, .asm_1d2a9 - ld a, [wd72e] - bit 3, a - jr nz, .asm_1d2a1 - ld hl, OaksLabText_1d2f0 - call PrintText - jr .asm_1d2ed -.asm_1d2a1 - ld hl, OaksLabText_1d2f5 - call PrintText - jr .asm_1d2ed -.asm_1d2a9 - ld b, OAKS_PARCEL - call IsItemInBag - jr nz, .asm_1d2b8 - ld hl, OaksLabText_1d2fa - call PrintText - jr .asm_1d2ed -.asm_1d2b8 - ld hl, OaksLabDeliverParcelText - call PrintText - call OaksLabScript_RemoveParcel - ld a, $f - ld [W_OAKSLABCURSCRIPT], a - jr .asm_1d2ed -.asm_1d2c8 - ld hl, OaksLabAroundWorldText - call PrintText - jr .asm_1d2ed -.asm_1d2d0 - CheckAndSetEvent EVENT_GOT_POKEBALLS_FROM_OAK - jr nz, .asm_1d2e7 - lb bc, POKE_BALL, 5 - call GiveItem - ld hl, OaksLabGivePokeballsText - call PrintText - jr .asm_1d2ed -.asm_1d2e7 - ld hl, OaksLabPleaseVisitText - call PrintText -.asm_1d2ed - jp TextScriptEnd - -OaksLabText_1d2f0: ; 1d2f0 (7:52f0) - TX_FAR _OaksLabText_1d2f0 - db "@" - -OaksLabText_1d2f5: ; 1d2f5 (7:52f5) - TX_FAR _OaksLabText_1d2f5 - db "@" - -OaksLabText_1d2fa: ; 1d2fa (7:52fa) - TX_FAR _OaksLabText_1d2fa - db "@" - -OaksLabDeliverParcelText: ; 1d2ff (7:52ff) - TX_FAR _OaksLabDeliverParcelText1 - db $11 - TX_FAR _OaksLabDeliverParcelText2 - db "@" - -OaksLabAroundWorldText: ; 1d309 (7:5309) - TX_FAR _OaksLabAroundWorldText - db "@" - -OaksLabGivePokeballsText: ; 1d30e (7:530e) - TX_FAR _OaksLabGivePokeballsText1 - db $11 - TX_FAR _OaksLabGivePokeballsText2 - db "@" - -OaksLabPleaseVisitText: ; 1d318 (7:5318) - TX_FAR _OaksLabPleaseVisitText - db "@" - -OaksLabText_1d31d: ; 1d31d (7:531d) - TX_FAR _OaksLabText_1d31d - db "@" - -OaksLabText34: ; 1d322 (7:5322) -OaksLabText33: ; 1d322 (7:5322) -OaksLabText7: ; 1d322 (7:5322) -OaksLabText6: ; 1d322 (7:5322) - TX_ASM - ld hl, OaksLabText_1d32c - call PrintText - jp TextScriptEnd - -OaksLabText_1d32c: ; 1d32c (7:532c) - TX_FAR _OaksLabText_1d32c - db "@" - -OaksLabText35: ; 1d331 (7:5331) -OaksLabText8: ; 1d331 (7:5331) - TX_FAR _OaksLabText8 - db "@" - -OaksLabText36: ; 1d336 (7:5336) -OaksLabText9: ; 1d336 (7:5336) - TX_ASM - ld hl, OaksLabText_1d340 - call PrintText - jp TextScriptEnd - -OaksLabText_1d340: ; 1d340 (7:5340) - TX_FAR _OaksLabText_1d340 - db "@" - -OaksLabText17: ; 1d345 (7:5345) - TX_ASM - ld hl, OaksLabRivalWaitingText - call PrintText - jp TextScriptEnd - -OaksLabRivalWaitingText: ; 1d34f (7:534f) - TX_FAR _OaksLabRivalWaitingText - db "@" - -OaksLabText18: ; 1d354 (7:5354) - TX_ASM - ld hl, OaksLabChooseMonText - call PrintText - jp TextScriptEnd - -OaksLabChooseMonText: ; 1d35e (7:535e) - TX_FAR _OaksLabChooseMonText - db "@" - -OaksLabText19: ; 1d363 (7:5363) - TX_ASM - ld hl, OaksLabRivalInterjectionText - call PrintText - jp TextScriptEnd - -OaksLabRivalInterjectionText: ; 1d36d (7:536d) - TX_FAR _OaksLabRivalInterjectionText - db "@" - -OaksLabText20: ; 1d372 (7:5372) - TX_ASM - ld hl, OaksLabBePatientText - call PrintText - jp TextScriptEnd - -OaksLabBePatientText: ; 1d37c (7:537c) - TX_FAR _OaksLabBePatientText - db "@" - -OaksLabText12: ; 1d381 (7:5381) - TX_ASM - ld hl, OaksLabLeavingText - call PrintText - jp TextScriptEnd - -OaksLabLeavingText: ; 1d38b (7:538b) - TX_FAR _OaksLabLeavingText - db "@" - -OaksLabText13: ; 1d390 (7:5390) - TX_ASM - ld hl, OaksLabRivalPickingMonText - call PrintText - jp TextScriptEnd - -OaksLabRivalPickingMonText: ; 1d39a (7:539a) - TX_FAR _OaksLabRivalPickingMonText - db "@" - -OaksLabText14: ; 1d39f (7:539f) - TX_ASM - ld hl, OaksLabRivalReceivedMonText - call PrintText - jp TextScriptEnd - -OaksLabRivalReceivedMonText: ; 1d3a9 (7:53a9) - TX_FAR _OaksLabRivalReceivedMonText - db $11, "@" - -OaksLabText15: ; 1d3af (7:53af) - TX_ASM - ld hl, OaksLabRivalChallengeText - call PrintText - jp TextScriptEnd - -OaksLabRivalChallengeText: ; 1d3b9 (7:53b9) - TX_FAR _OaksLabRivalChallengeText - db "@" - -OaksLabText_1d3be: ; 1d3be (7:53be) - TX_FAR _OaksLabText_1d3be - db "@" - -OaksLabText_1d3c3: ; 1d3c3 (7:53c3) - TX_FAR _OaksLabText_1d3c3 - db "@" - -OaksLabText16: ; 1d3c8 (7:53c8) - TX_ASM - ld hl, OaksLabRivalToughenUpText - call PrintText - jp TextScriptEnd - -OaksLabRivalToughenUpText: ; 1d3d2 (7:53d2) - TX_FAR _OaksLabRivalToughenUpText - db "@" - -OaksLabText21: ; 1d3d7 (7:53d7) - TX_FAR _OaksLabText21 - db "@" - -OaksLabText22: ; 1d3dc (7:53dc) - TX_FAR _OaksLabText22 - db "@" - -OaksLabText23: ; 1d3e1 (7:53e1) - TX_FAR _OaksLabText23 - db "@" - -OaksLabText24: ; 1d3e6 (7:53e6) - TX_FAR _OaksLabText24 - db "@" - -OaksLabText25: ; 1d3eb (7:53eb) - TX_FAR _OaksLabText25 - db $11, "@" - -OaksLabText26: ; 1d3f1 (7:53f1) - TX_FAR _OaksLabText26 - db "@" - -OaksLabText27: ; 1d3f6 (7:53f6) - TX_FAR _OaksLabText27 - db "@" - -OaksLabText38: ; 1d3fb (7:53fb) -OaksLabText37: ; 1d3fb (7:53fb) -OaksLabText11: ; 1d3fb (7:53fb) -OaksLabText10: ; 1d3fb (7:53fb) - TX_ASM - ld hl, OaksLabText_1d405 - call PrintText - jp TextScriptEnd - -OaksLabText_1d405: ; 1d405 (7:5405) - TX_FAR _OaksLabText_1d405 - db "@" + dr $1c910,$1cc22 -- cgit v1.3.1-sl0p From 49c31daedc972c2f61fcfb38021c80807ada917f Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 28 May 2016 14:00:44 -0400 Subject: Oak's Lab Rewrite part 3 --- constants/hide_show_constants.asm | 4 +- constants/predef_constants.asm | 6 +- engine/bank3c.asm | 1 + scripts/oakslab.asm | 242 ++++++++++++++++++++++++++++++++++++-- 4 files changed, 240 insertions(+), 13 deletions(-) (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 1e7a4347..5a6347d5 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -7,8 +7,8 @@ const_value = 0 const HS_PALLET_TOWN_OAK ; 00 - const HS_PIKACHU ; 01 - const HS_LYING_OLD_MAN ; 02 + const HS_LYING_OLD_MAN ; 01 + const HS_PERSON_02 ; 02 const HS_OLD_MAN ; 03 const HS_MUSEUM_GUY ; 04 const HS_GYM_GUY ; 05 diff --git a/constants/predef_constants.asm b/constants/predef_constants.asm index d1e81a72..76ff24a9 100644 --- a/constants/predef_constants.asm +++ b/constants/predef_constants.asm @@ -16,15 +16,15 @@ const_value = 0 predef_const DivideBCDPredef3 predef_const DivideBCDPredef4 predef_const InitPlayerData - predef_const FlagActionPredef - predef_const HideObject + predef_const FlagActionPredef ; 10 + predef_const HideObject ; 11 predef_const IsObjectHidden predef_const ApplyOutOfBattlePoisonDamage predef_const AnyPartyAlive predef_const ShowObject predef_const ShowObject2 predef_const ReplaceTileBlock - predef_const InitPlayerData2 + predef_const InitPlayerData2 ; 18 predef_const LoadTilesetHeader predef_const LearnMoveFromLevelUp predef_const LearnMove diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 54649b0b..c3726c5e 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -349,6 +349,7 @@ INCLUDE "scripts/celadoncity2.asm" INCLUDE "scripts/route1_2.asm" INCLUDE "scripts/route22_2.asm" INCLUDE "scripts/redshouse1f2.asm" +Func_f1be0: dr $f1be0, $f220e INCLUDE "data/mapHeaders/beach_house.asm" diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 20b5e3b9..95ee4f25 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -471,22 +471,248 @@ OaksLabScript16: ret OaksLabScript17: - dr $1c70b,$1c72d +; Pikachu comes out + ld a, SPRITE_FACING_UP + ld [wSpriteStateData1 + 9], a + ld a, $2 + ld [wd431], a + callba Func_fc4fa + call Func_1525 + ld a, $1a + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $12 + ld [W_OAKSLABCURSCRIPT], a + ret + OaksLabScript18: - dr $1c72d,$1c73e + ld a, $1b + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wJoyIgnore], a + ld a, $16 + ld [W_OAKSLABCURSCRIPT], a + ret + OaksLabScript19: - dr $1c73e,$1c7a4 + xor a + ld [hJoyHeld], a + call EnableAutoTextBoxDrawing + call StopAllMusic + callba Music_RivalAlternateStart + ld a, $13 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + callab Func_f1be0 + call OaksLabScript_1c8b9 + ld a, HS_OAKS_LAB_RIVAL + ld [wMissableObjectIndex], a + predef ShowObject + ld a, [wNPCMovementDirections2Index] + ld [wSavedNPCMovementDirections2Index], a + ld b, 0 + ld c, a + ld hl, wNPCMovementDirections2 + ld a, NPC_MOVEMENT_UP + call FillMemory + ld [hl], $ff + ld a, $1 + ld [hSpriteIndexOrTextID], a + ld de, wNPCMovementDirections2 + call MoveSprite + ld a, $14 + ld [W_OAKSLABCURSCRIPT], a + ret + +OaksLabScript_1c78e: + ld a, $1 + ld [hSpriteIndexOrTextID], a + ld a, SPRITE_FACING_UP + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ld a, $6 + ld [hSpriteIndexOrTextID], a + xor a + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + ret + OaksLabScript20: - dr $1c7a4,$1c866 + ld a, [wd730] + bit 0, a + ret nz + call EnableAutoTextBoxDrawing + call PlayDefaultMusic + ld a, $ff ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a + call OaksLabScript_1c78e + ld a, $14 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call DelayFrame + call OaksLabScript_1c78e + ld a, $15 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call DelayFrame + call OaksLabScript_1c78e + ld a, $16 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call DelayFrame + ld a, $17 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + call Delay3 + ld a, HS_POKEDEX_1 + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_POKEDEX_2 + ld [wMissableObjectIndex], a + predef HideObject + call OaksLabScript_1c78e + ld a, $18 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + ld a, $1 + ld [hSpriteIndexOrTextID], a + ld a, SPRITE_FACING_RIGHT + ld [hSpriteFacingDirection], a + call SetSpriteFacingDirectionAndDelay + call Delay3 + ld a, $19 + ld [hSpriteIndexOrTextID], a + call DisplayTextID + SetEvent EVENT_GOT_POKEDEX + ld a, $1 + ld [W_VIRIDIANCITYCURSCRIPT], a + SetEvent EVENT_OAK_GOT_PARCEL + ld a, HS_LYING_OLD_MAN + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_OLD_MAN + ld [wMissableObjectIndex], a + predef ShowObject + ld a, [wSavedNPCMovementDirections2Index] + ld b, 0 + ld c, a + ld hl, wNPCMovementDirections2 + xor a + call FillMemory + ld [hl], $ff + call StopAllMusic + callba Music_RivalAlternateStart + ld a, $1 + ld [hSpriteIndexOrTextID], a + ld de, wNPCMovementDirections2 + call MoveSprite + ld a, $15 + ld [W_OAKSLABCURSCRIPT], a + ret + OaksLabScript21: - dr $1c866,$1c896 + ld a, [wd730] + bit 0, a + ret nz + call PlayDefaultMusic + ld a, HS_OAKS_LAB_RIVAL + ld [wMissableObjectIndex], a + predef HideObject + SetEvent EVENT_1ST_ROUTE22_RIVAL_BATTLE + ResetEventReuseHL EVENT_2ND_ROUTE22_RIVAL_BATTLE + SetEventReuseHL EVENT_ROUTE22_RIVAL_WANTS_BATTLE + ld a, HS_ROUTE_22_RIVAL_1 + ld [wMissableObjectIndex], a + predef ShowObject + xor a + ld [wJoyIgnore], a + ld a, $16 + ld [W_OAKSLABCURSCRIPT], a + ret + OaksLabScript22: - dr $1c896,$1c904 + ret + +OaksLabScript_1c897: + ld hl, wBagItems + ld bc, 0 +.asm_1c89d + ld a, [hli] + cp $ff + ret z + cp OAKS_PARCEL + jr z, .asm_1c8a9 + inc hl + inc c + jr .asm_1c89d + +.asm_1c8a9 + ld hl, wNumBagItems + ld a, c + ld [wWhichPokemon], a + ld a, 1 + ld [wItemQuantity], a + call RemoveItemFromInventory + ret + +OaksLabScript_1c8b9: + ld a, $7c + ld [$ffeb], a + ld a, $8 + ld [$ffee], a + ld a, [wYCoord] + cp 3 + jr nz, .asm_1c8d3 + ld a, $4 + ld [wNPCMovementDirections2Index], a + ld a, $30 + ld b, $b + jr .asm_1c8f6 + +.asm_1c8d3 + cp $1 + jr nz, .asm_1c8e2 + ld a, $2 + ld [wNPCMovementDirections2Index], a + ld a, $30 + ld b, $9 + jr .asm_1c8f6 + +.asm_1c8e2 + ld a, $3 + ld [wNPCMovementDirections2Index], a + ld b, $a + ld a, [wXCoord] + cp $4 + jr nz, .asm_1c8f4 + ld a, $40 + jr .asm_1c8f6 + +.asm_1c8f4 + ld a, $20 +.asm_1c8f6 + ld [$ffec], a + ld a, b + ld [$ffed], a + ld a, $1 + ld [wSpriteIndex], a + call SetSpritePosition1 + ret + OaksLabScript_1d076: - dr $1c904,$1c910 + ld hl, OaksLabText_1c946 + ld a, l + ld [wMapTextPtr], a + ld a, h + ld [wMapTextPtr + 1], a + ret OaksLabTextPointers: ; 1d082 (7:5082) - dr $1c910,$1cbae + dr $1c910,$1c946 + +OaksLabText_1c946: + dr $1c946,$1cbae OaksLabRivalDefeatedText: dr $1cbae,$1cbb3 -- cgit v1.3.1-sl0p From c93574436f30106fd2211abea452fe3a96948211 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sat, 28 May 2016 17:43:51 -0400 Subject: Viridian Mart --- constants/event_macros.asm | 21 +++++++++++++++++++++ constants/hide_show_constants.asm | 2 +- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- main.asm | 15 ++++++++++++++- maps/ceruleanmart.blk | 2 +- maps/cinnabarmart.blk | 2 +- maps/fuchsiamart.blk | 2 +- maps/lavendermart.blk | 2 +- maps/pewtermart.blk | 2 +- maps/saffronmart.blk | 2 +- maps/vermilionmart.blk | 2 +- maps/viridianmart.blk | 2 +- scripts/viridianmart.asm | 16 ++++++++++++++-- 14 files changed, 60 insertions(+), 14 deletions(-) (limited to 'constants') diff --git a/constants/event_macros.asm b/constants/event_macros.asm index 9f24ace7..5eb73147 100644 --- a/constants/event_macros.asm +++ b/constants/event_macros.asm @@ -125,6 +125,27 @@ CheckAndResetEventA: MACRO ld [wEventFlags + ((\1) / 8)], a ENDM +CheckAndSetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] + set (\1) % 8, [hl] + ENDM + +CheckAndResetEventReuseHL: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld hl, wEventFlags + event_byte + ENDC + + bit (\1) % 8, [hl] + res (\1) % 8, [hl] + ENDM + + ;\1 = event index SetEvent: MACRO event_byte = ((\1) / 8) diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 5a6347d5..9481466e 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -8,7 +8,7 @@ const_value = 0 const HS_PALLET_TOWN_OAK ; 00 const HS_LYING_OLD_MAN ; 01 - const HS_PERSON_02 ; 02 + const HS_OLD_MAN_1 ; 02 const HS_OLD_MAN ; 03 const HS_MUSEUM_GUY ; 04 const HS_GYM_GUY ; 05 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 2b901ed5..dbe4d15f 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -42,7 +42,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(BluesHouse_h) db BANK(OaksLab_h) db BANK(ViridianPokecenter_h) - db $07 ; db BANK(ViridianMart_h) + db BANK(ViridianMart_h) db $07 ; db BANK(School_h) db $07 ; db BANK(ViridianHouse_h) db $1d ; db BANK(ViridianGym_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 9d358b2d..e3edc139 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -42,7 +42,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw BluesHouse_h dw OaksLab_h ;id=40 dw ViridianPokecenter_h - dw $4c6e ; dw ViridianMart_h + dw ViridianMart_h dw $4d6d ; dw School_h dw $4dc6 ; dw ViridianHouse_h dw $40d4 ; dw ViridianGym_h diff --git a/main.asm b/main.asm index 926e8984..325bcdbe 100755 --- a/main.asm +++ b/main.asm @@ -304,7 +304,20 @@ INCLUDE "data/mapHeaders/oakslab.asm" INCLUDE "scripts/oakslab.asm" INCLUDE "data/mapObjects/oakslab.asm" - dr $1cc6e,$1e2ae ; map scripts +INCLUDE "data/mapHeaders/viridianmart.asm" +INCLUDE "scripts/viridianmart.asm" +INCLUDE "data/mapObjects/viridianmart.asm" +ViridianMartBlocks: +PewterMartBlocks: +CeruleanMartBlocks: +VermilionMartBlocks: +LavenderMartBlocks: +CeladonMartBlocks: +SaffronMartBlocks: +FuchsiaMartBlocks: +CinnabarMartBlocks: +INCBIN "maps/viridianmart.blk" + dr $1cd6d,$1e2ae ; map scripts INCLUDE "engine/menu/oaks_pc.asm" diff --git a/maps/ceruleanmart.blk b/maps/ceruleanmart.blk index 1da8fffc..62385406 100644 --- a/maps/ceruleanmart.blk +++ b/maps/ceruleanmart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/maps/cinnabarmart.blk b/maps/cinnabarmart.blk index 1da8fffc..62385406 100644 --- a/maps/cinnabarmart.blk +++ b/maps/cinnabarmart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/maps/fuchsiamart.blk b/maps/fuchsiamart.blk index 1da8fffc..62385406 100644 --- a/maps/fuchsiamart.blk +++ b/maps/fuchsiamart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/maps/lavendermart.blk b/maps/lavendermart.blk index 1da8fffc..62385406 100644 --- a/maps/lavendermart.blk +++ b/maps/lavendermart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/maps/pewtermart.blk b/maps/pewtermart.blk index 1da8fffc..62385406 100644 --- a/maps/pewtermart.blk +++ b/maps/pewtermart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/maps/saffronmart.blk b/maps/saffronmart.blk index 1da8fffc..62385406 100644 --- a/maps/saffronmart.blk +++ b/maps/saffronmart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/maps/vermilionmart.blk b/maps/vermilionmart.blk index 1da8fffc..62385406 100644 --- a/maps/vermilionmart.blk +++ b/maps/vermilionmart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/maps/viridianmart.blk b/maps/viridianmart.blk index 1da8fffc..62385406 100644 --- a/maps/viridianmart.blk +++ b/maps/viridianmart.blk @@ -1 +1 @@ -   \ No newline at end of file + %  \ No newline at end of file diff --git a/scripts/viridianmart.asm b/scripts/viridianmart.asm index 8d974abc..05e566fb 100755 --- a/scripts/viridianmart.asm +++ b/scripts/viridianmart.asm @@ -3,7 +3,8 @@ ViridianMartScript: ; 1d46e (7:546e) call EnableAutoTextBoxDrawing ld hl, ViridianMartScriptPointers ld a, [W_VIRIDIANMARKETCURSCRIPT] - jp JumpTable + call JumpTable + ret ViridianMartScript_1d47d: ; 1d47d (7:547d) CheckEvent EVENT_OAK_GOT_PARCEL @@ -57,8 +58,19 @@ ViridianMartScript1: ; 1d4c0 (7:54c0) SetEvent EVENT_GOT_OAKS_PARCEL ld a, $2 ld [W_VIRIDIANMARKETCURSCRIPT], a - ; fallthrough + ret + ViridianMartScript2: ; 1d4df (7:54df) + CheckEventHL EVENT_02D + ret z + CheckAndSetEventReuseHL EVENT_02C + ret nz + ld a, HS_OLD_MAN + ld [wMissableObjectIndex], a + predef HideObject + ld a, HS_OLD_MAN_1 + ld [wMissableObjectIndex], a + predef ShowObject ret ViridianMartTextPointers: ; 1d4e0 (7:54e0) -- cgit v1.3.1-sl0p From a86cd928c967b6779a56829a36e70c36289769b9 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 29 May 2016 00:10:38 -0400 Subject: Viridian Forest and other functions --- constants/event_constants.asm | 4 +- constants/trainer_constants.asm | 94 ++++++------- data/mapObjects/oakslab.asm | 2 +- data/mapObjects/viridianforest.asm | 26 ++-- engine/bank3c.asm | 16 +-- engine/bank3f.asm | 274 +++++++++++++++++++++++-------------- main.asm | 10 +- scripts/oakslab2.asm | 28 ++++ scripts/school2.asm | 17 +++ scripts/viridianforest.asm | 102 +++++++++++--- scripts/viridianforest2.asm | 45 ++++++ wram.asm | 6 +- 12 files changed, 427 insertions(+), 197 deletions(-) create mode 100755 scripts/oakslab2.asm create mode 100755 scripts/school2.asm create mode 100755 scripts/viridianforest2.asm (limited to 'constants') diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 7fc3b509..49050dd3 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -1381,8 +1381,8 @@ const_value = 0 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_BEAT_VIRIDIAN_FOREST_TRAINER_3 ; 565, (D7F3, bit 5) + const EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_4 ; 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) diff --git a/constants/trainer_constants.asm b/constants/trainer_constants.asm index fde4d42a..e11cc4aa 100755 --- a/constants/trainer_constants.asm +++ b/constants/trainer_constants.asm @@ -6,50 +6,50 @@ ENDM const_value = 1 - 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 SONY1 ; $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 SONY2 ; $2A - trainer_const SONY3 ; $2B - trainer_const LORELEI ; $2C - trainer_const CHANNELER ; $2D - trainer_const AGATHA ; $2E - trainer_const LANCE ; $2F + trainer_const YOUNGSTER ; $01 | OPP = $C9 + trainer_const BUG_CATCHER ; $02 | OPP = $CA + trainer_const LASS ; $03 | OPP = $CB + trainer_const SAILOR ; $04 | OPP = $CC + trainer_const JR_TRAINER_M ; $05 | OPP = $CD + trainer_const JR_TRAINER_F ; $06 | OPP = $CE + trainer_const POKEMANIAC ; $07 | OPP = $CF + trainer_const SUPER_NERD ; $08 | OPP = $D0 + trainer_const HIKER ; $09 | OPP = $D1 + trainer_const BIKER ; $0A | OPP = $D2 + trainer_const BURGLAR ; $0B | OPP = $D3 + trainer_const ENGINEER ; $0C | OPP = $D4 + trainer_const JUGGLER_X ; $0D | OPP = $D5 + trainer_const FISHER ; $0E | OPP = $D6 + trainer_const SWIMMER ; $0F | OPP = $D7 + trainer_const CUE_BALL ; $10 | OPP = $D8 + trainer_const GAMBLER ; $11 | OPP = $D9 + trainer_const BEAUTY ; $12 | OPP = $DA + trainer_const PSYCHIC_TR ; $13 | OPP = $DB + trainer_const ROCKER ; $14 | OPP = $DC + trainer_const JUGGLER ; $15 | OPP = $DD + trainer_const TAMER ; $16 | OPP = $DE + trainer_const BIRD_KEEPER ; $17 | OPP = $DF + trainer_const BLACKBELT ; $18 | OPP = $E0 + trainer_const SONY1 ; $19 | OPP = $E1 + trainer_const PROF_OAK ; $1A | OPP = $E2 + trainer_const CHIEF ; $1B | OPP = $E3 + trainer_const SCIENTIST ; $1C | OPP = $E4 + trainer_const GIOVANNI ; $1D | OPP = $E5 + trainer_const ROCKET ; $1E | OPP = $E6 + trainer_const COOLTRAINER_M ; $1F | OPP = $E7 + trainer_const COOLTRAINER_F ; $20 | OPP = $E8 + trainer_const BRUNO ; $21 | OPP = $E9 + trainer_const BROCK ; $22 | OPP = $EA + trainer_const MISTY ; $23 | OPP = $EB + trainer_const LT_SURGE ; $24 | OPP = $EC + trainer_const ERIKA ; $25 | OPP = $ED + trainer_const KOGA ; $26 | OPP = $EE + trainer_const BLAINE ; $27 | OPP = $EF + trainer_const SABRINA ; $28 | OPP = $F0 + trainer_const GENTLEMAN ; $29 | OPP = $F1 + trainer_const SONY2 ; $2A | OPP = $F2 + trainer_const SONY3 ; $2B | OPP = $F3 + trainer_const LORELEI ; $2C | OPP = $F4 + trainer_const CHANNELER ; $2D | OPP = $F5 + trainer_const AGATHA ; $2E | OPP = $F6 + trainer_const LANCE ; $2F | OPP = $F7 diff --git a/data/mapObjects/oakslab.asm b/data/mapObjects/oakslab.asm index 779b458f..5b9a01d5 100755 --- a/data/mapObjects/oakslab.asm +++ b/data/mapObjects/oakslab.asm @@ -8,7 +8,7 @@ OaksLabObject: ; 0x1d40a (size=88) db $0 ; signs db $9 ; objects - object SPRITE_BLUE, $4, $3, STAY, NONE, $41, OPP_SONY1, $1 + object SPRITE_BLUE, $4, $3, STAY, NONE, $1, OPP_SONY1, $1 object SPRITE_BALL, $7, $3, STAY, NONE, $2 ; person object SPRITE_OAK, $5, $2, STAY, DOWN, $3 ; person object SPRITE_BOOK_MAP_DEX, $2, $1, STAY, NONE, $4 ; person diff --git a/data/mapObjects/viridianforest.asm b/data/mapObjects/viridianforest.asm index a1d52cfe..8f5d6b0b 100755 --- a/data/mapObjects/viridianforest.asm +++ b/data/mapObjects/viridianforest.asm @@ -3,29 +3,31 @@ ViridianForestObject: ; 0x611da (size=127) db $6 ; warps db $0, $1, $2, VIRIDIAN_FOREST_EXIT - db $0, $2, $3, VIRIDIAN_FOREST_EXIT + db $0, $2, $2, VIRIDIAN_FOREST_EXIT db $2f, $f, $1, VIRIDIAN_FOREST_ENTRANCE db $2f, $10, $1, VIRIDIAN_FOREST_ENTRANCE db $2f, $11, $1, VIRIDIAN_FOREST_ENTRANCE db $2f, $12, $1, VIRIDIAN_FOREST_ENTRANCE db $6 ; signs - db $28, $18, $9 ; ViridianForestText9 - db $20, $10, $a ; ViridianForestText10 - db $11, $1a, $b ; ViridianForestText11 - db $18, $4, $c ; ViridianForestText12 - db $2d, $12, $d ; ViridianForestText13 - db $1, $2, $e ; ViridianForestText14 + db $28, $18, $b ; ViridianForestText9 + db $20, $10, $c ; ViridianForestText10 + db $11, $1a, $d ; ViridianForestText11 + db $18, $4, $e ; ViridianForestText12 + db $2d, $12, $f ; ViridianForestText13 + db $1, $2, $10 ; ViridianForestText14 - db $8 ; objects + db $a ; objects object SPRITE_BUG_CATCHER, $10, $2b, STAY, NONE, $1 ; person object SPRITE_BUG_CATCHER, $1e, $21, STAY, LEFT, $2, OPP_BUG_CATCHER, $1 object SPRITE_BUG_CATCHER, $1e, $13, STAY, LEFT, $3, OPP_BUG_CATCHER, $2 object SPRITE_BUG_CATCHER, $2, $12, STAY, LEFT, $4, OPP_BUG_CATCHER, $3 - object SPRITE_BALL, $19, $b, STAY, NONE, $5, ANTIDOTE - object SPRITE_BALL, $c, $1d, STAY, NONE, $6, POTION - object SPRITE_BALL, $1, $1f, STAY, NONE, $7, POKE_BALL - object SPRITE_BUG_CATCHER, $1b, $28, STAY, NONE, $8 ; person + object SPRITE_LASS, $2, $29, STAY, NONE, $5, OPP_LASS, $13 + object SPRITE_BUG_CATCHER, $d, $11, STAY, RIGHT, $6, OPP_BUG_CATCHER, $f + object SPRITE_BALL, $19, $b, STAY, NONE, $7, POTION + object SPRITE_BALL, $c, $1d, STAY, NONE, $8, POTION + object SPRITE_BALL, $1, $1f, STAY, NONE, $9, POKE_BALL + object SPRITE_BUG_CATCHER, $1b, $28, STAY, NONE, $a ; person ; warp-to EVENT_DISP VIRIDIAN_FOREST_WIDTH, $0, $1 ; VIRIDIAN_FOREST_EXIT diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 6f949238..964cc0bd 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -302,7 +302,7 @@ Func_f0a82: ; f0a82 ret nz push hl push bc - callab Func_fcb4d ; get Pikachu's position with respect to you? + callab GetPikachuFacingDirectionAndReturnToE pop bc pop hl ld a, b @@ -349,12 +349,9 @@ INCLUDE "scripts/celadoncity2.asm" INCLUDE "scripts/route1_2.asm" INCLUDE "scripts/route22_2.asm" INCLUDE "scripts/redshouse1f2.asm" -Func_f1be0: - dr $f1be0, $f1c03 -Func_f1c03: - dr $f1c03, $f1c0f -Func_f1c0f: - dr $f1c0f, $f220e +INCLUDE "scripts/oakslab2.asm" +INCLUDE "scripts/school2.asm" + dr $f1c1b, $f220e INCLUDE "data/mapHeaders/beach_house.asm" INCLUDE "scripts/beach_house.asm" @@ -365,7 +362,10 @@ INCLUDE "data/mapObjects/beach_house.asm" Func_f23d0: ; f23d0 dr $f23d0, $f24ae Func_f24ae: ; f24ae - dr $f24ae, $f25f8 + dr $f24ae, $f2528 + +INCLUDE "scripts/viridianforest2.asm" + dr $f2564, $f25f8 INCLUDE "engine/overworld/hidden_objects.asm" diff --git a/engine/bank3f.asm b/engine/bank3f.asm index 8f01097e..5cab9357 100644 --- a/engine/bank3f.asm +++ b/engine/bank3f.asm @@ -17,10 +17,11 @@ Func_fc4dd:: ; fc4dd (3f:44dd) jr nz, .asm_fc4f8 scf ret + .asm_fc4f8 and a ret - + Func_fc4fa:: ; fc4fa (3f:44fa) ld hl, wd430 bit 4, [hl] @@ -30,10 +31,10 @@ Func_fc4fa:: ; fc4fa (3f:44fa) call Func_fc523 ld a, $ff ld [wSpriteStateData1 + $f2], a - call Func_fcb84 + call ClearPikachuFollowCommandBuffer call Func_fc5bc ret - + .asm_fc515 call Func_fc53f xor a @@ -41,7 +42,7 @@ Func_fc4fa:: ; fc4fa (3f:44fa) ld a, [wSpriteStateData1 + $9] ld [wSpriteStateData1 + $f9], a ret - + Func_fc523:: ; fc523 (3f:4523) ld hl, wSpriteStateData1 + $f0 call Func_fc52c @@ -58,7 +59,7 @@ Func_fc534:: ; fc534 (3f:4534) xor a ld [wd431], a ret - + Func_fc53f:: ; fc53f (3f:453f) ld bc, wSpriteStateData1 + $f0 ld a, [wYCoord] @@ -85,12 +86,12 @@ Func_fc53f:: ; fc53f (3f:453f) cp $7 jr z, .asm_fc572 jr .asm_fc59e - + .asm_fc572 ld a, [wSpriteStateData1 + $9] and a ; SPRITE_FACING_DOWN jr z, .asm_fc5a4 - cp SPRITE_FACING_UP + cp SPRITE_FACING_UP jr z, .asm_fc5a7 cp SPRITE_FACING_LEFT jr z, .asm_fc5a1 @@ -102,28 +103,35 @@ Func_fc53f:: ; fc53f (3f:453f) jr nz, .asm_fc58d dec e jr .asm_fc5aa + .asm_fc58d cp SPRITE_FACING_UP jr nz, .asm_fc594 inc e jr .asm_fc5aa + .asm_fc594 cp SPRITE_FACING_LEFT jr nz, .asm_fc59b inc d jr .asm_fc5aa + .asm_fc59b dec d jr .asm_fc5aa + .asm_fc59e inc d jr .asm_fc5aa + .asm_fc5a1 dec d jr .asm_fc5aa + .asm_fc5a4 inc e jr .asm_fc5aa + .asm_fc5a7 dec e jr .asm_fc5aa ; useless jr @@ -141,7 +149,7 @@ Func_fc4b2:: ; fc4b2 (3f:44b2) set 5, [hl] pop hl ret - + Func_fc5bc:: ; fc5bc (3f:45bc) ld a, $49 ld [wSpriteStateData1 + $f0], a @@ -162,15 +170,17 @@ Func_fc5bc:: ; fc5bc (3f:45bc) jr z, .asm_fc5f1 call Func_fccb2 ret - + .asm_fc5e4 ld a, [wSpriteStateData1 + $9] ld [wSpriteStateData1 + $f9], a ret + .asm_fc5eb ld a, $0 ld [wSpriteStateData1 + $f9], a ret + .asm_fc5f1 ld a, [wSpriteStateData1 + $9] xor $4 @@ -200,24 +210,29 @@ Func_fc5fa:: ; fc5fa (3f:45fa) jr nz, .asm_fc641 ld a, $3 jr .asm_fc647 - + .asm_fc62d ld a, [wSpriteStateData1 + $9] and a jr z, .asm_fc645 jr .asm_fc641 + .asm_fc635 ld a, $3 jr .asm_fc647 + .asm_fc639 ld a, $4 jr .asm_fc647 + .asm_fc63d ld a, $6 jr .asm_fc647 + .asm_fc641 ld a, $1 jr .asm_fc647 + .asm_fc645 ld a, $3 .asm_fc647 @@ -226,7 +241,7 @@ Func_fc5fa:: ; fc5fa (3f:45fa) Pointer_fc64b:: ; fc64b (3f:464b) db $c2, $4c, $4f, $ba, $be, $b8, $54, $ff - + Pointer_fc653:: ; fc653 (3f:4653) db $2f, $e6, $3e, $5e, $80, $31, $a4, $ff @@ -241,28 +256,32 @@ Func_fc65b:: ; fc65b (3f:465b) call Func_1568 jr c, .asm_fc688 jr .asm_fc684 + .asm_fc673 ld a, [wSpriteStateData1 + $9] cp SPRITE_FACING_UP jr z, .asm_fc688 jr .asm_fc684 + .asm_fc67c ld a, [wSpriteStateData1 + $9] and a ; SPRITE_FACING_DOWN jr z, .asm_fc684 jr .asm_fc688 + .asm_fc684 ld a, $0 jr .asm_fc68a + .asm_fc688 ld a, $1 .asm_fc68a ld [wd431], a ret - + Pointer_fc68e:: ; fc68e (3f:468e) db $33, $dd, $df, $e0, $e1, $de, $ec, $7f, $a8, $a9, $aa, $ff - + Func_fc69a:: ; fc69a (3f:469a) ld a, [wCurMap] cp ROUTE_22_GATE @@ -270,22 +289,27 @@ Func_fc69a:: ; fc69a (3f:469a) cp ROUTE_2_GATE jr z, .asm_fc6b0 jr .asm_fc6bd + .asm_fc6a7 ld a, [wSpriteStateData1 + $9] cp SPRITE_FACING_UP jr z, .asm_fc6b9 jr .asm_fc6bd + .asm_fc6b0 ld a, [wSpriteStateData1 + $9] cp SPRITE_FACING_UP jr z, .asm_fc6b9 jr .asm_fc6bd + .asm_fc6b9 ld a, $1 jr .asm_fc6c1 + .asm_fc6bd ld a, $3 jr .asm_fc6c1 + .asm_fc6c1 ld [wd431], a ret @@ -337,7 +361,7 @@ Func_fc6d5:: ; fc6d5 (3f:46d5) ld h, [hl] ld l, a jp hl - + PointerTable_fc710: ; fc710 (3f:4710) dw Func_fc793 dw Func_fc7aa @@ -350,7 +374,7 @@ PointerTable_fc710: ; fc710 (3f:4710) dw asm_fc937 dw asm_fc969 dw Func_fc726 - + Func_fc726: ; fc726 (3f:4726) ret @@ -368,6 +392,7 @@ Func_fc727: ; fc727 (3f:4727) .asm_fc739 scf ret + .asm_fc73b ld hl, wSpriteStateData1 + $f2 ld [hl], $ff @@ -375,6 +400,7 @@ Func_fc727: ; fc727 (3f:4727) ld [hl], $0 xor a ret + asm_fc745: ; fc745 (3f:4745) ld hl, $1 add hl, bc @@ -397,6 +423,7 @@ asm_fc745: ; fc745 (3f:4745) ld [hl], a call Func_fca99 ret + asm_fc76a: ; fc76a (3f:476a) xor a ld hl, $7 @@ -485,7 +512,7 @@ Pointer_fc7e3: ; fc7e3 (3f:47e3) db $0, $4 db $c, $1 db $0, $4 - + Func_fc803: ; fc803 (3f:4803) call Func_fcae2 ret c @@ -528,7 +555,7 @@ Func_fc835: ; fc835 (3f:4835) add hl, bc ld [hl], $1 ret - + Func_fc842: ; fc842 (3f:4842) ld hl, $0 push af @@ -545,13 +572,13 @@ Func_fc842: ; fc842 (3f:4842) ld l, a pop af jp hl - + PointerTable_fc85a: ; fc85a (3f:485a) dw Func_fc862 dw Func_fc8f8 dw Func_fc92b dw Func_fc95d - + Func_fc862: ; fc862 (3f:4862) dec a add a @@ -616,7 +643,7 @@ asm_fc87f: ; fc87f (3f:487f) dec [hl] ret nz jp Func_fc835 - + Func_fc8c7: ; fc8c7 (3f:48c7) ld hl, $4 add hl, bc @@ -638,7 +665,7 @@ Pointer_fc8d6: ; fc8d6 (3f:48d6) db $fc, $fe, $fe, $fd, $0 db $fc, $fe, $fd, $fc, $fe db $fe, $ff, $00, $00 - + Func_fc8f8: ; fc8f8 (3f:48f8) ld hl, $1 add hl, bc @@ -670,7 +697,7 @@ asm_fc904: ; fc904 (3f:4904) dec [hl] ret nz jp Func_fc835 - + Func_fc92b: ; fc92b (3f:492b) ld hl, wSpriteStateData2 - wSpriteStateData1 add hl, bc @@ -701,7 +728,7 @@ asm_fc937: ; fc937 (3f:4937) dec [hl] ret nz jp Func_fc835 - + Func_fc95d: ; fc95d (3f:495d) ld hl, wSpriteStateData2 - wSpriteStateData1 add hl, bc @@ -734,7 +761,7 @@ asm_fc969: ; fc969 (3f:4969) dec [hl] ret nz jp Func_fc835 - + Func_fc994: ; fc994 (3f:4994) push hl ld hl, Pointer_fc9ac @@ -746,7 +773,7 @@ Func_fc994: ; fc994 (3f:4994) ld a, [hl] pop hl ret - + Func_fc9a0: ; fc9a0 (3f:49a0) push hl ld hl, Pointer_fc9ac_End @@ -758,7 +785,7 @@ Func_fc9a0: ; fc9a0 (3f:49a0) ld a, [hl] pop hl ret - + Pointer_fc9ac: ; fc9ac (3f:49ac) db SPRITE_FACING_DOWN, SPRITE_FACING_LEFT, SPRITE_FACING_UP, SPRITE_FACING_RIGHT db SPRITE_FACING_DOWN, SPRITE_FACING_LEFT, SPRITE_FACING_UP, SPRITE_FACING_RIGHT @@ -785,7 +812,7 @@ asm_fc9c3: ; fc9c3 (3f:49c3) add hl, bc ld [hl], $1 ret - + Func_fc9df: ; fc9df (3f:49df) ld hl, wSpriteStateData2 - wSpriteStateData1 add hl, bc @@ -808,7 +835,7 @@ asm_fc9ee: ; fc9ee (3f:49ee) add hl, bc ld [hl], $1 ret - + Func_fca0a: ; fca0a (3f:4a0a) ld hl, wSpriteStateData2 - wSpriteStateData1 add hl, bc @@ -832,7 +859,7 @@ asm_fca1c: ; fca1c (3f:4a1c) add hl, bc ld [hl], $1 ret - + Func_fca38: ; fca38 (3f:4a38) ld hl, $3 add hl, bc @@ -849,7 +876,7 @@ Func_fca38: ; fca38 (3f:4a38) add d ld [hl], a ret - + Func_fca4b: ; fca4b (3f:4a4b) ld a, [wWalkBikeSurfState] cp $1 @@ -871,7 +898,7 @@ asm_fca59: ; fca59 (3f:4a59) add [hl] ld [hl], a ret - + Func_fca68: ; fca68 (3f:4a68) ld hl, $3 add hl, bc @@ -884,7 +911,7 @@ Func_fca68: ; fca68 (3f:4a68) add [hl] ld [hli], a ret - + Func_fca75: ; fca75 (3f:4a75) ld hl, $3 add hl, bc @@ -893,7 +920,7 @@ Func_fca75: ; fca75 (3f:4a75) inc hl ld [hl], a ret - + Func_fca7e: ; fca7e (3f:4a7e) call Func_fcdad ld d, $2 @@ -915,7 +942,7 @@ Func_fca7e: ; fca7e (3f:4a7e) and $3 ld [hl], a ret - + Func_fca99: ; fca99 (3f:4a99) ld a, [wd430] bit 3, a @@ -940,6 +967,7 @@ Func_fca99: ; fca99 (3f:4a99) call Func_fcae2 ret c jr .asm_fcacb + .asm_fcac4 ld hl, $8 add hl, bc @@ -951,18 +979,20 @@ Func_fca99: ; fca99 (3f:4a99) add hl, bc ld [hl], d ret + .asm_fcad1 ld hl, $2 add hl, bc ld [hl], $ff ret + .asm_fcad8 ld a, [wSpriteStateData1 + $2] and $f or d ld [wSpriteStateData1 + $f2], a ret - + Func_fcae2: ; fcae2 (3f:4ae2) ld hl, $104 add hl, bc @@ -980,6 +1010,7 @@ Func_fcae2: ; fcae2 (3f:4ae2) ld [hl], $ff scf ret + .asm_fcaff and a ret @@ -1006,6 +1037,7 @@ Func_fcb01: ; fcb01 (3f:4b01) cp $1 jr z, .asm_fcb26 jr .asm_fcb48 + .asm_fcb26 ld hl, $105 add hl, bc @@ -1013,6 +1045,7 @@ Func_fcb01: ; fcb01 (3f:4b01) sub d jr z, .asm_fcb43 jr .asm_fcb48 + .asm_fcb30 ld hl, $105 add hl, bc @@ -1025,12 +1058,14 @@ Func_fcb01: ; fcb01 (3f:4b01) and a jr z, .asm_fcb43 jr .asm_fcb48 + .asm_fcb43 pop hl pop de pop bc scf ret + .asm_fcb48 pop hl pop de @@ -1038,12 +1073,12 @@ Func_fcb01: ; fcb01 (3f:4b01) xor a ret -Func_fcb4d: ; fcb4d (3f:4b4d) - call Func_fcb52 +GetPikachuFacingDirectionAndReturnToE: ; fcb4d (3f:4b4d) + call GetPikachuFacingDirection ld e, a ret - -Func_fcb52: ; fcb52 (3f:4b52) + +GetPikachuFacingDirection: ; fcb52 (3f:4b52) ld bc, wSpriteStateData1 + $f0 ld a, [wXCoord] add $4 @@ -1055,7 +1090,7 @@ Func_fcb52: ; fcb52 (3f:4b52) add hl, bc ld a, [hl] cp e - jr z, Func_fcb71 + jr z, .asm_fcb71 jr nc, .asm_fcb6e ld a, SPRITE_FACING_UP ret @@ -1063,8 +1098,8 @@ Func_fcb52: ; fcb52 (3f:4b52) .asm_fcb6e ld a, SPRITE_FACING_DOWN ret - -Func_fcb71: ; fcb71 (3f:4b71) + +.asm_fcb71 ld hl, wSpriteStateData2 - wSpriteStateData1 + 5 add hl, bc ld a, [hl] @@ -1082,9 +1117,9 @@ Func_fcb71: ; fcb71 (3f:4b71) ld a, $ff ; standing ret -Func_fcb84: ; fcb84 (3f:4b84) +ClearPikachuFollowCommandBuffer: ; fcb84 (3f:4b84) push bc - ld hl, wd437 + ld hl, wPikachuFollowCommandBufferSize ld [hl], $ff inc hl ld bc, $10 @@ -1092,91 +1127,99 @@ Func_fcb84: ; fcb84 (3f:4b84) call FillMemory pop bc ret - -Func_fcb94: ; fcb94 (3f:4b94) - ld hl, wd437 + +AppendPikachuFollowCommandToBuffer: ; fcb94 (3f:4b94) + ld hl, wPikachuFollowCommandBufferSize inc [hl] ld e, [hl] ld d, 0 - ld hl, wd438 + ld hl, wPikachuFollowCommandBuffer add hl, de ld [hl], a ret - + Func_fcba1: ; fcba1 (3f:4ba1) - call Func_fcb84 - call Func_fcbac + call ClearPikachuFollowCommandBuffer + call GetPikachuFollowCommand ret c - call Func_fcb94 + call AppendPikachuFollowCommandToBuffer ret - -Func_fcbac: ; fcbac (3f:4bac) + +GetPikachuFollowCommand: ; fcbac (3f:4bac) ld bc, wSpriteStateData1 + $f0 - ld hl, $104 + ld hl, wSpriteStateData2 - wSpriteStateData1 + 4 add hl, bc ld a, [wYCoord] add $4 sub [hl] - jr z, .asm_fcbd7 - jr c, .asm_fcbca - call Func_fcc01 - jr c, .asm_fcbc6 + jr z, .checkXCoord + jr c, .pikaAbovePlayer + call CheckAbsoluteValueLessThan2 + jr c, .return1 ld a, $5 and a ret -.asm_fcbc6 + +.return1 ld a, $1 and a ret -.asm_fcbca - call Func_fcc01 - jr c, .asm_fcbd3 + +.pikaAbovePlayer + call CheckAbsoluteValueLessThan2 + jr c, .return2 ld a, $6 and a ret -.asm_fcbd3 + +.return2 ld a, $2 and a ret -.asm_fcbd7 - ld hl, $105 + +.checkXCoord + ld hl, wSpriteStateData2 - wSpriteStateData1 + 5 add hl, bc ld a, [wXCoord] add $4 sub [hl] - jr z, .asm_fcbff - jr c, .asm_fcbf2 - call Func_fcc01 - jr c, .asm_fcbee + jr z, .pikachuOnTopOfPlayer + jr c, .pikaToLeftOfPlayer + call CheckAbsoluteValueLessThan2 + jr c, .return4 ld a, $8 and a ret -.asm_fcbee + +.return4 ld a, $4 and a ret -.asm_fcbf2 - call Func_fcc01 - jr c, .asm_fcbfb + +.pikaToLeftOfPlayer + call CheckAbsoluteValueLessThan2 + jr c, .return3 ld a, $7 and a ret -.asm_fcbfb + +.return3 ld a, $3 and a ret -.asm_fcbff + +.pikachuOnTopOfPlayer scf ret - -Func_fcc01: ; fcc01 (3f:4c01) - jr nc, .asm_fcc05 + +CheckAbsoluteValueLessThan2: ; fcc01 (3f:4c01) + jr nc, .positive cpl inc a -.asm_fcc05 +.positive cp $2 ret - + Func_fcc08:: ; fcc08 (3f:4c08) call Func_fcc23 ret nc @@ -1185,14 +1228,15 @@ Func_fcc08:: ; fcc08 (3f:4c08) jr nz, .asm_fcc1b call Func_fcc42 ret c - call Func_fcb94 + call AppendPikachuFollowCommandToBuffer ret + .asm_fcc1b call Func_fcc64 ret c - call Func_fcb94 + call AppendPikachuFollowCommandToBuffer ret - + Func_fcc23: ; fcc23 (3f:4c28) ld a, [wd430] bit 5, a @@ -1208,10 +1252,11 @@ Func_fcc23: ; fcc23 (3f:4c28) jr nz, .asm_fcc40 scf ret + .asm_fcc40 and a ret - + Func_fcc42: ; fcc42 (3f:4c42) xor a ld a, [wPlayerDirection] @@ -1225,25 +1270,30 @@ Func_fcc42: ; fcc42 (3f:4c42) jr nz, .asm_fcc61 scf ret + .asm_fcc58 ld a, $2 ret + .asm_fcc5b ld a, $1 ret + .asm_fcc5e ld a, $3 ret + .asm_fcc61 ld a, $4 ret - + Func_fcc64: ; fcc64 (3f:4c64) ld hl, wd430 bit 6, [hl] jr z, .asm_fcc6e res 6, [hl] ret + .asm_fcc6e set 6, [hl] xor a @@ -1258,21 +1308,25 @@ Func_fcc64: ; fcc64 (3f:4c64) jr nz, .asm_fcc8f scf ret + .asm_fcc86 ld a, $6 ret + .asm_fcc89 ld a, $5 ret + .asm_fcc8c ld a, $7 ret + .asm_fcc8f ld a, $8 ret Func_fcc92: ; fcc92 (3f:4c92) - ld hl, wd437 + ld hl, wPikachuFollowCommandBufferSize ld a, [hl] cp $ff jr z, .asm_fccb0 @@ -1281,7 +1335,7 @@ Func_fcc92: ; fcc92 (3f:4c92) dec [hl] ld e, a ld d, 0 - ld hl, wd438 + ld hl, wPikachuFollowCommandBuffer add hl, de inc e ld a, $ff @@ -1293,6 +1347,7 @@ Func_fcc92: ; fcc92 (3f:4c92) jr nz, .asm_fcca8 and a ret + .asm_fccb0 scf ret @@ -1306,6 +1361,7 @@ Func_fccb2:: ; fccb2 (3f:4cb2) add a add a jr .asm_fccea + .asm_fccbf ld a, [wYCoord] add $4 @@ -1320,6 +1376,7 @@ Func_fccb2:: ; fccb2 (3f:4cb2) jr c, .asm_fccea ld a, SPRITE_FACING_UP jr .asm_fccea + .asm_fccd9 ld a, [wSpriteStateData2 + $f5] cp e @@ -1328,29 +1385,31 @@ Func_fccb2:: ; fccb2 (3f:4cb2) jr c, .asm_fccea ld a, SPRITE_FACING_LEFT jr .asm_fccea + .asm_fcce7 ld a, [wSpriteStateData1 + $9] .asm_fccea ld [wSpriteStateData1 + $f9], a ret - + Func_fccee: ; fccee (3f:4cee) - ld hl, wd437 + ld hl, wPikachuFollowCommandBufferSize ld a, [hl] cp $ff jr z, .asm_fccff ld e, a ld d, 0 - ld hl, wd438 + ld hl, wPikachuFollowCommandBuffer add hl, de ld a, [hl] ret + .asm_fccff xor a ret - + Func_fcd01: ; fcd01 (3f:4d01) - ld hl, wd437 + ld hl, wPikachuFollowCommandBufferSize ld a, [hl] cp $ff jr z, .asm_fcd15 @@ -1358,26 +1417,28 @@ Func_fcd01: ; fcd01 (3f:4d01) jr z, .asm_fcd15 ld e, a ld d, 0 - ld hl, wd438 + ld hl, wPikachuFollowCommandBuffer add hl, de ld a, [hl] ret + .asm_fcd15 xor a ret - + Func_fcd17: ; fcd17 (3f:4d17) - ld a, [wd437] + ld a, [wPikachuFollowCommandBufferSize] cp $ff ret z cp $2 jr nc, .asm_fcd23 and a ret + .asm_fcd23 scf ret - + Func_fcd25: ; fcd25 (3f:4d25) ld h, wSpriteStateData2 / $100 ld a, [H_CURRENTSPRITEOFFSET] @@ -1427,6 +1488,7 @@ Func_fcd25: ; fcd25 (3f:4d25) ld [hl], $ff scf jr .asm_fcd82 + .asm_fcd6f ld h, wSpriteStateData2 / $100 ld a, [H_CURRENTSPRITEOFFSET] @@ -1442,7 +1504,7 @@ Func_fcd25: ; fcd25 (3f:4d25) and a .asm_fcd82 ret - + Func_fcd83: ; fcd83 (3f:4d83) ld h, wSpriteStateData1 / $100 ld a, [H_CURRENTSPRITEOFFSET] @@ -1469,7 +1531,7 @@ Func_fcd83: ; fcd83 (3f:4d83) endr add hl, de ret - + Func_fcdad: ; fcdad (3f:4dad) push bc push af @@ -1526,6 +1588,7 @@ IsStarterPikachuInOurParty:: ; fcdb8 (3f:4db8) ld b, h ld c, l jr .loop + .sameOT pop bc pop de @@ -1539,6 +1602,7 @@ IsStarterPikachuInOurParty:: ; fcdb8 (3f:4db8) pop hl scf ret + .noPlayerPikachu pop hl and a @@ -1588,10 +1652,11 @@ asm_fce21: ; fce21 (3f:4e21) .notPlayerPikachu and a ret + .isPlayerPikachu scf ret - + Func_fce5a:: ; fce5a (3f:4e5a) push de call IsStarterPikachuInOurParty @@ -1604,6 +1669,7 @@ Func_fce5a:: ; fce5a (3f:4e5a) cp d jr c, .asm_fce6e ret + .asm_fce6c cp d ret c @@ -1639,14 +1705,17 @@ Func_fce73:: ; fce73 (3f:4e73) and a jr nz, .asm_fcea7 jr .asm_fcea9 + .asm_fce9e ld a, [wWhichPokemon] inc a ld [wWhichPokemon], a jr .loop + .asm_fcea7 scf ret + .asm_fcea9 and a ret @@ -1678,6 +1747,7 @@ IsSurfingPikachuInThePlayersParty:: ; fceab (3f:4eab) pop bc pop hl jr .curMonNotSurfingPlayerPikachu + .foundSurfingPikachu pop bc pop hl @@ -1716,17 +1786,19 @@ IsSurfingPikachuInThePlayersParty:: ; fceab (3f:4eab) ld b, h ld c, l jr .loop + .foundSurfingPlayerPikachu pop bc pop de pop hl scf ret + .noSurfingPlayerPikachu pop hl and a ret - + INCLUDE "engine/pikachu_pic_animation.asm" Func_fe66e: diff --git a/main.asm b/main.asm index 457c0e23..0d13baf2 100755 --- a/main.asm +++ b/main.asm @@ -1077,8 +1077,14 @@ INCLUDE "engine/evolution.asm" INCLUDE "engine/hidden_object_functions17.asm" SECTION "bank18",ROMX,BANK[$18] - - dr $60000,$625e8 +ViridianForestBlocks: +INCBIN "maps/viridianforest.blk" + dr $60198,$610ed + +INCLUDE "data/mapHeaders/viridianforest.asm" +INCLUDE "scripts/viridianforest.asm" +INCLUDE "data/mapObjects/viridianforest.asm" + dr $612a4,$625e8 INCLUDE "engine/hidden_object_functions18.asm" SECTION "bank19",ROMX,BANK[$19] diff --git a/scripts/oakslab2.asm b/scripts/oakslab2.asm new file mode 100755 index 00000000..fef72470 --- /dev/null +++ b/scripts/oakslab2.asm @@ -0,0 +1,28 @@ +Func_f1be0: + ld a, [wYCoord] + cp 3 + jr z, .asm_f1bf0 + ld b, SPRITE_FACING_DOWN + ld hl, Data_f1bf9 + call Func_f0a82 + ret + +.asm_f1bf0 + ld b, SPRITE_FACING_LEFT + ld hl, Data_f1bfe + call Func_f0a82 + ret + +Data_f1bf9: + db $00 + db $1f + db $1e + db $38 + db $3f + +Data_f1bfe: + db $00 + db $1d + db $20 + db $36 + db $3f diff --git a/scripts/school2.asm b/scripts/school2.asm new file mode 100755 index 00000000..677a43ec --- /dev/null +++ b/scripts/school2.asm @@ -0,0 +1,17 @@ +Func_f1c03: + ld hl, SchoolText_f1c0a + call PrintText + ret + +SchoolText_f1c0a: + TX_FAR _SchoolText3 + db "@" + +Func_f1c0f: + ld hl, SchoolText_f1c16 + call PrintText + ret + +SchoolText_f1c16: + TX_FAR _SchoolText2 + db "@" diff --git a/scripts/viridianforest.asm b/scripts/viridianforest.asm index 892eeef2..8ac0d8a8 100755 --- a/scripts/viridianforest.asm +++ b/scripts/viridianforest.asm @@ -17,16 +17,18 @@ ViridianForestTextPointers: ; 61126 (18:5126) dw ViridianForestText2 dw ViridianForestText3 dw ViridianForestText4 + dw ViridianForestText5 + dw ViridianForestText6 dw PickUpItemText dw PickUpItemText dw PickUpItemText - dw ViridianForestText8 - dw ViridianForestText9 dw ViridianForestText10 dw ViridianForestText11 dw ViridianForestText12 dw ViridianForestText13 dw ViridianForestText14 + dw ViridianForestText15 + dw ViridianForestText16 ViridianForestTrainerHeaders: ; 61142 (18:5142) ViridianForestTrainerHeader0: ; 61142 (18:5142) @@ -56,6 +58,24 @@ ViridianForestTrainerHeader2: ; 6115a (18:515a) dw ViridianForestEndBattleText3 ; TextEndBattle dw ViridianForestEndBattleText3 ; TextEndBattle +ViridianForestTrainerHeader3: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_3 + db ($0 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_3 + dw ViridianForestBattleText4 ; TextBeforeBattle + dw ViridianForestAfterBattleText4 ; TextAfterBattle + dw ViridianForestEndBattleText4 ; TextEndBattle + dw ViridianForestEndBattleText4 ; TextEndBattle + +ViridianForestTrainerHeader4: + dbEventFlagBit EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_4 + db ($4 << 4) ; trainer's view range + dwEventFlagAddress EVENT_BEAT_VIRIDIAN_FOREST_TRAINER_4 + dw ViridianForestBattleText5 ; TextBeforeBattle + dw ViridianForestAfterBattleText5 ; TextAfterBattle + dw ViridianForestEndBattleText5 ; TextEndBattle + dw ViridianForestEndBattleText5 ; TextEndBattle + db $ff ViridianForestText1: ; 61167 (18:5167) @@ -65,18 +85,27 @@ ViridianForestText1: ; 61167 (18:5167) ViridianForestText2: ; 6116c (18:516c) TX_ASM ld hl, ViridianForestTrainerHeader0 - call TalkToTrainer - jp TextScriptEnd + jr ViridianForestTalkToTrainer ViridianForestText3: ; 61176 (18:5176) TX_ASM ld hl, ViridianForestTrainerHeader1 - call TalkToTrainer - jp TextScriptEnd + jr ViridianForestTalkToTrainer ViridianForestText4: ; 61180 (18:5180) TX_ASM ld hl, ViridianForestTrainerHeader2 + jr ViridianForestTalkToTrainer + +ViridianForestText5: + TX_ASM + ld hl, ViridianForestTrainerHeader3 + jr ViridianForestTalkToTrainer + +ViridianForestText6: + TX_ASM + ld hl, ViridianForestTrainerHeader4 +ViridianForestTalkToTrainer: call TalkToTrainer jp TextScriptEnd @@ -116,30 +145,63 @@ ViridianForestAfterBattleText3: ; 611b2 (18:51b2) TX_FAR _ViridianFrstAfterBattleText3 db "@" -ViridianForestText8: ; 611b7 (18:51b7) - TX_FAR _ViridianForestText8 +ViridianForestBattleText4: ; 611a8 (18:51a8) + TX_FAR _ViridianForestBattleTextPikaGirl db "@" -ViridianForestText9: ; 611bc (18:51bc) - TX_FAR _ViridianForestText9 +ViridianForestEndBattleText4: ; 611ad (18:51ad) + TX_FAR _ViridianForestEndBattleTextPikaGirl db "@" -ViridianForestText10: ; 611c1 (18:51c1) - TX_FAR _ViridianForestText10 +ViridianForestAfterBattleText4: ; 611b2 (18:51b2) + TX_FAR _ViridianForestAfterBattleTextPikaGirl db "@" -ViridianForestText11: ; 611c6 (18:51c6) - TX_FAR _ViridianForestText11 +ViridianForestBattleText5: ; 611a8 (18:51a8) + TX_FAR _ViridianForestBattleTextSamurai db "@" -ViridianForestText12: ; 611cb (18:51cb) - TX_FAR _ViridianForestText12 +ViridianForestEndBattleText5: ; 611ad (18:51ad) + TX_FAR _ViridianForestEndBattleTextSamurai db "@" -ViridianForestText13: ; 611d0 (18:51d0) - TX_FAR _ViridianForestText13 +ViridianForestAfterBattleText5: ; 611b2 (18:51b2) + TX_FAR _ViridianForestAfterBattleTextSamurai db "@" -ViridianForestText14: ; 611d5 (18:51d5) - TX_FAR _ViridianForestText14 +ViridianForestText10: ; 611b7 (18:51b7) + TX_FAR _ViridianForestText8 db "@" + +ViridianForestText11: ; 611bc (18:51bc) + TX_ASM + ld hl, Func_f2528 + jp ViridianForestScript_6120d + +ViridianForestText12: ; 611c1 (18:51c1) + TX_ASM + ld hl, Func_f2534 + jp ViridianForestScript_6120d + +ViridianForestText13: ; 611c6 (18:51c6) + TX_ASM + ld hl, Func_f2540 + jp ViridianForestScript_6120d + +ViridianForestText14: ; 611cb (18:51cb) + TX_ASM + ld hl, Func_f254c + jp ViridianForestScript_6120d + +ViridianForestText15: ; 611d0 (18:51d0) + TX_ASM + ld hl, Func_f2558 + jp ViridianForestScript_6120d + +ViridianForestText16: ; 611d5 (18:51d5) + TX_ASM + ld hl, Func_f2528 +ViridianForestScript_6120d + ld b, BANK(Func_f2528) + call Bankswitch + jp TextScriptEnd diff --git a/scripts/viridianforest2.asm b/scripts/viridianforest2.asm new file mode 100755 index 00000000..41c81218 --- /dev/null +++ b/scripts/viridianforest2.asm @@ -0,0 +1,45 @@ +Func_f2528: + ld hl, Text_f252f + call PrintText + ret + +Text_f252f: + TX_FAR _ViridianForestText9 + db "@" + +Func_f2534: + ld hl, Text_f253b + call PrintText + ret + +Text_f253b: + TX_FAR _ViridianForestText10 + db "@" + +Func_f2540: + ld hl, Text_f254a + call PrintText + ret + +Text_f254a: + TX_FAR _ViridianForestText11 + db "@" + +Func_f254c: + ld hl, Text_f2553 + call PrintText + ret + +Text_f2553: + TX_FAR _ViridianForestText12 + db "@" + +Func_f2558: + ld hl, Text_f255f + call PrintText + ret + +Text_f255f: + TX_FAR _ViridianForestText13 + db "@" + diff --git a/wram.asm b/wram.asm index 346b8389..2c9b3d4e 100755 --- a/wram.asm +++ b/wram.asm @@ -2530,10 +2530,8 @@ wd433:: ds 1 ; d432 wd434:: ds 1 wd435:: ds 1 wd436:: ds 1 -wd437:: ds 1 -wd438:: ds 1 - - ds 15 +wPikachuFollowCommandBufferSize:: ds 1 +wPikachuFollowCommandBuffer:: ds 16 wExpressionNumber:: ; d447 ds 1 -- cgit v1.3.1-sl0p From 2792f51d733df0d0b6ee21fec72623c2a4235e5a Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 29 May 2016 10:55:45 -0400 Subject: Another chunk of bank 3c --- constants/hide_show_constants.asm | 184 +++++++++++++++-------------- engine/bank3c.asm | 147 +++-------------------- engine/bank3f.asm | 28 ++--- engine/items/items.asm | 2 +- engine/overworld/advance_player_sprite.asm | 2 +- home.asm | 115 +----------------- home/overworld.asm | 4 +- home/pikachu.asm | 113 ++++++++++++++++++ scripts/beach_house2.asm | 33 ++++++ scripts/billshouse2.asm | 158 +++++++++++++++++++++++++ scripts/oakslab.asm | 2 +- scripts/silphco11_2.asm | 76 ++++++++++++ scripts/ssanne9_2.asm | 35 ++++++ scripts/viridianforest2.asm | 8 ++ wram.asm | 2 +- 15 files changed, 551 insertions(+), 358 deletions(-) create mode 100755 home/pikachu.asm create mode 100755 scripts/beach_house2.asm create mode 100755 scripts/billshouse2.asm create mode 100755 scripts/silphco11_2.asm create mode 100755 scripts/ssanne9_2.asm (limited to 'constants') diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 9481466e..ffc4ea08 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -150,96 +150,98 @@ const_value SET $7c ; idk anymore lol const HS_ROCKET_HIDEOUT_4_ITEM_3 ; 88 const HS_ROCKET_HIDEOUT_4_ITEM_4 ; 89 XXX never (de)activated? const HS_ROCKET_HIDEOUT_4_ITEM_5 ; 8A - const HS_SILPH_CO_2F_1 ; 8B - const HS_SILPH_CO_2F_2 ; 8C - const HS_SILPH_CO_2F_3 ; 8D - const HS_SILPH_CO_2F_4 ; 8E - const HS_SILPH_CO_2F_5 ; 8F - const HS_SILPH_CO_3F_1 ; 90 X - const HS_SILPH_CO_3F_2 ; 91 - const HS_SILPH_CO_3F_ITEM ; 92 - const HS_SILPH_CO_4F_1 ; 93 - const HS_SILPH_CO_4F_2 ; 94 X - const HS_SILPH_CO_4F_3 ; 95 X - const HS_SILPH_CO_4F_ITEM_1 ; 96 X - const HS_SILPH_CO_4F_ITEM_2 ; 97 - const HS_SILPH_CO_4F_ITEM_3 ; 98 - const HS_SILPH_CO_5F_1 ; 99 - const HS_SILPH_CO_5F_2 ; 9A - const HS_SILPH_CO_5F_3 ; 9B X - const HS_SILPH_CO_5F_4 ; 9C X - const HS_SILPH_CO_5F_ITEM_1 ; 9D X - const HS_SILPH_CO_5F_ITEM_2 ; 9E - const HS_SILPH_CO_5F_ITEM_3 ; 9F - const HS_SILPH_CO_6F_1 ; A0 - const HS_SILPH_CO_6F_2 ; A1 X - const HS_SILPH_CO_6F_3 ; A2 X - const HS_SILPH_CO_6F_ITEM_1 ; A3 - const HS_SILPH_CO_6F_ITEM_2 ; A4 - const HS_SILPH_CO_7F_1 ; A5 - const HS_SILPH_CO_7F_2 ; A6 - const HS_SILPH_CO_7F_3 ; A7 - const HS_SILPH_CO_7F_4 ; A8 X - const HS_SILPH_CO_7F_RIVAL ; A9 X - const HS_SILPH_CO_7F_ITEM_1 ; AA XXX sprite doesn't exist - const HS_SILPH_CO_7F_ITEM_2 ; AB - const HS_SILPH_CO_7F_8 ; AC - const HS_SILPH_CO_8F_1 ; AD - const HS_SILPH_CO_8F_2 ; AE - const HS_SILPH_CO_8F_3 ; AF - const HS_SILPH_CO_9F_1 ; B0 - const HS_SILPH_CO_9F_2 ; B1 - const HS_SILPH_CO_9F_3 ; B2 - const HS_SILPH_CO_10F_1 ; B3 XXX never (de)activated? - const HS_SILPH_CO_10F_2 ; B4 X - const HS_SILPH_CO_10F_3 ; B5 X - const HS_SILPH_CO_10F_ITEM_1 ; B6 X - const HS_SILPH_CO_10F_ITEM_2 ; B7 - const HS_SILPH_CO_10F_ITEM_3 ; B8 - const HS_SILPH_CO_11F_1 ; B9 - const HS_SILPH_CO_11F_2 ; BA XXX sprite doesn't exist - const HS_SILPH_CO_11F_3 ; BB X - const HS_MAP_F4_1 ; BC X - const HS_MANSION_2_ITEM ; BD X - const HS_MANSION_3_ITEM_1 ; BE X - const HS_MANSION_3_ITEM_2 ; BF X - const HS_MANSION_4_ITEM_1 ; C0 X - const HS_MANSION_4_ITEM_2 ; C1 X - const HS_MANSION_4_ITEM_3 ; C2 X - const HS_MANSION_4_ITEM_4 ; C3 X - const HS_MANSION_4_ITEM_5 ; C4 X - const HS_SAFARI_ZONE_EAST_ITEM_1 ; C5 X - const HS_SAFARI_ZONE_EAST_ITEM_2 ; C6 X - const HS_SAFARI_ZONE_EAST_ITEM_3 ; C7 X - const HS_SAFARI_ZONE_EAST_ITEM_4 ; C8 X - const HS_SAFARI_ZONE_NORTH_ITEM_1 ; C9 X - const HS_SAFARI_ZONE_NORTH_ITEM_2 ; CA X - const HS_SAFARI_ZONE_WEST_ITEM_1 ; CB X - const HS_SAFARI_ZONE_WEST_ITEM_2 ; CC X - const HS_SAFARI_ZONE_WEST_ITEM_3 ; CD X - const HS_SAFARI_ZONE_WEST_ITEM_4 ; CE X - const HS_SAFARI_ZONE_CENTER_ITEM ; CF X - const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; D0 X - const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; D1 X - const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D2 X - const HS_MEWTWO ; D3 X - const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D4 X - const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D5 X - const HS_VICTORY_ROAD_1_ITEM_1 ; D6 - const HS_VICTORY_ROAD_1_ITEM_2 ; D7 - const HS_CHAMPIONS_ROOM_OAK ; D8 + +const_value SET $8d + const HS_SILPH_CO_2F_1 ; 8D + const HS_SILPH_CO_2F_2 ; 8E + const HS_SILPH_CO_2F_3 ; 8F + const HS_SILPH_CO_2F_4 ; 90 X + const HS_SILPH_CO_2F_5 ; 91 + const HS_SILPH_CO_3F_1 ; 92 + const HS_SILPH_CO_3F_2 ; 93 + const HS_SILPH_CO_3F_ITEM ; 94 X + const HS_SILPH_CO_4F_1 ; 95 X + const HS_SILPH_CO_4F_2 ; 96 X + const HS_SILPH_CO_4F_3 ; 97 + const HS_SILPH_CO_4F_ITEM_1 ; 98 + const HS_SILPH_CO_4F_ITEM_2 ; 99 + const HS_SILPH_CO_4F_ITEM_3 ; 9A + const HS_SILPH_CO_5F_1 ; 9B X + const HS_SILPH_CO_5F_2 ; 9C X + const HS_SILPH_CO_5F_3 ; 9D X + const HS_SILPH_CO_5F_4 ; 9E + const HS_SILPH_CO_5F_ITEM_1 ; 9F + const HS_SILPH_CO_5F_ITEM_2 ; A0 + const HS_SILPH_CO_5F_ITEM_3 ; A1 X + const HS_SILPH_CO_6F_1 ; A2 X + const HS_SILPH_CO_6F_2 ; A3 + const HS_SILPH_CO_6F_3 ; A4 + const HS_SILPH_CO_6F_ITEM_1 ; A5 + const HS_SILPH_CO_6F_ITEM_2 ; A6 + const HS_SILPH_CO_7F_1 ; A7 + const HS_SILPH_CO_7F_2 ; A8 X + const HS_SILPH_CO_7F_3 ; A9 X + const HS_SILPH_CO_7F_4 ; AA XXX sprite doesn't exist + const HS_SILPH_CO_7F_RIVAL ; AB + const HS_SILPH_CO_7F_ITEM_1 ; AC + const HS_SILPH_CO_7F_ITEM_2 ; AD + const HS_SILPH_CO_7F_8 ; AE + const HS_SILPH_CO_8F_1 ; AF + const HS_SILPH_CO_8F_2 ; B0 + const HS_SILPH_CO_8F_3 ; B1 + const HS_SILPH_CO_9F_1 ; B2 + const HS_SILPH_CO_9F_2 ; B3 XXX never (de)activated? + const HS_SILPH_CO_9F_3 ; B4 X + const HS_SILPH_CO_10F_1 ; B5 X + const HS_SILPH_CO_10F_2 ; B6 X + const HS_SILPH_CO_10F_3 ; B7 + const HS_SILPH_CO_10F_ITEM_1 ; B8 + const HS_SILPH_CO_10F_ITEM_2 ; B9 + const HS_SILPH_CO_10F_ITEM_3 ; BA XXX sprite doesn't exist + const HS_SILPH_CO_11F_1 ; BB X + const HS_SILPH_CO_11F_2 ; BC X + const HS_SILPH_CO_11F_3 ; BD X + const HS_MAP_F4_1 ; BE X + const HS_MANSION_2_ITEM ; BF X + const HS_MANSION_3_ITEM_1 ; C0 X + const HS_MANSION_3_ITEM_2 ; C1 X + const HS_MANSION_4_ITEM_1 ; C2 X + const HS_MANSION_4_ITEM_2 ; C3 X + const HS_MANSION_4_ITEM_3 ; C4 X + const HS_MANSION_4_ITEM_4 ; C5 X + const HS_MANSION_4_ITEM_5 ; C6 X + const HS_SAFARI_ZONE_EAST_ITEM_1 ; C7 X + const HS_SAFARI_ZONE_EAST_ITEM_2 ; C8 X + const HS_SAFARI_ZONE_EAST_ITEM_3 ; C9 X + const HS_SAFARI_ZONE_EAST_ITEM_4 ; CA X + const HS_SAFARI_ZONE_NORTH_ITEM_1 ; CB X + const HS_SAFARI_ZONE_NORTH_ITEM_2 ; CC X + const HS_SAFARI_ZONE_WEST_ITEM_1 ; CD X + const HS_SAFARI_ZONE_WEST_ITEM_2 ; CE X + const HS_SAFARI_ZONE_WEST_ITEM_3 ; CF X + const HS_SAFARI_ZONE_WEST_ITEM_4 ; D0 X + const HS_SAFARI_ZONE_CENTER_ITEM ; D1 X + const HS_UNKNOWN_DUNGEON_2_ITEM_1 ; D2 X + const HS_UNKNOWN_DUNGEON_2_ITEM_2 ; D3 X + const HS_UNKNOWN_DUNGEON_2_ITEM_3 ; D4 X + const HS_MEWTWO ; D5 X + const HS_UNKNOWN_DUNGEON_3_ITEM_1 ; D6 + const HS_UNKNOWN_DUNGEON_3_ITEM_2 ; D7 + const HS_VICTORY_ROAD_1_ITEM_1 ; D8 + const HS_VICTORY_ROAD_1_ITEM_2 ; D9 + const HS_CHAMPIONS_ROOM_OAK ; DA const_value SET $df - const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; D9 - const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; DA - const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; DB - const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; DC - const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; DD - const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; DE - const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; DF - const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; E0 - const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; E1 - const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E2 - const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E3 X - const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; E4 - const HS_ARTICUNO ; E5 + const HS_SEAFOAM_ISLANDS_1_BOULDER_1 ; DF + const HS_SEAFOAM_ISLANDS_1_BOULDER_2 ; E0 + const HS_SEAFOAM_ISLANDS_2_BOULDER_1 ; E1 + const HS_SEAFOAM_ISLANDS_2_BOULDER_2 ; E2 + const HS_SEAFOAM_ISLANDS_3_BOULDER_1 ; E3 + const HS_SEAFOAM_ISLANDS_3_BOULDER_2 ; E4 + const HS_SEAFOAM_ISLANDS_4_BOULDER_1 ; E5 + const HS_SEAFOAM_ISLANDS_4_BOULDER_2 ; E6 + const HS_SEAFOAM_ISLANDS_4_BOULDER_3 ; E7 + const HS_SEAFOAM_ISLANDS_4_BOULDER_4 ; E8 + const HS_SEAFOAM_ISLANDS_5_BOULDER_1 ; E9 + const HS_SEAFOAM_ISLANDS_5_BOULDER_2 ; EA + const HS_ARTICUNO ; EB diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 8158d56f..01c3486b 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -95,12 +95,12 @@ PikachuCriesPointerTable: ; f008e (3c:408e) pikacry_def PikachuCry2 ; 21:491a pikacry_def PikachuCry3 ; 21:4fdc pikacry_def PikachuCry4 ; 21:59ee - + ; bank 22 pikacry_def PikachuCry5 ; 22:4000 pikacry_def PikachuCry6 ; 22:5042 pikacry_def PikachuCry7 ; 22:6254 - + ; bank 23 pikacry_def PikachuCry8 ; 23:4000 pikacry_def PikachuCry9 ; 23:50ca @@ -110,11 +110,11 @@ PikachuCriesPointerTable: ; f008e (3c:408e) pikacry_def PikachuCry11 ; 24:4000 pikacry_def PikachuCry12 ; 24:4722 pikacry_def PikachuCry13 ; 24:54a4 - + ; bank 25 pikacry_def PikachuCry14 ; 25:4000 pikacry_def PikachuCry15 ; 25:589a - + ; banks 31-34, in no particular order pikacry_def PikachuCry16 ; 31:4000 @@ -128,19 +128,19 @@ PikachuCriesPointerTable: ; f008e (3c:408e) pikacry_def PikachuCry24 ; 33:5632 pikacry_def PikachuCry25 ; 34:573c pikacry_def PikachuCry26 ; 33:725c - + ; bank 35 pikacry_def PikachuCry27 ; 35:4000 pikacry_def PikachuCry28 ; 35:4b5a pikacry_def PikachuCry29 ; 35:5da4 pikacry_def PikachuCry30 ; 35:69ce pikacry_def PikachuCry31 ; 35:6e80 - + ; bank 36 pikacry_def PikachuCry32 ; 36:4000 pikacry_def PikachuCry33 ; 36:458a pikacry_def PikachuCry34 ; 36:523c - + ; bank 37 pikacry_def PikachuCry35 ; 37:4000 pikacry_def PikachuCry36 ; 37:522a @@ -203,7 +203,7 @@ ResetStatusAndHalveMoneyOnBlackout:: ; f0274 (3c:4274) ld a, %11111111 ld [wJoyIgnore], a predef_jump HealParty - + Func_f02da:: ; f02da (3c:42da) ld a, [wCurMap] cp VERMILION_GYM ; ??? new thing about verm gym? @@ -262,7 +262,7 @@ BeachHouse_Block:: ; f0914 (3c:4914) Func_f0a54:: ; f0a54 (3c:4a54) ret - + Func_f0a55:: ; f0a55 (3c:4a55) ld hl, Pointer_f0a76 ; 3c:4a76 .loop @@ -359,130 +359,11 @@ BeachHouseBlockdata: ; f2388 (3c:6388) INCBIN "maps/beach_house.blk" INCLUDE "data/mapObjects/beach_house.asm" -Func_f23d0: ; f23d0 - call SaveScreenTilesToBuffer2 - xor a - ld [wUpdateSpritesEnabled], a - ld hl, wd730 - set 6, [hl] - callab Func_e8c5c - ld hl, wd730 - res 6, [hl] - call GBPalWhiteOutWithDelay3 - call ReloadTilesetTilePatterns - call RestoreScreenTilesAndReloadTilePatterns - call LoadScreenTilesFromBuffer2 - call Delay3 - call GBPalNormal - ld hl, Text_f2412 - ld a, [hOaksAideResult] - and a - jr nz, .asm_f2406 - ld hl, Text_f240c -.asm_f2406 - call PrintText - jp TextScriptEnd - -Text_f240c: - TX_FAR _BeachHousePrinterText5 - TX_SFX_ITEM2 - db "@" - -Text_f2412: - TX_FAR _BeachHousePrinterText6 - TX_SFX_ITEM2 - db "@" - -Func_f2418: - ld hl, BillsHouseText_f243b - call PrintText - call YesNoChoice - ld a, [wCurrentMenuItem] - and a - jr nz, .asm_f2433 -.asm_f2427 - ld hl, BillsHouseText_f2440 - call PrintText - ld a, $2 - ld [W_BILLSHOUSECURSCRIPT], a - ret - -.asm_f2433 - ld hl, BillsHouseText_f2445 - call PrintText - jr .asm_f2427 - -BillsHouseText_f243b: - TX_FAR _BillsHouseText_1e865 - db "@" - -BillsHouseText_f2440: - TX_FAR _BillsHouseText_1e86a - db "@" - -BillsHouseText_f2445: - TX_FAR _BillsHouseText_1e86f - db "@" - -Func_f244a: - CheckEvent EVENT_GOT_SS_TICKET - jr nz, .asm_f247e - ld hl, BillsHouseText_f248c - call PrintText - lb bc, S_S_TICKET, 1 - call GiveItem - jr nc, .asm_f2485 - ld hl, BillsHouseText_f2491 - call PrintText - SetEvent EVENT_GOT_SS_TICKET - ld a, HS_CERULEAN_GUARD_1 - ld [wMissableObjectIndex], a - predef ShowObject - ld a, HS_CERULEAN_GUARD_2 - ld [wMissableObjectIndex], a - predef HideObject -.asm_f247e - ld hl, BillsHouseText_f249d - call PrintText - ret - -.asm_f2485 - ld hl, BillsHouseText_f2498 - call PrintText - ret - -BillsHouseText_f248c: - TX_FAR _BillThankYouText - db "@" - -BillsHouseText_f2491: - TX_FAR _SSTicketReceivedText - TX_SFX_KEY_ITEM - TX_BUTTON_SOUND - db "@" - -BillsHouseText_f2498: - TX_FAR _SSTicketNoRoomText - db "@" - -BillsHouseText_f249d: - TX_FAR _BillsHouseText_1e8cb - db "@" - -Func_f24a2: - ld hl, BillsHouseText_f24a9 - call PrintText - ret - -BillsHouseText_f24a9: - TX_FAR _BillsHouseText_1e8da - db "@" - -Func_f24ae: ; f24ae - dr $f24ae, $f2528 - +INCLUDE "scripts/beach_house2.asm" +INCLUDE "scripts/billshouse2.asm" INCLUDE "scripts/viridianforest2.asm" - dr $f2564, $f25f8 +INCLUDE "scripts/ssanne9_2.asm" +INCLUDE "scripts/silphco11_2.asm" INCLUDE "engine/overworld/hidden_objects.asm" @@ -553,7 +434,7 @@ Func_f2d0c: ld a, [hl] ld [wSecondLockTrashCanIndex + 1], a ret - + GymTrashCans3a: ; f2d31 (3c:6d31) ; First byte: number of trashcan entries ; Following four byte pairs: indices for the second trash can. diff --git a/engine/bank3f.asm b/engine/bank3f.asm index 5cab9357..c8041a3a 100644 --- a/engine/bank3f.asm +++ b/engine/bank3f.asm @@ -4,26 +4,26 @@ INCLUDE "data/map_header_banks.asm" Func_fc4dd:: ; fc4dd (3f:44dd) ; possibly to test if pika should be out? - ld a, [wd430] + ld a, [wPikachuOverworldStateFlags] bit 5, a - jr nz, .asm_fc4f8 ; 3f:44f8 - ld a, [wd430] + jr nz, .hide ; 3f:44f8 + ld a, [wPikachuOverworldStateFlags] bit 7, a - jr nz, .asm_fc4f8 + jr nz, .hide call IsStarterPikachuInOurParty - jr nc, .asm_fc4f8 + jr nc, .hide ld a, [wWalkBikeSurfState] and a - jr nz, .asm_fc4f8 + jr nz, .hide scf ret -.asm_fc4f8 +.hide and a ret Func_fc4fa:: ; fc4fa (3f:44fa) - ld hl, wd430 + ld hl, wPikachuOverworldStateFlags bit 4, [hl] res 4, [hl] jr nz, .asm_fc515 @@ -316,14 +316,14 @@ Func_fc69a:: ; fc69a (3f:469a) Func_fc6c5:: ; fc6c5 (3f:46c5) push hl - ld hl, wd430 + ld hl, wPikachuOverworldStateFlags set 2, [hl] pop hl ret Func_fc6cd:: ; fc6cd (3f:46cd) push hl - ld hl, wd430 + ld hl, wPikachuOverworldStateFlags res 2, [hl] pop hl ret @@ -944,7 +944,7 @@ Func_fca7e: ; fca7e (3f:4a7e) ret Func_fca99: ; fca99 (3f:4a99) - ld a, [wd430] + ld a, [wPikachuOverworldStateFlags] bit 3, a jr nz, .asm_fcad1 ld hl, $10e @@ -1238,10 +1238,10 @@ Func_fcc08:: ; fcc08 (3f:4c08) ret Func_fcc23: ; fcc23 (3f:4c28) - ld a, [wd430] + ld a, [wPikachuOverworldStateFlags] bit 5, a jr nz, .asm_fcc40 - ld a, [wd430] + ld a, [wPikachuOverworldStateFlags] bit 7, a jr nz, .asm_fcc40 ld a, [wd472] @@ -1288,7 +1288,7 @@ Func_fcc42: ; fcc42 (3f:4c42) ret Func_fcc64: ; fcc64 (3f:4c64) - ld hl, wd430 + ld hl, wPikachuOverworldStateFlags bit 6, [hl] jr z, .asm_fcc6e res 6, [hl] diff --git a/engine/items/items.asm b/engine/items/items.asm index aa607911..5d76c37e 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -607,7 +607,7 @@ ItemUseSurfboard: ; d725 (3:5725) call .makePlayerMoveForward ld a,$3 ld [wd431], a - ld hl,wd430 + ld hl,wPikachuOverworldStateFlags set 5,[hl] ld hl,wd730 set 7,[hl] diff --git a/engine/overworld/advance_player_sprite.asm b/engine/overworld/advance_player_sprite.asm index e02fb129..758dd558 100644 --- a/engine/overworld/advance_player_sprite.asm +++ b/engine/overworld/advance_player_sprite.asm @@ -7,7 +7,7 @@ _AdvancePlayerSprite:: ; f010c (3c:410c) dec [hl] jr nz,.afterUpdateMapCoords ; if it's the end of the animation, update the player's map coordinates - ld hl, wd430 + ld hl, wPikachuOverworldStateFlags res 5, [hl] ld a,[wYCoord] add b diff --git a/home.asm b/home.asm index fd2e1b26..5f924a40 100644 --- a/home.asm +++ b/home.asm @@ -970,120 +970,7 @@ InterlaceMergeSpriteBuffers:: ; 14c7 (0:14c7) call CopyVideoData jp PrepareRTCDataAndDisableSRAM -Func_1510:: ; 1510 (0:1510) - push hl - ld hl, wd430 - set 7, [hl] - ld hl, wSpriteStateData1 + $f2 ; pikachu data? - ld [hl], $ff - pop hl - ret - -Func_151d:: ; 151d (0:151d) - push hl - ld hl, wd430 - res 7, [hl] - pop hl - ret - -Func_1525:: ; 1525 (0:1525) - push hl - ld hl, wd430 - res 3, [hl] - pop hl - ret - -Func_152d:: ; 152d (0:152d) - push hl - ld hl, wd430 - set 3, [hl] - ld hl, wSpriteStateData1 + $f2 ; pikachu data? - ld [hl], $ff - pop hl - ret - -Func_153a:: ; 153a (0:153a) - push hl - ld hl, wd430 - set 1, [hl] - pop hl - ret - -Func_1542:: ; 1542 (0:1542) - push hl - ld hl, wd430 - res 1, [hl] - pop hl - ret - -Func_154a:: ; 154a (0:154a) - push hl - ld hl, wd430 - bit 1, [hl] - pop hl - ret - -Func_1552:: ; 1552 (0:1552) - ld a, [hl] - dec a - swap a - ld [$ff93], a - homecall Func_fc6d5 ; 3f:46d5 - ret - -Func_1568:: ; 1568 (0:1568) - ld b, $0 - ld c, a -.asm_156b - inc b - ld a, [hli] - cp $ff - jr z, .asm_1578 - cp c - jr nz, .asm_156b - dec b - dec hl - scf - ret -.asm_1578 - dec b - dec hl - and a - ret - -Func_157c:: ; 157c (0:157c) - push hl - push bc - ld a, [H_LOADEDROMBANK] - push af - ld a, [wd44a] - call BankswitchCommon - ld hl, wd44b - ld c, [hl] - inc hl - ld b, [hl] - ld a, [bc] - inc bc - ld [hl], b - dec hl - ld [hl], c - ld c, a - pop af - call BankswitchCommon - ld a, c - pop bc - pop hl - ret - -Func_159b:: ; 159b (0:159b) - ld a, [H_LOADEDROMBANK] - ld b, a - push af - callbs Func_fd2a1 - pop af - call BankswitchCommon - ret - +INCLUDE "home/pikachu.asm" ;INCLUDE "data/collision.asm" INCLUDE "home/lcdc.asm" diff --git a/home/overworld.asm b/home/overworld.asm index 1f84597d..3a9708d9 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -638,7 +638,7 @@ CheckMapConnections:: ; 05db (0:05db) ld [wCurrentTileBlockMapViewPointer + 1],a .loadNewMap ; 06ce (0:06ce) ; load the connected map that was entered - ld hl,wd430 + ld hl,wPikachuOverworldStateFlags set 4,[hl] ld a,$2 ld [wd431],a @@ -1716,7 +1716,7 @@ CollisionCheckOnWater:: ; 0cca (0:0cca) .stopSurfing ; based game freak ld a,$3 ld [wd431],a - ld hl,wd430 + ld hl,wPikachuOverworldStateFlags set 5,[hl] xor a ld [wWalkBikeSurfState],a diff --git a/home/pikachu.asm b/home/pikachu.asm new file mode 100755 index 00000000..5239873c --- /dev/null +++ b/home/pikachu.asm @@ -0,0 +1,113 @@ +Func_1510:: ; 1510 (0:1510) + push hl + ld hl, wPikachuOverworldStateFlags + set 7, [hl] + ld hl, wSpriteStateData1 + $f2 ; pikachu data? + ld [hl], $ff + pop hl + ret + +Func_151d:: ; 151d (0:151d) + push hl + ld hl, wPikachuOverworldStateFlags + res 7, [hl] + pop hl + ret + +Func_1525:: ; 1525 (0:1525) + push hl + ld hl, wPikachuOverworldStateFlags + res 3, [hl] + pop hl + ret + +Func_152d:: ; 152d (0:152d) + push hl + ld hl, wPikachuOverworldStateFlags + set 3, [hl] + ld hl, wSpriteStateData1 + $f2 ; pikachu data? + ld [hl], $ff + pop hl + ret + +Func_153a:: ; 153a (0:153a) + push hl + ld hl, wPikachuOverworldStateFlags + set 1, [hl] + pop hl + ret + +Func_1542:: ; 1542 (0:1542) + push hl + ld hl, wPikachuOverworldStateFlags + res 1, [hl] + pop hl + ret + +Func_154a:: ; 154a (0:154a) + push hl + ld hl, wPikachuOverworldStateFlags + bit 1, [hl] + pop hl + ret + +Func_1552:: ; 1552 (0:1552) + ld a, [hl] + dec a + swap a + ld [hTilePlayerStandingOn], a + homecall Func_fc6d5 ; 3f:46d5 + ret + +Func_1568:: ; 1568 (0:1568) + ld b, $0 + ld c, a +.asm_156b + inc b + ld a, [hli] + cp $ff + jr z, .asm_1578 + cp c + jr nz, .asm_156b + dec b + dec hl + scf + ret +.asm_1578 + dec b + dec hl + and a + ret + +Func_157c:: ; 157c (0:157c) + push hl + push bc + ld a, [H_LOADEDROMBANK] + push af + ld a, [wd44a] + call BankswitchCommon + ld hl, wd44b + ld c, [hl] + inc hl + ld b, [hl] + ld a, [bc] + inc bc + ld [hl], b + dec hl + ld [hl], c + ld c, a + pop af + call BankswitchCommon + ld a, c + pop bc + pop hl + ret + +Func_159b:: ; 159b (0:159b) + ld a, [H_LOADEDROMBANK] + ld b, a + push af + callbs Func_fd2a1 + pop af + call BankswitchCommon + ret diff --git a/scripts/beach_house2.asm b/scripts/beach_house2.asm new file mode 100755 index 00000000..918334ab --- /dev/null +++ b/scripts/beach_house2.asm @@ -0,0 +1,33 @@ +Func_f23d0: ; f23d0 + call SaveScreenTilesToBuffer2 + xor a + ld [wUpdateSpritesEnabled], a + ld hl, wd730 + set 6, [hl] + callab Func_e8c5c + ld hl, wd730 + res 6, [hl] + call GBPalWhiteOutWithDelay3 + call ReloadTilesetTilePatterns + call RestoreScreenTilesAndReloadTilePatterns + call LoadScreenTilesFromBuffer2 + call Delay3 + call GBPalNormal + ld hl, Text_f2412 + ld a, [hOaksAideResult] + and a + jr nz, .asm_f2406 + ld hl, Text_f240c +.asm_f2406 + call PrintText + jp TextScriptEnd + +Text_f240c: + TX_FAR _BeachHousePrinterText5 + TX_SFX_ITEM2 + db "@" + +Text_f2412: + TX_FAR _BeachHousePrinterText6 + TX_SFX_ITEM2 + db "@" diff --git a/scripts/billshouse2.asm b/scripts/billshouse2.asm new file mode 100755 index 00000000..48205029 --- /dev/null +++ b/scripts/billshouse2.asm @@ -0,0 +1,158 @@ +Func_f2418: + ld hl, BillsHouseText_f243b + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_f2433 +.asm_f2427 + ld hl, BillsHouseText_f2440 + call PrintText + ld a, $2 + ld [W_BILLSHOUSECURSCRIPT], a + ret + +.asm_f2433 + ld hl, BillsHouseText_f2445 + call PrintText + jr .asm_f2427 + +BillsHouseText_f243b: + TX_FAR _BillsHouseText_1e865 + db "@" + +BillsHouseText_f2440: + TX_FAR _BillsHouseText_1e86a + db "@" + +BillsHouseText_f2445: + TX_FAR _BillsHouseText_1e86f + db "@" + +Func_f244a: + CheckEvent EVENT_GOT_SS_TICKET + jr nz, .asm_f247e + ld hl, BillsHouseText_f248c + call PrintText + lb bc, S_S_TICKET, 1 + call GiveItem + jr nc, .asm_f2485 + ld hl, BillsHouseText_f2491 + call PrintText + SetEvent EVENT_GOT_SS_TICKET + ld a, HS_CERULEAN_GUARD_1 + ld [wMissableObjectIndex], a + predef ShowObject + ld a, HS_CERULEAN_GUARD_2 + ld [wMissableObjectIndex], a + predef HideObject +.asm_f247e + ld hl, BillsHouseText_f249d + call PrintText + ret + +.asm_f2485 + ld hl, BillsHouseText_f2498 + call PrintText + ret + +BillsHouseText_f248c: + TX_FAR _BillThankYouText + db "@" + +BillsHouseText_f2491: + TX_FAR _SSTicketReceivedText + TX_SFX_KEY_ITEM + TX_BUTTON_SOUND + db "@" + +BillsHouseText_f2498: + TX_FAR _SSTicketNoRoomText + db "@" + +BillsHouseText_f249d: + TX_FAR _BillsHouseText_1e8cb + db "@" + +Func_f24a2: + ld hl, BillsHouseText_f24a9 + call PrintText + ret + +BillsHouseText_f24a9: + TX_FAR _BillsHouseText_1e8da + db "@" + +Func_f24ae: ; f24ae + ld a, [wCurMap] + cp BILLS_HOUSE + jr nz, .asm_f24d2 + call Func_154a + jr z, .asm_f24d2 + ld a, [W_BILLSHOUSECURSCRIPT] + cp $5 + ld e, $1b + ret z + cp $0 + ld e, $17 + ret z + CheckEventHL EVENT_MET_BILL_2 + ld e, $20 + ret z + ld e, $1f + ret + +.asm_f24d2 + ld e, $ff + ret + +Func_f24d5: + ld a, $ff + ld [wJoyIgnore], a + xor a + ld [wPlayerMovingDirection], a + call UpdateSprites + call UpdateSprites + ld hl, Data_f2505 + call Func_159b + ld a, $f ; pikachu + ld [wEmotionBubbleSpriteIndex], a + ld a, $1 + ld [wWhichEmotionBubble], a + predef EmotionBubble + call Func_153a + callab InitializePikachuTextID + ret + +Data_f2505: + db $00 + db $20 + db $20 + db $20 + db $1e + db $3f + +Func_f250b: + ld hl, Data_f251c + ld b, SPRITE_FACING_UP + call Func_f0a82 + ld hl, Data_f2521 + ld b, SPRITE_FACING_RIGHT + call Func_f0a82 + ret + +Data_f251c: + db $00 + db $1f + db $1d + db $38 + db $3f + +Data_f2521: + db $00 + db $1e + db $1f + db $1f + db $1d + db $38 + db $3f diff --git a/scripts/oakslab.asm b/scripts/oakslab.asm index 63cec822..43464d77 100755 --- a/scripts/oakslab.asm +++ b/scripts/oakslab.asm @@ -798,7 +798,7 @@ OaksLabText_1c9a7: OaksLabScript_1c9ac: ld a, $1 - ld [wSavedPlayerScreenY], a + ld [wEmotionBubbleSpriteIndex], a xor a ld [wWhichEmotionBubble], a predef EmotionBubble diff --git a/scripts/silphco11_2.asm b/scripts/silphco11_2.asm new file mode 100755 index 00000000..e7b59757 --- /dev/null +++ b/scripts/silphco11_2.asm @@ -0,0 +1,76 @@ +Func_f25a0: + ld hl, MissableObjects_f25ce +.asm_f25a3 + ld a, [hli] + cp $ff + jr z, .asm_f25b4 + push hl + ld [wMissableObjectIndex], a + predef HideObject + pop hl + jr .asm_f25a3 + +.asm_f25b4 + ld hl, MissableObjects_f25c7 +.asm_f25b7 + ld a, [hli] + cp $ff + ret z + push hl + ld [wMissableObjectIndex], a + predef ShowObject + pop hl + jr .asm_f25b7 + +MissableObjects_f25c7: + db HS_SAFFRON_CITY_8 + db HS_SAFFRON_CITY_9 + db HS_SAFFRON_CITY_A + db HS_SAFFRON_CITY_B + db HS_SAFFRON_CITY_C + db HS_SAFFRON_CITY_D + db $FF + +MissableObjects_f25ce + db HS_SAFFRON_CITY_1 + db HS_SAFFRON_CITY_2 + db HS_SAFFRON_CITY_3 + db HS_SAFFRON_CITY_4 + db HS_SAFFRON_CITY_5 + db HS_SAFFRON_CITY_6 + db HS_SAFFRON_CITY_7 + db HS_SAFFRON_CITY_E + db HS_SAFFRON_CITY_F + db HS_SILPH_CO_2F_2 + db HS_SILPH_CO_2F_3 + db HS_SILPH_CO_2F_4 + db HS_SILPH_CO_2F_5 + db HS_SILPH_CO_3F_1 + db HS_SILPH_CO_3F_2 + db HS_SILPH_CO_4F_1 + db HS_SILPH_CO_4F_2 + db HS_SILPH_CO_4F_3 + db HS_SILPH_CO_5F_1 + db HS_SILPH_CO_5F_2 + db HS_SILPH_CO_5F_3 + db HS_SILPH_CO_5F_4 + db HS_SILPH_CO_6F_1 + db HS_SILPH_CO_6F_2 + db HS_SILPH_CO_6F_3 + db HS_SILPH_CO_7F_1 + db HS_SILPH_CO_7F_2 + db HS_SILPH_CO_7F_3 + db HS_SILPH_CO_7F_4 + db HS_SILPH_CO_8F_1 + db HS_SILPH_CO_8F_2 + db HS_SILPH_CO_8F_3 + db HS_SILPH_CO_9F_1 + db HS_SILPH_CO_9F_2 + db HS_SILPH_CO_9F_3 + db HS_SILPH_CO_10F_1 + db HS_SILPH_CO_10F_2 + db HS_SILPH_CO_11F_1 + db HS_SILPH_CO_11F_2 + db HS_SILPH_CO_11F_3 + db HS_MAP_F4_1 + db $ff \ No newline at end of file diff --git a/scripts/ssanne9_2.asm b/scripts/ssanne9_2.asm new file mode 100755 index 00000000..f856221c --- /dev/null +++ b/scripts/ssanne9_2.asm @@ -0,0 +1,35 @@ +Func_f2570: + ld hl, SSAnne9Text_f2577 + call PrintText + ret + +SSAnne9Text_f2577: + TX_FAR _SSAnne9Text_61c1f + db "@" + +Func_f257c: + ld hl, SSAnne9Text_f2583 + call PrintText + ret + +SSAnne9Text_f2583: + TX_FAR _SSAnne9Text_61c2e + db "@" + +Func_f2588: + ld hl, SSAnne9Text_f258f + call PrintText + ret + +SSAnne9Text_f258f: + TX_FAR _SSAnne9Text_61c3d + db "@" + +Func_f2594: + ld hl, SSAnne9Text_f259b + call PrintText + ret + +SSAnne9Text_f259b: + TX_FAR _SSAnne9Text_61c4c + db "@" diff --git a/scripts/viridianforest2.asm b/scripts/viridianforest2.asm index 41c81218..489db39c 100755 --- a/scripts/viridianforest2.asm +++ b/scripts/viridianforest2.asm @@ -43,3 +43,11 @@ Text_f255f: TX_FAR _ViridianForestText13 db "@" +Func_f2564: + ld hl, ViridianForestText_f256b + call PrintText + ret + +ViridianForestText_f256b: + TX_FAR _ViridianForestText14 + db "@" diff --git a/wram.asm b/wram.asm index 2c9b3d4e..64a394ed 100755 --- a/wram.asm +++ b/wram.asm @@ -2523,7 +2523,7 @@ wDestinationWarpID:: ; d42f ; if $ff, the player's coordinates are not updated when entering the map ds 1 -wd430:: ds 1 ; d42f +wPikachuOverworldStateFlags:: ds 1 ; d42f wd431:: ds 1 ; d430 wd432:: ds 1 ; d431 wd433:: ds 1 ; d432 -- cgit v1.3.1-sl0p From b8cced19fce2a212f5cb205039382a63821a3762 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 29 May 2016 20:52:05 -0400 Subject: Mt Moon B2F --- constants/event_macros.asm | 32 ++- constants/hide_show_constants.asm | 34 +-- data/mapObjects/mtmoon3.asm | 15 +- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- macros.asm | 2 +- main.asm | 10 +- scripts/beach_house2.asm | 4 +- scripts/mtmoon3.asm | 562 ++++++++++++++++++++++++++++---------- 9 files changed, 486 insertions(+), 177 deletions(-) (limited to 'constants') diff --git a/constants/event_macros.asm b/constants/event_macros.asm index 5eb73147..bf0a95b5 100644 --- a/constants/event_macros.asm +++ b/constants/event_macros.asm @@ -452,6 +452,36 @@ CheckEitherEventSet: MACRO ENDC ENDM +CheckEitherEventSetReuseA: MACRO + IF event_byte != ((\1) / 8) +event_byte = ((\1) / 8) + ld a, [wEventFlags + event_byte] + ENDC + 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 @@ -459,4 +489,4 @@ AdjustEventBit: MACRO IF ((\1) % 8) != (\2) add ((\1) % 8) - (\2) ENDC - ENDM \ No newline at end of file + ENDM diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index ffc4ea08..6fc52187 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -114,27 +114,27 @@ const_value SET $43 ; replace the tower rockets with jessie/james const HS_VIRIDIAN_FOREST_ITEM_1 ; 64 X const HS_VIRIDIAN_FOREST_ITEM_2 ; 65 X const HS_VIRIDIAN_FOREST_ITEM_3 ; 66 X - const HS_MT_MOON_1_ITEM_1 ; 67 X - const HS_MT_MOON_1_ITEM_2 ; 68 X + const HS_MT_MOON_1_ITEM_1 ; 67 + const HS_MT_MOON_1_ITEM_2 ; 68 const HS_MT_MOON_1_ITEM_3 ; 69 X const HS_MT_MOON_1_ITEM_4 ; 6A X const HS_MT_MOON_1_ITEM_5 ; 6B X const HS_MT_MOON_1_ITEM_6 ; 6C X - const HS_MT_MOON_3_FOSSIL_1 ; 6D - const HS_MT_MOON_3_FOSSIL_2 ; 6E - const HS_MT_MOON_3_ITEM_1 ; 6F X - const HS_MT_MOON_3_ITEM_2 ; 70 X - const HS_SS_ANNE_2_RIVAL ; 71 - const HS_SS_ANNE_8_ITEM ; 72 X - const HS_SS_ANNE_9_ITEM_1 ; 73 X - const HS_SS_ANNE_9_ITEM_2 ; 74 X - const HS_SS_ANNE_10_ITEM_1 ; 75 X - const HS_SS_ANNE_10_ITEM_2 ; 76 X - const HS_SS_ANNE_10_ITEM_3 ; 77 X - const HS_VICTORY_ROAD_3_ITEM_1 ; 78 X - const HS_VICTORY_ROAD_3_ITEM_2 ; 79 X - -const_value SET $7c ; idk anymore lol + const HS_MT_MOON_JESSIE ; 6D + const HS_MT_MOON_JAMES ; 6E + const HS_MT_MOON_3_FOSSIL_1 ; 6F X + const HS_MT_MOON_3_FOSSIL_2 ; 70 X + const HS_MT_MOON_3_ITEM_1 ; 71 + const HS_MT_MOON_3_ITEM_2 ; 72 X + const HS_SS_ANNE_2_RIVAL ; 73 X + const HS_SS_ANNE_8_ITEM ; 74 X + const HS_SS_ANNE_9_ITEM_1 ; 75 X + const HS_SS_ANNE_9_ITEM_2 ; 76 X + const HS_SS_ANNE_10_ITEM_1 ; 77 X + const HS_SS_ANNE_10_ITEM_2 ; 78 X + const HS_SS_ANNE_10_ITEM_3 ; 79 X + const HS_VICTORY_ROAD_3_ITEM_1 ; 7A + const HS_VICTORY_ROAD_3_ITEM_2 ; 7B const HS_VICTORY_ROAD_3_BOULDER ; 7C X const HS_ROCKET_HIDEOUT_1_ITEM_1 ; 7D X const HS_ROCKET_HIDEOUT_1_ITEM_2 ; 7E X diff --git a/data/mapObjects/mtmoon3.asm b/data/mapObjects/mtmoon3.asm index 4f8f911c..4a9b1946 100755 --- a/data/mapObjects/mtmoon3.asm +++ b/data/mapObjects/mtmoon3.asm @@ -9,16 +9,17 @@ MtMoon3Object: ; 0x49fdb (size=102) db $0 ; signs - db $9 ; objects + db $a ; objects object SPRITE_BLACK_HAIR_BOY_2, $c, $8, STAY, RIGHT, $1, OPP_SUPER_NERD, $2 - object SPRITE_ROCKET, $b, $10, STAY, DOWN, $2, OPP_ROCKET, $1 + object SPRITE_JESSIE, $9, $3, STAY, LEFT, $2 object SPRITE_ROCKET, $f, $16, STAY, DOWN, $3, OPP_ROCKET, $2 object SPRITE_ROCKET, $1d, $b, STAY, UP, $4, OPP_ROCKET, $3 - object SPRITE_ROCKET, $1d, $11, STAY, LEFT, $5, OPP_ROCKET, $4 - object SPRITE_OMANYTE, $c, $6, STAY, NONE, $6 ; person - object SPRITE_OMANYTE, $d, $6, STAY, NONE, $7 ; person - object SPRITE_BALL, $19, $15, STAY, NONE, $8, HP_UP - object SPRITE_BALL, $1d, $5, STAY, NONE, $9, TM_01 + object SPRITE_ROCKET, $1d, $11, STAY, LEFT, $5, OPP_ROCKET, $1 + object SPRITE_JAMES, $9, $4, STAY, LEFT, $6 + object SPRITE_OMANYTE, $c, $6, STAY, NONE, $7 ; person + object SPRITE_OMANYTE, $d, $6, STAY, NONE, $8 ; person + object SPRITE_BALL, $19, $15, STAY, NONE, $9, HP_UP + object SPRITE_BALL, $1d, $5, STAY, NONE, $a, TM_01 ; warp-to EVENT_DISP MT_MOON_3_WIDTH, $9, $19 ; MT_MOON_2 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index dd088a1b..90ca27f9 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -61,7 +61,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(PewterPokecenter_h) db BANK(MtMoon1_h) db BANK(MtMoon2_h) - db $12 ; db BANK(MtMoon3_h) + db BANK(MtMoon3_h) db $07 ; db BANK(CeruleanHouseTrashed_h) db $07 ; db BANK(CeruleanHouse1_h) db $17 ; db BANK(CeruleanPokecenter_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 0e5149e3..37357204 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -61,7 +61,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw PewterPokecenter_h dw MtMoon1_h dw MtMoon2_h ;id=60 - dw $5c7e ; dw MtMoon3_h + dw MtMoon3_h dw $4ec3 ; dw CeruleanHouseTrashed_h dw $4f34 ; dw CeruleanHouse1_h dw $44f5 ; dw CeruleanPokecenter_h diff --git a/macros.asm b/macros.asm index 29ca12f3..6ee88391 100644 --- a/macros.asm +++ b/macros.asm @@ -316,7 +316,7 @@ TX_BUTTON_SOUND: MACRO ENDM TX_SFX_ITEM EQUS "db $0b" -TX_SFX_ITEM2 EQUS "db $0d" +TX_WAIT_BUTTON EQUS "db $0d" TX_SFX_CONGRATS EQUS "db $10" TX_SFX_KEY_ITEM EQUS "db $11" diff --git a/main.asm b/main.asm index a8c063ba..8b3569e3 100755 --- a/main.asm +++ b/main.asm @@ -793,7 +793,15 @@ INCLUDE "scripts/mtmoon1.asm" INCLUDE "data/mapObjects/mtmoon1.asm" MtMoon1Blocks: INCBIN "maps/mtmoon1.blk" - dr $49c7e,$4a540 + +INCLUDE "data/mapHeaders/mtmoon3.asm" +INCLUDE "scripts/mtmoon3.asm" +INCLUDE "data/mapObjects/mtmoon3.asm" +MtMoon3Blocks: +INCBIN "maps/mtmoon3.blk" + +MtMoon3Script_4a325: ; pikachu-related function? + dr $4a325,$4a540 SECTION "bank13",ROMX,BANK[$13] diff --git a/scripts/beach_house2.asm b/scripts/beach_house2.asm index 918334ab..a2dd2114 100755 --- a/scripts/beach_house2.asm +++ b/scripts/beach_house2.asm @@ -24,10 +24,10 @@ Func_f23d0: ; f23d0 Text_f240c: TX_FAR _BeachHousePrinterText5 - TX_SFX_ITEM2 + TX_WAIT_BUTTON db "@" Text_f2412: TX_FAR _BeachHousePrinterText6 - TX_SFX_ITEM2 + TX_WAIT_BUTTON db "@" diff --git a/scripts/mtmoon3.asm b/scripts/mtmoon3.asm index b3a994e2..1de3445d 100755 --- a/scripts/mtmoon3.asm +++ b/scripts/mtmoon3.asm @@ -1,6 +1,6 @@ MtMoon3Script: ; 49d0b (12:5d0b) call EnableAutoTextBoxDrawing - ld hl, MtMoon3TrainerHeader0 + ld hl, MtMoon3TrainerHeaders ld de, MtMoon3ScriptPointers ld a, [W_MTMOON3CURSCRIPT] call ExecuteCurMapScriptInTable @@ -37,13 +37,23 @@ CoordsData_49d37: ; 49d37 (12:5d37) db $08,$0E db $FF -MtMoon3Script_49d58: ; 49d58 (12:5d58) +MtMoon3Script_49cd7: ; 49d58 (12:5d58) + CheckAndResetEvent EVENT_57E + call nz, MtMoon3Script_49cec xor a ld [wJoyIgnore], a +MtMoon3Script_49ce5: ld [W_MTMOON3CURSCRIPT], a ld [W_CURMAPSCRIPT], a ret +MtMoon3Script_49cec: + ld a, HS_MT_MOON_JESSIE + call MtMoon3Script_49f93 + ld a, HS_MT_MOON_JAMES + call MtMoon3Script_49f93 + ret + MtMoon3ScriptPointers: ; 49d63 (12:5d63) dw MtMoon3Script0 dw DisplayEnemyTrainerTextAndStartBattle @@ -51,23 +61,41 @@ MtMoon3ScriptPointers: ; 49d63 (12:5d63) dw MtMoon3Script3 dw MtMoon3Script4 dw MtMoon3Script5 + dw MtMoon3Script6 + dw MtMoon3Script7 + dw MtMoon3Script8 + dw MtMoon3Script9 + dw MtMoon3Script10 + dw MtMoon3Script11 + dw MtMoon3Script12 + dw MtMoon3Script13 + dw MtMoon3Script14 + dw MtMoon3Script15 MtMoon3Script0: ; 49d6f (12:5d6f) + CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL + call z, MtMoon3Script_49d28 + CheckEvent EVENT_BEAT_MT_MOON_3_TRAINER_0 + call z, MtMoon3Script_49e15 + ret + +MtMoon3Script_49d28: CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD - jp nz, MtMoon3Script_49d91 + jp nz, .asm_49d4b ld a, [wYCoord] cp $8 - jp nz, MtMoon3Script_49d91 + jp nz, .asm_49d4b ld a, [wXCoord] cp $d - jp nz, MtMoon3Script_49d91 + jp nz, .asm_49d4b xor a ld [hJoyHeld], a ld a, $1 ld [hSpriteIndexOrTextID], a - jp DisplayTextID + call DisplayTextID + ret -MtMoon3Script_49d91: ; 49d91 (12:5d91) +.asm_49d4b CheckEitherEventSet EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL jp z, CheckFightingMapTrainers ret @@ -75,57 +103,93 @@ MtMoon3Script_49d91: ; 49d91 (12:5d91) MtMoon3Script3: ; 49d9a (12:5d9a) ld a, [wIsInBattle] cp $ff - jp z, MtMoon3Script_49d58 + jp z, MtMoon3Script_49cd7 call UpdateSprites call Delay3 SetEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD xor a ld [wJoyIgnore], a ld a, $0 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + call MtMoon3Script_49ce5 ret MtMoon3Script4: ; 49dba (12:5dba) ld a, $1 ld [H_SPRITEINDEX], a call SetSpriteMovementBytesToFF - ld hl, CoordsData_49dea + ld hl, CoordsData_49dc7 + call ArePlayerCoordsInArray + jr c, .asm_49da8 + ld hl, CoordsData_49dc0 call ArePlayerCoordsInArray - jr c, .asm_49dd7 - ld hl, CoordsData_49df1 + jr c, .asm_49db0 + ld hl, CoordsData_49dd5 call ArePlayerCoordsInArray - jp nc, CheckFightingMapTrainers - ld de, MovementData_49df9 - jr .asm_49dda -.asm_49dd7 - ld de, MovementData_49df8 -.asm_49dda + jr c, .asm_49d9b + ld hl, CoordsData_49dce + call ArePlayerCoordsInArray + jr c, .asm_49da3 + jp CheckFightingMapTrainers + +.asm_49d9b + ld b, SPRITE_FACING_LEFT + ld hl, PikachuMovementData_49dd8 + call MtMoon3Script_4a325 +.asm_49da3 + ld de, MovementData_49ddd + jr .asm_49db3 + +.asm_49da8 + ld b, SPRITE_FACING_RIGHT + ld hl, PikachuMovementData_49dca + call MtMoon3Script_4a325 +.asm_49db0 + ld de, MovementData_49ddc +.asm_49db3 ld a, $1 ld [H_SPRITEINDEX], a call MoveSprite ld a, $5 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + call MtMoon3Script_49ce5 ret -CoordsData_49dea: ; 49dea (12:5dea) +CoordsData_49dc0: db $07,$0C db $06,$0B db $05,$0C db $FF -CoordsData_49df1: ; 49df1 (12:5df1) +CoordsData_49dc7: + db $07,$0C + db $FF + +PikachuMovementData_49dca: + db $00 + db $35 + db $33 + db $3f + +CoordsData_49dce: db $07,$0D db $06,$0E db $05,$0E db $FF -MovementData_49df8: ; 49df8 (12:5df8) - db NPC_MOVEMENT_RIGHT +CoordsData_49dd5: + db $07,$0D + db $FF -MovementData_49df9: ; 49df9 (12:5df9) - db NPC_MOVEMENT_UP,$FF +PikachuMovementData_49dd8: + db $00 + db $35 + db $34 + db $3f + +MovementData_49ddc: ; 49df8 (12:5df8) + db NPC_MOVEMENT_RIGHT +MovementData_49ddd: ; 49df9 (12:5df9) + db NPC_MOVEMENT_UP + db $FF MtMoon3Script5: ; 49dfb (12:5dfb) ld a, [wd730] @@ -135,23 +199,213 @@ MtMoon3Script5: ; 49dfb (12:5dfb) ld [wJoyIgnore], a ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld a, $a + ld a, $b ld [hSpriteIndexOrTextID], a call DisplayTextID - CheckEvent EVENT_GOT_DOME_FOSSIL + CheckEvent EVENT_GOT_HELIX_FOSSIL jr z, .asm_49e1d - ld a, HS_MT_MOON_3_FOSSIL_2 + ld a, HS_MT_MOON_3_FOSSIL_1 jr .asm_49e1f .asm_49e1d - ld a, HS_MT_MOON_3_FOSSIL_1 + ld a, HS_MT_MOON_3_FOSSIL_2 .asm_49e1f ld [wMissableObjectIndex], a predef HideObject xor a ld [wJoyIgnore], a ld a, $0 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a + call MtMoon3Script_49ce5 + ret + +MtMoon3Script_49e15: + ld a, [wXCoord] + cp $3 + ret nz + ld a, [wYCoord] + cp $5 + ret nz + call StopAllMusic + ld c, BANK(Music_JessieAndJames) + ld a, MUSIC_JESSIE_AND_JAMES + call PlayMusic + xor a + ld [hJoyHeld], a + ld a, $FF ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a + ld a, HS_MT_MOON_JESSIE + call MtMoon3Script_49f84 + ld a, HS_MT_MOON_JAMES + call MtMoon3Script_49f84 + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, $c + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, $1 + ld [wSimulatedJoypadStatesIndex], a + ld a, D_UP + ld [wSimulatedJoypadStatesEnd], a + call StartSimulatingJoypadStates + ld a, $ff + ld [wJoyIgnore], a + ld a, $6 + call MtMoon3Script_49ce5 + ret + +MovementData_f9e65: + db $06 +MovementData_f9e66: + db $06 + db $06 + db $06 + db $06 + db $06 + db $FF + +MtMoon3Script6: + ld a, $ff + ld [wJoyIgnore], a + ld a, [wSimulatedJoypadStatesIndex] + and a + ret nz + call Delay3 + ld a, $2 + ld [H_SPRITEINDEX], a + ld de, MovementData_f9e65 + call MoveSprite + ld a, $ff + ld [wJoyIgnore], a + ld a, $7 + call MtMoon3Script_49ce5 + ret + +MtMoon3Script7: + ld a, $ff + ld [wJoyIgnore], a + ld a, [wd730] + bit 0, a + ret nz +MtMoon3Script8: + ld a, $2 + ld [wSpriteStateData1 + 2 * $10 + 1], a + ld a, SPRITE_FACING_DOWN + ld [wSpriteStateData1 + 2 * $10 + 9], a +MtMoon3Script9: + ld a, $6 + ld [H_SPRITEINDEX], a + ld de, MovementData_f9e66 + call MoveSprite + ld a, $ff + ld [wJoyIgnore], a + ld a, $a + call MtMoon3Script_49ce5 + ret + +MtMoon3Script10: + ld a, $ff + ld [wJoyIgnore], a + ld a, [wd730] + bit 0, a + ret nz +MtMoon3Script11: + ld a, $2 + ld [wSpriteStateData1 + 6 * $10 + 1], a + ld a, SPRITE_FACING_LEFT + ld [wSpriteStateData1 + 6 * $10 + 9], a + call Delay3 + ld a, $FF ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a + ld a, $d + ld [hSpriteIndexOrTextID], a + call DisplayTextID +MtMoon3Script12: + ld hl, wd72d + set 6, [hl] + set 7, [hl] + ld hl, MtMoon3JessieJamesEndBattleText + ld de, MtMoon3JessieJamesEndBattleText + call SaveEndBattleTextPointers + ld a, OPP_ROCKET + ld [wCurOpponent], a + ld a, $2a + ld [wTrainerNo], a + xor a + ld [hJoyHeld], a + ld [wJoyIgnore], a + SetEvent EVENT_57E + ld a, $d + call MtMoon3Script_49ce5 + ret + +MtMoon3Script13: + ld a, $ff + ld [wJoyIgnore], a + ld a, [wIsInBattle] + cp $ff + jp z, MtMoon3Script_49cd7 + ld a, $2 + ld [wSpriteStateData1 + 2 * $10 + 1], a + ld [wSpriteStateData1 + 6 * $10 + 1], a + xor a + ld [wSpriteStateData1 + 2 * $10 + 9], a + ld [wSpriteStateData1 + 6 * $10 + 9], a + ld a, $FF ^ (A_BUTTON | B_BUTTON) + ld [wJoyIgnore], a + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, $e + ld [hSpriteIndexOrTextID], a + call DisplayTextID + xor a + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + call StopAllMusic + ld c, BANK(Music_JessieAndJames) + ld a, MUSIC_JESSIE_AND_JAMES + call PlayMusic + ld a, $ff + ld [wJoyIgnore], a + ld a, $e + call MtMoon3Script_49ce5 + ret + +MtMoon3Script14: + ld a, $ff + ld [wJoyIgnore], a + call GBFadeOutToBlack + ld a, HS_MT_MOON_JESSIE + call MtMoon3Script_49f93 + ld a, HS_MT_MOON_JAMES + call MtMoon3Script_49f93 + call UpdateSprites + call Delay3 + call GBFadeInFromBlack + ld a, $f + call MtMoon3Script_49ce5 + ret + +MtMoon3Script15: + call PlayDefaultMusic + xor a + ld [hJoyHeld], a + ld [wJoyIgnore], a + SetEvent EVENT_BEAT_MT_MOON_3_TRAINER_0 + ResetEventReuseHL EVENT_57E + ld a, $0 + call MtMoon3Script_49ce5 + ret + +MtMoon3Script_49f84: + ld [wMissableObjectIndex], a + predef ShowObject + call UpdateSprites + call Delay3 + ret + +MtMoon3Script_49f93: + ld [wMissableObjectIndex], a + predef HideObject ret MtMoon3TextPointers: ; 49e34 (12:5e34) @@ -162,242 +416,258 @@ MtMoon3TextPointers: ; 49e34 (12:5e34) dw MtMoon3Text5 dw MtMoon3Text6 dw MtMoon3Text7 + dw MtMoon3Text8 dw PickUpItemText dw PickUpItemText - dw MtMoon3Text_49f99 - -MtMoon3TrainerHeaders: ; 49e48 (12:5e48) -MtMoon3TrainerHeader0: ; 49e48 (12:5e48) - 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 - -MtMoon3TrainerHeader2: ; 49e54 (12:5e54) + dw MtMoon3Text11 + dw MtMoon3Text12 + dw MtMoon3Text13 + dw MtMoon3Text14 + +MtMoon3TrainerHeaders: +MtMoon3TrainerHeader0: dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_2 - db ($4 << 4) ; trainer's view range + db ($4 << 4) dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_2 - dw MtMoon3BattleText3 ; TextBeforeBattle - dw MtMoon3AfterBattleText3 ; TextAfterBattle - dw MtMoon3EndBattleText3 ; TextEndBattle - dw MtMoon3EndBattleText3 ; TextEndBattle + dw MtMoon3BattleText3 + dw MtMoon3AfterBattleText3 + dw MtMoon3EndBattleText3 + dw MtMoon3EndBattleText3 -MtMoon3TrainerHeader3: ; 49e60 (12:5e60) +MtMoon3TrainerHeader1: dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_3 - db ($4 << 4) ; trainer's view range + db ($4 << 4) dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_3 - dw MtMoon3BattleText4 ; TextBeforeBattle - dw MtMoon3AfterBattleText4 ; TextAfterBattle - dw MtMoon3EndBattleText4 ; TextEndBattle - dw MtMoon3EndBattleText4 ; TextEndBattle + dw MtMoon3BattleText4 + dw MtMoon3AfterBattleText4 + dw MtMoon3EndBattleText4 + dw MtMoon3EndBattleText4 -MtMoon3TrainerHeader4: ; 49e6c (12:5e6c) +MtMoon3TrainerHeader2: dbEventFlagBit EVENT_BEAT_MT_MOON_3_TRAINER_4 - db ($4 << 4) ; trainer's view range + db ($4 << 4) dwEventFlagAddress EVENT_BEAT_MT_MOON_3_TRAINER_4 - dw MtMoon3BattleText5 ; TextBeforeBattle - dw MtMoon3AfterBattleText5 ; TextAfterBattle - dw MtMoon3EndBattleText5 ; TextEndBattle - dw MtMoon3EndBattleText5 ; TextEndBattle + dw MtMoon3BattleText5 + dw MtMoon3AfterBattleText5 + dw MtMoon3EndBattleText5 + dw MtMoon3EndBattleText5 - db $ff + db $FF + +MtMoon3Text2: +MtMoon3Text6: + db "@" + +MtMoon3Text12: + TX_FAR _MtMoonJessieJamesText1 + TX_ASM + ld c, 10 + call DelayFrames + ld a, PLAYER_DIR_UP + ld [wPlayerMovingDirection], a + ld a, $0 + ld [wEmotionBubbleSpriteIndex], a + ld a, $0 + ld [wWhichEmotionBubble], a + predef EmotionBubble + ld c, 20 + call DelayFrames + jp TextScriptEnd + +MtMoon3Text13: + TX_FAR _MtMoonJessieJamesText2 + db "@" -MtMoon3Text1: ; 49e79 (12:5e79) +MtMoon3JessieJamesEndBattleText: + TX_FAR _MtMoonJessieJamesText3 + db "@" + +MtMoon3Text14: + TX_FAR _MtMoonJessieJamesText4 + TX_ASM + ld c, 64 + call DelayFrames + jp TextScriptEnd + +MtMoon3Text1: TX_ASM CheckEvent EVENT_BEAT_MT_MOON_EXIT_SUPER_NERD - jr z, .asm_49e8d - and $c0 - jr nz, .asm_49eb8 - ld hl, MtMoon3Text_49f8f + jr z, .asm_4a02f + and $81 ; CheckEitherEventSetReuseA EVENT_GOT_DOME_FOSSIL, EVENT_GOT_HELIX_FOSSIL + jr nz, .asm_4a057 + ld hl, MtMoon3Text_4a116 call PrintText - jr .asm_49ebe -.asm_49e8d - ld hl, MtMoon3Text_49f85 + jr .asm_4a05d + +.asm_4a02f + ld hl, MtMoon3Text_4a10c call PrintText ld hl, wd72d set 6, [hl] set 7, [hl] - ld hl, MtMoon3Text_49f8a - ld de, MtMoon3Text_49f8a + ld hl, MtMoon3SuperNerdEndBattleText + ld de, MtMoon3SuperNerdEndBattleText call SaveEndBattleTextPointers ld a, [H_SPRITEINDEX] ld [wSpriteIndex], a call EngageMapTrainer call InitBattleEnemyParameters ld a, $3 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a - jr .asm_49ebe -.asm_49eb8 - ld hl, MtMoon3Text_49f94 + call MtMoon3Script_49ce5 + jr .asm_4a05d + +.asm_4a057 + ld hl, MtMoon3Text_4a11b call PrintText -.asm_49ebe +.asm_4a05d jp TextScriptEnd -MtMoon3Text2: ; 49ec1 (12:5ec1) +MtMoon3Text3: TX_ASM ld hl, MtMoon3TrainerHeader0 - call TalkToTrainer - jp TextScriptEnd + jr MtMoon3TalkToTrainer -MtMoon3Text3: ; 49ecb (12:5ecb) +MtMoon3Text4: TX_ASM - ld hl, MtMoon3TrainerHeader2 - call TalkToTrainer - jp TextScriptEnd + ld hl, MtMoon3TrainerHeader1 + jr MtMoon3TalkToTrainer -MtMoon3Text4: ; 49ed5 (12:5ed5) - TX_ASM - ld hl, MtMoon3TrainerHeader3 - call TalkToTrainer - jp TextScriptEnd -MtMoon3Text5: ; 49edf (12:5edf) +MtMoon3Text5: TX_ASM - ld hl, MtMoon3TrainerHeader4 + ld hl, MtMoon3TrainerHeader2 +MtMoon3TalkToTrainer: call TalkToTrainer jp TextScriptEnd -MtMoon3Text6: ; 49ee9 (12:5ee9) +MtMoon3Text7: TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, MtMoon3Text_49f24 + ld hl, MtMoon3Text_4a0ae call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_49f21 + jr nz, .asm_4a0ab lb bc, DOME_FOSSIL, 1 call GiveItem - jp nc, MtMoon3Script_49f76 - call MtMoon3Script_49f69 + jp nc, MtMoon3Script_4a0fd + call MtMoon3Script_4a0f0 ld a, HS_MT_MOON_3_FOSSIL_1 ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_GOT_DOME_FOSSIL ld a, $4 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_49f21 + call MtMoon3Script_49ce5 +.asm_4a0ab jp TextScriptEnd -MtMoon3Text_49f24: ; 49f24 (12:5f24) +MtMoon3Text_4a0ae: TX_FAR _MtMoon3Text_49f24 db "@" -MtMoon3Text7: ; 49f29 (12:5f29) +MtMoon3Text8: TX_ASM ld a, $1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, MtMoon3Text_49f64 + ld hl, MtMoon3Text_4a0eb call PrintText call YesNoChoice ld a, [wCurrentMenuItem] and a - jr nz, .asm_49f61 + jr nz, .asm_4a0e8 lb bc, HELIX_FOSSIL, 1 call GiveItem - jp nc, MtMoon3Script_49f76 - call MtMoon3Script_49f69 + jp nc, MtMoon3Script_4a0fd + call MtMoon3Script_4a0f0 ld a, HS_MT_MOON_3_FOSSIL_2 ld [wMissableObjectIndex], a predef HideObject SetEvent EVENT_GOT_HELIX_FOSSIL ld a, $4 - ld [W_MTMOON3CURSCRIPT], a - ld [W_CURMAPSCRIPT], a -.asm_49f61 + call MtMoon3Script_49ce5 +.asm_4a0e8 jp TextScriptEnd -MtMoon3Text_49f64: ; 49f64 (12:5f64) +MtMoon3Text_4a0eb: TX_FAR _MtMoon3Text_49f64 db "@" -MtMoon3Script_49f69: ; 49f69 (12:5f69) - ld hl, MtMoon3Text_49f6f +MtMoon3Script_4a0f0: + ld hl, MtMoon3Text_4a0f6 jp PrintText -MtMoon3Text_49f6f: ; 49f6f (12:5f6f) +MtMoon3Text_4a0f6: TX_FAR _MtMoon3Text_49f6f - db $11, $d, "@" + TX_SFX_KEY_ITEM + TX_WAIT_BUTTON + db "@" -MtMoon3Script_49f76: ; 49f76 (12:5f76) - ld hl, MtMoon3Text_49f7f +MtMoon3Script_4a0fd: + ld hl, MtMoon3Text_4a106 call PrintText jp TextScriptEnd -MtMoon3Text_49f7f: ; 49f7f (12:5f7f) +MtMoon3Text_4a106: TX_FAR _MtMoon3Text_49f7f - db $d, "@" + TX_WAIT_BUTTON + db "@" -MtMoon3Text_49f85: ; 49f85 (12:5f85) +MtMoon3Text_4a10c: TX_FAR _MtMoon3Text_49f85 db "@" -MtMoon3Text_49f8a: ; 49f8a (12:5f8a) +MtMoon3SuperNerdEndBattleText: TX_FAR _MtMoon3Text_49f8a db "@" -MtMoon3Text_49f8f: ; 49f8f (12:5f8f) +MtMoon3Text_4a116: TX_FAR _MtMoon3Text_49f8f db "@" -MtMoon3Text_49f94: ; 49f94 (12:5f94) +MtMoon3Text_4a11b: TX_FAR _MtMoon3Text_49f94 db "@" -MtMoon3Text_49f99: ; 49f99 (12:5f99) +MtMoon3Text11: TX_FAR _MtMoon3Text_49f99 - db $11, "@" - -MtMoon3BattleText2: ; 49f9f (12:5f9f) - TX_FAR _MtMoon3BattleText2 + TX_SFX_KEY_ITEM db "@" -MtMoon3EndBattleText2: ; 49fa4 (12:5fa4) - TX_FAR _MtMoon3EndBattleText2 - db "@" - -MtMoon3AfterBattleText2: ; 49fa9 (12:5fa9) - TX_FAR _MtMoon3AfterBattleText2 - db "@" - -MtMoon3BattleText3: ; 49fae (12:5fae) +MtMoon3BattleText3: TX_FAR _MtMoon3BattleText3 db "@" -MtMoon3EndBattleText3: ; 49fb3 (12:5fb3) +MtMoon3EndBattleText3: TX_FAR _MtMoon3EndBattleText3 db "@" -MtMoon3AfterBattleText3: ; 49fb8 (12:5fb8) +MtMoon3AfterBattleText3: TX_FAR _MtMoon3AfterBattleText3 db "@" -MtMoon3BattleText4: ; 49fbd (12:5fbd) +MtMoon3BattleText4: TX_FAR _MtMoon3BattleText4 db "@" -MtMoon3EndBattleText4: ; 49fc2 (12:5fc2) +MtMoon3EndBattleText4: TX_FAR _MtMoon3EndBattleText4 db "@" -MtMoon3AfterBattleText4: ; 49fc7 (12:5fc7) +MtMoon3AfterBattleText4: TX_FAR _MtMoon3AfterBattleText4 db "@" -MtMoon3BattleText5: ; 49fcc (12:5fcc) +MtMoon3BattleText5: TX_FAR _MtMoon3BattleText5 db "@" -MtMoon3EndBattleText5: ; 49fd1 (12:5fd1) +MtMoon3EndBattleText5: TX_FAR _MtMoon3EndBattleText5 db "@" -MtMoon3AfterBattleText5: ; 49fd6 (12:5fd6) +MtMoon3AfterBattleText5: TX_FAR _MtMoon3AfterBattleText5 db "@" + -- cgit v1.3.1-sl0p From a8b3d3612e43cbcc7e1946c5c1a06f9c54c8d311 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 29 May 2016 22:36:26 -0400 Subject: Bulbasaur house in Cerulean --- constants/event_constants.asm | 2 +- constants/hide_show_constants.asm | 35 ++++++-------- data/mapObjects/ceruleanhouse1.asm | 8 +-- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- main.asm | 7 ++- scripts/ceruleanhouse1.asm | 99 ++++++++++++++++++++++++++++++++++++-- 7 files changed, 123 insertions(+), 32 deletions(-) (limited to 'constants') diff --git a/constants/event_constants.asm b/constants/event_constants.asm index 49050dd3..2d1fab45 100644 --- a/constants/event_constants.asm +++ b/constants/event_constants.asm @@ -168,7 +168,7 @@ const_value = 0 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_GOT_BULBASAUR_IN_CERULEAN ; 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) diff --git a/constants/hide_show_constants.asm b/constants/hide_show_constants.asm index 6fc52187..f41477a5 100755 --- a/constants/hide_show_constants.asm +++ b/constants/hide_show_constants.asm @@ -51,10 +51,6 @@ const_value = 0 const HS_TOWN_MAP ; 2A const HS_OAKS_LAB_RIVAL ; 2B const HS_STARTER_BALL_1 ; 2C - const HS_STARTER_BALL_2 ; 2D - const HS_STARTER_BALL_3 ; 2E - -const_value SET $2D const HS_OAKS_LAB_OAK_1 ; 2D const HS_POKEDEX_1 ; 2E const HS_POKEDEX_2 ; 2F @@ -62,22 +58,21 @@ const_value SET $2D const HS_VIRIDIAN_GYM_GIOVANNI ; 31 const HS_VIRIDIAN_GYM_ITEM ; 32 const HS_OLD_AMBER ; 33 X - const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 34 - const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 35 X - const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 36 X - const HS_POKEMONTOWER_2_RIVAL ; 37 X - const HS_POKEMONTOWER_3_ITEM ; 38 - const HS_POKEMONTOWER_4_ITEM_1 ; 39 X - const HS_POKEMONTOWER_4_ITEM_2 ; 3A X - const HS_POKEMONTOWER_4_ITEM_3 ; 3B X - const HS_POKEMONTOWER_5_ITEM ; 3C X - const HS_POKEMONTOWER_6_ITEM_1 ; 3D X - const HS_POKEMONTOWER_6_ITEM_2 ; 3E X - const HS_POKEMONTOWER_7_ROCKET_1 ; 3F X - const HS_POKEMONTOWER_7_ROCKET_2 ; 40 X - const HS_POKEMONTOWER_7_ROCKET_3 ; 41 X - -const_value SET $43 ; replace the tower rockets with jessie/james + const HS_CERULEAN_BULBASAUR ; 34 + const HS_UNKNOWN_DUNGEON_1_ITEM_1 ; 35 X + const HS_UNKNOWN_DUNGEON_1_ITEM_2 ; 36 X + const HS_UNKNOWN_DUNGEON_1_ITEM_3 ; 37 X + const HS_POKEMONTOWER_2_RIVAL ; 38 + const HS_POKEMONTOWER_3_ITEM ; 39 X + const HS_POKEMONTOWER_4_ITEM_1 ; 3A X + const HS_POKEMONTOWER_4_ITEM_2 ; 3B X + const HS_POKEMONTOWER_4_ITEM_3 ; 3C X + const HS_POKEMONTOWER_5_ITEM ; 3D X + const HS_POKEMONTOWER_6_ITEM_1 ; 3E X + const HS_POKEMONTOWER_6_ITEM_2 ; 3F X + const HS_POKEMONTOWER_7_ROCKET_1 ; 40 X + const HS_POKEMONTOWER_7_ROCKET_2 ; 41 X + const HS_POKEMONTOWER_7_ROCKET_3 ; 42 const HS_POKEMONTOWER_7_MR_FUJI ; 43 const HS_LAVENDER_HOUSE_1_MR_FUJI ; 44 const HS_CELADON_MANSION_5_GIFT ; 45 diff --git a/data/mapObjects/ceruleanhouse1.asm b/data/mapObjects/ceruleanhouse1.asm index db0be014..aa9f66a4 100755 --- a/data/mapObjects/ceruleanhouse1.asm +++ b/data/mapObjects/ceruleanhouse1.asm @@ -7,9 +7,11 @@ CeruleanHouse1Object: ; 0x1d710 (size=32) 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 + db $4 ; objects + object SPRITE_GIRL, $3, $1, STAY, DOWN, $1 ; person + object SPRITE_BULBASAUR, $4, $1, STAY, DOWN, $2 ; person + object SPRITE_ODDISH, $1, $4, STAY, NONE, $3 ; person + object SPRITE_SANDSHREW, $5, $3, STAY, LEFT, $4 ; person ; warp-to EVENT_DISP CERULEAN_HOUSE_1_WIDTH, $7, $2 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 1664cb08..bbcdd278 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -63,7 +63,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(MtMoon2_h) db BANK(MtMoon3_h) db BANK(CeruleanHouseTrashed_h) - db $07 ; db BANK(CeruleanHouse1_h) + db BANK(CeruleanHouse1_h) db $17 ; db BANK(CeruleanPokecenter_h) db $17 ; db BANK(CeruleanGym_h) db $07 ; db BANK(BikeShop_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 4d6a8847..9558ca6e 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -63,7 +63,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw MtMoon2_h ;id=60 dw MtMoon3_h dw CeruleanHouseTrashed_h - dw $4f34 ; dw CeruleanHouse1_h + dw CeruleanHouse1_h dw $44f5 ; dw CeruleanPokecenter_h dw $4577 ; dw CeruleanGym_h dw $5038 ; dw BikeShop_h diff --git a/main.asm b/main.asm index 91bff12e..988add14 100755 --- a/main.asm +++ b/main.asm @@ -297,6 +297,7 @@ ViridianHouseBlocks: Route2HouseBlocks: PewterHouse1Blocks: PewterHouse2Blocks: +CeruleanHouse1Blocks: INCBIN "maps/viridianhouse.blk" SchoolBlocks: INCBIN "maps/school.blk" @@ -347,7 +348,11 @@ INCLUDE "data/mapObjects/pewterhouse2.asm" INCLUDE "data/mapHeaders/ceruleanhousetrashed.asm" INCLUDE "scripts/ceruleanhousetrashed.asm" INCLUDE "data/mapObjects/ceruleanhousetrashed.asm" - dr $1cf34,$1d7ae ; map scripts + +INCLUDE "data/mapHeaders/ceruleanhouse1.asm" +INCLUDE "scripts/ceruleanhouse1.asm" +INCLUDE "data/mapObjects/ceruleanhouse1.asm" + dr $1d038,$1d7ae ; map scripts INCLUDE "data/mapHeaders/diglettscaveroute2.asm" INCLUDE "scripts/diglettscaveroute2.asm" diff --git a/scripts/ceruleanhouse1.asm b/scripts/ceruleanhouse1.asm index e703d830..0b9a9052 100755 --- a/scripts/ceruleanhouse1.asm +++ b/scripts/ceruleanhouse1.asm @@ -1,17 +1,106 @@ CeruleanHouse1Script: ; 1d6f6 (7:56f6) - jp EnableAutoTextBoxDrawing + call EnableAutoTextBoxDrawing + ret CeruleanHouse1TextPointers: ; 1d6f9 (7:56f9) dw CeruleanHouse1Text1 dw CeruleanHouse1Text2 + dw CeruleanHouse1Text3 + dw CeruleanHouse1Text4 CeruleanHouse1Text1: ; 1d6fd (7:56fd) - TX_FAR _CeruleanHouse1Text1 + TX_ASM + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + CheckEvent EVENT_GOT_BULBASAUR_IN_CERULEAN + jr nz, .asm_1cfbf + ld hl, CeruleanHouse1Text_1cfc8 + call PrintText + ld a, [wPikachuHappiness] + cp 147 + jr c, .asm_1cfb3 + ld hl, CeruleanHouse1Text_1cfce + call PrintText + call YesNoChoice + ld a, [wCurrentMenuItem] + and a + jr nz, .asm_1cfb6 + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld a, BULBASAUR + ld [wd11e], a + ld [wcf91], a + call GetMonName + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + lb bc, BULBASAUR, 10 + call GivePokemon + jr nc, .asm_1cfb3 + ld a, [wAddedToParty] + and a + call z, WaitForTextScrollButtonPress + ld a, $1 + ld [wDoNotWaitForButtonPressAfterDisplayingText], a + ld hl, CeruleanHouse1Text_1cfd3 + call PrintText + ld a, HS_CERULEAN_BULBASAUR + ld [wMissableObjectIndex], a + predef HideObject + SetEvent EVENT_GOT_BULBASAUR_IN_CERULEAN +.asm_1cfb3 + jp TextScriptEnd + +.asm_1cfb6 + ld hl, CeruleanHouse1Text_1cfdf + call PrintText + jp TextScriptEnd + +.asm_1cfbf + ld hl, CeruleanHouse1Text_1cfd9 + call PrintText + jp TextScriptEnd + +CeruleanHouse1Text_1cfc8: + TX_FAR MelanieText1 + TX_WAIT_BUTTON + db "@" + +CeruleanHouse1Text_1cfce: + TX_FAR MelanieText2 + db "@" + +CeruleanHouse1Text_1cfd3: + TX_FAR MelanieText3 + TX_WAIT_BUTTON + db "@" + +CeruleanHouse1Text_1cfd9: + TX_FAR MelanieText4 + TX_WAIT_BUTTON + db "@" + +CeruleanHouse1Text_1cfdf: + TX_FAR MelanieText5 + TX_WAIT_BUTTON db "@" CeruleanHouse1Text2: ; 1d702 (7:5702) + TX_FAR MelanieBulbasaurText + TX_ASM + ld a, BULBASAUR + call PlayCry + jp TextScriptEnd + +CeruleanHouse1Text3: ; 1d702 (7:5702) + TX_FAR MelanieOddishText + TX_ASM + ld a, ODDISH + call PlayCry + jp TextScriptEnd + +CeruleanHouse1Text4: ; 1d702 (7:5702) + TX_FAR MelanieSandshrewText TX_ASM - ld a, $6 - ld [wWhichTrade], a - predef DoInGameTradeDialogue + ld a, SANDSHREW + call PlayCry jp TextScriptEnd -- cgit v1.3.1-sl0p From 5d6f3ec1d4f24bb2598359402c361f2ec47546da Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Mon, 30 May 2016 09:36:57 -0400 Subject: Cerulean Pokemon Center; Func_5c0d4; space after comma in engine/menu/pokedex.asm --- constants/pokedex_constants.asm | 2 +- constants/pokemon_constants.asm | 2 +- data/mapObjects/ceruleanpokecenter.asm | 5 +- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- engine/menu/pokedex.asm | 526 ++++++++++++++++----------------- main.asm | 18 +- scripts/ceruleanpokecenter.asm | 6 + wram.asm | 2 +- 9 files changed, 292 insertions(+), 273 deletions(-) (limited to 'constants') diff --git a/constants/pokedex_constants.asm b/constants/pokedex_constants.asm index 07cda548..360fbb4c 100644 --- a/constants/pokedex_constants.asm +++ b/constants/pokedex_constants.asm @@ -82,7 +82,7 @@ const_value = 1 const DEX_SLOWBRO ; 80 const DEX_MAGNEMITE ; 81 const DEX_MAGNETON ; 82 - const DEX_FARFETCHD ; 83 + const DEX_FARFETCHD ; 83 const DEX_DODUO ; 84 const DEX_DODRIO ; 85 const DEX_SEEL ; 86 diff --git a/constants/pokemon_constants.asm b/constants/pokemon_constants.asm index 773495e3..96d44ef5 100644 --- a/constants/pokemon_constants.asm +++ b/constants/pokemon_constants.asm @@ -63,7 +63,7 @@ const_value = 1 const MISSINGNO_3D ; $3D const MISSINGNO_3E ; $3E const MISSINGNO_3F ; $3F - const FARFETCHD ; $40 + const FARFETCHD ; $40 const VENONAT ; $41 const DRAGONITE ; $42 const MISSINGNO_43 ; $43 diff --git a/data/mapObjects/ceruleanpokecenter.asm b/data/mapObjects/ceruleanpokecenter.asm index 930995dd..4b92f0d8 100755 --- a/data/mapObjects/ceruleanpokecenter.asm +++ b/data/mapObjects/ceruleanpokecenter.asm @@ -7,11 +7,12 @@ CeruleanPokecenterObject: ; 0x5c65f (size=44) db $0 ; signs - db $4 ; objects + db $5 ; objects object SPRITE_NURSE, $3, $1, STAY, DOWN, $1 ; person object SPRITE_BLACK_HAIR_BOY_2, $a, $5, WALK, $0, $2 ; person - object SPRITE_GENTLEMAN, $4, $3, STAY, DOWN, $3 ; person + object SPRITE_GENTLEMAN, $4, $3, STAY, UP, $3 ; person object SPRITE_CABLE_CLUB_WOMAN, $b, $2, STAY, DOWN, $4 ; person + object SPRITE_CHANSEY, $4, $1, STAY, DOWN, $5 ; person ; warp-to EVENT_DISP CERULEAN_POKECENTER_WIDTH, $7, $3 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index bbcdd278..65579280 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -64,7 +64,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(MtMoon3_h) db BANK(CeruleanHouseTrashed_h) db BANK(CeruleanHouse1_h) - db $17 ; db BANK(CeruleanPokecenter_h) + db BANK(CeruleanPokecenter_h) db $17 ; db BANK(CeruleanGym_h) db $07 ; db BANK(BikeShop_h) db $17 ; db BANK(CeruleanMart_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index 9558ca6e..d80f85f5 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -64,7 +64,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw MtMoon3_h dw CeruleanHouseTrashed_h dw CeruleanHouse1_h - dw $44f5 ; dw CeruleanPokecenter_h + dw CeruleanPokecenter_h dw $4577 ; dw CeruleanGym_h dw $5038 ; dw BikeShop_h dw $4757 ; dw CeruleanMart_h diff --git a/engine/menu/pokedex.asm b/engine/menu/pokedex.asm index c481a20c..298816c1 100755 --- a/engine/menu/pokedex.asm +++ b/engine/menu/pokedex.asm @@ -2,54 +2,54 @@ ShowPokedexMenu: ; 40000 (10:4000) call GBPalWhiteOut call ClearScreen call UpdateSprites - ld a,[wListScrollOffset] + ld a, [wListScrollOffset] push af xor a - ld [wCurrentMenuItem],a - ld [wListScrollOffset],a - ld [wLastMenuItem],a + ld [wCurrentMenuItem], a + ld [wListScrollOffset], a + ld [wLastMenuItem], a inc a - ld [wd11e],a - ld [hJoy7],a + ld [wd11e], a + ld [hJoy7], a .setUpGraphics callab LoadPokedexTilePatterns .asm_40025 ld b, SET_PAL_GENERIC call RunPaletteCommand .doPokemonListMenu - ld hl,wTopMenuItemY - ld a,3 - ld [hli],a ; top menu item Y + ld hl, wTopMenuItemY + ld a, 3 + ld [hli], a ; top menu item Y xor a - ld [hli],a ; top menu item X + ld [hli], a ; top menu item X inc a - ld [wMenuWatchMovingOutOfBounds],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 + 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 + 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 + ld [wMenuWatchMovingOutOfBounds], a + ld [wCurrentMenuItem], a + ld [wLastMenuItem], a + ld [hJoy7], a + ld [wWastedByteCD3A], a + ld [wOverrideSimulatedJoypadStatesMask], a pop af - ld [wListScrollOffset],a + ld [wListScrollOffset], a call GBPalWhiteOutWithDelay3 call RunDefaultPaletteCommand jp ReloadMapData .goToSideMenu call HandlePokedexSideMenu dec b - jr z,.exitPokedex ; if the player chose Quit + jr z, .exitPokedex ; if the player chose Quit dec b - jr z,.doPokemonListMenu ; if pokemon not seen or player pressed B button + jr z, .doPokemonListMenu ; if pokemon not seen or player pressed B button dec b jr z, .asm_40025 jp .setUpGraphics ; if pokemon data or area was shown @@ -62,73 +62,73 @@ ShowPokedexMenu: ; 40000 (10:4000) ; 02: the pokemon has not been seen yet or the player pressed the B button HandlePokedexSideMenu: ; 40070 (10:4070) call PlaceUnfilledArrowMenuCursor - ld a,[wCurrentMenuItem] + ld a, [wCurrentMenuItem] push af - ld b,a - ld a,[wLastMenuItem] + ld b, a + ld a, [wLastMenuItem] push af - ld a,[wListScrollOffset] + ld a, [wListScrollOffset] push af add b inc a - ld [wd11e],a - ld a,[wd11e] + ld [wd11e], a + ld a, [wd11e] push af - ld a,[wDexMaxSeenMon] + ld a, [wDexMaxSeenMon] push af ; this doesn't need to be preserved - ld hl,wPokedexSeen + ld hl, wPokedexSeen call IsPokemonBitSet - ld b,2 - jr z,.exitSideMenu + ld b, 2 + jr z, .exitSideMenu call PokedexToIndex - ld hl,wTopMenuItemY - ld a,8 - ld [hli],a ; top menu item Y - ld a,15 - ld [hli],a ; top menu item X + ld hl, wTopMenuItemY + ld a, 8 + 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 + ld [hli], a ; current menu item ID inc hl - ld a,4 - ld [hli],a ; max menu item ID + ld a, 4 + ld [hli], a ; max menu item ID ld a, A_BUTTON | B_BUTTON - ld [hli],a ; menu watched keys (A button and 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 - ld [hJoy7],a + ld [hli], a ; old menu item ID + ld [wMenuWatchMovingOutOfBounds], a + ld [hJoy7], a .handleMenuInput call HandleMenuInput - bit 1,a ; was the B button pressed? - ld b,2 - jr nz,.buttonBPressed - ld a,[wCurrentMenuItem] + bit 1, a ; was the B button pressed? + ld b, 2 + jr nz, .buttonBPressed + ld a, [wCurrentMenuItem] and a - jr z,.choseData + jr z, .choseData dec a - jr z,.choseCry + jr z, .choseCry dec a - jr z,.choseArea + jr z, .choseArea dec a - jr z,.chosePrint + jr z, .chosePrint .choseQuit - ld b,1 + ld b, 1 .exitSideMenu pop af - ld [wDexMaxSeenMon],a + ld [wDexMaxSeenMon], a pop af - ld [wd11e],a + ld [wd11e], a pop af - ld [wListScrollOffset],a + ld [wListScrollOffset], a pop af - ld [wLastMenuItem],a + ld [wLastMenuItem], a pop af - ld [wCurrentMenuItem],a + ld [wCurrentMenuItem], a ld a, $1 ld [hJoy7], a push bc coord hl, 0, 3 - ld de,20 + ld de, 20 lb bc, " ", 13 call DrawTileLine ; cover up the menu cursor in the pokemon list pop bc @@ -136,24 +136,24 @@ HandlePokedexSideMenu: ; 40070 (10:4070) .buttonBPressed push bc coord hl, 15, 8 - ld de,20 + ld de, 20 lb bc, " ", 9 call DrawTileLine ; cover up the menu cursor in the side menu pop bc jr .exitSideMenu .choseData call ShowPokedexDataInternal - ld b,0 + ld b, 0 jr .exitSideMenu ; play pokemon cry .choseCry - ld a,[wd11e] + ld a, [wd11e] call GetCryData call PlaySound jr .handleMenuInput .choseArea predef LoadTownMap_Nest ; display pokemon areas - ld b,0 + ld b, 0 jr .exitSideMenu .chosePrint ld a, [hTilesetType] @@ -179,63 +179,63 @@ HandlePokedexListMenu: ; 40140 (10:4140) call Func_4027c call GBPalNormal call HandleMenuInput - bit 1,a ; was the B button pressed? - jp nz,.buttonBPressed + bit 1, a ; was the B button pressed? + jp nz, .buttonBPressed bit 0, a ; was the A button pressed? - jp nz,.buttonAPressed + jp nz, .buttonAPressed .checkIfUpPressed - bit 6,a ; was Up pressed? - jr z,.checkIfDownPressed + bit 6, a ; was Up pressed? + jr z, .checkIfDownPressed .upPressed ; scroll up one row - ld a,[wListScrollOffset] + ld a, [wListScrollOffset] and a - jp z,.loop + jp z, .loop dec a - ld [wListScrollOffset],a + ld [wListScrollOffset], a jp .loop .checkIfDownPressed - bit 7,a ; was Down pressed? - jr z,.checkIfRightPressed + bit 7, a ; was Down pressed? + jr z, .checkIfRightPressed .downPressed ; scroll down one row - ld a,[wDexMaxSeenMon] - cp a,7 - jp c,.loop ; can't if the list is shorter than 7 - sub a,7 - ld b,a - ld a,[wListScrollOffset] + ld a, [wDexMaxSeenMon] + cp a, 7 + jp c, .loop ; can't if the list is shorter than 7 + sub a, 7 + ld b, a + ld a, [wListScrollOffset] cp b - jp z,.loop + jp z, .loop inc a - ld [wListScrollOffset],a + ld [wListScrollOffset], a jp .loop .checkIfRightPressed - bit 4,a ; was Right pressed? - jr z,.checkIfLeftPressed + bit 4, a ; was Right pressed? + jr z, .checkIfLeftPressed .rightPressed ; scroll down 7 rows - ld a,[wDexMaxSeenMon] - cp a,7 - jp c,.loop ; can't if the list is shorter than 7 - sub a,6 - ld b,a - ld a,[wListScrollOffset] - add a,7 - ld [wListScrollOffset],a + ld a, [wDexMaxSeenMon] + cp a, 7 + jp c, .loop ; can't if the list is shorter than 7 + sub a, 6 + ld b, a + ld a, [wListScrollOffset] + add a, 7 + ld [wListScrollOffset], a cp b - jp c,.loop + jp c, .loop dec b - ld a,b - ld [wListScrollOffset],a + ld a, b + ld [wListScrollOffset], a jp .loop .checkIfLeftPressed ; scroll up 7 rows - bit 5,a ; was Left pressed? - jr z,.buttonAPressed + bit 5, a ; was Left pressed? + jr z, .buttonAPressed .leftPressed - ld a,[wListScrollOffset] - sub a,7 - ld [wListScrollOffset],a - jp nc,.loop + ld a, [wListScrollOffset] + sub a, 7 + ld [wListScrollOffset], a + jp nc, .loop xor a - ld [wListScrollOffset],a + ld [wListScrollOffset], a jp .loop .buttonAPressed scf @@ -249,72 +249,72 @@ Func_401c2: ; 401c2 (10:41c2) ld [H_AUTOBGTRANSFERENABLED], a ; draw the horizontal line separating the seen and owned amounts from the menu coord hl, 15, 6 - ld a,$7a ; horizontal line tile - ld [hli],a - ld [hli],a - ld [hli],a - ld [hli],a - ld [hli],a + ld a, $7a ; horizontal line tile + 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 + 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 + ld hl, wPokedexSeen + ld b, wPokedexSeenEnd - wPokedexSeen call CountSetBits ld de, wNumSetBits coord hl, 16, 2 lb bc, 1, 3 call PrintNumber ; print number of seen pokemon - ld hl,wPokedexOwned - ld b,wPokedexOwnedEnd - wPokedexOwned + ld hl, wPokedexOwned + ld b, wPokedexOwnedEnd - wPokedexOwned call CountSetBits ld de, wNumSetBits coord hl, 16, 5 lb bc, 1, 3 call PrintNumber ; print number of owned pokemon coord hl, 16, 1 - ld de,PokedexSeenText + ld de, PokedexSeenText call PlaceString coord hl, 16, 4 - ld de,PokedexOwnText + ld de, PokedexOwnText call PlaceString coord hl, 1, 1 - ld de,PokedexContentsText + ld de, PokedexContentsText call PlaceString coord hl, 16, 8 - ld de,PokedexMenuItemsText + 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 + ld hl, wPokedexSeenEnd - 1 + ld b, (wPokedexSeenEnd - wPokedexSeen) * 8 + 1 .maxSeenPokemonLoop - ld a,[hld] - ld c,8 + ld a, [hld] + ld c, 8 .maxSeenPokemonInnerLoop dec b sla a - jr c,.storeMaxSeenPokemon + jr c, .storeMaxSeenPokemon dec c - jr nz,.maxSeenPokemonInnerLoop + jr nz, .maxSeenPokemonInnerLoop jr .maxSeenPokemonLoop .storeMaxSeenPokemon - ld a,b - ld [wDexMaxSeenMon],a + ld a, b + ld [wDexMaxSeenMon], a ret DrawPokedexVerticalLine: ; 40243 (10:4243) - ld c,9 ; height of line - ld de,SCREEN_WIDTH ; width of screen - ld a,$71 ; vertical line tile + ld c, 9 ; height of line + ld de, SCREEN_WIDTH ; width of screen + ld a, $71 ; vertical line tile .loop - ld [hl],a - add hl,de - xor a,1 ; toggle between vertical line tile and box tile + ld [hl], a + add hl, de + xor a, 1 ; toggle between vertical line tile and box tile dec c - jr nz,.loop + jr nz, .loop ret PokedexSeenText: ; 40252 (10:4252) @@ -335,51 +335,51 @@ PokedexMenuItemsText: ; 40264 (10:4264) Func_4027c: ; 4027c (10:427c) xor a - ld [H_AUTOBGTRANSFERENABLED],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 a,7 - jr nc,.printPokemonLoop - ld d,a + ld a, [wListScrollOffset] + ld [wd11e], a + ld d, 7 + ld a, [wDexMaxSeenMon] + cp a, 7 + jr nc, .printPokemonLoop + ld d, a dec a - ld [wMaxMenuItem],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] + ld a, [wd11e] inc a - ld [wd11e],a + ld [wd11e], a push af push de push hl - ld de,-SCREEN_WIDTH - add hl,de - ld de,wd11e + 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 + ld de, SCREEN_WIDTH + add hl, de dec hl push hl - ld hl,wPokedexOwned + ld hl, wPokedexOwned call IsPokemonBitSet pop hl - ld a," " - jr z,.writeTile - ld a,$72 ; pokeball tile + 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 + ld [hl], a ; put a pokeball next to pokemon that the player has owned push hl - ld hl,wPokedexSeen + 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 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 "----------@" @@ -391,15 +391,15 @@ Func_4027c: ; 4027c (10:427c) inc hl call PlaceString pop hl - ld bc,2 * 20 - add hl,bc + ld bc, 2 * 20 + add hl, bc pop de pop af - ld [wd11e],a + ld [wd11e], a dec d - jr nz,.printPokemonLoop - ld a,01 - ld [H_AUTOBGTRANSFERENABLED],a + jr nz, .printPokemonLoop + ld a, 01 + ld [H_AUTOBGTRANSFERENABLED], a call Delay3 ret @@ -408,12 +408,12 @@ Func_4027c: ; 4027c (10:427c) ; [wd11e] = pokedex number ; hl = address of bit field IsPokemonBitSet: ; 40303 (10:4303) - ld a,[wd11e] + ld a, [wd11e] dec a - ld c,a - ld b,FLAG_TEST + ld c, a + ld b, FLAG_TEST predef FlagActionPredef - ld a,c + ld a, c and a ret @@ -426,44 +426,44 @@ ShowPokedexData: ; 40312 (10:4312) ; function to display pokedex data from inside the pokedex ShowPokedexDataInternal: ; 40323 (10:4323) - ld hl,wd72c - set 1,[hl] - ld a,$33 ; 3/7 volume - ld [rNR50],a + ld hl, wd72c + set 1, [hl] + ld a, $33 ; 3/7 volume + ld [rNR50], a ld a, [hTilesetType] push af xor a ld [hTilesetType], a call GBPalWhiteOut ; zero all palettes - ld a,[wd11e] ; pokemon ID - ld [wcf91],a + ld a, [wd11e] ; pokemon ID + ld [wcf91], a push af ld b, SET_PAL_POKEDEX call RunPaletteCommand pop af - ld [wd11e],a + ld [wd11e], a call Func_4039c call c, Func_404ae .waitForButtonPress call JoypadLowSensitivity - ld a,[hJoy5] - and a,A_BUTTON | B_BUTTON - jr z,.waitForButtonPress + ld a, [hJoy5] + and a, A_BUTTON | B_BUTTON + jr z, .waitForButtonPress pop af - ld [hTilesetType],a + 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 + ld hl, wd72c + res 1, [hl] + ld a, $77 ; max volume + ld [rNR50], a ret HeightWeightText: ; 40370 (10:4370) - db "HT ?",$60,"??",$61 + db "HT ?", $60, "??", $61 next "WT ???lb@" ; XXX does anything point to this? @@ -472,77 +472,77 @@ PokeText: ; 40385 (10:4385) ; horizontal line that divides the pokedex text description from the rest of the data PokedexDataDividerLine: ; 40387 (10:4387) - 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 + db $69, $6B, $69, $6B, $6B + db $6B, $6B, $69, $6B, $69 + db $6B, $69, $6B, $69, $6A db "@" Func_4039c: ; 4039c (10:439c) call ClearScreen coord hl, 0, 0 - ld de,1 + 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 + ld de, 20 lb bc, $66, $10 call DrawTileLine ; draw left border coord hl, 19, 1 - ld b,$67 + ld b, $67 call DrawTileLine ; draw right border - ld a,$63 ; upper left corner tile + ld a, $63 ; upper left corner tile Coorda 0, 0 - ld a,$65 ; upper right corner tile + ld a, $65 ; upper right corner tile Coorda 19, 0 - ld a,$6c ; lower left corner tile + ld a, $6c ; lower left corner tile Coorda 0, 17 - ld a,$6e ; lower right corner tile + ld a, $6e ; lower right corner tile Coorda 19, 17 coord hl, 0, 9 - ld de,PokedexDataDividerLine + ld de, PokedexDataDividerLine call PlaceString ; draw horizontal divider line coord hl, 9, 6 - ld de,HeightWeightText + ld de, HeightWeightText call PlaceString call GetMonName coord hl, 9, 2 call PlaceString - ld hl,PokedexEntryPointers - ld a,[wd11e] + 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 + 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 + ld h, b + ld l, c push de - ld a,[wd11e] + ld a, [wd11e] push af call IndexToPokedex coord hl, 2, 8 ld a, "№" - ld [hli],a - ld a,$f2 - ld [hli],a - ld de,wd11e + ld [hli], a + ld a, $f2 + ld [hli], a + ld de, wd11e lb bc, LEADING_ZEROES | 1, 3 call PrintNumber ; print pokedex number - ld hl,wPokedexOwned + ld hl, wPokedexOwned call IsPokemonBitSet pop af - ld [wd11e],a - ld a,[wcf91] - ld [wd0b5],a + ld [wd11e], a + ld a, [wcf91] + ld [wd0b5], a pop de push af push bc @@ -553,65 +553,65 @@ Func_4039c: ; 4039c (10:439c) call GetMonHeader ; load pokemon picture location coord hl, 1, 1 call LoadFlippedFrontSpriteByMonIndex ; draw pokemon picture - ld a,[wcf91] + ld a, [wcf91] call PlayCry ; play pokemon cry pop hl pop de pop bc pop af - ld a,c + ld a, c and a ret z ; 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 + 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 + 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 + 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] + 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] + 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 + 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 a,10 - ld a,[hDexWeight] - sbc a,0 - jr nc,.next - ld [hl],"0" ; if the weight is less than 10, put a 0 before the decimal point + ld a, [hDexWeight + 1] + sub a, 10 + ld a, [hDexWeight] + sbc a, 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],$f2 ; decimal point tile + ld a, [hli] + ld [hld], a ; make space for the decimal point by moving the last digit forward one tile + ld [hl], $f2 ; decimal point tile pop af - ld [hDexWeight + 1],a ; restore original value of [hDexWeight + 1] + ld [hDexWeight + 1], a ; restore original value of [hDexWeight + 1] pop af - ld [hDexWeight],a ; restore original value of [hDexWeight] + ld [hDexWeight], a ; restore original value of [hDexWeight] pop hl inc hl ; hl = address of pokedex description text scf @@ -620,11 +620,11 @@ Func_4039c: ; 4039c (10:439c) Func_404ae: ; 404ae (10:44ae) coord bc, 1, 11 Func_404b1: ; 404b1 (10:44b1) - ld a,2 - ld [$fff9],a + ld a, 2 + ld [$fff9], a call TextCommandProcessor ; print pokedex description text xor a - ld [$fff9],a + ld [$fff9], a ret Func_404bc: ; 404bc (10:44bc) @@ -667,10 +667,10 @@ DrawTileLine: ; 40501 (10:4501) push bc push de .loop - ld [hl],b - add hl,de + ld [hl], b + add hl, de dec c - jr nz,.loop + jr nz, .loop pop de pop bc ret @@ -681,19 +681,19 @@ PokedexToIndex: ; 41086 (10:5086) ; 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 + 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] + ld a, [hli] cp b - jr nz,.loop + jr nz, .loop - ld a,c - ld [wd11e],a + ld a, c + ld [wd11e], a pop hl pop bc ret @@ -702,14 +702,14 @@ IndexToPokedex: ; 4109d (10:509d) ; converts the indexédex number at wd11e to a Pokédex number push bc push hl - ld a,[wd11e] + ld a, [wd11e] dec a - ld hl,PokedexOrder - ld b,0 - ld c,a - add hl,bc - ld a,[hl] - ld [wd11e],a + ld hl, PokedexOrder + ld b, 0 + ld c, a + add hl, bc + ld a, [hl] + ld [wd11e], a pop hl pop bc ret diff --git a/main.asm b/main.asm index 988add14..8db3752e 100755 --- a/main.asm +++ b/main.asm @@ -754,7 +754,6 @@ INCLUDE "data/mapObjects/lavendertown.asm" LavenderTownBlocks: INCBIN "maps/lavendertown.blk" ViridianPokecenterBlocks: -CeruleanPokecenterBlocks: VermilionPokecenterBlocks: SaffronPokecenterBlocks: LavenderPokecenterBlocks: @@ -1128,7 +1127,14 @@ INCBIN "maps/viridianforestentrance.blk" INCLUDE "data/mapHeaders/redshouse2f.asm" INCLUDE "scripts/redshouse2f.asm" INCLUDE "data/mapObjects/redshouse2f.asm" - dr $5c0d4,$5c0e3 + +Func_5c0d4: + ld a, %01001011 + ld [wPokedexOwned], a + predef ShowPokedexData + xor a + ld [wPokedexOwned], a + ret INCLUDE "data/mapHeaders/museum1f.asm" INCLUDE "scripts/museum1f.asm" @@ -1148,7 +1154,13 @@ INCLUDE "data/mapHeaders/pewterpokecenter.asm" INCLUDE "scripts/pewterpokecenter.asm" INCLUDE "data/mapObjects/pewterpokecenter.asm" - dr $5c4f5,$5d485 +INCLUDE "data/mapHeaders/ceruleanpokecenter.asm" +INCLUDE "scripts/ceruleanpokecenter.asm" +INCLUDE "data/mapObjects/ceruleanpokecenter.asm" +CeruleanPokecenterBlocks: +INCBIN "maps/ceruleanpokecenter.blk" + + dr $5c577,$5d485 INCLUDE "data/mapHeaders/viridianforestexit.asm" INCLUDE "scripts/viridianforestexit.asm" diff --git a/scripts/ceruleanpokecenter.asm b/scripts/ceruleanpokecenter.asm index 5d888317..f4eb68ae 100755 --- a/scripts/ceruleanpokecenter.asm +++ b/scripts/ceruleanpokecenter.asm @@ -7,6 +7,7 @@ CeruleanPokecenterTextPointers: ; 5c64b (17:464b) dw CeruleanPokecenterText2 dw CeruleanPokecenterText3 dw CeruleanPokecenterText4 + dw CeruleanPokecenterText5 CeruleanPokecenterText4: ; 5c653 (17:4653) db $f6 @@ -21,3 +22,8 @@ CeruleanPokecenterText2: ; 5c655 (17:4655) CeruleanPokecenterText3: ; 5c65a (17:465a) TX_FAR _CeruleanPokecenterText3 db "@" + +CeruleanPokecenterText5: + TX_ASM + callab Func_f0f12 + jp TextScriptEnd diff --git a/wram.asm b/wram.asm index 821c4957..fbfcc288 100755 --- a/wram.asm +++ b/wram.asm @@ -2290,7 +2290,7 @@ wPartyDataEnd:: wMainDataStart:: -wPokedexOwned:: ; d2f7 +wPokedexOwned:: ; d2f6 flag_array NUM_POKEMON wPokedexOwnedEnd:: -- cgit v1.3.1-sl0p