diff options
author | pikalaxalt <PikalaxALT@gmail.com> | 2016-05-24 17:41:33 -0400 |
---|---|---|
committer | pikalaxalt <PikalaxALT@gmail.com> | 2016-05-24 17:41:33 -0400 |
commit | 219eddf056933c6e5f06903caa73d49de3118a60 (patch) | |
tree | f06ec3c1e351de9b9f2466f371a3c13faf1fe8a7 /engine | |
parent | fdac1f9f80295eb4ce7c347f3e7626897a67826d (diff) |
Update hidden object functions and include them in main
Diffstat (limited to 'engine')
-rwxr-xr-x | engine/hidden_object_functions18.asm | 74 | ||||
-rwxr-xr-x | engine/overworld/hidden_objects.asm | 20 |
2 files changed, 45 insertions, 49 deletions
diff --git a/engine/hidden_object_functions18.asm b/engine/hidden_object_functions18.asm index ab66a818..9d19dd7c 100755 --- a/engine/hidden_object_functions18.asm +++ b/engine/hidden_object_functions18.asm @@ -1,4 +1,4 @@ -GymStatues: ; 62419 (18:6419) +GymStatues: ; 625e8 (18:65e8) ; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID ; if in a gym and don’t have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID ; else ret @@ -29,14 +29,14 @@ GymStatues: ; 62419 (18:6419) jp PrintPredefTextID .BadgeFlags: ; 62442 (18:6442) - db PEWTER_GYM, %00000001 - db CERULEAN_GYM, %00000010 - db VERMILION_GYM,%00000100 - db CELADON_GYM, %00001000 - db FUCHSIA_GYM, %00010000 - db SAFFRON_GYM, %00100000 - db CINNABAR_GYM, %01000000 - db VIRIDIAN_GYM, %10000000 + db PEWTER_GYM, %00000001 + db CERULEAN_GYM, %00000010 + db VERMILION_GYM, %00000100 + db CELADON_GYM, %00001000 + db FUCHSIA_GYM, %00010000 + db SAFFRON_GYM, %00100000 + db CINNABAR_GYM, %01000000 + db VIRIDIAN_GYM, %10000000 db $ff GymStatueText1: ; 62453 (18:6453) @@ -72,30 +72,36 @@ 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 (ViridianCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db PEWTER_POKECENTER, SPRITE_FACING_LEFT - db (PewterCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db CERULEAN_POKECENTER, SPRITE_FACING_LEFT - db (CeruleanCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db LAVENDER_POKECENTER, SPRITE_FACING_LEFT - db (LavenderCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db VERMILION_POKECENTER, SPRITE_FACING_LEFT - db (VermilionCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db CELADON_POKECENTER, SPRITE_FACING_LEFT - db (CeladonCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db CELADON_HOTEL, SPRITE_FACING_LEFT - db (CeladonCityHotelText_id - TextPredefs) / 2 + 1 - db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT - db (FuchsiaCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db CINNABAR_POKECENTER, SPRITE_FACING_LEFT - db (CinnabarIslandPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db SAFFRON_POKECENTER, SPRITE_FACING_LEFT - db (SaffronCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db MT_MOON_POKECENTER, SPRITE_FACING_LEFT - db (MtMoonPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 - db ROCK_TUNNEL_POKECENTER,SPRITE_FACING_LEFT - db (RockTunnelPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT + db $11 ; (ViridianCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db PEWTER_POKECENTER, SPRITE_FACING_LEFT + db $12 ; (PewterCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db CERULEAN_POKECENTER, SPRITE_FACING_LEFT + db $13 ; (CeruleanCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db LAVENDER_POKECENTER, SPRITE_FACING_LEFT + db $14 ; (LavenderCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db VERMILION_POKECENTER, SPRITE_FACING_LEFT + db $15 ; (VermilionCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db CELADON_POKECENTER, SPRITE_FACING_LEFT + db $16 ; (CeladonCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db CELADON_HOTEL, SPRITE_FACING_LEFT + db $17 ; (CeladonCityHotelText_id - TextPredefs) / 2 + 1 + db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT + db $18 ; (FuchsiaCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db CINNABAR_POKECENTER, SPRITE_FACING_LEFT + db $19 ; (CinnabarIslandPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db SAFFRON_POKECENTER, SPRITE_FACING_LEFT + db $1a ; (SaffronCityPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db MT_MOON_POKECENTER, SPRITE_FACING_LEFT + db $1b ; (MtMoonPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db ROCK_TUNNEL_POKECENTER, SPRITE_FACING_LEFT + db $1c ; (RockTunnelPokecenterBenchGuyText_id - TextPredefs) / 2 + 1 + db SAFARI_ZONE_REST_HOUSE_2,SPRITE_FACING_LEFT + db $1d + db SAFARI_ZONE_REST_HOUSE_3,SPRITE_FACING_LEFT + db $1e + db SAFARI_ZONE_REST_HOUSE_4,SPRITE_FACING_LEFT + db $1f db $FF ViridianCityPokecenterBenchGuyText: ; 624a3 (18:64a3) @@ -177,7 +183,7 @@ CeladonCityHotelText: ; 62502 (18:6502) UnusedPredefText: ; 62508 (18:6508) db "@" -PrintBookcaseText: ; 6509 (18:6509) +PrintBookcaseText: ; 626e1 (18:66e1) call EnableAutoTextBoxDrawing tx_pre_jump BookcaseText 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 |