2018-01-09 05:36:15 +00:00
|
|
|
INCLUDE "constants.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2017-12-16 02:32:43 +00:00
|
|
|
|
2017-06-17 23:14:55 +00:00
|
|
|
SECTION "NULL", ROM0
|
2018-06-25 16:24:18 +00:00
|
|
|
|
2014-02-02 01:26:39 +00:00
|
|
|
NULL::
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2017-12-25 02:46:32 +00:00
|
|
|
INCLUDE "home/rst.asm"
|
2017-12-17 00:00:50 +00:00
|
|
|
|
2017-12-25 02:46:32 +00:00
|
|
|
INCLUDE "home/interrupts.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2017-12-16 02:32:43 +00:00
|
|
|
|
2017-06-17 23:14:55 +00:00
|
|
|
SECTION "Header", ROM0
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2014-02-02 01:26:39 +00:00
|
|
|
Start::
|
2013-11-29 07:30:08 +00:00
|
|
|
nop
|
|
|
|
jp _Start
|
|
|
|
|
2017-12-16 02:32:43 +00:00
|
|
|
|
2017-06-17 23:14:55 +00:00
|
|
|
SECTION "Home", ROM0
|
2013-11-29 07:30:08 +00:00
|
|
|
|
|
|
|
INCLUDE "home/init.asm"
|
|
|
|
INCLUDE "home/vblank.asm"
|
|
|
|
INCLUDE "home/delay.asm"
|
|
|
|
INCLUDE "home/rtc.asm"
|
|
|
|
INCLUDE "home/fade.asm"
|
|
|
|
INCLUDE "home/lcd.asm"
|
|
|
|
INCLUDE "home/time.asm"
|
|
|
|
INCLUDE "home/serial.asm"
|
|
|
|
INCLUDE "home/joypad.asm"
|
|
|
|
INCLUDE "home/decompress.asm"
|
|
|
|
INCLUDE "home/palettes.asm"
|
|
|
|
INCLUDE "home/copy.asm"
|
|
|
|
INCLUDE "home/text.asm"
|
|
|
|
INCLUDE "home/video.asm"
|
|
|
|
INCLUDE "home/map_objects.asm"
|
|
|
|
INCLUDE "home/sine.asm"
|
|
|
|
INCLUDE "home/movement.asm"
|
|
|
|
INCLUDE "home/menu.asm"
|
2019-11-03 19:46:21 +00:00
|
|
|
INCLUDE "home/menu_window.asm"
|
|
|
|
INCLUDE "home/menu2.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
INCLUDE "home/handshake.asm"
|
|
|
|
INCLUDE "home/game_time.asm"
|
|
|
|
INCLUDE "home/map.asm"
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
InexplicablyEmptyFunction::
|
2018-01-02 17:49:25 +00:00
|
|
|
; unused
|
2013-11-29 07:30:08 +00:00
|
|
|
; Inexplicably empty.
|
|
|
|
; Seen in PredefPointers.
|
2017-12-23 03:50:28 +00:00
|
|
|
rept 16
|
2013-11-29 07:30:08 +00:00
|
|
|
nop
|
2017-12-23 03:50:28 +00:00
|
|
|
endr
|
2013-11-29 07:30:08 +00:00
|
|
|
ret
|
|
|
|
|
|
|
|
INCLUDE "home/farcall.asm"
|
|
|
|
INCLUDE "home/predef.asm"
|
|
|
|
INCLUDE "home/window.asm"
|
|
|
|
INCLUDE "home/flag.asm"
|
|
|
|
|
2018-09-16 00:15:55 +00:00
|
|
|
Unreferenced_CheckBPressedDebug::
|
|
|
|
; Used in debug ROMs to walk through walls and avoid encounters.
|
|
|
|
|
|
|
|
ld a, [wDebugFlags]
|
|
|
|
bit DEBUG_FIELD_F, a
|
2013-11-29 07:30:08 +00:00
|
|
|
ret z
|
2015-09-09 23:27:07 +00:00
|
|
|
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hJoyDown]
|
2015-12-26 23:11:55 +00:00
|
|
|
bit B_BUTTON_F, a
|
2013-11-29 07:30:08 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
xor_a::
|
2013-11-29 07:30:08 +00:00
|
|
|
xor a
|
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
xor_a_dec_a::
|
2013-11-29 07:30:08 +00:00
|
|
|
xor a
|
|
|
|
dec a
|
|
|
|
ret
|
|
|
|
|
2018-09-16 00:15:55 +00:00
|
|
|
Unreferenced_CheckFieldDebug::
|
2013-11-29 07:30:08 +00:00
|
|
|
push hl
|
2018-09-16 00:15:55 +00:00
|
|
|
ld hl, wDebugFlags
|
|
|
|
bit DEBUG_FIELD_F, [hl]
|
2013-11-29 07:30:08 +00:00
|
|
|
pop hl
|
|
|
|
ret
|
|
|
|
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/sprite_updates.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
INCLUDE "home/string.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/region.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
ret_2f3e::
|
2013-11-29 07:30:08 +00:00
|
|
|
ret
|
|
|
|
|
|
|
|
INCLUDE "home/item.asm"
|
|
|
|
INCLUDE "home/random.asm"
|
|
|
|
INCLUDE "home/sram.asm"
|
|
|
|
|
|
|
|
; Register aliases
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
_hl_::
|
2017-06-17 23:14:55 +00:00
|
|
|
jp hl
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
_de_::
|
2013-11-29 07:30:08 +00:00
|
|
|
push de
|
|
|
|
ret
|
|
|
|
|
|
|
|
INCLUDE "home/double_speed.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/clear_sprites.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
INCLUDE "home/copy2.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/copy_tilemap.asm"
|
|
|
|
INCLUDE "home/copy_name.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
IsInArray::
|
2013-11-29 07:30:08 +00:00
|
|
|
; Find value a for every de bytes in array hl.
|
|
|
|
; Return index in b and carry if found.
|
|
|
|
|
|
|
|
ld b, 0
|
|
|
|
ld c, a
|
|
|
|
.loop
|
|
|
|
ld a, [hl]
|
2015-07-22 19:57:02 +00:00
|
|
|
cp -1
|
2013-11-29 07:30:08 +00:00
|
|
|
jr z, .NotInArray
|
|
|
|
cp c
|
|
|
|
jr z, .InArray
|
|
|
|
inc b
|
|
|
|
add hl, de
|
|
|
|
jr .loop
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.NotInArray:
|
2013-11-29 07:30:08 +00:00
|
|
|
and a
|
|
|
|
ret
|
|
|
|
|
2016-04-10 18:42:14 +00:00
|
|
|
.InArray:
|
2013-11-29 07:30:08 +00:00
|
|
|
scf
|
|
|
|
ret
|
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
SkipNames::
|
2014-05-21 20:21:46 +00:00
|
|
|
; Skip a names.
|
|
|
|
ld bc, NAME_LENGTH
|
2013-11-29 07:30:08 +00:00
|
|
|
and a
|
|
|
|
ret z
|
|
|
|
.loop
|
|
|
|
add hl, bc
|
|
|
|
dec a
|
|
|
|
jr nz, .loop
|
|
|
|
ret
|
|
|
|
|
|
|
|
INCLUDE "home/math.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/print_text.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
CallPointerAt::
|
2018-08-25 18:28:22 +00:00
|
|
|
ldh a, [hROMBank]
|
2013-11-29 07:30:08 +00:00
|
|
|
push af
|
|
|
|
ld a, [hli]
|
|
|
|
rst Bankswitch
|
|
|
|
|
|
|
|
ld a, [hli]
|
|
|
|
ld h, [hl]
|
|
|
|
ld l, a
|
|
|
|
|
|
|
|
call _hl_
|
|
|
|
|
|
|
|
pop hl
|
|
|
|
ld a, h
|
|
|
|
rst Bankswitch
|
|
|
|
ret
|
|
|
|
|
2018-07-23 04:25:53 +00:00
|
|
|
INCLUDE "home/queue_script.asm"
|
|
|
|
INCLUDE "home/compare.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/tilemap.asm"
|
2018-05-23 15:08:23 +00:00
|
|
|
INCLUDE "home/hp_pals.asm"
|
2013-11-29 07:30:08 +00:00
|
|
|
|
2018-06-25 00:10:37 +00:00
|
|
|
CountSetBits::
|
2013-11-29 07:30:08 +00:00
|
|
|
; Count the number of set bits in b bytes starting from hl.
|
2018-07-28 23:27:34 +00:00
|
|
|
; Return in a, c and [wNumSetBits].
|
2013-11-29 07:30:08 +00:00
|
|
|
ld c, 0
|
|
|
|
.next
|
|
|
|
ld a, [hli]
|
|
|
|
ld e, a
|
|
|
|
ld d, 8
|
|
|
|
|
|
|
|
.count
|
|
|
|
srl e
|
|
|
|
ld a, 0
|
|
|
|
adc c
|
|
|
|
ld c, a
|
|
|
|
dec d
|
|
|
|
jr nz, .count
|
|
|
|
|
|
|
|
dec b
|
|
|
|
jr nz, .next
|
|
|
|
|
|
|
|
ld a, c
|
2018-07-28 23:27:34 +00:00
|
|
|
ld [wNumSetBits], a
|
2013-11-29 07:30:08 +00:00
|
|
|
ret
|
|
|
|
|
2018-06-24 14:09:41 +00:00
|
|
|
GetWeekday::
|
2018-01-23 22:39:09 +00:00
|
|
|
ld a, [wCurDay]
|
2013-11-29 07:30:08 +00:00
|
|
|
.mod
|
|
|
|
sub 7
|
|
|
|
jr nc, .mod
|
|
|
|
add 7
|
|
|
|
ret
|
|
|
|
|
|
|
|
INCLUDE "home/pokedex_flags.asm"
|
2017-12-23 03:50:28 +00:00
|
|
|
INCLUDE "home/names.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/scrolling_menu.asm"
|
|
|
|
INCLUDE "home/stone_queue.asm"
|
2017-12-23 03:50:28 +00:00
|
|
|
INCLUDE "home/trainers.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/mon_stats.asm"
|
2014-07-18 17:26:15 +00:00
|
|
|
INCLUDE "home/cry.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/print_level.asm"
|
|
|
|
INCLUDE "home/mon_data.asm"
|
|
|
|
INCLUDE "home/print_bcd.asm"
|
|
|
|
INCLUDE "home/mon_data_2.asm"
|
2014-05-21 20:37:18 +00:00
|
|
|
INCLUDE "home/battle.asm"
|
2018-04-05 04:35:14 +00:00
|
|
|
INCLUDE "home/sprite_anims.asm"
|
2014-05-21 20:26:28 +00:00
|
|
|
INCLUDE "home/audio.asm"
|
2014-08-22 17:57:06 +00:00
|
|
|
INCLUDE "home/mobile.asm"
|