pokeyellow/engine/hidden_object_functions18.asm
pikalaxalt 87b20762d5 Numerous changes (see below)
* Fix build errors from previous commit
* Fix predef text pointers
* Disassemble hidden object data and additional accessory functions
2016-05-24 18:54:06 -04:00

205 lines
5.0 KiB
NASM
Executable File
Raw Blame History

This file contains ambiguous Unicode characters

This file contains Unicode characters that might be confused with other characters. If you think that this is intentional, you can safely ignore this warning. Use the Escape button to reveal them.

GymStatues: ; 625e8 (18:65e8)
; if in a gym and have the corresponding badge, a = GymStatueText2_id and jp PrintPredefTextID
; if in a gym and dont have the corresponding badge, a = GymStatueText1_id and jp PrintPredefTextID
; else ret
call EnableAutoTextBoxDrawing
ld a, [wSpriteStateData1 + 9]
cp SPRITE_FACING_UP
ret nz
ld hl, .BadgeFlags
ld a, [wCurMap]
ld b, a
.loop
ld a, [hli]
cp $ff
ret z
cp b
jr z, .match
inc hl
jr .loop
.match
ld b, [hl]
ld a, [wBeatGymFlags]
and b
cp b
tx_pre_id GymStatueText2
jr z, .haveBadge
tx_pre_id GymStatueText1
.haveBadge
jp PrintPredefTextID
.BadgeFlags: ; 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 $ff
GymStatueText1: ; 62453 (18:6453)
TX_FAR _GymStatueText1
db "@"
GymStatueText2: ; 62458 (18:6458)
TX_FAR _GymStatueText2
db "@"
PrintBenchGuyText: ; 6245d (18:645d)
call EnableAutoTextBoxDrawing
ld hl, BenchGuyTextPointers
ld a, [wCurMap]
ld b, a
.loop
ld a, [hli]
cp $ff
ret z
cp b
jr z, .match
inc hl
inc hl
jr .loop
.match
ld a, [hli]
ld b, a
ld a, [wSpriteStateData1 + 9]
cp b
jr nz, .loop ; player isn't facing left at the bench guy
ld a, [hl]
jp PrintPredefTextID
; format: db map id, player sprite facing direction, text id of PredefTextIDPointerTable
BenchGuyTextPointers: ; 6247e (18:647e)
db VIRIDIAN_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre ViridianCityPokecenterBenchGuyText
db PEWTER_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre PewterCityPokecenterBenchGuyText
db CERULEAN_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre CeruleanCityPokecenterBenchGuyText
db LAVENDER_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre LavenderCityPokecenterBenchGuyText
db VERMILION_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre VermilionCityPokecenterBenchGuyText
db CELADON_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre CeladonCityPokecenterBenchGuyText
db CELADON_HOTEL, SPRITE_FACING_LEFT
db_tx_pre CeladonCityHotelText
db FUCHSIA_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre FuchsiaCityPokecenterBenchGuyText
db CINNABAR_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre CinnabarIslandPokecenterBenchGuyText
db SAFFRON_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre SaffronCityPokecenterBenchGuyText
db MT_MOON_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre MtMoonPokecenterBenchGuyText
db ROCK_TUNNEL_POKECENTER, SPRITE_FACING_LEFT
db_tx_pre RockTunnelPokecenterBenchGuyText
db SAFARI_ZONE_REST_HOUSE_2,SPRITE_FACING_LEFT
db_tx_pre UnusedBenchGuyText1
db SAFARI_ZONE_REST_HOUSE_3,SPRITE_FACING_LEFT
db_tx_pre UnusedBenchGuyText2
db SAFARI_ZONE_REST_HOUSE_4,SPRITE_FACING_LEFT
db_tx_pre UnusedBenchGuyText3
db $FF
ViridianCityPokecenterBenchGuyText: ; 624a3 (18:64a3)
TX_FAR _ViridianCityPokecenterGuyText
db "@"
PewterCityPokecenterBenchGuyText: ; 624a8 (18:64a8)
TX_FAR _PewterCityPokecenterGuyText
db "@"
CeruleanCityPokecenterBenchGuyText: ; 624ad (18:64ad)
TX_FAR _CeruleanPokecenterGuyText
db "@"
LavenderCityPokecenterBenchGuyText: ; 624b2 (18:64b2)
TX_FAR _LavenderPokecenterGuyText
db "@"
MtMoonPokecenterBenchGuyText: ; 624b7 (18:64b7)
TX_FAR _MtMoonPokecenterBenchGuyText
db "@"
RockTunnelPokecenterBenchGuyText: ; 624bc (18:64bc)
TX_FAR _RockTunnelPokecenterGuyText
db "@"
UnusedBenchGuyText1: ; 624c1 (18:64c1)
TX_FAR _UnusedBenchGuyText1
db "@"
UnusedBenchGuyText2: ; 624c6 (18:64c6)
TX_FAR _UnusedBenchGuyText2
db "@"
UnusedBenchGuyText3: ; 624cb (18:64cb)
TX_FAR _UnusedBenchGuyText3
db "@"
VermilionCityPokecenterBenchGuyText: ; 624d0 (18:64d0)
TX_FAR _VermilionPokecenterGuyText
db "@"
CeladonCityPokecenterBenchGuyText: ; 624d5 (18:64d5)
TX_FAR _CeladonCityPokecenterGuyText
db "@"
FuchsiaCityPokecenterBenchGuyText: ; 624da (18:64da)
TX_FAR _FuchsiaCityPokecenterGuyText
db "@"
CinnabarIslandPokecenterBenchGuyText: ; 624df (18:64df)
TX_FAR _CinnabarPokecenterGuyText
db "@"
SaffronCityPokecenterBenchGuyText: ; 624e4 (18:64e4)
TX_ASM
CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
ld hl, SaffronCityPokecenterBenchGuyText2
jr nz, .asm_624f2
ld hl, SaffronCityPokecenterBenchGuyText1
.asm_624f2
call PrintText
jp TextScriptEnd
SaffronCityPokecenterBenchGuyText1: ; 624f8 (18:64f8)
TX_FAR _SaffronCityPokecenterGuyText1
db "@"
SaffronCityPokecenterBenchGuyText2: ; 624fd (18:64fd)
TX_FAR _SaffronCityPokecenterGuyText2
db "@"
CeladonCityHotelText: ; 62502 (18:6502)
TX_FAR _CeladonCityHotelText
db "@"
ret
UnusedPredefText: ; 62508 (18:6508)
db "@"
PrintBookcaseText: ; 626e1 (18:66e1)
call EnableAutoTextBoxDrawing
tx_pre_jump BookcaseText
BookcaseText: ; 62511 (18:6511)
TX_FAR _BookcaseText
db "@"
OpenPokemonCenterPC: ; 62516 (18:6516)
ld a, [wSpriteStateData1 + 9]
cp SPRITE_FACING_UP ; check to see if player is facing up
ret nz
call EnableAutoTextBoxDrawing
ld a, $1
ld [wAutoTextBoxDrawingControl], a
tx_pre_jump PokemonCenterPCText
PokemonCenterPCText: ; 62529 (18:6529)
db $F9 ; FuncTX_PokemonCenterPC