From 219eddf056933c6e5f06903caa73d49de3118a60 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Tue, 24 May 2016 17:41:33 -0400 Subject: Update hidden object functions and include them in main --- engine/overworld/hidden_objects.asm | 20 +++++--------------- 1 file changed, 5 insertions(+), 15 deletions(-) (limited to 'engine/overworld') diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index 3774c482..15496b81 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -1,27 +1,17 @@ ; if a hidden object was found, stores $00 in [$ffee], else stores $ff -CheckForHiddenObject: ; 469a0 (11:69a0) +CheckForHiddenObject: ; f25f8 (3c:65f8) ld hl, $ffeb xor a ld [hli], a ld [hli], a ld [hli], a ld [hl], a - ld de, $0 ld hl, HiddenObjectMaps -.hiddenMapLoop - ld a, [hli] - ld b, a - cp $ff - jr z, .noMatch + ld de, 3 ld a, [wCurMap] - cp b - jr z, .foundMatchingMap - inc de - inc de - jr .hiddenMapLoop -.foundMatchingMap - ld hl, HiddenObjectPointers - add hl, de + call IsInArray + jr nc, .noMatch + inc hl ld a, [hli] ld h, [hl] ld l, a -- cgit v1.3.1-sl0p 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 +++--- data/hidden_objects.asm | 947 +++++++++++++++++------------------ engine/bank3c.asm | 78 +-- engine/game_corner_slots2.asm | 4 +- engine/hidden_object_functions17.asm | 109 ++-- engine/hidden_object_functions18.asm | 30 +- engine/overworld/hidden_items.asm | 17 +- home.asm | 143 +++--- hram.asm | 2 + macros.asm | 4 +- main.asm | 10 +- 12 files changed, 741 insertions(+), 745 deletions(-) (limited to 'engine/overworld') 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 diff --git a/data/hidden_objects.asm b/data/hidden_objects.asm index 2750a8fa..5b2b27d0 100755 --- a/data/hidden_objects.asm +++ b/data/hidden_objects.asm @@ -83,607 +83,592 @@ HiddenObjectMaps: ; f268d (3c:668d) db $FF ; format: y-coord, x-coord, text id/item id, object routine -TradeCenterHiddenObjects: ; 46b40 (11:6b40) - db $04,$05,$d0 +SilphCo11FHiddenObjects: + db $0c, $0a, $04 + dba OpenPokemonCenterPC + db $FF +SilphCo5FHiddenObjects: + db $03, $0c, $52 + dba HiddenItems + db $FF +SilphCo9FHiddenObjects: + db $0f, $02, $11 + dba HiddenItems + db $FF +Mansion2HiddenObjects: + db $0b, $02, $04 + dba Mansion2Script_Switches + db $FF +Mansion3HiddenObjects: + db $09, $01, $36 + dba HiddenItems + db $05, $0a, $04 + dba Mansion3Script_Switches + db $FF +Mansion4HiddenObjects: + db $09, $01, $28 + dba HiddenItems + db $03, $14, $04 + dba Mansion4Script_Switches + db $19, $12, $04 + dba Mansion4Script_Switches + db $FF +SafariZoneWestHiddenObjects: + db $05, $06, $35 + dba HiddenItems + db $FF +UnknownDungeon2HiddenObjects: + db $0d, $10, $4f + dba HiddenItems + db $FF +UnknownDungeon3HiddenObjects: + db $0e, $08, $4f + dba HiddenItems + db $FF +UnusedMap6FHiddenObjects: + db $0b, $0e, $53 + dba HiddenItems + db $FF +SeafoamIslands3HiddenObjects: + db $0f, $0f, $31 + dba HiddenItems + db $FF +SeafoamIslands4HiddenObjects: + db $10, $09, $53 + dba HiddenItems + db $FF +SeafoamIslands5HiddenObjects: + db $11, $19, $02 + dba HiddenItems + db $FF +ViridianForestHiddenObjects: + db $12, $01, $14 + dba HiddenItems + db $2a, $10, $0b + dba HiddenItems + db $FF +MtMoon3HiddenObjects: + db $0c, $12, $0a + dba HiddenItems + db $09, $21, $50 + dba HiddenItems + db $FF +SSAnne10HiddenObjects: + db $01, $03, $12 + dba HiddenItems + db $FF +SSAnne6HiddenObjects: + db $05, $0d, $00 + dba PrintTrashText + db $07, $0d, $00 + dba PrintTrashText + db $09, $0d, $03 + dba HiddenItems + db $FF +UndergroundPathNsHiddenObjects: + db $04, $03, $10 + dba HiddenItems + db $22, $04, $44 + dba HiddenItems + db $FF +UndergroundPathWeHiddenObjects: + db $02, $0c, $31 + dba HiddenItems + db $05, $15, $52 + dba HiddenItems + db $FF +RocketHideout1HiddenObjects: + db $0f, $15, $4f + dba HiddenItems + db $FF +RocketHideout3HiddenObjects: + db $11, $1b, $31 + dba HiddenItems + db $FF +RocketHideout4HiddenObjects: + db $01, $19, $13 + dba HiddenItems + db $FF +Route10HiddenObjects: + db $11, $09, $13 + dba HiddenItems + db $35, $10, $51 + dba HiddenItems + db $FF +RockTunnelPokecenterHiddenObjects: + db $04, $00, $08 + dba PrintBenchGuyText + db $03, $0d, $04 + dba OpenPokemonCenterPC + db $FF +PowerPlantHiddenObjects: + db $10, $11, $53 + dba HiddenItems + db $01, $0c, $4f + dba HiddenItems + db $FF +Route11HiddenObjects: + db $05, $30, $1d + dba HiddenItems + db $FF +Route12HiddenObjects: + db $3f, $02, $12 + dba HiddenItems + db $FF +Route13HiddenObjects: + db $0e, $01, $4f + dba HiddenItems + db $0d, $10, $27 + dba HiddenItems + db $FF +Route15Gate2FHiddenObjects: + db $02, $01, $04 + dba Route15GateLeftBinoculars + db $FF +Route17HiddenObjects: + db $0e, $0f, $28 + dba HiddenItems + db $2d, $08, $10 + dba HiddenItems + db $48, $11, $4f + dba HiddenItems + db $5b, $04, $36 + dba HiddenItems + db $79, $08, $53 + dba HiddenItems + db $FF +Route23HiddenObjects: + db $2c, $09, $10 + dba HiddenItems + db $46, $13, $02 + dba HiddenItems + db $5a, $08, $51 + dba HiddenItems + db $FF +VictoryRoad2HiddenObjects: + db $02, $05, $02 + dba HiddenItems + db $07, $1a, $10 + dba HiddenItems + db $FF +Route25HiddenObjects: + db $03, $26, $50 + dba HiddenItems + db $01, $0a, $52 + dba HiddenItems + db $FF +BillsHouseHiddenObjects: + db $04, $01, $04 + dba BillsHousePC + db $FF +Route4HiddenObjects: + db $03, $28, $03 + dba HiddenItems + db $FF +MtMoonPokecenterHiddenObjects: + db $04, $00, $08 + dba PrintBenchGuyText + db $03, $0d, $04 + dba OpenPokemonCenterPC + db $FF +Route9HiddenObjects: + db $07, $0e, $50 + dba HiddenItems + db $FF +TradeCenterHiddenObjects: + db $04, $05, $d0 dba CableClubRightGameboy - db $04,$04,$d0 + db $04, $04, $d0 dba CableClubLeftGameboy db $FF -ColosseumHiddenObjects: ; 46b4d (11:6b4d) - db $04,$05,$d0 +ColosseumHiddenObjects: + db $04, $05, $d0 dba CableClubRightGameboy - db $04,$04,$d0 + db $04, $04, $d0 dba CableClubLeftGameboy db $FF -RedsHouse2FHiddenObjects: ; 46b5a (11:6b5a) - db $01,$00,$04 +IndigoPlateauHiddenObjects: + db $0d, $08, $ff + dba PrintIndigoPlateauHQText + db $0d, $0b, $00 + dba PrintIndigoPlateauHQText + db $FF +IndigoPlateauLobbyHiddenObjects: + db $07, $0f, $04 + dba OpenPokemonCenterPC + db $FF +CopycatsHouse2FHiddenObjects: + db $01, $01, $31 + dba HiddenItems + db $FF +FightingDojoHiddenObjects: + db $09, $03, $04 + dba PrintFightingDojoText + db $09, $06, $04 + dba PrintFightingDojoText + db $00, $04, $04 + dba PrintFightingDojoText2 + db $00, $05, $04 + dba PrintFightingDojoText3 + db $FF +SaffronGymHiddenObjects: + db $0f, $09, $04 + dba GymStatues + db $FF +SaffronPokecenterHiddenObjects: + db $04, $00, $04 + dba PrintBenchGuyText + db $03, $0d, $04 + dba OpenPokemonCenterPC + db $FF +RedsHouse2FHiddenObjects: + db $01, $00, $04 dba OpenRedsPC - db $05,$03,$d0 + db $05, $03, $d0 dba PrintRedsNESText db $FF -BluesHouseHiddenObjects: ; 46b67 (11:6b67) - db $01,$00,$04 +BluesHouseHiddenObjects: + db $01, $00, $04 dba PrintBookcaseText - db $01,$01,$04 + db $01, $01, $04 dba PrintBookcaseText - db $01,$07,$04 + db $01, $07, $04 dba PrintBookcaseText db $FF -OaksLabHiddenObjects: ; 46b7a (11:6b7a) - db $00,$04,$04 +OaksLabHiddenObjects: + db $00, $04, $04 dba DisplayOakLabLeftPoster - db $00,$05,$04 + db $00, $05, $04 dba DisplayOakLabRightPoster - db $01,$00,$04 + db $01, $00, $04 dba DisplayOakLabEmailText - db $01,$01,$04 + db $01, $01, $04 dba DisplayOakLabEmailText db $FF -ViridianPokecenterHiddenObjects: ; 46b93 (11:6b93) - db $04,$00,$08 +ViridianCityHiddenObjects: + db $04, $0e, $14 + dba HiddenItems + db $FF +ViridianPokecenterHiddenObjects: + db $04, $00, $08 dba PrintBenchGuyText - db $03,$0d,$04 + db $03, $0d, $04 dba OpenPokemonCenterPC db $FF -ViridianMartHiddenObjects: ; 46ba0 (11:6ba0) - db $FF -ViridianSchoolHiddenObjects: ; 46ba1 (11:6ba1) - db $04,$03,(ViridianSchoolNotebook_id - TextPredefs) / 2 + 1 +ViridianSchoolHiddenObjects: + db $04, $03, $22 dba PrintNotebookText - db $00,$03,(ViridianSchoolBlackboard_id - TextPredefs) / 2 + 1 + db $00, $03, $23 dba PrintBlackboardLinkCableText db $FF -ViridianGymHiddenObjects: ; 46bae (11:6bae) - db $0f,$0f,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$12,$04 - dbw BANK(GymStatues),GymStatues +ViridianGymHiddenObjects: + db $0f, $0f, $04 + dba GymStatues + db $0f, $12, $04 + dba GymStatues db $FF -Museum1FHiddenObjects: ; 46bbb (11:6bbb) - db $03,$02,$04 +Museum1FHiddenObjects: + db $03, $02, $04 dba AerodactylFossil - db $06,$02,$04 + db $06, $02, $04 dba KabutopsFossil db $FF -PewterGymHiddenObjects: ; 46bc8 (11:6bc8) - db $0a,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0a,$06,$04 - dbw BANK(GymStatues),GymStatues - db $FF -PewterMartHiddenObjects: ; 46bd5 (11:6bd5) +PewterGymHiddenObjects: + db $0a, $03, $04 + dba GymStatues + db $0a, $06, $04 + dba GymStatues db $FF -PewterPokecenterHiddenObjects: ; 46bd6 (11:6bd6) - db $04,$00,$08 +PewterPokecenterHiddenObjects: + db $04, $00, $08 dba PrintBenchGuyText - db $03,$0d,$04 + db $03, $0d, $04 dba OpenPokemonCenterPC db $FF -CeruleanPokecenterHiddenObjects: ; 46be3 (11:6be3) - db $04,$00,$08 +CeruleanCityHiddenObjects: + db $08, $0f, $28 + dba HiddenItems + db $FF +CeruleanPokecenterHiddenObjects: + db $04, $00, $08 dba PrintBenchGuyText - db $03,$0d,$04 + db $03, $0d, $04 dba OpenPokemonCenterPC db $FF -CeruleanGymHiddenObjects: ; 46bf0 (11:6bf0) - db $0b,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0b,$06,$04 - dbw BANK(GymStatues),GymStatues +CeruleanGymHiddenObjects: + db $0b, $03, $04 + dba GymStatues + db $0b, $06, $04 + dba GymStatues db $FF -CeruleanMartHiddenObjects: ; 46bfd (11:6bfd) +BikeShopHiddenObjects: + db $00, $01, $d0 + dba PrintNewBikeText + db $01, $02, $d0 + dba PrintNewBikeText + db $02, $01, $d0 + dba PrintNewBikeText + db $02, $03, $d0 + dba PrintNewBikeText + db $04, $00, $d0 + dba PrintNewBikeText + db $05, $01, $d0 + dba PrintNewBikeText + db $FF +UnknownDungeon1HiddenObjects: + db $07, $12, $4f + dba HiddenItems db $FF -LavenderPokecenterHiddenObjects: ; 46bfe (11:6bfe) - db $04,$00,$08 +LavenderPokecenterHiddenObjects: + db $04, $00, $08 dba PrintBenchGuyText - db $03,$0d,$04 + db $03, $0d, $04 dba OpenPokemonCenterPC db $FF -VermilionPokecenterHiddenObjects: ; 46c0b (11:6c0b) - db $03,$0d,$04 +Pokemontower5HiddenObjects: + db $0c, $04, $52 + dba HiddenItems + db $FF +LavenderHouse1HiddenObjects: + db $01, $00, $00 + dba PrintMagazinesText + db $01, $01, $00 + dba PrintMagazinesText + db $01, $07, $00 + dba PrintMagazinesText + db $FF +VermilionCityHiddenObjects: + db $0b, $0e, $51 + dba HiddenItems + db $FF +VermilionPokecenterHiddenObjects: + db $03, $0d, $04 dba OpenPokemonCenterPC - db $04,$00,$04 + db $04, $00, $04 dba PrintBenchGuyText db $FF -VermilionGymHiddenObjects: ; 46c18 (11:6c18) - db $0e,$03,$04 +PokemonFanClubHiddenObjects: + db $00, $01, $04 + dba FanClubPicture1 + db $00, $06, $04 + dba FanClubPicture2 + db $FF +VermilionGymHiddenObjects: + db $0e, $03, $04 dba GymStatues - db $0e,$06,$04 + db $0e, $06, $04 dba GymStatues - db $01,$06,$00 + db $01, $06, $00 dba PrintTrashText - db $07,$01,$00 + db $07, $01, $00 dba GymTrashScript - db $09,$01,$01 + db $09, $01, $01 dba GymTrashScript - db $0b,$01,$02 + db $0b, $01, $02 dba GymTrashScript - db $07,$03,$03 + db $07, $03, $03 dba GymTrashScript - db $09,$03,$04 + db $09, $03, $04 dba GymTrashScript - db $0b,$03,$05 + db $0b, $03, $05 dba GymTrashScript - db $07,$05,$06 + db $07, $05, $06 dba GymTrashScript - db $09,$05,$07 + db $09, $05, $07 dba GymTrashScript - db $0b,$05,$08 + db $0b, $05, $08 dba GymTrashScript - db $07,$07,$09 + db $07, $07, $09 dba GymTrashScript - db $09,$07,$0a + db $09, $07, $0a dba GymTrashScript - db $0b,$07,$0b + db $0b, $07, $0b dba GymTrashScript - db $07,$09,$0c + db $07, $09, $0c dba GymTrashScript - db $09,$09,$0d + db $09, $09, $0d dba GymTrashScript - db $0b,$09,$0e + db $0b, $09, $0e dba GymTrashScript db $FF -CeladonMansion2HiddenObjects: ; 46c85 (11:6c85) - db $05,$00,$04 +CeladonCityHiddenObjects: + db $0f, $30, $4f + dba HiddenItems + db $FF +CeladonHotelHiddenObjects: + db $04, $00, $08 + dba PrintBenchGuyText + db $FF +CeladonMansion2HiddenObjects: + db $05, $00, $04 dba OpenPokemonCenterPC db $FF -CeladonPokecenterHiddenObjects: ; 46c8c (11:6c8c) - db $04,$00,$08 +CeladonMansion5HiddenObjects: + db $00, $03, $36 + dbw $17, $5c7f + db $00, $04, $36 + dbw $17, $5c7f + db $04, $03, $37 + dbw $14, $68f6 + db $FF +CeladonPokecenterHiddenObjects: + db $04, $00, $08 dba PrintBenchGuyText - db $03,$0d,$04 + db $03, $0d, $04 dba OpenPokemonCenterPC db $FF -CeladonGymHiddenObjects: ; 46c99 (11:6c99) - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues +CeladonGymHiddenObjects: + db $0f, $03, $04 + dba GymStatues + db $0f, $06, $04 + dba GymStatues db $FF -GameCornerHiddenObjects: ; 46ca6 (11:6ca6) - db $0f,$12,$d0 +GameCornerHiddenObjects: + db $0f, $12, $d0 dba StartSlotMachine - db $0e,$12,$d0 + db $0e, $12, $d0 dba StartSlotMachine - db $0d,$12,$d0 + db $0d, $12, $d0 dba StartSlotMachine - db $0c,$12,$d0 + db $0c, $12, $d0 dba StartSlotMachine - db $0b,$12,$d0 + db $0b, $12, $d0 dba StartSlotMachine - db $0a,$12,$ff ; "Someone's Keys" + db $0a, $12, $ff dba StartSlotMachine - db $0a,$0d,$d0 + db $0a, $0d, $d0 dba StartSlotMachine - db $0b,$0d,$d0 + db $0b, $0d, $d0 dba StartSlotMachine - db $0c,$0d,$fe ; "Out To Lunch" + db $0c, $0d, $fe dba StartSlotMachine - db $0d,$0d,$d0 + db $0d, $0d, $d0 dba StartSlotMachine - db $0e,$0d,$d0 + db $0e, $0d, $d0 dba StartSlotMachine - db $0f,$0d,$d0 + db $0f, $0d, $d0 dba StartSlotMachine - db $0f,$0c,$d0 + db $0f, $0c, $d0 dba StartSlotMachine - db $0e,$0c,$d0 + db $0e, $0c, $d0 dba StartSlotMachine - db $0d,$0c,$d0 + db $0d, $0c, $d0 dba StartSlotMachine - db $0c,$0c,$d0 + db $0c, $0c, $d0 dba StartSlotMachine - db $0b,$0c,$d0 + db $0b, $0c, $d0 dba StartSlotMachine - db $0a,$0c,$d0 + db $0a, $0c, $d0 dba StartSlotMachine - db $0a,$07,$d0 + db $0a, $07, $d0 dba StartSlotMachine - db $0b,$07,$d0 + db $0b, $07, $d0 dba StartSlotMachine - db $0c,$07,$d0 + db $0c, $07, $d0 dba StartSlotMachine - db $0d,$07,$d0 + db $0d, $07, $d0 dba StartSlotMachine - db $0e,$07,$d0 + db $0e, $07, $d0 dba StartSlotMachine - db $0f,$07,$d0 + db $0f, $07, $d0 dba StartSlotMachine - db $0f,$06,$d0 + db $0f, $06, $d0 dba StartSlotMachine - db $0e,$06,$d0 + db $0e, $06, $d0 dba StartSlotMachine - db $0d,$06,$d0 + db $0d, $06, $d0 dba StartSlotMachine - db $0c,$06,$fd ; "Out Of Order" + db $0c, $06, $fd dba StartSlotMachine - db $0b,$06,$d0 + db $0b, $06, $d0 dba StartSlotMachine - db $0a,$06,$d0 + db $0a, $06, $d0 dba StartSlotMachine - db $0a,$01,$d0 + db $0a, $01, $d0 dba StartSlotMachine - db $0b,$01,$d0 + db $0b, $01, $d0 dba StartSlotMachine - db $0c,$01,$d0 + db $0c, $01, $d0 dba StartSlotMachine - db $0d,$01,$d0 + db $0d, $01, $d0 dba StartSlotMachine - db $0e,$01,$d0 + db $0e, $01, $d0 dba StartSlotMachine - db $0f,$01,$d0 + db $0f, $01, $d0 dba StartSlotMachine - db $08,$00,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$01,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0b,$03,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$03,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$04,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0c,$09,COIN+20 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$09,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $0e,$10,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $10,$0a,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins - db $07,$0b,COIN+40 - dbw BANK(HiddenCoins),HiddenCoins - db $08,$0f,COIN+100 - dbw BANK(HiddenCoins),HiddenCoins - db $0f,$0c,COIN+10 - dbw BANK(HiddenCoins),HiddenCoins + db $08, $00, COIN + 10 + dba HiddenCoins + db $10, $01, COIN + 10 + dba HiddenCoins + db $0b, $03, COIN + 20 + dba HiddenCoins + db $0e, $03, COIN + 10 + dba HiddenCoins + db $0c, $04, COIN + 10 + dba HiddenCoins + db $0c, $09, COIN + 20 + dba HiddenCoins + db $0f, $09, COIN + 10 + dba HiddenCoins + db $0e, $10, COIN + 10 + dba HiddenCoins + db $10, $0a, COIN + 10 + dba HiddenCoins + db $07, $0b, COIN + 40 + dba HiddenCoins + db $08, $0f, COIN + 100 + dba HiddenCoins + db $0f, $0c, COIN + 10 + dba HiddenCoins db $FF -CeladonHotelHiddenObjects: ; 46dc7 (11:6dc7) - db $03,$0d,$04 +FuchsiaPokecenterHiddenObjects: + db $03, $0d, $04 dba OpenPokemonCenterPC - db $04,$00,$08 + db $04, $00, $04 dba PrintBenchGuyText db $FF -FuchsiaPokecenterHiddenObjects: ; 46dd4 (11:6dd4) - db $03,$0d,$04 - dba OpenPokemonCenterPC - db $04,$00,$04 - dba PrintBenchGuyText +SafariZoneEntranceHiddenObjects: + db $01, $0a, $31 + dba HiddenItems db $FF -FuchsiaGymHiddenObjects: ; 46de1 (11:6de1) - db $0f,$03,$04 - dbw BANK(GymStatues),GymStatues - db $0f,$06,$04 - dbw BANK(GymStatues),GymStatues +FuchsiaGymHiddenObjects: + db $0f, $03, $04 + dba GymStatues + db $0f, $06, $04 + dba GymStatues db $FF -CinnabarGymHiddenObjects: ; 46dee (11:6dee) - db $0d,$11,$04 - dbw BANK(GymStatues),GymStatues - db $07,$0f,$01 +Mansion1HiddenObjects: + db $10, $08, $0a + dba HiddenItems + db $05, $02, $04 + dba Mansion1Script_Switches + db $FF +CinnabarGymHiddenObjects: + db $0d, $11, $04 + dba GymStatues + db $07, $0f, $01 dba PrintCinnabarQuiz - db $01,$0a,$12 + db $01, $0a, $12 dba PrintCinnabarQuiz - db $07,$09,$13 + db $07, $09, $13 dba PrintCinnabarQuiz - db $0d,$09,$14 + db $0d, $09, $14 dba PrintCinnabarQuiz - db $0d,$01,$05 + db $0d, $01, $05 dba PrintCinnabarQuiz - db $07,$01,$16 + db $07, $01, $16 dba PrintCinnabarQuiz db $FF -CinnabarPokecenterHiddenObjects: ; 46e19 (11:6e19) - db $04,$00,$04 - dba PrintBenchGuyText - db $03,$0d,$04 +CinnabarLab4HiddenObjects: + db $04, $00, $04 dba OpenPokemonCenterPC - db $FF -SaffronGymHiddenObjects: ; 46e26 (11:6e26) - db $0f,$09,$04 - dbw BANK(GymStatues),GymStatues - db $FF -MtMoonPokecenterHiddenObjects: ; 46e2d (11:6e2d) - db $04,$00,$08 - dba PrintBenchGuyText - db $03,$0d,$04 + db $04, $02, $04 dba OpenPokemonCenterPC db $FF -RockTunnelPokecenterHiddenObjects: ; 46e3a (11:6e3a) - db $04,$00,$08 - dba PrintBenchGuyText - db $03,$0d,$04 - dba OpenPokemonCenterPC - db $FF -ViridianForestHiddenObjects: ; 46e47 (11:6e47) - db $12,$01,POTION - dbw BANK(HiddenItems),HiddenItems - db $2a,$10,ANTIDOTE - dbw BANK(HiddenItems),HiddenItems - db $FF -MtMoon3HiddenObjects: ; 46e54 (11:6e54) - db $0c,$12,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $09,$21,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -IndigoPlateauHiddenObjects: ; 46e61 (11:6e61) - db $0d,$08,$ff - dba PrintIndigoPlateauHQText - db $0d,$0b,$00 - dba PrintIndigoPlateauHQText - db $FF -Route25HiddenObjects: ; 46e6e (11:6e6e) - db $03,$26,ETHER - dbw BANK(HiddenItems),HiddenItems - db $01,$0a,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -Route9HiddenObjects: ; 46e7b (11:6e7b) - db $07,$0e,ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -SSAnne6HiddenObjects: ; 46e82 (11:6e82) - db $05,$0d,$00 - dba PrintTrashText - db $07,$0d,$00 - dba PrintTrashText - db $09,$0d,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -SSAnne10HiddenObjects: ; 46e95 (11:6e95) - db $01,$03,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -Route10HiddenObjects: ; 46e9c (11:6e9c) - db $11,$09,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $35,$10,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout1HiddenObjects: ; 46ea9 (11:6ea9) - db $0f,$15,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout3HiddenObjects: ; 46eb0 (11:6eb0) - db $11,$1b,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -RocketHideout4HiddenObjects: ; 46eb7 (11:6eb7) - db $01,$19,SUPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SaffronPokecenterHiddenObjects: ; 46ebe (11:6ebe) - db $04,$00,$04 +CinnabarPokecenterHiddenObjects: ; 6cc3 + db $04, $00, $04 dba PrintBenchGuyText - db $03,$0d,$04 + db $03, $0d, $04 dba OpenPokemonCenterPC db $FF -PokemonTower5HiddenObjects: ; 46ecb (11:6ecb) - db $0c,$04,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -Route13HiddenObjects: ; 46ed2 (11:6ed2) - db $0e,$01,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $0d,$10,CALCIUM - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneEntranceHiddenObjects: ; 46edf (11:6edf) - db $01,$0a,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneWestHiddenObjects: ; 46ee6 (11:6ee6) - db $05,$06,REVIVE - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo5FHiddenObjects: ; 46eed (11:6eed) - db $03,$0c,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo9FHiddenObjects: ; 46ef4 (11:6ef4) - db $0f,$02,MAX_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -CopycatsHouse2FHiddenObjects: ; 46efb (11:6efb) - db $01,$01,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -UnknownDungeon1HiddenObjects: ; 46f02 (11:6f02) - db $0b,$0e,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF -UnknownDungeon3HiddenObjects: ; 46f09 (11:6f09) - db $03,$1b,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -PowerPlantHiddenObjects: ; 46f10 (11:6f10) - db $10,$11,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $01,$0c,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands3HiddenObjects: ; 46f1d (11:6f1d) - db $0f,$0f,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands5HiddenObjects: ; 46f24 (11:6f24) - db $11,$19,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF -Mansion1HiddenObjects: ; 46f2b (11:6f2b) - db $10,$08,MOON_STONE - dbw BANK(HiddenItems),HiddenItems - db $05,$02,$04 - dba Mansion1Script_Switches - db $FF -Mansion2HiddenObjects: ; 46f38 (11:6f38) - db $0b,$02,$04 - dba Mansion2Script_Switches - db $FF -Mansion3HiddenObjects: ; 46f3f (11:6f3f) - db $09,$01,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $05,$0a,$04 - dba Mansion3Script_Switches - db $FF -Mansion4HiddenObjects: ; 46f4c (11:6f4c) - db $09,$01,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $03,$14,$04 - dba Mansion4Script_Switches - db $19,$12,$04 - dba Mansion4Script_Switches - db $FF -Route23HiddenObjects: ; 46f5f (11:6f5f) - db $2c,$09,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $46,$13,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $5a,$08,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -VictoryRoad2HiddenObjects: ; 46f72 (11:6f72) - db $02,$05,ULTRA_BALL - dbw BANK(HiddenItems),HiddenItems - db $07,$1a,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $FF -Unused6FHiddenObjects: ; 46f7f (11:6f7f) - db $0b,$0e,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -BillsHouseHiddenObjects: ; 46f86 (11:6f86) - db $04,$01,$04 - dba BillsHousePC - db $FF -ViridianCityHiddenObjects: ; 46f8d (11:6f8d) - db $04,$0e,POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SafariZoneRestHouse2HiddenObjects: ; 46f94 (11:6f94) - db $04,$00,$08 - dba PrintBenchGuyText - db $03,$0d,$04 - dba OpenPokemonCenterPC - db $FF -SafariZoneRestHouse3HiddenObjects: ; 46fa1 (11:6fa1) - db $04,$00,$08 - dba PrintBenchGuyText - db $03,$0d,$04 - dba OpenPokemonCenterPC - db $FF -SafariZoneRestHouse4HiddenObjects: ; 46fae (11:6fae) - db $04,$00,$08 - dba PrintBenchGuyText - db $03,$0d,$04 - dba OpenPokemonCenterPC - db $FF -Route15GateUpstairsHiddenObjects: ; 46fbb (11:6fbb) - db $02,$01,$04 - dba Route15GateLeftBinoculars - db $FF -LavenderHouse1HiddenObjects: ; 46fc2 (11:6fc2) - db $01,$00,$00 - dba PrintMagazinesText - db $01,$01,$00 - dba PrintMagazinesText - db $01,$07,$00 - dba PrintMagazinesText - db $FF -CeladonMansion5HiddenObjects: ; 46fd5 (11:6fd5) - db $00,$03,(LinkCableHelp_id - TextPredefs) / 2 + 1 - dba PrintBlackboardLinkCableText - db $00,$04,(LinkCableHelp_id - TextPredefs) / 2 + 1 - dba PrintBlackboardLinkCableText - db $04,$03,(TMNotebook_id - TextPredefs) / 2 + 1 - dba PrintNotebookText - db $FF -FightingDojoHiddenObjects: ; 46fe8 (11:6fe8) - db $09,$03,$04 - dba PrintFightingDojoText - db $09,$06,$04 - dba PrintFightingDojoText - db $00,$04,$04 - dba PrintFightingDojoText2 - db $00,$05,$04 - dba PrintFightingDojoText3 - db $FF -IndigoPlateauLobbyHiddenObjects: ; 47001 (11:7001) - db $07,$0f,$04 - dba OpenPokemonCenterPC - db $FF -CinnabarLab4HiddenObjects: ; 47008 (11:7008) - db $04,$00,$04 - dba OpenPokemonCenterPC - db $04,$02,$04 - dba OpenPokemonCenterPC - db $FF -BikeShopHiddenObjects: ; 47015 (11:7015) - db $00,$01,$d0 - dba PrintNewBikeText - db $01,$02,$d0 - dba PrintNewBikeText - db $02,$01,$d0 - dba PrintNewBikeText - db $02,$03,$d0 - dba PrintNewBikeText - db $04,$00,$d0 - dba PrintNewBikeText - db $05,$01,$d0 - dba PrintNewBikeText - db $FF -Route11HiddenObjects: ; 4703a (11:703a) - db $05,$30,ESCAPE_ROPE - dbw BANK(HiddenItems),HiddenItems - db $FF -Route12HiddenObjects: ; 47041 (11:7041) - db $3f,$02,HYPER_POTION - dbw BANK(HiddenItems),HiddenItems - db $FF -SilphCo11FHiddenObjects: ; 47048 (11:7048) - db $0c,$0a,$04 - dba OpenPokemonCenterPC - db $FF -Route17HiddenObjects: ; 4704f (11:704f) - db $0e,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $2d,$08,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $48,$11,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $5b,$04,MAX_REVIVE - dbw BANK(HiddenItems),HiddenItems - db $79,$08,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -UndergroundPathNsHiddenObjects: ; 4706e (11:706e) - db $04,$03,FULL_RESTORE - dbw BANK(HiddenItems),HiddenItems - db $22,$04,X_SPECIAL - dbw BANK(HiddenItems),HiddenItems - db $FF -UndergroundPathWeHiddenObjects: ; 4707b (11:707b) - db $02,$0c,NUGGET - dbw BANK(HiddenItems),HiddenItems - db $05,$15,ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -CeladonCityHiddenObjects: ; 47088 (11:7088) - db $0f,$30,PP_UP - dbw BANK(HiddenItems),HiddenItems - db $FF -SeafoamIslands4HiddenObjects: ; 4708f (11:708f) - db $10,$09,MAX_ELIXER - dbw BANK(HiddenItems),HiddenItems - db $FF -VermilionCityHiddenObjects: ; 47096 (11:7096) - db $0b,$0e,MAX_ETHER - dbw BANK(HiddenItems),HiddenItems - db $FF -CeruleanCityHiddenObjects: ; 4709d (11:709d) - db $08,$0f,RARE_CANDY - dbw BANK(HiddenItems),HiddenItems - db $FF -Route4HiddenObjects: ; 470a4 (11:70a4) - db $03,$28,GREAT_BALL - dbw BANK(HiddenItems),HiddenItems - db $FF +; 6cd0 diff --git a/engine/bank3c.asm b/engine/bank3c.asm index cadfe1cf..f5f9d696 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -157,7 +157,7 @@ INCLUDE "engine/overworld/advance_player_sprite.asm" ResetStatusAndHalveMoneyOnBlackout:: ; f0274 (3c:4274) ; Reset player status on blackout. xor a - ld [wd435],a + ld [wd435], a xor a ; gamefreak copypasting functions (double xor a) ld [wBattleResult], a ld [wWalkBikeSurfState], a @@ -204,33 +204,33 @@ ResetStatusAndHalveMoneyOnBlackout:: ; f0274 (3c:4274) predef_jump HealParty Func_f02da:: ; f02da (3c:42da) - ld a,[wCurMap] + ld a, [wCurMap] cp VERMILION_GYM ; ??? new thing about verm gym? - jr z,.asm_f02ee - ld c,a - ld hl,Pointer_f02fa + jr z, .asm_f02ee + ld c, a + ld hl, Pointer_f02fa .asm_f02e5 - ld a,[hli] + ld a, [hli] cp c - jr z,.asm_f02f4 - cp a,$ff - jr nz,.asm_f02e5 + jr z, .asm_f02f4 + cp a, $ff + jr nz, .asm_f02e5 ret .asm_f02ee - ld hl,wd126 - set 6,[hl] + ld hl, wd126 + set 6, [hl] ret .asm_f02f4 - ld hl,wd126 - set 5,[hl] + ld hl, wd126 + set 5, [hl] ret Pointer_f02fa:: ; f02fa (3c:42fa) - db $cf,$d0,$d1,$d2,$d3,$d4 - db $d5,$e9,$ea,$eb,$d6,$d7 - db $d8,$a5,$a6,$87,$c7,$ca - db $c6,$6c,$c2,$71,$f5,$f6 - db $f7,$ff + db $cf, $d0, $d1, $d2, $d3, $d4 + db $d5, $e9, $ea, $eb, $d6, $d7 + db $d8, $a5, $a6, $87, $c7, $ca + db $c6, $6c, $c2, $71, $f5, $f6 + db $f7, $ff BeachHouse_GFX:: ; f0314 (3c:4314) INCBIN "gfx/tilesets/beachhouse.2bpp" @@ -242,40 +242,44 @@ Func_f0a54:: ; f0a54 (3c:4a54) ret Func_f0a55:: ; f0a55 (3c:4a55) - ld hl,Pointer_f0a76 ; 3c:4a76 + ld hl, Pointer_f0a76 ; 3c:4a76 .loop - ld a,[hli] - cp a,$ff + ld a, [hli] + cp a, $ff ret z - ld b,a - ld a,[wCurMap] + ld b, a + ld a, [wCurMap] cp b - jr z,.asm_f0a68 + jr z, .asm_f0a68 inc hl inc hl inc hl jr .loop .asm_f0a68 - ld a,[hli] - ld c,a - ld b,$0 - ld a,[hli] - ld h,[hl] - ld l,a - ld de,wMissableObjectList + ld a, [hli] + ld c, a + ld b, $0 + ld a, [hli] + ld h, [hl] + ld l, a + ld de, wMissableObjectList call CopyData ret Pointer_f0a76:: ; f0a76 (3c:4a76) - db $27,$07,$7b,$4a,$ff - db $01,$ec,$02,$ed,$03,$ee,$ff + db $27, $07, $7b, $4a, $ff + db $01, $ec, $02, $ed, $03, $ee, $ff - dr $f0a82,$f220e + dr $f0a82, $f220e BeachHouse_h: ; f220e (3c:620e) ;INCLUDE "data/mapHeaders/beach_house.asm" - dr $f220e,$f24ae + dr $f220e, $f24ae Func_f24ae: ; f24ae (3c:64ae) - dr $f24ae,$f25f8 + dr $f24ae, $f25f8 CheckForHiddenObject:: ; f25f8 (3c:65f8) - dr $f25f8,$f4000 \ No newline at end of file + dr $f25f8, $f268d +INCLUDE "data/hidden_objects.asm" + dr $f2cd0, $f2d0c +Func_f2d0c: + dr $f2d0c, $f2db8 diff --git a/engine/game_corner_slots2.asm b/engine/game_corner_slots2.asm index 1bcbefb1..3f7c3f71 100755 --- a/engine/game_corner_slots2.asm +++ b/engine/game_corner_slots2.asm @@ -6,13 +6,13 @@ AbleToPlaySlotsCheck: ; 2fdfd (b:7dfd) predef GetQuantityOfItemInBag ld a, b and a - ld b, GameCornerCoinCaseText_id ; - TextPredefs) / 2 + 1 + ld b, (GameCornerCoinCaseText_id - TextPredefs) / 2 + 1 jr z, .printCoinCaseRequired ld hl, wPlayerCoins ld a, [hli] or [hl] jr nz, .done ; able to play - ld b, GameCornerNoCoinsText_id ; - TextPredefs) / 2 + 1 + ld b, (GameCornerNoCoinsText_id - TextPredefs) / 2 + 1 .printCoinCaseRequired call EnableAutoTextBoxDrawing ld a, b diff --git a/engine/hidden_object_functions17.asm b/engine/hidden_object_functions17.asm index 90b26578..41f20218 100755 --- a/engine/hidden_object_functions17.asm +++ b/engine/hidden_object_functions17.asm @@ -1,4 +1,4 @@ -PrintRedsNESText: ; 5db79 (17:5b79) +PrintRedsNESText: ; 5dbae (17:5bae) call EnableAutoTextBoxDrawing tx_pre_jump RedBedroomSNESText @@ -22,7 +22,10 @@ Route15GateLeftBinoculars: ; 5db8f (17:5b8f) ld a, ARTICUNO ld [wcf91], a call PlayCry - jp DisplayMonFrontSpriteInBox + call DisplayMonFrontSpriteInBox + xor a + ld [H_AUTOBGTRANSFERENABLED], a + ret Route15UpstairsBinocularsText: ; 5dba8 (17:5ba8) TX_FAR _Route15UpstairsBinocularsText @@ -52,6 +55,30 @@ KabutopsFossilText: ; 5dbd4 (17:5bd4) TX_FAR _KabutopsFossilText db "@" +FanClubPicture1: ; 5dbad (17:5c12) + ld a, RAPIDASH + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre FanClubPicture1Text + ret + +FanClubPicture1Text: ; 5dbbe (17:5bbe) + TX_FAR _FanClubPicture1Text + db "@" + +FanClubPicture2: ; 5dbad (17:5c28) + ld a, FEAROW + ld [wcf91], a + call DisplayMonFrontSpriteInBox + call EnableAutoTextBoxDrawing + tx_pre FanClubPicture2Text + ret + +FanClubPicture2Text: ; 5dc39 (17:5c39) + TX_FAR _FanClubPicture2Text + db "@" + DisplayMonFrontSpriteInBox: ; 5dbd9 (17:5bd9) ; Displays a pokemon's front sprite in a pop-up window. ; [wcf91] = pokemon interal id number @@ -110,8 +137,7 @@ LinkCableHelp: ; 5dc29 (17:5c29) ld hl, wd730 set 6, [hl] coord hl, 0, 0 - ld b, $8 - ld c, $d + lb bc, $8, $d call TextBoxBorder coord hl, 2, 2 ld de, HowToLinkText @@ -339,53 +365,17 @@ GymTrashScript: ; 5ddfc (17:5dfc) .openFirstLock ; Next can is trying for the second switch. SetEvent EVENT_1ST_LOCK_OPENED - - ld hl, GymTrashCans - ld a, [wGymTrashCanIndex] - ; * 5 - ld b, a - add a - add a - add b - - ld d, 0 - ld e, a - add hl, de - ld a, [hli] - -; There is a bug in this code. It should calculate a value in the range [0, 3] -; but if the mask and random number don't have any 1 bits in common, then -; the result of the AND will be 0. When 1 is subtracted from that, the value -; will become $ff. This will result in 255 being added to hl, which will cause -; hl to point to one of the zero bytes that pad the end of the ROM bank. -; Trash can 0 was intended to be able to have the second lock only when the -; first lock was in trash can 1 or 3. However, due to this bug, trash can 0 can -; have the second lock regardless of which trash can had the first lock. - - ld [hGymTrashCanRandNumMask], a - push hl - call Random - swap a - ld b, a - ld a, [hGymTrashCanRandNumMask] - and b - dec a - pop hl - - ld d, 0 - ld e, a - add hl, de - ld a, [hl] - and $f - ld [wSecondLockTrashCanIndex], a - + callab Func_f2d0c tx_pre_id VermilionGymTrashSuccesText1 jr .done .trySecondLock - ld a, [wSecondLockTrashCanIndex] - ld b, a ld a, [wGymTrashCanIndex] + ld b, a + ld a, [wSecondLockTrashCanIndex] + cp b + jr z, .openSecondLock + ld a, [wSecondLockTrashCanIndex + 1] cp b jr z, .openSecondLock @@ -413,25 +403,24 @@ GymTrashScript: ; 5ddfc (17:5dfc) GymTrashCans: ; 5de7d (17:5e7d) ; byte 0: mask for random number ; bytes 1-4: indices of the trash cans that can have the second lock -; (but see the comment above explaining a bug regarding this) ; Note that the mask is simply the number of valid trash can indices that -; follow. The remaining bytes are filled with 0 to pad the length of each entry +; follow. The remaining bytes are filled with -1 to pad the length of each entry ; to 5 bytes. - db 2, 1, 3, 0, 0 ; 0 - db 3, 0, 2, 4, 0 ; 1 - db 2, 1, 5, 0, 0 ; 2 - db 3, 0, 4, 6, 0 ; 3 + db 2, 1, 3, -1, -1 ; 0 + db 3, 0, 2, 4, -1 ; 1 + db 2, 1, 5, -1, -1 ; 2 + db 3, 0, 4, 6, -1 ; 3 db 4, 1, 3, 5, 7 ; 4 - db 3, 2, 4, 8, 0 ; 5 - db 3, 3, 7, 9, 0 ; 6 + db 3, 2, 4, 8, -1 ; 5 + db 3, 3, 7, 9, -1 ; 6 db 4, 4, 6, 8, 10 ; 7 - db 3, 5, 7, 11, 0 ; 8 - db 3, 6, 10, 12, 0 ; 9 + db 3, 5, 7, 11, -1 ; 8 + db 3, 6, 10, 12, -1 ; 9 db 4, 7, 9, 11, 13 ; 10 - db 3, 8, 10, 14, 0 ; 11 - db 2, 9, 13, 0, 0 ; 12 - db 3, 10, 12, 14, 0 ; 13 - db 2, 11, 13, 0, 0 ; 14 + db 3, 8, 10, 14, -1 ; 11 + db 2, 9, 13, -1, -1 ; 12 + db 3, 10, 12, 14, -1 ; 13 + db 2, 11, 13, -1, -1 ; 14 ; 5dec8 VermilionGymTrashSuccesText1: ; 5dec8 (17:5ec8) diff --git a/engine/hidden_object_functions18.asm b/engine/hidden_object_functions18.asm index 9d19dd7c..443f8369 100755 --- a/engine/hidden_object_functions18.asm +++ b/engine/hidden_object_functions18.asm @@ -73,35 +73,35 @@ PrintBenchGuyText: ; 6245d (18:645d) ; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable BenchGuyTextPointers: ; 6247e (18:647e) db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT - db $11 ; (ViridianCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre ViridianCityPokecenterBenchGuyText db PEWTER_POKECENTER, SPRITE_FACING_LEFT - db $12 ; (PewterCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre PewterCityPokecenterBenchGuyText db CERULEAN_POKECENTER, SPRITE_FACING_LEFT - db $13 ; (CeruleanCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre CeruleanCityPokecenterBenchGuyText db LAVENDER_POKECENTER, SPRITE_FACING_LEFT - db $14 ; (LavenderCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre LavenderCityPokecenterBenchGuyText db VERMILION_POKECENTER, SPRITE_FACING_LEFT - db $15 ; (VermilionCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre VermilionCityPokecenterBenchGuyText db CELADON_POKECENTER, SPRITE_FACING_LEFT - db $16 ; (CeladonCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre CeladonCityPokecenterBenchGuyText db CELADON_HOTEL, SPRITE_FACING_LEFT - db $17 ; (CeladonCityHotelText_id - TextPredefs) / 2 + 1 + db_tx_pre CeladonCityHotelText db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT - db $18 ; (FuchsiaCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre FuchsiaCityPokecenterBenchGuyText db CINNABAR_POKECENTER, SPRITE_FACING_LEFT - db $19 ; (CinnabarIslandPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre CinnabarIslandPokecenterBenchGuyText db SAFFRON_POKECENTER, SPRITE_FACING_LEFT - db $1a ; (SaffronCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre SaffronCityPokecenterBenchGuyText db MT_MOON_POKECENTER, SPRITE_FACING_LEFT - db $1b ; (MtMoonPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre MtMoonPokecenterBenchGuyText db ROCK_TUNNEL_POKECENTER, SPRITE_FACING_LEFT - db $1c ; (RockTunnelPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db_tx_pre RockTunnelPokecenterBenchGuyText db SAFARI_ZONE_REST_HOUSE_2,SPRITE_FACING_LEFT - db $1d + db_tx_pre UnusedBenchGuyText1 db SAFARI_ZONE_REST_HOUSE_3,SPRITE_FACING_LEFT - db $1e + db_tx_pre UnusedBenchGuyText2 db SAFARI_ZONE_REST_HOUSE_4,SPRITE_FACING_LEFT - db $1f + db_tx_pre UnusedBenchGuyText3 db $FF ViridianCityPokecenterBenchGuyText: ; 624a3 (18:64a3) diff --git a/engine/overworld/hidden_items.asm b/engine/overworld/hidden_items.asm index f7f81070..39bb385d 100755 --- a/engine/overworld/hidden_items.asm +++ b/engine/overworld/hidden_items.asm @@ -9,7 +9,7 @@ HiddenItems: ; 76688 (1d:6688) predef FlagActionPredef ld a, c and a - ret nz + jr nz, .asm_75fa5 call EnableAutoTextBoxDrawing ld a, 1 ld [wDoNotWaitForButtonPressAfterDisplayingText], a @@ -18,6 +18,11 @@ HiddenItems: ; 76688 (1d:6688) call GetItemName tx_pre_jump FoundHiddenItemText +.asm_75fa5 + ld a, $ff + ld [hItemAlreadyFound], a + ret + INCLUDE "data/hidden_item_coords.asm" FoundHiddenItemText: ; 7675b (1d:675b) @@ -54,7 +59,7 @@ HiddenCoins: ; 76799 (1d:6799) predef GetQuantityOfItemInBag ld a, b and a - ret z + jr z, .asm_760ce ld hl, HiddenCoinCoords call FindHiddenItemOrCoinsIndex ld [wHiddenItemOrCoinsIndex], a @@ -65,7 +70,7 @@ HiddenCoins: ; 76799 (1d:6799) predef FlagActionPredef ld a, c and a - ret nz + jr nz, .asm_760ce xor a ld [hUnusedCoinsByte], a ld [hCoins], a @@ -79,6 +84,12 @@ HiddenCoins: ; 76799 (1d:6799) cp 40 jr z, .bcd20 jr .bcd100 + +.asm_760ce + ld a, $ff + ld [hItemAlreadyFound], a + ret + .bcd10 ld a, $10 ld [hCoins + 1], a diff --git a/home.asm b/home.asm index 3d8db84f..e5a84d9b 100644 --- a/home.asm +++ b/home.asm @@ -4977,72 +4977,77 @@ SetMapTextPointer:: ; 3f54 (0:3f54) ret TextPredefs:: ; 3f67 (0:3f67) - dr $3f67,$4000 -; add_tx_pre CardKeySuccessText ; 01 -; add_tx_pre CardKeyFailText ; 02 -; add_tx_pre RedBedroomPC ; 03 -; add_tx_pre RedBedroomSNESText ; 04 -; add_tx_pre PushStartText ; 05 -; add_tx_pre SaveOptionText ; 06 -; add_tx_pre StrengthsAndWeaknessesText ; 07 -; add_tx_pre OakLabEmailText ; 08 -; add_tx_pre AerodactylFossilText ; 09 -; add_tx_pre Route15UpstairsBinocularsText ; 0A -; add_tx_pre KabutopsFossilText ; 0B -; add_tx_pre GymStatueText1 ; 0C -; add_tx_pre GymStatueText2 ; 0D -; add_tx_pre BookcaseText ; 0E -; add_tx_pre ViridianCityPokecenterBenchGuyText ; 0F -; add_tx_pre PewterCityPokecenterBenchGuyText ; 10 -; add_tx_pre CeruleanCityPokecenterBenchGuyText ; 11 -; add_tx_pre LavenderCityPokecenterBenchGuyText ; 12 -; add_tx_pre VermilionCityPokecenterBenchGuyText ; 13 -; add_tx_pre CeladonCityPokecenterBenchGuyText ; 14 -; add_tx_pre CeladonCityHotelText ; 15 -; add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 16 -; add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 17 -; add_tx_pre SaffronCityPokecenterBenchGuyText ; 18 -; add_tx_pre MtMoonPokecenterBenchGuyText ; 19 -; add_tx_pre RockTunnelPokecenterBenchGuyText ; 1A -; add_tx_pre UnusedBenchGuyText1 ; 1B -; add_tx_pre UnusedBenchGuyText2 ; 1C -; add_tx_pre UnusedBenchGuyText3 ; 1D -; add_tx_pre TerminatorText_62508 ; 1E -; add_tx_pre PredefText1f ; 1F -; add_tx_pre ViridianSchoolNotebook ; 20 -; add_tx_pre ViridianSchoolBlackboard ; 21 -; add_tx_pre JustAMomentText ; 22 -; add_tx_pre PredefText23 ; 23 -; add_tx_pre FoundHiddenItemText ; 24 -; add_tx_pre HiddenItemBagFullText ; 25 -; add_tx_pre VermilionGymTrashText ; 26 -; add_tx_pre IndigoPlateauHQText ; 27 -; add_tx_pre GameCornerOutOfOrderText ; 28 -; add_tx_pre GameCornerOutToLunchText ; 29 -; add_tx_pre GameCornerSomeonesKeysText ; 2A -; add_tx_pre FoundHiddenCoinsText ; 2B -; add_tx_pre DroppedHiddenCoinsText ; 2C -; add_tx_pre BillsHouseMonitorText ; 2D -; add_tx_pre BillsHouseInitiatedText ; 2E -; add_tx_pre BillsHousePokemonList ; 2F -; add_tx_pre MagazinesText ; 30 -; add_tx_pre CinnabarGymQuiz ; 31 -; add_tx_pre GameCornerNoCoinsText ; 32 -; add_tx_pre GameCornerCoinCaseText ; 33 -; add_tx_pre LinkCableHelp ; 34 -; add_tx_pre TMNotebook ; 35 -; add_tx_pre FightingDojoText ; 36 -; add_tx_pre FightingDojoText_52a10 ; 37 -; add_tx_pre FightingDojoText_52a1d ; 38 -; add_tx_pre NewBicycleText ; 39 -; add_tx_pre IndigoPlateauStatues ; 3A -; add_tx_pre VermilionGymTrashSuccesText1 ; 3B -; add_tx_pre VermilionGymTrashSuccesText2 ; 3C -; add_tx_pre VermilionGymTrashSuccesText3 ; 3D -; add_tx_pre VermilionGymTrashFailText ; 3E -; add_tx_pre TownMapText ; 3F -; add_tx_pre BookOrSculptureText ; 40 -; add_tx_pre ElevatorText ; 41 -; add_tx_pre PokemonStuffText ; 42 -; add_tx_pre $7a9b ; 43 -; add_tx_pre $7ad3 ; 44 +const_value = 1 + + add_tx_pre CardKeySuccessText ; 01 + add_tx_pre CardKeyFailText ; 02 + add_tx_pre RedBedroomPCText ; 03 + add_tx_pre RedBedroomSNESText ; 04 + add_tx_pre PushStartText ; 05 + add_tx_pre SaveOptionText ; 06 + add_tx_pre StrengthsAndWeaknessesText ; 07 + add_tx_pre OakLabEmailText ; 08 + add_tx_pre AerodactylFossilText ; 09 + add_tx_pre Route15UpstairsBinocularsText ; 0A + add_tx_pre KabutopsFossilText ; 0B + add_tx_pre FanClubPicture1Text ; 0C + add_tx_pre FanClubPicture2Text ; 0D + add_tx_pre GymStatueText1 ; 0E + add_tx_pre GymStatueText2 ; 0F + add_tx_pre BookcaseText ; 10 + add_tx_pre ViridianCityPokecenterBenchGuyText ; 11 + add_tx_pre PewterCityPokecenterBenchGuyText ; 12 + add_tx_pre CeruleanCityPokecenterBenchGuyText ; 13 + add_tx_pre LavenderCityPokecenterBenchGuyText ; 14 + add_tx_pre VermilionCityPokecenterBenchGuyText ; 15 + add_tx_pre CeladonCityPokecenterBenchGuyText ; 16 + add_tx_pre CeladonCityHotelText ; 17 + add_tx_pre FuchsiaCityPokecenterBenchGuyText ; 18 + add_tx_pre CinnabarIslandPokecenterBenchGuyText ; 19 + add_tx_pre SaffronCityPokecenterBenchGuyText ; 1A + add_tx_pre MtMoonPokecenterBenchGuyText ; 1B + add_tx_pre RockTunnelPokecenterBenchGuyText ; 1C + add_tx_pre UnusedBenchGuyText1 ; 1D + add_tx_pre UnusedBenchGuyText2 ; 1E + add_tx_pre UnusedBenchGuyText3 ; 1F + add_tx_pre UnusedPredefText ; 20 + add_tx_pre PokemonCenterPCText ; 21 + add_tx_pre ViridianSchoolNotebook ; 22 + add_tx_pre ViridianSchoolBlackboard ; 23 + ; add_tx_pre FakeTextPredef22 + ; add_tx_pre FakeTextPredef23 + add_tx_pre JustAMomentText ; 24 + add_tx_pre OpenBillsPCText ; 25 + add_tx_pre FoundHiddenItemText ; 26 + add_tx_pre HiddenItemBagFullText ; 27 + add_tx_pre VermilionGymTrashText ; 28 + add_tx_pre IndigoPlateauHQText ; 29 + add_tx_pre GameCornerOutOfOrderText ; 2A + add_tx_pre GameCornerOutToLunchText ; 2B + add_tx_pre GameCornerSomeonesKeysText ; 2C + add_tx_pre FoundHiddenCoinsText ; 2D + add_tx_pre DroppedHiddenCoinsText ; 2E + add_tx_pre BillsHouseMonitorText ; 2F + add_tx_pre BillsHouseInitiatedText ; 30 + add_tx_pre BillsHousePokemonList ; 31 + add_tx_pre MagazinesText ; 32 + add_tx_pre CinnabarGymQuiz ; 33 + add_tx_pre GameCornerNoCoinsText ; 34 + add_tx_pre GameCornerCoinCaseText ; 35 + add_tx_pre LinkCableHelp ; 36 + add_tx_pre TMNotebook ; 37 + add_tx_pre FightingDojoText ; 38 + add_tx_pre EnemiesOnEverySideText ; 39 + add_tx_pre WhatGoesAroundComesAroundText ; 3A + add_tx_pre NewBicycleText ; 3B + add_tx_pre IndigoPlateauStatues ; 3C XXX unused + add_tx_pre VermilionGymTrashSuccesText1 ; 3D + add_tx_pre VermilionGymTrashSuccesText2 ; 3E + add_tx_pre VermilionGymTrashSuccesText3 ; 3F + add_tx_pre VermilionGymTrashFailText ; 40 + add_tx_pre TownMapText ; 41 + add_tx_pre BookOrSculptureText ; 42 + add_tx_pre ElevatorText ; 43 + add_tx_pre PokemonStuffText ; 44 + + ; dr $3f67,$4000 diff --git a/hram.asm b/hram.asm index 21dbee05..eeb425f6 100644 --- a/hram.asm +++ b/hram.asm @@ -309,6 +309,8 @@ hCoordsInFrontOfPlayerMatch EQU $FFEA hSpriteAnimFrameCounter EQU $FFEA +hItemAlreadyFound EQU $FFEB + H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn hLCDCPointer EQU $FFF4 diff --git a/macros.asm b/macros.asm index c4318278..f153e379 100644 --- a/macros.asm +++ b/macros.asm @@ -342,11 +342,11 @@ add_tx_pre: MACRO ENDM db_tx_pre: MACRO - db \1_id + db (\1_id - TextPredefs) / 2 + 1 ENDM tx_pre_id: MACRO - ld a, \1_id ; - TextPredefs) / 2 + 1 + ld a, (\1_id - TextPredefs) / 2 + 1 ENDM tx_pre: MACRO diff --git a/main.asm b/main.asm index b32935de..a106b3a3 100755 --- a/main.asm +++ b/main.asm @@ -674,7 +674,9 @@ SECTION "bank11",ROMX,BANK[$11] INCLUDE "engine/pokedex_rating.asm" - dr $44251,$45077 + dr $44251,$443b7 +Mansion1Script_Switches: + dr $443b7,$45077 LoadSpinnerArrowTiles: ; 45077 (11:5077) dr $45077,$46bf3 @@ -850,12 +852,8 @@ VendingMachineMenu: ; 74726 (1d:4726) dr $74726,$75dfe PKMNLeaguePC: ; 75dfe (1d:5dfe) dr $75dfe,$75f74 -HiddenItems: ; 75f74 (1d:5f74) - dr $75f74,$75faa -INCLUDE "data/hidden_item_coords.asm" - - dr $76050,$76177 +INCLUDE "engine/overworld/hidden_items.asm" SECTION "bank1E",ROMX,BANK[$1E] -- cgit v1.3.1-sl0p From 39b2a1685c2d365bb8fdb976a91a43804b5f3e40 Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Tue, 24 May 2016 20:29:57 -0400 Subject: Replace hidden object file include in bank 3c --- engine/bank3c.asm | 4 +--- engine/overworld/hidden_objects.asm | 6 +++--- hram.asm | 2 ++ 3 files changed, 6 insertions(+), 6 deletions(-) (limited to 'engine/overworld') diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 4e5fca0a..e98153bc 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -277,10 +277,8 @@ BeachHouse_h: ; f220e (3c:620e) dr $f220e, $f24ae Func_f24ae: ; f24ae (3c:64ae) dr $f24ae, $f25f8 -CheckForHiddenObject:: ; f25f8 (3c:65f8) - dr $f25f8, $f268d -INCLUDE "data/hidden_objects.asm" +INCLUDE "engine/overworld/hidden_objects.asm" Func_f2cd0: ld d, 0 diff --git a/engine/overworld/hidden_objects.asm b/engine/overworld/hidden_objects.asm index 15496b81..cba2a221 100755 --- a/engine/overworld/hidden_objects.asm +++ b/engine/overworld/hidden_objects.asm @@ -1,6 +1,6 @@ -; if a hidden object was found, stores $00 in [$ffee], else stores $ff +; if a hidden object was found, stores $00 in [hDidntFindAnyHiddenObject], else stores $ff CheckForHiddenObject: ; f25f8 (3c:65f8) - ld hl, $ffeb + ld hl, hItemAlreadyFound xor a ld [hli], a ld [hli], a @@ -55,7 +55,7 @@ CheckForHiddenObject: ; f25f8 (3c:65f8) ret .noMatch ld a, $ff - ld [$ffee], a + ld [hDidntFindAnyHiddenObject], a ret ; checks if the coordinates in front of the player's sprite match Y in b and X in c diff --git a/hram.asm b/hram.asm index eeb425f6..7ec1393a 100644 --- a/hram.asm +++ b/hram.asm @@ -311,6 +311,8 @@ hSpriteAnimFrameCounter EQU $FFEA hItemAlreadyFound EQU $FFEB +hDidntFindAnyHiddenObject EQU $FFEE + H_WHOSETURN EQU $FFF3 ; 0 on player’s turn, 1 on enemy’s turn hLCDCPointer EQU $FFF4 -- 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 'engine/overworld') 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 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 'engine/overworld') 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 9abb62033819774d7b256ee0222f7c6ece987bfe Mon Sep 17 00:00:00 2001 From: pikalaxalt Date: Sun, 29 May 2016 16:24:41 -0400 Subject: Pewter Pokecenter --- data/mapObjects/pewterpokecenter.asm | 6 ++- data/map_header_banks.asm | 2 +- data/map_header_pointers.asm | 2 +- engine/bank3c.asm | 5 ++- engine/bank3f.asm | 6 +-- engine/items/items.asm | 2 +- engine/menu/bills_pc.asm | 2 +- engine/menu/party_menu.asm | 2 +- engine/overworld/cable_club_npc.asm | 2 +- engine/overworld/pokecenter.asm | 8 ++-- engine/pikachu_pic_animation.asm | 10 ++--- home.asm | 2 +- home/overworld.asm | 2 +- home/pikachu.asm | 6 +-- main.asm | 12 ++++-- scripts/billshouse2.asm | 4 +- scripts/pewterpokecenter.asm | 80 ++++++++---------------------------- wram.asm | 4 ++ 18 files changed, 63 insertions(+), 94 deletions(-) (limited to 'engine/overworld') diff --git a/data/mapObjects/pewterpokecenter.asm b/data/mapObjects/pewterpokecenter.asm index 86757244..d3f87326 100755 --- a/data/mapObjects/pewterpokecenter.asm +++ b/data/mapObjects/pewterpokecenter.asm @@ -7,11 +7,13 @@ PewterPokecenterObject: ; 0x5c60d (size=44) db $0 ; signs - db $4 ; objects + db $6 ; objects object SPRITE_NURSE, $3, $1, STAY, DOWN, $1 ; person object SPRITE_GENTLEMAN, $b, $7, STAY, LEFT, $2 ; person - object SPRITE_CLEFAIRY, $1, $3, STAY, DOWN, $3 ; person + object SPRITE_JIGGLYPUFF, $1, $3, STAY, DOWN, $3 ; person object SPRITE_CABLE_CLUB_WOMAN, $b, $2, STAY, DOWN, $4 ; person + object SPRITE_LASS, $4, $3, STAY, UP, $5 ; person + object SPRITE_CHANSEY, $4, $1, STAY, DOWN, $6 ; person ; warp-to EVENT_DISP PEWTER_POKECENTER_WIDTH, $7, $3 diff --git a/data/map_header_banks.asm b/data/map_header_banks.asm index 0dd10719..c840cd82 100644 --- a/data/map_header_banks.asm +++ b/data/map_header_banks.asm @@ -58,7 +58,7 @@ MapHeaderBanks:: ; fc3e4 (3f:43e4) db BANK(PewterHouse1_h) db BANK(PewterMart_h) db BANK(PewterHouse2_h) - db $17 ; db BANK(PewterPokecenter_h) + db BANK(PewterPokecenter_h) db $12 ; db BANK(MtMoon1_h) db $14 ; db BANK(MtMoon2_h) db $12 ; db BANK(MtMoon3_h) diff --git a/data/map_header_pointers.asm b/data/map_header_pointers.asm index a7a0763d..cc700617 100644 --- a/data/map_header_pointers.asm +++ b/data/map_header_pointers.asm @@ -58,7 +58,7 @@ MapHeaderPointers:: ; fc1f2 (3f:41f2) dw PewterHouse1_h dw PewterMart_h dw PewterHouse2_h - dw $446e ; dw PewterPokecenter_h + dw PewterPokecenter_h dw $5953 ; dw MtMoon1_h dw $5a78 ; dw MtMoon2_h ;id=60 dw $5c7e ; dw MtMoon3_h diff --git a/engine/bank3c.asm b/engine/bank3c.asm index 097dfd3e..9274b8b7 100644 --- a/engine/bank3c.asm +++ b/engine/bank3c.asm @@ -352,7 +352,10 @@ INCLUDE "scripts/redshouse1f2.asm" INCLUDE "scripts/oakslab2.asm" INCLUDE "scripts/school2.asm" INCLUDE "scripts/museum1f2.asm" - dr $f1d98, $f220e +INCLUDE "scripts/pewterpokecenter2.asm" + +Func_f1e22: + dr $f1e22, $f220e INCLUDE "data/mapHeaders/beach_house.asm" INCLUDE "scripts/beach_house.asm" diff --git a/engine/bank3f.asm b/engine/bank3f.asm index c8041a3a..c31fc986 100644 --- a/engine/bank3f.asm +++ b/engine/bank3f.asm @@ -27,7 +27,7 @@ Func_fc4fa:: ; fc4fa (3f:44fa) bit 4, [hl] res 4, [hl] jr nz, .asm_fc515 - call Func_1542 + call ResetPikachuAsleep call Func_fc523 ld a, $ff ld [wSpriteStateData1 + $f2], a @@ -344,7 +344,7 @@ Func_fc6d5:: ; fc6d5 (3f:46d5) ld a, [wFontLoaded] bit 0, a jp nz, asm_fc76a - call Func_154a + call CheckPikachuAsleep jp nz, asm_fc76a ld a, [hl] and $7f @@ -408,7 +408,7 @@ asm_fc745: ; fc745 (3f:4745) ld hl, wSpriteStateData2 - wSpriteStateData1 add hl, bc ld [hl], a - call Func_154a + call CheckPikachuAsleep jr nz, .asm_fc75f ld a, [wSpriteStateData1 + $9] xor $4 diff --git a/engine/items/items.asm b/engine/items/items.asm index 5d76c37e..eca9eaef 100755 --- a/engine/items/items.asm +++ b/engine/items/items.asm @@ -1765,7 +1765,7 @@ ItemUsePokeflute: ; dfbd (3:5fbd) .notRoute16 cp a,PEWTER_POKECENTER jr nz,.noSnorlaxOrPikachuToWakeUp - call Func_154a + call CheckPikachuAsleep jr z,.noSnorlaxOrPikachuToWakeUp callab Func_fcb01 jr nc,.noSnorlaxOrPikachuToWakeUp diff --git a/engine/menu/bills_pc.asm b/engine/menu/bills_pc.asm index ce9ca5a8..97a65517 100644 --- a/engine/menu/bills_pc.asm +++ b/engine/menu/bills_pc.asm @@ -227,7 +227,7 @@ BillsPCDeposit: ; 2156d (8:556d) jp c, BillsPCMenu callab IsThisPartymonStarterPikachu_Party jr nc, .asm_215ad - call Func_154a + call CheckPikachuAsleep jr z, .asm_215ad ld hl, SleepingPikachuText2 call PrintText diff --git a/engine/menu/party_menu.asm b/engine/menu/party_menu.asm index 3ec0029e..8683d3cb 100755 --- a/engine/menu/party_menu.asm +++ b/engine/menu/party_menu.asm @@ -53,7 +53,7 @@ RedrawPartyMenu_: ; 11886 (4:5886) ld [wWhichPokemon],a callab IsThisPartymonStarterPikachu_Party jr nc, .regularMon - call Func_154a + call CheckPikachuAsleep jr z, .regularMon ld a, $ff ld [hPartyMonIndex], a diff --git a/engine/overworld/cable_club_npc.asm b/engine/overworld/cable_club_npc.asm index 8f279759..4170a936 100755 --- a/engine/overworld/cable_club_npc.asm +++ b/engine/overworld/cable_club_npc.asm @@ -1,7 +1,7 @@ CableClubNPC: ; 7035 (1:7035) ld hl, CableClubNPCWelcomeText call PrintText - call Func_154a + call CheckPikachuAsleep jr nz, .asm_7048 CheckEvent EVENT_GOT_POKEDEX jp nz, .receivedPokedex diff --git a/engine/overworld/pokecenter.asm b/engine/overworld/pokecenter.asm index 779d852c..3024ff7b 100755 --- a/engine/overworld/pokecenter.asm +++ b/engine/overworld/pokecenter.asm @@ -2,7 +2,7 @@ DisplayPokemonCenterDialogue_: ; 6d97 (1:6d97) ld a, [wCurMap] cp PEWTER_POKECENTER jr nz, .regularCenter - call Func_154a + call CheckPikachuAsleep jr z, .regularCenter ld hl, LooksContentText ; if pikachu is sleeping, don't heal call PrintText @@ -27,7 +27,7 @@ DisplayPokemonCenterDialogue_: ; 6d97 (1:6d97) call SetLastBlackoutMap callab IsStarterPikachuInOurParty jr nc, .notHealingPlayerPikachu - call Func_154a + call CheckPikachuAsleep jr nz, .notHealingPlayerPikachu call LoadCurrentMapView call Delay3 @@ -38,7 +38,7 @@ DisplayPokemonCenterDialogue_: ; 6d97 (1:6d97) call PrintText ld c, 64 call DelayFrames - call Func_154a + call CheckPikachuAsleep jr nz, .playerPikachuNotOnScreen call Func_152d callab IsStarterPikachuInOurParty @@ -58,7 +58,7 @@ DisplayPokemonCenterDialogue_: ; 6d97 (1:6d97) ld [wLastMusicSoundID], a ld [wNewSoundID], a call PlaySound - call Func_154a + call CheckPikachuAsleep jr nz, .doNotReturnPikachu callab IsStarterPikachuInOurParty call c, Func_6eaa diff --git a/engine/pikachu_pic_animation.asm b/engine/pikachu_pic_animation.asm index d95eb538..c16e3e5f 100755 --- a/engine/pikachu_pic_animation.asm +++ b/engine/pikachu_pic_animation.asm @@ -247,7 +247,7 @@ Func_fd05e: ; fd05e (3f:505e) bit 7, [hl] ld a, $1d jr z, .asm_fd0c9 - call Func_154a + call CheckPikachuAsleep ld a, $1e jr nz, .asm_fd0c9 jr .asm_fd096 @@ -255,7 +255,7 @@ Func_fd05e: ; fd05e (3f:505e) ld a, [wCurMap] cp PEWTER_POKECENTER jr nz, .notPewterPokecenter - call Func_154a + call CheckPikachuAsleep ld a, $1a jr nz, .asm_fd0c9 jr .asm_fd096 @@ -1636,7 +1636,7 @@ PikachuPewterPokecenterCheck: ; fd8d4 (3f:58d4) ld a, [wCurMap] cp PEWTER_POKECENTER ret nz - call Func_1542 + call ResetPikachuAsleep call Func_fcff2 ret @@ -1644,7 +1644,7 @@ PikachuFanClubCheck: ; fd8e1 (3f:58e1) ld a, [wCurMap] cp POKEMON_FAN_CLUB ret nz - call Func_1542 + call ResetPikachuAsleep call Func_fcff2 ret @@ -1652,7 +1652,7 @@ PikachuBillsHouseCheck: ; fd8ee (3f:58ee) ld a, [wCurMap] cp BILLS_HOUSE ret nz - call Func_1542 + call ResetPikachuAsleep ret Pikachu_LoadCurrentMapViewUpdateSpritesAndDelay3: ; fd8f8 (3f:58f8) diff --git a/home.asm b/home.asm index 5f924a40..6fb3e08b 100644 --- a/home.asm +++ b/home.asm @@ -477,7 +477,7 @@ HandlePartyMenuInput:: ; 1226 (0:1226) ld [wWhichPokemon], a callab IsThisPartymonStarterPikachu_Party ; 3f:4e18 jr nc, .asm_1258 - call Func_154a + call CheckPikachuAsleep jr nz, .asm_128f .asm_1258 pop af diff --git a/home/overworld.asm b/home/overworld.asm index 3a9708d9..bc7ae029 100644 --- a/home/overworld.asm +++ b/home/overworld.asm @@ -1222,7 +1222,7 @@ CollisionCheckOnLand:: ; 0a1c (0:0a1c) ; if no sprite collision cp $f jr nz,.collision - call Func_154a + call CheckPikachuAsleep jr nz,.collision ld a,[hJoyHeld] and $2 diff --git a/home/pikachu.asm b/home/pikachu.asm index 5239873c..9e0ab541 100755 --- a/home/pikachu.asm +++ b/home/pikachu.asm @@ -30,21 +30,21 @@ Func_152d:: ; 152d (0:152d) pop hl ret -Func_153a:: ; 153a (0:153a) +SetPikachuAsleep:: ; 153a (0:153a) push hl ld hl, wPikachuOverworldStateFlags set 1, [hl] pop hl ret -Func_1542:: ; 1542 (0:1542) +ResetPikachuAsleep:: ; 1542 (0:1542) push hl ld hl, wPikachuOverworldStateFlags res 1, [hl] pop hl ret -Func_154a:: ; 154a (0:154a) +CheckPikachuAsleep:: ; 154a (0:154a) push hl ld hl, wPikachuOverworldStateFlags bit 1, [hl] diff --git a/main.asm b/main.asm index 3ba53669..33332dff 100755 --- a/main.asm +++ b/main.asm @@ -746,7 +746,6 @@ INCLUDE "data/mapObjects/lavendertown.asm" LavenderTownBlocks: INCBIN "maps/lavendertown.blk" ViridianPokecenterBlocks: -PewterPokecenterBlocks: CeruleanPokecenterBlocks: VermilionPokecenterBlocks: SaffronPokecenterBlocks: @@ -1059,7 +1058,9 @@ Museum1FBlocks: INCBIN "maps/museum1f.blk" Museum2FBlocks: INCBIN "maps/museum2f.blk" - dr $5c064,$5c090 +PewterPokecenterBlocks: +INCBIN "maps/pewterpokecenter.blk" + dr $5c080,$5c090 ViridianForestEntranceBlocks: ViridianForestExitBlocks: Route2GateBlocks: @@ -1083,7 +1084,12 @@ INCLUDE "scripts/pewtergym.asm" INCLUDE "data/mapObjects/pewtergym.asm" PewterGymBlocks: INCBIN "maps/pewtergym.blk" - dr $5c46e,$5d485 + +INCLUDE "data/mapHeaders/pewterpokecenter.asm" +INCLUDE "scripts/pewterpokecenter.asm" +INCLUDE "data/mapObjects/pewterpokecenter.asm" + + dr $5c4f5,$5d485 INCLUDE "data/mapHeaders/viridianforestexit.asm" INCLUDE "scripts/viridianforestexit.asm" diff --git a/scripts/billshouse2.asm b/scripts/billshouse2.asm index 48205029..6f62a79f 100755 --- a/scripts/billshouse2.asm +++ b/scripts/billshouse2.asm @@ -87,7 +87,7 @@ Func_f24ae: ; f24ae ld a, [wCurMap] cp BILLS_HOUSE jr nz, .asm_f24d2 - call Func_154a + call CheckPikachuAsleep jr z, .asm_f24d2 ld a, [W_BILLSHOUSECURSCRIPT] cp $5 @@ -120,7 +120,7 @@ Func_f24d5: ld a, $1 ld [wWhichEmotionBubble], a predef EmotionBubble - call Func_153a + call SetPikachuAsleep callab InitializePikachuTextID ret diff --git a/scripts/pewterpokecenter.asm b/scripts/pewterpokecenter.asm index 46d4d509..90f5e2b9 100755 --- a/scripts/pewterpokecenter.asm +++ b/scripts/pewterpokecenter.asm @@ -1,12 +1,17 @@ PewterPokecenterScript: ; 5c587 (17:4587) + ld hl, wPreventBlackout + set 7, [hl] call Serial_TryEstablishingExternallyClockedConnection - jp EnableAutoTextBoxDrawing + call EnableAutoTextBoxDrawing + ret PewterPokecenterTextPointers: ; 5c58d (17:458d) dw PewterPokecenterText1 dw PewterPokecenterText2 dw PewterPokecenterText3 dw PewterPokecenterText4 + dw PewterPokecenterText5 + dw PewterPokecenterText6 PewterPokecenterText1: ; 5c595 (17:4595) db $ff @@ -17,69 +22,18 @@ PewterPokecenterText2: ; 5c596 (17:4596) PewterPokecenterText3: ; 5c59b (17:459b) TX_ASM - ld a, $1 - ld [wDoNotWaitForButtonPressAfterDisplayingText], a - ld hl, PewterPokecenterText5 - call PrintText - ld a, $ff - call PlaySound - ld c, 32 - call DelayFrames - ld hl, JigglypuffFacingDirections - ld de, wJigglypuffFacingDirections - ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections - call CopyData - - ld a, [wSpriteStateData1 + 3 * $10 + $2] - ld hl, wJigglypuffFacingDirections -.findMatchingFacingDirectionLoop - cp [hl] - inc hl - jr nz, .findMatchingFacingDirectionLoop - dec hl - push hl - ld c, BANK(Music_JigglypuffSong) - ld a, MUSIC_JIGGLYPUFF_SONG - call PlayMusic - pop hl -.loop - ld a, [hl] - ld [wSpriteStateData1 + 3 * $10 + $2], a - -; rotate the array - push hl - ld hl, wJigglypuffFacingDirections - ld de, wJigglypuffFacingDirections - 1 - ld bc, JigglypuffFacingDirectionsEnd - JigglypuffFacingDirections - call CopyData - ld a, [wJigglypuffFacingDirections - 1] - ld [wJigglypuffFacingDirections + 3], a - pop hl - - ld c, 24 - call DelayFrames - - ld a, [wChannelSoundIDs] - ld b, a - ld a, [wChannelSoundIDs + CH1] - or b - jr nz, .loop - - ld c, 48 - call DelayFrames - call PlayDefaultMusic + callba Func_f1da4 jp TextScriptEnd -PewterPokecenterText5: ; 5c603 (17:4603) - TX_FAR _PewterPokecenterText5 - db "@" - -JigglypuffFacingDirections: ; 5c608 (17:4608) - db $30 | SPRITE_FACING_DOWN - db $30 | SPRITE_FACING_LEFT - db $30 | SPRITE_FACING_UP - db $30 | SPRITE_FACING_RIGHT -JigglypuffFacingDirectionsEnd: - PewterPokecenterText4: ; 5c60c (17:460c) db $f6 + +PewterPokecenterText5: ; 5c603 (17:4603) + TX_ASM + callba Func_f1d98 + jp TextScriptEnd + +PewterPokecenterText6: + TX_ASM + callab Func_f0f12 + jp TextScriptEnd diff --git a/wram.asm b/wram.asm index 64a394ed..821c4957 100755 --- a/wram.asm +++ b/wram.asm @@ -960,6 +960,8 @@ wPlayerSpinWhileMovingUpOrDownAnimMaxY:: ; cd3e wHiddenObjectFunctionRomBank:: ; cd3e wTrainerEngageDistance:: ; cd3e + +wJigglypuffFacingDirections2:: ; cd3e ds 1 wHUDGraphicsTiles:: ; cd3f @@ -1040,6 +1042,8 @@ wHoFTeamNo:: ; cd42 wSlotMachineWheel1MiddleTile:: ; cd42 wFieldMovesLeftmostXCoord:: ; cd42 + +wcd42:: ; cd42 ds 1 wLastFieldMoveID:: ; cd43 -- cgit v1.3.1-sl0p