pokered/engine/hidden_object_functions18.asm

199 lines
5 KiB
NASM
Raw Normal View History

2014-05-22 22:13:20 +00:00
GymStatues: ; 62419 (18:6419)
; 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
2014-05-22 22:13:20 +00:00
; else ret
call EnableAutoTextBoxDrawing
ld a, [wSpriteStateData1 + 9]
cp SPRITE_FACING_UP
2014-05-22 22:13:20 +00:00
ret nz
ld hl, .BadgeFlags
2015-08-31 02:38:41 +00:00
ld a, [wCurMap]
2014-05-22 22:13:20 +00:00
ld b, a
.loop
2014-05-22 22:13:20 +00:00
ld a, [hli]
cp $ff
ret z
cp b
jr z, .match
2014-05-22 22:13:20 +00:00
inc hl
jr .loop
.match
2014-05-22 22:13:20 +00:00
ld b, [hl]
2015-07-26 02:26:54 +00:00
ld a, [wBeatGymFlags]
2014-05-22 22:13:20 +00:00
and b
cp b
tx_pre_id GymStatueText2
jr z, .haveBadge
tx_pre_id GymStatueText1
.haveBadge
2014-05-22 22:13:20 +00:00
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
2015-08-31 02:38:41 +00:00
ld a, [wCurMap]
2014-05-22 22:13:20 +00:00
ld b, a
.loop
2014-05-22 22:13:20 +00:00
ld a, [hli]
cp $ff
ret z
cp b
jr z, .match
2014-05-22 22:13:20 +00:00
inc hl
inc hl
jr .loop
.match
2014-05-22 22:13:20 +00:00
ld a, [hli]
ld b, a
ld a, [wSpriteStateData1 + 9]
2014-05-22 22:13:20 +00:00
cp b
jr nz, .loop ; player isn't facing left at the bench guy
2014-05-22 22:13:20 +00:00
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 (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
2014-05-22 22:13:20 +00:00
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)
2015-07-03 19:58:50 +00:00
TX_ASM
2015-07-21 17:36:03 +00:00
CheckEvent EVENT_BEAT_SILPH_CO_GIOVANNI
2014-05-22 22:13:20 +00:00
ld hl, SaffronCityPokecenterBenchGuyText2
jr nz, .asm_624f2
2014-05-22 22:13:20 +00:00
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)
2014-05-22 22:13:20 +00:00
db "@"
PrintBookcaseText: ; 6509 (18:6509)
call EnableAutoTextBoxDrawing
tx_pre_jump BookcaseText
2014-05-22 22:13:20 +00:00
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
2014-05-22 22:13:20 +00:00
ret nz
call EnableAutoTextBoxDrawing
ld a, $1
2014-09-13 07:50:56 +00:00
ld [wAutoTextBoxDrawingControl], a
tx_pre_jump PokemonCenterPCText
2014-05-22 22:13:20 +00:00
PokemonCenterPCText: ; 62529 (18:6529)
2014-05-22 22:13:20 +00:00
db $F9 ; FuncTX_PokemonCenterPC