pokered/engine/hidden_object_functions18.asm
Rangi 4b853ad676
Separate maps.asm, pics.asm, sprites.asm, and tilesets.asm from main.asm (#251)
Each new file builds its own .o, along with separate main.o and home.o, which necessitates many more "exported::" labels.
2020-06-27 15:32:24 -04:00

198 lines
4.3 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:
; 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:
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::
TX_FAR _GymStatueText1
db "@"
GymStatueText2::
TX_FAR _GymStatueText2
db "@"
PrintBenchGuyText:
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:
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 $FF
ViridianCityPokecenterBenchGuyText::
TX_FAR _ViridianCityPokecenterGuyText
db "@"
PewterCityPokecenterBenchGuyText::
TX_FAR _PewterCityPokecenterGuyText
db "@"
CeruleanCityPokecenterBenchGuyText::
TX_FAR _CeruleanPokecenterGuyText
db "@"
LavenderCityPokecenterBenchGuyText::
TX_FAR _LavenderPokecenterGuyText
db "@"
MtMoonPokecenterBenchGuyText::
TX_FAR _MtMoonPokecenterBenchGuyText
db "@"
RockTunnelPokecenterBenchGuyText::
TX_FAR _RockTunnelPokecenterGuyText
db "@"
UnusedBenchGuyText1::
TX_FAR _UnusedBenchGuyText1
db "@"
UnusedBenchGuyText2::
TX_FAR _UnusedBenchGuyText2
db "@"
UnusedBenchGuyText3::
TX_FAR _UnusedBenchGuyText3
db "@"
VermilionCityPokecenterBenchGuyText::
TX_FAR _VermilionPokecenterGuyText
db "@"
CeladonCityPokecenterBenchGuyText::
TX_FAR _CeladonCityPokecenterGuyText
db "@"
FuchsiaCityPokecenterBenchGuyText::
TX_FAR _FuchsiaCityPokecenterGuyText
db "@"
CinnabarIslandPokecenterBenchGuyText::
TX_FAR _CinnabarPokecenterGuyText
db "@"
SaffronCityPokecenterBenchGuyText::
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:
TX_FAR _SaffronCityPokecenterGuyText1
db "@"
SaffronCityPokecenterBenchGuyText2:
TX_FAR _SaffronCityPokecenterGuyText2
db "@"
CeladonCityHotelText::
TX_FAR _CeladonCityHotelText
db "@"
ret
UnusedPredefText::
db "@"
PrintBookcaseText:
call EnableAutoTextBoxDrawing
tx_pre_jump BookcaseText
BookcaseText::
TX_FAR _BookcaseText
db "@"
OpenPokemonCenterPC:
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::
TX_POKECENTER_PC