mirror of
https://github.com/pret/pokegold-spaceworld.git
synced 2026-04-26 08:13:44 -05:00
4091 lines
51 KiB
NASM
Executable File
4091 lines
51 KiB
NASM
Executable File
INCLUDE "constants.asm"
|
||
|
||
SECTION "engine/dumps/bank01.asm@Function40fd", ROMX
|
||
|
||
Function40fd:
|
||
ld hl, wd41a
|
||
set 5, [hl]
|
||
ld hl, wd41a
|
||
set 7, [hl]
|
||
ld hl, wd41a
|
||
set 0, [hl]
|
||
ld hl, wd41a
|
||
set 3, [hl]
|
||
ld hl, wd41a
|
||
set 6, [hl]
|
||
ld hl, wd41a
|
||
set 6, [hl]
|
||
ld hl, wd41e
|
||
set 5, [hl]
|
||
ld hl, wd41b
|
||
set 1, [hl]
|
||
ld hl, wd41c
|
||
set 4, [hl]
|
||
ld hl, wd41d
|
||
set 2, [hl]
|
||
ld hl, wd41b
|
||
set 2, [hl]
|
||
ld a, $01
|
||
ld [wd29a], a
|
||
ld a, $01
|
||
ld [wd29b], a
|
||
ld a, $06
|
||
ld [wd29c], a
|
||
ld a, $12
|
||
ld [wd29d], a
|
||
ld a, $06
|
||
ld [wd29e], a
|
||
ld a, $02
|
||
ld [wd2a0], a
|
||
ret
|
||
|
||
SECTION "engine/dumps/bank01.asm@Table416b", ROMX
|
||
|
||
Table416b:
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41ef
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41ef
|
||
dw Unknown420f
|
||
dw Unknown41f3
|
||
dw Unknown4203
|
||
dw Unknown41f7
|
||
dw Unknown4203
|
||
dw Unknown41f3
|
||
dw Unknown4203
|
||
dw Unknown41f7
|
||
dw Unknown420f
|
||
dw Unknown41fb
|
||
dw Unknown4203
|
||
dw Unknown41ff
|
||
dw Unknown4203
|
||
dw Unknown41fb
|
||
dw Unknown4203
|
||
dw Unknown41ff
|
||
dw Unknown4203
|
||
dw Unknown41fb
|
||
dw Unknown420f
|
||
dw Unknown41ff
|
||
dw Unknown420f
|
||
dw Unknown41fb
|
||
dw Unknown420f
|
||
dw Unknown41ff
|
||
dw Unknown420f
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
dw Unknown41eb
|
||
dw Unknown4203
|
||
|
||
Unknown41eb:
|
||
db $00, $01, $02, $03
|
||
|
||
Unknown41ef:
|
||
db $80, $81, $82, $83
|
||
|
||
Unknown41f3:
|
||
db $04, $05, $06, $07
|
||
|
||
Unknown41f7:
|
||
db $84, $85, $86, $87
|
||
|
||
Unknown41fb:
|
||
db $08, $09, $0a, $0b
|
||
|
||
Unknown41ff:
|
||
db $88, $89, $8a, $8b
|
||
|
||
Unknown4203:
|
||
db $00, $00, $00, $00
|
||
db $08, $00, $08, $00
|
||
db $02, $08, $08, $03
|
||
|
||
Unknown420f:
|
||
db $00, $08, $20, $00
|
||
db $00, $20, $08, $08
|
||
db $22, $08, $00, $23
|
||
|
||
Table421b:
|
||
dw Unknown423b
|
||
dw Unknown424b
|
||
dw Unknown423b
|
||
dw Unknown425b
|
||
dw Unknown426b
|
||
dw Unknown427b
|
||
dw Unknown426b
|
||
dw Unknown428b
|
||
dw Unknown429b
|
||
dw Unknown42bb
|
||
dw Unknown429b
|
||
dw Unknown42bb
|
||
dw Unknown42ab
|
||
dw Unknown42cb
|
||
dw Unknown42ab
|
||
dw Unknown42cb
|
||
|
||
Unknown423b:
|
||
db $00, $00, $00, $00
|
||
db $00, $08, $01, $00
|
||
db $08, $00, $02, $02
|
||
db $08, $08, $03, $03
|
||
|
||
Unknown424b:
|
||
db $00, $00, $80, $00
|
||
db $00, $08, $81, $00
|
||
db $08, $00, $82, $02
|
||
db $08, $08, $83, $03
|
||
|
||
Unknown425b:
|
||
db $00, $08, $80, $20
|
||
db $00, $00, $81, $20
|
||
db $08, $08, $82, $22
|
||
db $08, $00, $83, $23
|
||
|
||
Unknown426b:
|
||
db $00, $00, $04, $00
|
||
db $00, $08, $05, $00
|
||
db $08, $00, $06, $02
|
||
db $08, $08, $07, $03
|
||
|
||
Unknown427b:
|
||
db $00, $00, $84, $00
|
||
db $00, $08, $85, $00
|
||
db $08, $00, $86, $02
|
||
db $08, $08, $87, $03
|
||
|
||
Unknown428b:
|
||
db $00, $08, $84, $20
|
||
db $00, $00, $85, $20
|
||
db $08, $08, $86, $22
|
||
db $08, $00, $87, $23
|
||
|
||
Unknown429b:
|
||
db $00, $00, $08, $00
|
||
db $00, $08, $09, $00
|
||
db $08, $00, $0a, $02
|
||
db $08, $08, $0b, $03
|
||
|
||
Unknown42ab:
|
||
db $00, $08, $08, $20
|
||
db $00, $00, $09, $20
|
||
db $08, $08, $0a, $22
|
||
db $08, $00, $0b, $23
|
||
|
||
Unknown42bb:
|
||
db $00, $00, $88, $00
|
||
db $00, $08, $89, $00
|
||
db $08, $00, $8a, $02
|
||
db $08, $08, $8b, $03
|
||
|
||
Unknown42cb:
|
||
db $00, $08, $88, $20
|
||
db $00, $00, $89, $20
|
||
db $08, $08, $8a, $22
|
||
db $08, $00, $8b, $23
|
||
|
||
Function42db:
|
||
ld bc, wCmdQueue
|
||
ld a, $01
|
||
.sub_42e0
|
||
ldh [hConnectedMapWidth], a
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_42ed
|
||
call .sub_42fb
|
||
.sub_42ed
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld b, h
|
||
ld c, l
|
||
ldh a, [hConnectedMapWidth]
|
||
inc a
|
||
cp $05
|
||
jr nz, .sub_42e0
|
||
ret
|
||
.sub_42fb
|
||
ld hl, $0001
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, Table431d
|
||
call CallJumptable
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
ret z
|
||
ld hl, $0002
|
||
add hl, bc
|
||
ld e, [hl]
|
||
ld d, $00
|
||
ld hl, Table4329
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
jp hl
|
||
|
||
Table431d::
|
||
dw Function4333
|
||
dw Function439e
|
||
dw Function4430
|
||
dw Function4374
|
||
dw Function4374
|
||
dw Function43c9
|
||
|
||
Table4329::
|
||
dw Function4334
|
||
dw Function4452
|
||
dw Function4459
|
||
dw Function446c
|
||
dw Function4495
|
||
|
||
Function4333:
|
||
ret
|
||
|
||
Function4334:
|
||
ret
|
||
|
||
Function4335:
|
||
push bc
|
||
ld h, b
|
||
ld l, c
|
||
ld bc, $0010
|
||
xor a
|
||
call ByteFill
|
||
pop bc
|
||
ret
|
||
|
||
Function4341:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
inc [hl]
|
||
ret
|
||
|
||
Function4347:
|
||
pop hl
|
||
ld e, [hl]
|
||
inc hl
|
||
ld d, [hl]
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld l, [hl]
|
||
ld h, $00
|
||
add hl, hl
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
jp hl
|
||
|
||
Function4358:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add a
|
||
ld l, a
|
||
ld h, $00
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
jp hl
|
||
|
||
Function4366:
|
||
push bc
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
dec a
|
||
call GetObjectStruct
|
||
ld d, b
|
||
ld e, c
|
||
pop bc
|
||
ret
|
||
|
||
Function4374:
|
||
ld de, Table437a
|
||
jp Function4358
|
||
|
||
Table437a:
|
||
dw Function437e
|
||
dw Function439b
|
||
|
||
Function437e:
|
||
call Function4341
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $000f
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], a
|
||
|
||
Function439b:
|
||
jp Function4402
|
||
|
||
Function439e:
|
||
ld de, Table43a4
|
||
jp Function4358
|
||
|
||
Table43a4:
|
||
dw Function43a8
|
||
dw Function43c6
|
||
|
||
Function43a8:
|
||
call Function4341
|
||
call Function4366
|
||
ld hl, $0009
|
||
add hl, de
|
||
ld a, [hl]
|
||
add a
|
||
dec a
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], $08
|
||
|
||
Function43c6:
|
||
jp Function4402
|
||
|
||
Function43c9:
|
||
ld de, Table43cf
|
||
jp Function4358
|
||
|
||
Table43cf:
|
||
dw Function43d3
|
||
dw Function43ff
|
||
|
||
Function43d3:
|
||
call Function4366
|
||
ld hl, $0009
|
||
add hl, de
|
||
ld a, [hl]
|
||
add $01
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $000f
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ldh a, [rOBP1]
|
||
ld [hl], a
|
||
ldh [rOBP1], a
|
||
|
||
Function43ff:
|
||
jp Function4402
|
||
|
||
Function4402:
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_440e
|
||
dec [hl]
|
||
jp z, Function4335
|
||
.sub_440e
|
||
call Function4366
|
||
ld hl, $0018
|
||
add hl, de
|
||
ld a, [hl]
|
||
ld hl, $0006
|
||
add hl, bc
|
||
add [hl]
|
||
ld hl, $0004
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0019
|
||
add hl, de
|
||
ld a, [hl]
|
||
ld hl, $0007
|
||
add hl, bc
|
||
add [hl]
|
||
ld hl, $0005
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function4430:
|
||
ld hl, Table4436
|
||
jp Function4358
|
||
|
||
Table4436:
|
||
dw Function443a
|
||
dw Function444f
|
||
|
||
Function443a:
|
||
call Function4341
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], $31
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], $f0
|
||
|
||
Function444f:
|
||
jp Function4402
|
||
|
||
Function4452:
|
||
ld hl, $000c
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ret
|
||
|
||
Function4459:
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld a, [hl]
|
||
cp $30
|
||
ld a, $01
|
||
jr c, .sub_4466
|
||
ld a, $00
|
||
.sub_4466
|
||
ld hl, $000c
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function446c:
|
||
ld hl, $0009
|
||
add hl, bc
|
||
inc [hl]
|
||
ld a, [hl]
|
||
cp $05
|
||
jr c, .sub_4480
|
||
xor a
|
||
ld [hl], a
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld a, [hl]
|
||
xor $01
|
||
ld [hl], a
|
||
.sub_4480
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld a, $00
|
||
bit 0, [hl]
|
||
jr z, .sub_448f
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ld a, [hl]
|
||
.sub_448f
|
||
ld hl, $000c
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function4495:
|
||
ld hl, $0009
|
||
add hl, bc
|
||
inc [hl]
|
||
ld a, [hl]
|
||
cp $03
|
||
ld a, $03
|
||
jr nz, .sub_44a5
|
||
xor a
|
||
ld [hl], a
|
||
ld a, $04
|
||
.sub_44a5
|
||
ld hl, $000c
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Table44ab:
|
||
dw Unknown44b5
|
||
dw Unknown44b6
|
||
dw Unknown44c7
|
||
dw Unknown44d0
|
||
dw Unknown44e1
|
||
|
||
Unknown44b5:
|
||
db $00
|
||
|
||
Unknown44b6:
|
||
db $04, $00, $00, $00
|
||
db $00, $00, $08, $01
|
||
db $00, $08, $00, $02
|
||
db $00, $08, $08, $03, $00
|
||
|
||
Unknown44c7:
|
||
db $02, $00, $00, $00
|
||
db $00, $00, $08, $00, $20
|
||
|
||
Unknown44d0:
|
||
db $04, $00, $00, $00
|
||
db $00, $00, $08, $00
|
||
db $00, $08, $00, $00
|
||
db $00, $08, $08, $00, $00
|
||
|
||
Unknown44e1:
|
||
db $04, $00, $00, $00
|
||
db $40, $00, $08, $00
|
||
db $40, $08, $00, $00
|
||
db $40, $08, $08, $00, $40
|
||
|
||
Function44f2:
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr nz, .sub_44fd
|
||
call Function486a
|
||
.sub_44fd
|
||
ld e, a
|
||
ld d, $00
|
||
ld hl, Function4545
|
||
push hl
|
||
ld hl, $0005
|
||
add hl, bc
|
||
bit 5, [hl]
|
||
jp nz, Function453e
|
||
ld hl, Table4516
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
jp hl
|
||
|
||
Table4516::
|
||
dw Function486a
|
||
dw Function47b8
|
||
dw Function4b88
|
||
dw Function4b65
|
||
dw Function4b78
|
||
dw Function4bc9
|
||
dw Function4baa
|
||
dw Function484d
|
||
dw Function4856
|
||
dw Function4859
|
||
dw Function485c
|
||
dw Function485f
|
||
dw Function485f
|
||
dw Function485f
|
||
dw Function485f
|
||
dw Function4ed5
|
||
dw Function4f14
|
||
dw Function4a05
|
||
dw Function4a8b
|
||
dw Function4869
|
||
|
||
Function453e:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ret
|
||
|
||
Function4545:
|
||
ld hl, $0005
|
||
add hl, bc
|
||
bit 6, [hl]
|
||
jr nz, Function4560
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, Table4558
|
||
jp CallJumptable
|
||
|
||
Table4558:
|
||
dw Function4560
|
||
dw Function4567
|
||
dw Function4593
|
||
dw Function45a0
|
||
|
||
Function4560:
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ret
|
||
|
||
Function4567:
|
||
ld hl, $0004
|
||
add hl, bc
|
||
bit 3, [hl]
|
||
jr nz, Function4593
|
||
ld hl, $0005
|
||
add hl, bc
|
||
bit 5, [hl]
|
||
jr nz, Function4593
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld a, [hl]
|
||
inc a
|
||
and $0f
|
||
ld [hl], a
|
||
rrca
|
||
rrca
|
||
and $03
|
||
ld d, a
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $0c
|
||
or d
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function4593:
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $0c
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function45a0:
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $f0
|
||
ld e, a
|
||
ld a, [hl]
|
||
inc a
|
||
and $0f
|
||
ld d, a
|
||
cp $04
|
||
jr c, .sub_45b9
|
||
ld d, $00
|
||
ld a, e
|
||
add $10
|
||
and $30
|
||
ld e, a
|
||
.sub_45b9
|
||
ld a, d
|
||
or e
|
||
ld [hl], a
|
||
swap e
|
||
ld d, $00
|
||
ld hl, Unknown45d0
|
||
add hl, de
|
||
ld a, [hl]
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Unknown45d0:
|
||
db $00, $0C, $04, $08
|
||
|
||
Function45d4:
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0012
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0013
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $000f
|
||
add hl, bc
|
||
ld [hl], a
|
||
call Function464c
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld a, [hl]
|
||
call Function4636
|
||
ret
|
||
|
||
Function45fe:
|
||
ld hl, $0012
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0013
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function4613:
|
||
ld hl, $0005
|
||
add hl, bc
|
||
bit 3, [hl]
|
||
jr z, .sub_4623
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld a, [hl]
|
||
call Function464c
|
||
.sub_4623
|
||
nop
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld a, [hl]
|
||
call Function4636
|
||
ret c
|
||
ld hl, $000f
|
||
add hl, bc
|
||
ld a, [hl]
|
||
call Function4636
|
||
ret
|
||
|
||
Function4636:
|
||
and $f0
|
||
cp $70
|
||
nop
|
||
nop
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 7, [hl]
|
||
and a
|
||
ret
|
||
|
||
Function4644:
|
||
ld hl, $0005
|
||
add hl, bc
|
||
set 7, [hl]
|
||
scf
|
||
ret
|
||
|
||
Function464c:
|
||
call .sub_465f
|
||
jr c, .sub_4658
|
||
ld hl, $0005
|
||
add hl, bc
|
||
set 3, [hl]
|
||
ret
|
||
.sub_4658
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 3, [hl]
|
||
ret
|
||
.sub_465f
|
||
ld d, a
|
||
and $f0
|
||
cp $10
|
||
jr z, .sub_466c
|
||
cp $20
|
||
jr z, .sub_4672
|
||
scf
|
||
ret
|
||
.sub_466c
|
||
ld a, d
|
||
and $07
|
||
ret z
|
||
scf
|
||
ret
|
||
.sub_4672
|
||
ld a, d
|
||
and $07
|
||
ret z
|
||
scf
|
||
ret
|
||
|
||
Function4678:
|
||
xor a
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ret
|
||
|
||
Function468a:
|
||
and $0f
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0004
|
||
add hl, bc
|
||
bit 2, [hl]
|
||
jr nz, Function46a2
|
||
ld hl, $0007
|
||
add hl, bc
|
||
add a
|
||
add a
|
||
and $0c
|
||
ld [hl], a
|
||
|
||
Function46a2:
|
||
call Function46e5
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld a, d
|
||
call Function4748
|
||
ld hl, $0012
|
||
add hl, bc
|
||
add [hl]
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld d, a
|
||
ld a, e
|
||
call Function4748
|
||
ld hl, $0013
|
||
add hl, bc
|
||
add [hl]
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld e, a
|
||
push bc
|
||
call GetCoordTile
|
||
pop bc
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function46d3:
|
||
call Function46e5
|
||
ld hl, $0018
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add d
|
||
ld [hl], a
|
||
ld hl, $0019
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add e
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function46e5:
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld l, [hl]
|
||
ld h, $00
|
||
add hl, hl
|
||
add hl, hl
|
||
ld de, Table4708
|
||
add hl, de
|
||
ld d, [hl]
|
||
inc hl
|
||
ld e, [hl]
|
||
inc hl
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ret
|
||
|
||
Function46f9:
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld l, [hl]
|
||
ld h, $00
|
||
add hl, hl
|
||
add hl, hl
|
||
ld de, Table470b
|
||
add hl, de
|
||
ld a, [hl]
|
||
ret
|
||
|
||
Table4708:
|
||
db $00, $01, $10
|
||
|
||
Table470b:
|
||
db $01, $00, $ff
|
||
db $10, $01, $ff
|
||
db $00, $10, $01
|
||
db $01, $00, $10
|
||
db $01, $00, $02
|
||
db $08, $02, $00
|
||
db $fe, $08, $02
|
||
db $fe, $00, $08
|
||
db $02, $02, $00
|
||
db $08, $02, $00
|
||
db $04, $04, $04
|
||
db $00, $fc, $04
|
||
db $04, $fc, $00
|
||
db $04, $04, $04
|
||
db $00, $04, $04
|
||
db $00, $08, $02
|
||
db $08, $00, $f8
|
||
db $02, $08, $f8
|
||
db $00, $02, $08
|
||
db $08, $00, $02
|
||
db $08
|
||
|
||
Function4748:
|
||
add a
|
||
ret z
|
||
ld a, $01
|
||
ret nc
|
||
ld a, $ff
|
||
ret
|
||
|
||
Function4750:
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $03
|
||
ld [wPlayerStepDirection], a
|
||
call Function46e5
|
||
ld a, d
|
||
ld [wcb6c], a
|
||
ld a, e
|
||
ld [wcb6d], a
|
||
ld hl, wcb6e
|
||
set 5, [hl]
|
||
ret
|
||
|
||
Function476b:
|
||
ld a, [wXCoord]
|
||
ld d, a
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld a, [hl]
|
||
sub d
|
||
and $0f
|
||
swap a
|
||
ld hl, $0018
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld a, [wYCoord]
|
||
ld e, a
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld a, [hl]
|
||
sub e
|
||
and $0f
|
||
swap a
|
||
ld hl, $0019
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function4792:
|
||
ld hl, $001d
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ret
|
||
|
||
Function4799:
|
||
ld hl, $001d
|
||
add hl, bc
|
||
inc [hl]
|
||
ret
|
||
|
||
Function479f:
|
||
ld hl, $001d
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ret
|
||
|
||
Function47a5:
|
||
ld hl, $001d
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function47ab:
|
||
ld hl, $001d
|
||
add hl, bc
|
||
ld l, [hl]
|
||
ld h, $00
|
||
add hl, hl
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
jp hl
|
||
|
||
Function47b8:
|
||
ld hl, $0003
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $1f
|
||
ld hl, Table47c5
|
||
jp CallJumptable
|
||
|
||
Table47c5:
|
||
dw Function47fb
|
||
dw Function4812
|
||
dw Function481c
|
||
dw Function47fc
|
||
dw Function4806
|
||
dw Function482b
|
||
dw Function482f
|
||
dw Function4833
|
||
dw Function4837
|
||
dw $0000
|
||
dw $0000
|
||
dw $0000
|
||
dw $0000
|
||
dw $0000
|
||
dw $0000
|
||
dw $0000
|
||
dw Function484d
|
||
dw Function4856
|
||
dw Function4859
|
||
dw Function485c
|
||
dw Function485f
|
||
dw Function485f
|
||
dw Function485f
|
||
dw Function485f
|
||
dw Function4862
|
||
dw Function4865
|
||
dw Function4868
|
||
|
||
Function47fb:
|
||
ret
|
||
|
||
Function47fc:
|
||
call Random
|
||
ldh a, [hRandomAdd]
|
||
and $01
|
||
jp Function48a9
|
||
|
||
Function4806:
|
||
call Random
|
||
ldh a, [hRandomAdd]
|
||
and $01
|
||
or $02
|
||
jp Function48a9
|
||
|
||
Function4812:
|
||
call Random
|
||
ldh a, [hRandomAdd]
|
||
and $03
|
||
jp Function48a9
|
||
|
||
Function481c:
|
||
call Random
|
||
ldh a, [hRandomAdd]
|
||
and $0c
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], a
|
||
jp Function48da
|
||
|
||
Function482b:
|
||
ld a, $00
|
||
jr Function4839
|
||
|
||
Function482f:
|
||
ld a, $04
|
||
jr Function4839
|
||
|
||
Function4833:
|
||
ld a, $08
|
||
jr Function4839
|
||
|
||
Function4837:
|
||
ld a, $0c
|
||
|
||
Function4839:
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], a
|
||
call Function45fe
|
||
call Function4678
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $04
|
||
jp Function4b78
|
||
|
||
Function484d:
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $07
|
||
jp Function4bed
|
||
|
||
Function4856:
|
||
jp Function4bf9
|
||
|
||
Function4859:
|
||
jp Function4c0c
|
||
|
||
Function485c:
|
||
jp Function4fbc
|
||
|
||
Function485f:
|
||
jp Function4bf3
|
||
|
||
Function4862:
|
||
jp Function4fbc
|
||
|
||
Function4865:
|
||
jp Function4c1f
|
||
|
||
Function4868:
|
||
ret
|
||
|
||
Function4869:
|
||
ret
|
||
|
||
Function486a:
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld d, [hl]
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld e, [hl]
|
||
push bc
|
||
call GetCoordTile
|
||
pop bc
|
||
ld hl, $000e
|
||
add hl, bc
|
||
ld [hl], a
|
||
call Function45d4
|
||
call Function4678
|
||
ld a, $01
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function488c:
|
||
call Function468a
|
||
call Function771e
|
||
jr c, Function48d4
|
||
call Function4613
|
||
ldh a, [hConnectionStripLength]
|
||
ld d, a
|
||
ld a, [wCenteredObject]
|
||
cp d
|
||
jr z, Function48c6
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $02
|
||
jp Function4b88
|
||
|
||
Function48a9:
|
||
call Function468a
|
||
call Function771e
|
||
jr c, Function48d4
|
||
call Function4613
|
||
ldh a, [hConnectionStripLength]
|
||
ld d, a
|
||
ld a, [wCenteredObject]
|
||
cp d
|
||
jr z, Function48c6
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $06
|
||
jp Function4baa
|
||
|
||
Function48c6:
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $05
|
||
ld hl, wcb6e
|
||
set 7, [hl]
|
||
jp Function4bc9
|
||
|
||
Function48d4:
|
||
call Function4678
|
||
call Function45fe
|
||
|
||
Function48da:
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $03
|
||
call Random
|
||
ldh a, [hRandomAdd]
|
||
and $7f
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], a
|
||
jp Function4b65
|
||
|
||
Function48f5:
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ld hl, $001c
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $07
|
||
cp $04
|
||
ld a, $07
|
||
jr nc, .sub_490a
|
||
ld a, $06
|
||
.sub_490a
|
||
call Function468a
|
||
call Function771e
|
||
jr c, .sub_4920
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ld hl, $001c
|
||
add hl, bc
|
||
inc [hl]
|
||
jp Function4b88
|
||
.sub_4920
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $01
|
||
call Function45fe
|
||
ret
|
||
|
||
Function4930:
|
||
ld a, [wPlayerNextMapX]
|
||
ld d, a
|
||
ld a, [wPlayerNextMapY]
|
||
ld e, a
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld a, d
|
||
sub [hl]
|
||
ld d, a
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld a, e
|
||
sub [hl]
|
||
ld e, a
|
||
jr z, .sub_495b
|
||
ld a, d
|
||
and a
|
||
jr z, .sub_4965
|
||
push de
|
||
ld a, d
|
||
call .sub_4973
|
||
ld d, a
|
||
ld a, e
|
||
call .sub_4973
|
||
ld e, a
|
||
cp d
|
||
pop de
|
||
jr nc, .sub_4965
|
||
.sub_495b
|
||
ld a, $08
|
||
bit 7, d
|
||
jr nz, .sub_496d
|
||
ld a, $0c
|
||
jr .sub_496d
|
||
.sub_4965
|
||
ld a, $04
|
||
bit 7, e
|
||
jr nz, .sub_496d
|
||
ld a, $00
|
||
.sub_496d
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
.sub_4973
|
||
bit 7, a
|
||
ret z
|
||
dec a
|
||
cpl
|
||
ret
|
||
|
||
Function4979:
|
||
ret
|
||
|
||
Function497a:
|
||
ld hl, $001e
|
||
add hl, bc
|
||
inc [hl]
|
||
ld a, [hl]
|
||
srl a
|
||
srl a
|
||
and $07
|
||
ld l, a
|
||
ld h, $00
|
||
ld de, Table4994
|
||
add hl, de
|
||
ld a, [hl]
|
||
ld hl, $001b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ret
|
||
|
||
Table4994:
|
||
db $00, $FF, $FE, $FD
|
||
db $FC, $FD, $FE, $FF
|
||
|
||
Function499c:
|
||
call Function46f9
|
||
ld hl, $001f
|
||
add hl, bc
|
||
ld e, [hl]
|
||
add e
|
||
ld [hl], a
|
||
ld d, $00
|
||
ld hl, Unknown49dc
|
||
add hl, de
|
||
ld a, [hl]
|
||
ld hl, $001b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ldh a, [hConnectionStripLength]
|
||
cp $01
|
||
ret nz
|
||
ldh a, [hJoypadState]
|
||
and $f0
|
||
ret z
|
||
ld d, $00
|
||
bit 7, a
|
||
jr nz, .sub_49d0
|
||
ld d, $04
|
||
bit 6, a
|
||
jr nz, .sub_49d0
|
||
ld d, $08
|
||
bit 5, a
|
||
jr nz, .sub_49d0
|
||
ld d, $0c
|
||
.sub_49d0
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], d
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ret
|
||
|
||
Unknown49dc:
|
||
db $FC, $FB, $FA, $F9
|
||
db $F8, $F7, $F6, $F5
|
||
db $F5, $F5, $F4, $F4
|
||
db $F4, $F4, $F4, $F4
|
||
db $F5, $F5, $F6, $F6
|
||
db $F7, $F7, $F8, $F8
|
||
db $FA, $FB, $FC, $FE
|
||
db $FF, $00, $00, $00
|
||
|
||
Function49fc:
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $11
|
||
call Function4792
|
||
|
||
Function4a05:
|
||
ld de, Table4a0b
|
||
jp Function47ab
|
||
|
||
Table4a0b:
|
||
dw Function4a13
|
||
dw Function4a28
|
||
dw Function4a38
|
||
dw Function4a53
|
||
|
||
Function4a13:
|
||
ld hl, $001e
|
||
add hl, bc
|
||
ld [hl], $04
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], $10
|
||
call Function4799
|
||
|
||
Function4a28:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $03
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
call Function4799
|
||
ret
|
||
|
||
Function4a38:
|
||
ld hl, $001e
|
||
add hl, bc
|
||
ld [hl], $04
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $001f
|
||
add hl, bc
|
||
ld [hl], $10
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], $10
|
||
call Function4799
|
||
|
||
Function4a53:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $03
|
||
ld hl, $001f
|
||
add hl, bc
|
||
inc [hl]
|
||
ld a, [hl]
|
||
ld d, $60
|
||
call Function17cd
|
||
ld a, h
|
||
sub $60
|
||
ld hl, $001b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], $00
|
||
call Function4792
|
||
ret
|
||
|
||
Function4a82:
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $12
|
||
call Function4792
|
||
|
||
Function4a8b:
|
||
ld de, Table4a91
|
||
jp Function47ab
|
||
|
||
Table4a91:
|
||
dw Function4a9f
|
||
dw Function4aaf
|
||
dw Function4ab8
|
||
dw Function4ad4
|
||
dw Function4af6
|
||
dw Function4b00
|
||
dw Function4b0c
|
||
|
||
Function4a9f:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], $10
|
||
call Function4799
|
||
ret
|
||
|
||
Function4aaf:
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
call Function4799
|
||
|
||
Function4ab8:
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $001e
|
||
add hl, bc
|
||
ld [hl], $04
|
||
ld hl, $001f
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], $10
|
||
call Function4799
|
||
ret
|
||
|
||
Function4ad4:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $03
|
||
ld hl, $001f
|
||
add hl, bc
|
||
inc [hl]
|
||
ld a, [hl]
|
||
ld d, $60
|
||
call Function17cd
|
||
ld a, h
|
||
sub $60
|
||
ld hl, $001b
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
call Function4799
|
||
|
||
Function4af6:
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], $10
|
||
call Function4799
|
||
ret
|
||
|
||
Function4b00:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $03
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
|
||
Function4b0c:
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ld hl, $000b
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $001b
|
||
add hl, bc
|
||
ld [hl], $00
|
||
call Function4792
|
||
ret
|
||
|
||
Function4b22:
|
||
call Function4792
|
||
|
||
Function4b25:
|
||
ret
|
||
|
||
Function4b26:
|
||
ld a, $01
|
||
ld [wcb70], a
|
||
push bc
|
||
ld de, Unknown4b42
|
||
call PushToCmdQueue
|
||
ld d, b
|
||
ld e, c
|
||
pop bc
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add a
|
||
dec a
|
||
ld hl, $000e
|
||
add hl, de
|
||
ld [hl], a
|
||
ret
|
||
|
||
Unknown4b42:
|
||
db $01, $01, $FC, $02, $00, $08
|
||
|
||
Function4b48:
|
||
ld e, a
|
||
add a
|
||
add e
|
||
ld e, a
|
||
ld d, $00
|
||
ld hl, Unknown4b5f
|
||
add hl, de
|
||
ld d, h
|
||
ld e, l
|
||
push bc
|
||
call PushToCmdQueue
|
||
pop bc
|
||
ld a, $06
|
||
ld [wcb70], a
|
||
ret
|
||
|
||
Unknown4b5f:
|
||
db $05, $04, $FC, $02, $02, $08
|
||
|
||
Function4b65:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ret
|
||
|
||
Function4b78:
|
||
call Function4979
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ret
|
||
|
||
Function4b88:
|
||
call Function4979
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $01
|
||
call Function46d3
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
call Function45d4
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ret
|
||
|
||
Function4baa:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $01
|
||
call Function46d3
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
call Function45d4
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ret
|
||
|
||
Function4bc9:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $01
|
||
call Function4750
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
ld hl, wcb6e
|
||
set 6, [hl]
|
||
call Function45d4
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ret
|
||
|
||
Function4bed:
|
||
ld a, [wPlayerMovement]
|
||
jp Function4c37
|
||
|
||
Function4bf3:
|
||
ld a, [wMovementObject]
|
||
jp Function4c37
|
||
|
||
Function4bf9:
|
||
ld hl, $001c
|
||
add hl, bc
|
||
ld e, [hl]
|
||
inc [hl]
|
||
ld d, $00
|
||
ld hl, wMovementObject
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
add hl, de
|
||
ld a, [hl]
|
||
jp Function4c37
|
||
|
||
Function4c0c:
|
||
ld hl, $001c
|
||
add hl, bc
|
||
ld e, [hl]
|
||
inc [hl]
|
||
ld d, $00
|
||
ld hl, wcb7c
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
add hl, de
|
||
ld a, [hl]
|
||
jp Function4c37
|
||
|
||
Function4c1f:
|
||
ld hl, $001c
|
||
add hl, bc
|
||
ld e, [hl]
|
||
inc [hl]
|
||
ld d, $00
|
||
ld hl, wMovementDataAddr
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
add hl, de
|
||
ld a, [wMovementDataBank]
|
||
call GetFarByte
|
||
jp Function4c37
|
||
|
||
Function4c37:
|
||
push af
|
||
call Function4f86
|
||
pop af
|
||
ld l, a
|
||
ld h, $00
|
||
add hl, hl
|
||
ld de, Table4c48
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
jp hl
|
||
|
||
Table4c48:
|
||
dw Function4d94
|
||
dw Function4d98
|
||
dw Function4d9c
|
||
dw Function4da0
|
||
dw Function4db6
|
||
dw Function4dbb
|
||
dw Function4dc0
|
||
dw Function4dc5
|
||
dw Function4dca
|
||
dw Function4dcf
|
||
dw Function4dd4
|
||
dw Function4dd9
|
||
dw Function4dde
|
||
dw Function4de3
|
||
dw Function4de8
|
||
dw Function4ded
|
||
dw Function4df2
|
||
dw Function4df7
|
||
dw Function4dfc
|
||
dw Function4e01
|
||
dw Function4e06
|
||
dw Function4e0b
|
||
dw Function4e10
|
||
dw Function4e15
|
||
dw Function4e1a
|
||
dw Function4e1f
|
||
dw Function4e24
|
||
dw Function4e29
|
||
dw Function4e2e
|
||
dw Function4e33
|
||
dw Function4e38
|
||
dw Function4e3d
|
||
dw Function4e42
|
||
dw Function4e47
|
||
dw Function4e4c
|
||
dw Function4e51
|
||
dw Function4d5e
|
||
dw Function4d67
|
||
dw Function4d70
|
||
dw Function4d79
|
||
dw Function4d82
|
||
dw Function4d8b
|
||
dw Function4d2c
|
||
dw Function4d30
|
||
dw Function4d34
|
||
dw Function4d38
|
||
dw Function4d3c
|
||
dw Function4d40
|
||
dw Function4d44
|
||
dw Function4d48
|
||
dw Function4cc1
|
||
dw Function4cef
|
||
dw Function4cb8
|
||
dw Function4d1a
|
||
dw Function49fc
|
||
dw Function4a82
|
||
|
||
Function4cb8:
|
||
ld hl, $001c
|
||
add hl, bc
|
||
ld [hl], $00
|
||
jp Function47b8
|
||
|
||
Function4cc1:
|
||
ld hl, $0001
|
||
add hl, bc
|
||
ld a, [hl]
|
||
cp $ff
|
||
jr nz, .sub_4cce
|
||
ld a, $05
|
||
jr .sub_4cd8
|
||
.sub_4cce
|
||
push bc
|
||
call GetMapObject
|
||
ld hl, $0004
|
||
add hl, bc
|
||
ld a, [hl]
|
||
pop bc
|
||
.sub_4cd8
|
||
ld hl, $0003
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
ld hl, $001c
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, wVramState
|
||
res 7, [hl]
|
||
ret
|
||
|
||
Function4cef:
|
||
push bc
|
||
ld hl, $0001
|
||
add hl, bc
|
||
ld a, [hl]
|
||
push af
|
||
ld h, b
|
||
ld l, c
|
||
ld bc, $0028
|
||
xor a
|
||
call ByteFill
|
||
pop af
|
||
call GetMapObject
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
pop bc
|
||
ld hl, wObjectFollow_Leader
|
||
ldh a, [hConnectionStripLength]
|
||
cp [hl]
|
||
jr nz, .sub_4d14
|
||
ld [hl], $ff
|
||
.sub_4d14
|
||
ld hl, wVramState
|
||
res 7, [hl]
|
||
ret
|
||
|
||
Function4d1a:
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $04
|
||
ld hl, wVramState
|
||
res 7, [hl]
|
||
ret
|
||
|
||
Function4d2c:
|
||
ld a, $01
|
||
jr Function4d4a
|
||
|
||
Function4d30:
|
||
ld a, $02
|
||
jr Function4d4a
|
||
|
||
Function4d34:
|
||
ld a, $03
|
||
jr Function4d4a
|
||
|
||
Function4d38:
|
||
ld a, $04
|
||
jr Function4d4a
|
||
|
||
Function4d3c:
|
||
ld a, $05
|
||
jr Function4d4a
|
||
|
||
Function4d40:
|
||
ld a, $06
|
||
jr Function4d4a
|
||
|
||
Function4d44:
|
||
ld a, $07
|
||
jr Function4d4a
|
||
|
||
Function4d48:
|
||
ld a, $08
|
||
|
||
Function4d4a:
|
||
ld hl, $0009
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $03
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
jp Function4b65
|
||
|
||
Function4d5e:
|
||
ld hl, $0004
|
||
add hl, bc
|
||
res 3, [hl]
|
||
jp Function47b8
|
||
|
||
Function4d67:
|
||
ld hl, $0004
|
||
add hl, bc
|
||
set 3, [hl]
|
||
jp Function47b8
|
||
|
||
Function4d70:
|
||
ld hl, $0004
|
||
add hl, bc
|
||
res 2, [hl]
|
||
jp Function47b8
|
||
|
||
Function4d79:
|
||
ld hl, $0004
|
||
add hl, bc
|
||
set 2, [hl]
|
||
jp Function47b8
|
||
|
||
Function4d82:
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 0, [hl]
|
||
jp Function47b8
|
||
|
||
Function4d8b:
|
||
ld hl, $0005
|
||
add hl, bc
|
||
set 0, [hl]
|
||
jp Function47b8
|
||
|
||
Function4d94:
|
||
ld a, $00
|
||
jr Function4da4
|
||
|
||
Function4d98:
|
||
ld a, $04
|
||
jr Function4da4
|
||
|
||
Function4d9c:
|
||
ld a, $08
|
||
jr Function4da4
|
||
|
||
Function4da0:
|
||
ld a, $0c
|
||
jr Function4da4
|
||
|
||
Function4da4:
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld [hl], a
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
ret
|
||
|
||
Function4db6:
|
||
ld a, $00
|
||
jp Function4e56
|
||
|
||
Function4dbb:
|
||
ld a, $01
|
||
jp Function4e56
|
||
|
||
Function4dc0:
|
||
ld a, $02
|
||
jp Function4e56
|
||
|
||
Function4dc5:
|
||
ld a, $03
|
||
jp Function4e56
|
||
|
||
Function4dca:
|
||
ld a, $04
|
||
jp Function4e56
|
||
|
||
Function4dcf:
|
||
ld a, $05
|
||
jp Function4e56
|
||
|
||
Function4dd4:
|
||
ld a, $06
|
||
jp Function4e56
|
||
|
||
Function4dd9:
|
||
ld a, $07
|
||
jp Function4e56
|
||
|
||
Function4dde:
|
||
ld a, $08
|
||
jp Function4e56
|
||
|
||
Function4de3:
|
||
ld a, $09
|
||
jp Function4e56
|
||
|
||
Function4de8:
|
||
ld a, $0a
|
||
jp Function4e56
|
||
|
||
Function4ded:
|
||
ld a, $0b
|
||
jp Function4e56
|
||
|
||
Function4df2:
|
||
ld a, $0c
|
||
jp Function4e56
|
||
|
||
Function4df7:
|
||
ld a, $0d
|
||
jp Function4e56
|
||
|
||
Function4dfc:
|
||
ld a, $0e
|
||
jp Function4e56
|
||
|
||
Function4e01:
|
||
ld a, $0f
|
||
jp Function4e56
|
||
|
||
Function4e06:
|
||
ld a, $00
|
||
jp Function4e7c
|
||
|
||
Function4e0b:
|
||
ld a, $01
|
||
jp Function4e7c
|
||
|
||
Function4e10:
|
||
ld a, $02
|
||
jp Function4e7c
|
||
|
||
Function4e15:
|
||
ld a, $03
|
||
jp Function4e7c
|
||
|
||
Function4e1a:
|
||
ld a, $04
|
||
jp Function4e7c
|
||
|
||
Function4e1f:
|
||
ld a, $05
|
||
jp Function4e7c
|
||
|
||
Function4e24:
|
||
ld a, $06
|
||
jp Function4e7c
|
||
|
||
Function4e29:
|
||
ld a, $07
|
||
jp Function4e7c
|
||
|
||
Function4e2e:
|
||
ld a, $08
|
||
jp Function4e7c
|
||
|
||
Function4e33:
|
||
ld a, $09
|
||
jp Function4e7c
|
||
|
||
Function4e38:
|
||
ld a, $0a
|
||
jp Function4e7c
|
||
|
||
Function4e3d:
|
||
ld a, $0b
|
||
jp Function4e7c
|
||
|
||
Function4e42:
|
||
ld a, $0c
|
||
jp Function4e7c
|
||
|
||
Function4e47:
|
||
ld a, $0d
|
||
jp Function4e7c
|
||
|
||
Function4e4c:
|
||
ld a, $0e
|
||
jp Function4e7c
|
||
|
||
Function4e51:
|
||
ld a, $0f
|
||
jp Function4e7c
|
||
|
||
Function4e56:
|
||
call Function468a
|
||
call Function4613
|
||
ld a, [wCenteredObject]
|
||
ld d, a
|
||
ldh a, [hConnectionStripLength]
|
||
cp d
|
||
jr z, .sub_4e6e
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $02
|
||
jp Function4b88
|
||
.sub_4e6e
|
||
ld hl, wcb6e
|
||
set 7, [hl]
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $05
|
||
jp Function4bc9
|
||
|
||
Function4e7c:
|
||
call Function468a
|
||
ld hl, $001f
|
||
add hl, bc
|
||
ld [hl], $00
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 3, [hl]
|
||
call Function4792
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
call Function4b26
|
||
ld a, [wCenteredObject]
|
||
ld d, a
|
||
ldh a, [hConnectionStripLength]
|
||
cp d
|
||
jr z, .sub_4ea9
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $0f
|
||
jp Function4ed5
|
||
.sub_4ea9
|
||
ld hl, wcb6e
|
||
set 7, [hl]
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $10
|
||
jp Function4f14
|
||
|
||
Function4eb7:
|
||
call Function468a
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $0f
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld [hl], $02
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 3, [hl]
|
||
ld hl, $001f
|
||
add hl, bc
|
||
ld [hl], $00
|
||
call Function4792
|
||
|
||
Function4ed5:
|
||
ld de, Table4edb
|
||
jp Function47ab
|
||
|
||
Table4edb:
|
||
dw Function4edf
|
||
dw Function4efb
|
||
|
||
Function4edf:
|
||
call Function46d3
|
||
call Function499c
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
call Function4799
|
||
call Function45d4
|
||
call Function46a2
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 3, [hl]
|
||
ret
|
||
|
||
Function4efb:
|
||
call Function46d3
|
||
call Function499c
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
call Function45d4
|
||
call Function4792
|
||
ret
|
||
|
||
Function4f14:
|
||
ld de, Table4f1a
|
||
jp Function47ab
|
||
|
||
Table4f1a:
|
||
dw Function4f20
|
||
dw Function4f40
|
||
dw Function4f4b
|
||
|
||
Function4f20:
|
||
call Function499c
|
||
call Function4750
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
call Function45d4
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 3, [hl]
|
||
ld hl, wcb6e
|
||
set 6, [hl]
|
||
set 4, [hl]
|
||
call Function4799
|
||
ret
|
||
|
||
Function4f40:
|
||
call Function46a2
|
||
ld hl, wcb6e
|
||
set 7, [hl]
|
||
call Function4799
|
||
|
||
Function4f4b:
|
||
call Function499c
|
||
call Function4750
|
||
ld hl, $0009
|
||
add hl, bc
|
||
dec [hl]
|
||
ret nz
|
||
ld hl, $0008
|
||
add hl, bc
|
||
ld [hl], $01
|
||
call Function45d4
|
||
ld hl, wcb6e
|
||
set 6, [hl]
|
||
call Function4792
|
||
ldh a, [hConnectionStripLength]
|
||
cp $01
|
||
jp z, .sub_4f70
|
||
ret
|
||
.sub_4f70
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld a, [hl]
|
||
rra
|
||
rra
|
||
and $03
|
||
ld d, a
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $03
|
||
cp d
|
||
ret z
|
||
jp Function4b25
|
||
|
||
Function4f86:
|
||
ld e, a
|
||
ld a, [wObjectFollow_Follower]
|
||
and a
|
||
ret z
|
||
cp $ff
|
||
ret z
|
||
ld a, [wObjectFollow_Leader]
|
||
ld d, a
|
||
ldh a, [hConnectionStripLength]
|
||
cp d
|
||
ret nz
|
||
ld a, e
|
||
cp $2a
|
||
ret z
|
||
cp $00
|
||
ret z
|
||
cp $01
|
||
ret z
|
||
cp $02
|
||
ret z
|
||
cp $03
|
||
ret z
|
||
cp $32
|
||
ret z
|
||
cp $35
|
||
ret z
|
||
push af
|
||
ld hl, wFollowerMovementQueueLength
|
||
inc [hl]
|
||
ld e, [hl]
|
||
ld d, $00
|
||
ld hl, wFollowMovementQueue
|
||
add hl, de
|
||
pop af
|
||
ld [hl], a
|
||
ret
|
||
|
||
Function4fbc:
|
||
call .sub_4fc5
|
||
ld hl, Table4c48
|
||
jp CallJumptable
|
||
.sub_4fc5
|
||
ld hl, wFollowerMovementQueueLength
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_4fe2
|
||
cp $ff
|
||
jr z, .sub_4fe2
|
||
ld e, a
|
||
dec [hl]
|
||
ld d, $00
|
||
ld hl, wFollowMovementQueue
|
||
add hl, de
|
||
inc e
|
||
ld a, $ff
|
||
.sub_4fdb
|
||
ld d, [hl]
|
||
ld [hld], a
|
||
ld a, d
|
||
dec e
|
||
jr nz, .sub_4fdb
|
||
ret
|
||
.sub_4fe2
|
||
call .sub_4fe9
|
||
ret c
|
||
ld a, $2a
|
||
ret
|
||
.sub_4fe9
|
||
ld a, [wObjectFollow_Leader]
|
||
cp $ff
|
||
jr z, .sub_4fff
|
||
push bc
|
||
call GetObjectStruct
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
pop bc
|
||
and a
|
||
jr z, .sub_4fff
|
||
and a
|
||
ret
|
||
.sub_4fff
|
||
xor a
|
||
ld [wObjectFollow_Follower], a
|
||
ld a, $32
|
||
scf
|
||
ret
|
||
|
||
Function5007:
|
||
ld bc, wObjectStructs
|
||
xor a
|
||
.sub_500b
|
||
ldh [hConnectionStripLength], a
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_5034
|
||
ld hl, $000a
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
ld a, $ff
|
||
jr z, .sub_502f
|
||
push bc
|
||
call .sub_5042
|
||
pop bc
|
||
ld a, $ff
|
||
jr c, .sub_502f
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $0c
|
||
.sub_502f
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ld [hl], a
|
||
.sub_5034
|
||
ld hl, $0028
|
||
add hl, bc
|
||
ld b, h
|
||
ld c, l
|
||
ldh a, [hConnectionStripLength]
|
||
inc a
|
||
cp $0a
|
||
jr nz, .sub_500b
|
||
ret
|
||
.sub_5042
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld d, [hl]
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld e, [hl]
|
||
ld a, [wXCoord]
|
||
cp d
|
||
jr z, .sub_5059
|
||
jr nc, .sub_50b7
|
||
add $09
|
||
cp d
|
||
jr c, .sub_50b7
|
||
.sub_5059
|
||
ld a, [wYCoord]
|
||
cp e
|
||
jr z, .sub_5066
|
||
jr nc, .sub_50b7
|
||
add $08
|
||
cp e
|
||
jr c, .sub_50b7
|
||
.sub_5066
|
||
ld hl, $0018
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $07
|
||
ld d, $02
|
||
jr z, .sub_5073
|
||
ld d, $03
|
||
.sub_5073
|
||
ld a, d
|
||
ldh [hFFC9], a
|
||
ld a, [hl]
|
||
srl a
|
||
srl a
|
||
srl a
|
||
ldh [hFFC7], a
|
||
ld hl, $0019
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $07
|
||
ld e, $02
|
||
jr z, .sub_508c
|
||
ld e, $03
|
||
.sub_508c
|
||
ld a, [hl]
|
||
srl a
|
||
srl a
|
||
srl a
|
||
ldh [hFFC8], a
|
||
ldh a, [hFFC7]
|
||
ld c, a
|
||
ldh a, [hFFC8]
|
||
ld b, a
|
||
call Coord2Tile
|
||
ld bc, $0014
|
||
.sub_50a1
|
||
push hl
|
||
ldh a, [hFFC9]
|
||
ld d, a
|
||
.sub_50a5
|
||
ld a, [hli]
|
||
cp $60
|
||
jr nc, .sub_50b4
|
||
dec d
|
||
jr nz, .sub_50a5
|
||
pop hl
|
||
add hl, bc
|
||
dec e
|
||
jr nz, .sub_50a1
|
||
and a
|
||
ret
|
||
.sub_50b4
|
||
pop hl
|
||
jr .sub_50b7
|
||
.sub_50b7
|
||
scf
|
||
ret
|
||
|
||
Function50b9:
|
||
call .sub_50c3
|
||
call .sub_50d3
|
||
call Function42db
|
||
ret
|
||
.sub_50c3
|
||
xor a
|
||
ld [wcb6c], a
|
||
ld [wcb6d], a
|
||
ld [wcb6e], a
|
||
ld a, $ff
|
||
ld [wPlayerStepDirection], a
|
||
ret
|
||
.sub_50d3
|
||
ld bc, wObjectStructs
|
||
xor a
|
||
.sub_50d7
|
||
ldh [hConnectionStripLength], a
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_50e9
|
||
call .sub_50f7
|
||
jr c, .sub_50e9
|
||
call Function44f2
|
||
.sub_50e9
|
||
ld hl, $0028
|
||
add hl, bc
|
||
ld b, h
|
||
ld c, l
|
||
ldh a, [hConnectionStripLength]
|
||
inc a
|
||
cp $0a
|
||
jr nz, .sub_50d7
|
||
ret
|
||
.sub_50f7
|
||
ld hl, $0005
|
||
add hl, bc
|
||
res 6, [hl]
|
||
ld a, [wXCoord]
|
||
ld e, a
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add $01
|
||
sub e
|
||
jr c, .sub_5123
|
||
cp $0c
|
||
jr nc, .sub_5123
|
||
ld a, [wYCoord]
|
||
ld e, a
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add $01
|
||
sub e
|
||
jr c, .sub_5123
|
||
cp $0b
|
||
jr nc, .sub_5123
|
||
jr .sub_514d
|
||
.sub_5123
|
||
ld hl, $0005
|
||
add hl, bc
|
||
set 6, [hl]
|
||
ld a, [wXCoord]
|
||
ld e, a
|
||
ld hl, $0014
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add $01
|
||
sub e
|
||
jr c, .sub_514f
|
||
cp $0c
|
||
jr nc, .sub_514f
|
||
ld a, [wYCoord]
|
||
ld e, a
|
||
ld hl, $0015
|
||
add hl, bc
|
||
ld a, [hl]
|
||
add $01
|
||
sub e
|
||
jr c, .sub_514f
|
||
cp $0b
|
||
jr nc, .sub_514f
|
||
.sub_514d
|
||
and a
|
||
ret
|
||
.sub_514f
|
||
ldh a, [hConnectionStripLength]
|
||
cp $01
|
||
jr z, .sub_5162
|
||
ld hl, $0004
|
||
add hl, bc
|
||
bit 1, [hl]
|
||
jr nz, .sub_5162
|
||
call .sub_516a
|
||
scf
|
||
ret
|
||
.sub_5162
|
||
ld hl, $0005
|
||
add hl, bc
|
||
set 6, [hl]
|
||
and a
|
||
ret
|
||
.sub_516a
|
||
push bc
|
||
ld hl, $0001
|
||
add hl, bc
|
||
ld a, [hl]
|
||
push af
|
||
ld h, b
|
||
ld l, c
|
||
ld bc, $0028
|
||
xor a
|
||
call ByteFill
|
||
pop af
|
||
cp $ff
|
||
jr z, .sub_518e
|
||
ld hl, wMapObjects
|
||
ld bc, $0010
|
||
call AddNTimes
|
||
ld bc, $0000
|
||
add hl, bc
|
||
ld [hl], $ff
|
||
.sub_518e
|
||
pop bc
|
||
ret
|
||
|
||
_UpdateSprites:
|
||
ld a, [wVramState]
|
||
bit 0, a
|
||
ret z
|
||
xor a
|
||
ldh [hFFC7], a
|
||
call .sub_51a3
|
||
call .sub_5258
|
||
call .sub_5243
|
||
ret
|
||
.sub_51a3
|
||
xor a
|
||
ld bc, wObjectStructs
|
||
.sub_51a7
|
||
push af
|
||
push bc
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jp z, .sub_5234
|
||
ld hl, $0005
|
||
add hl, bc
|
||
bit 0, [hl]
|
||
jp nz, .sub_5234
|
||
xor a
|
||
bit 7, [hl]
|
||
jr z, .sub_51c2
|
||
add $80
|
||
.sub_51c2
|
||
bit 4, [hl]
|
||
jr z, .sub_51c8
|
||
add $10
|
||
.sub_51c8
|
||
ld d, a
|
||
xor a
|
||
bit 3, [hl]
|
||
jr z, .sub_51d0
|
||
or $80
|
||
.sub_51d0
|
||
ldh [hFFCC], a
|
||
ld hl, $0002
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ldh [hFFCB], a
|
||
ld hl, $0018
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $001a
|
||
add hl, bc
|
||
add [hl]
|
||
add $08
|
||
ldh [hFFC9], a
|
||
ld hl, $0019
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $001b
|
||
add hl, bc
|
||
add [hl]
|
||
add $10
|
||
ldh [hFFCA], a
|
||
ld hl, $000d
|
||
add hl, bc
|
||
ld a, [hl]
|
||
cp $ff
|
||
jp z, .sub_5234
|
||
ld l, a
|
||
ld h, $00
|
||
add hl, hl
|
||
ld bc, Table421b
|
||
add hl, bc
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
ldh a, [hFFC7]
|
||
ld c, a
|
||
ld b, $c2
|
||
.sub_520f
|
||
ldh a, [hFFCA]
|
||
add [hl]
|
||
inc hl
|
||
ld [bc], a
|
||
inc c
|
||
ldh a, [hFFC9]
|
||
add [hl]
|
||
inc hl
|
||
ld [bc], a
|
||
inc c
|
||
ldh a, [hFFCB]
|
||
add [hl]
|
||
inc hl
|
||
ld [bc], a
|
||
inc c
|
||
ld a, [hl]
|
||
bit 1, a
|
||
jr z, .sub_5229
|
||
ldh a, [hFFCC]
|
||
or [hl]
|
||
.sub_5229
|
||
inc hl
|
||
or d
|
||
ld [bc], a
|
||
inc c
|
||
bit 0, a
|
||
jr z, .sub_520f
|
||
ld a, c
|
||
ldh [hFFC7], a
|
||
.sub_5234
|
||
pop bc
|
||
ld hl, $0028
|
||
add hl, bc
|
||
ld b, h
|
||
ld c, l
|
||
pop af
|
||
inc a
|
||
cp $0a
|
||
jp nz, .sub_51a7
|
||
ret
|
||
.sub_5243
|
||
ld b, $a0
|
||
ldh a, [hFFC7]
|
||
cp b
|
||
ret nc
|
||
ld l, a
|
||
ld h, $c2
|
||
ld de, $0004
|
||
ld a, b
|
||
ld c, $a0
|
||
.sub_5252
|
||
ld [hl], c
|
||
add hl, de
|
||
cp l
|
||
jr nz, .sub_5252
|
||
ret
|
||
.sub_5258
|
||
ld bc, wCmdQueue
|
||
ld a, $04
|
||
.sub_525d
|
||
push af
|
||
ld hl, $0000
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_52cf
|
||
ld hl, $0004
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0006
|
||
add hl, bc
|
||
add [hl]
|
||
add $08
|
||
ldh [hFFC9], a
|
||
ld hl, $0005
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ld hl, $0007
|
||
add hl, bc
|
||
add [hl]
|
||
add $10
|
||
ldh [hFFCA], a
|
||
ld hl, $0003
|
||
add hl, bc
|
||
ld a, [hl]
|
||
ldh [hFFCB], a
|
||
ld hl, $000c
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_52cf
|
||
ld e, a
|
||
ld d, $00
|
||
ld hl, Table44ab
|
||
add hl, de
|
||
add hl, de
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
ldh a, [hFFC7]
|
||
ld d, a
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_52cf
|
||
add a
|
||
add a
|
||
add d
|
||
cp $a0
|
||
jr nc, .sub_52da
|
||
ldh a, [hFFC7]
|
||
ld e, a
|
||
ld d, $c2
|
||
ld a, [hli]
|
||
.sub_52b0
|
||
ldh [hFFC8], a
|
||
ldh a, [hFFCA]
|
||
add [hl]
|
||
ld [de], a
|
||
inc hl
|
||
inc de
|
||
ldh a, [hFFC9]
|
||
add [hl]
|
||
ld [de], a
|
||
inc hl
|
||
inc de
|
||
ldh a, [hFFCB]
|
||
add [hl]
|
||
ld [de], a
|
||
inc hl
|
||
inc de
|
||
ld a, [hli]
|
||
ld [de], a
|
||
inc de
|
||
ldh a, [hFFC8]
|
||
dec a
|
||
jr nz, .sub_52b0
|
||
ld a, e
|
||
ldh [hFFC7], a
|
||
.sub_52cf
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld b, h
|
||
ld c, l
|
||
pop af
|
||
dec a
|
||
jr nz, .sub_525d
|
||
ret
|
||
.sub_52da
|
||
pop af
|
||
ret
|
||
|
||
Function52dc:
|
||
call MenuBoxCoord2Tile
|
||
push hl
|
||
ld de, $005a
|
||
add hl, de
|
||
call PrintNumBadges
|
||
pop hl
|
||
push hl
|
||
ld de, $0081
|
||
add hl, de
|
||
call PrintNumOwnedMons
|
||
pop hl
|
||
ld de, $00a8
|
||
add hl, de
|
||
call PrintPlayTime
|
||
ret
|
||
|
||
SECTION "engine/dumps/bank01.asm@Function5388", ROMX
|
||
|
||
Function5388:
|
||
ld a, $00
|
||
call OpenSRAM
|
||
ld a, [s0_a600]
|
||
ld [wce60], a
|
||
call CloseSRAM
|
||
ret
|
||
|
||
Function5397:
|
||
ld a, $00
|
||
call OpenSRAM
|
||
ld hl, s0_a600
|
||
ld a, [hli]
|
||
ld [wce5f], a
|
||
inc hl
|
||
ld a, [hli]
|
||
ld [wActiveFrame], a
|
||
ld a, [hl]
|
||
ld [wTextBoxFlags], a
|
||
call CloseSRAM
|
||
ret
|
||
|
||
Function53b0:
|
||
ld a, $00
|
||
call OpenSRAM
|
||
ld hl, wDebugFlags
|
||
ld a, [hli]
|
||
ld [wDebugFlags], a
|
||
ld a, [hli]
|
||
ld [wce64], a
|
||
ld a, [hli]
|
||
ld [wce65], a
|
||
ld a, [hl]
|
||
ld [wce66], a
|
||
call CloseSRAM
|
||
ret
|
||
|
||
SECTION "engine/dumps/bank01.asm@ReanchorBGMap_NoOAMUpdate", ROMX
|
||
|
||
ReanchorBGMap_NoOAMUpdate:
|
||
xor a
|
||
ldh [hLCDCPointer], a
|
||
ld hl, wMapObjectsEnd
|
||
set 7, [hl]
|
||
res 2, [hl]
|
||
ld a, $90
|
||
ldh [hWY], a
|
||
xor a
|
||
ldh [hBGMapMode], a
|
||
xor a
|
||
ldh [hBGMapAddress], a
|
||
ld a, $9c
|
||
ldh [hBGMapAddress+1], a
|
||
call LoadMapPart
|
||
call WaitBGMap
|
||
xor a
|
||
ldh [hBGMapMode], a
|
||
ldh [hWY], a
|
||
call .sub_6412
|
||
xor a
|
||
ld [wBGMapAnchor], a
|
||
ld a, $98
|
||
ldh [hBGMapAddress+1], a
|
||
ld [wBGMapAnchor+1], a
|
||
xor a
|
||
ldh [hSCX], a
|
||
ldh [hSCY], a
|
||
call WaitBGMap
|
||
ret
|
||
.sub_6412
|
||
ld a, $60
|
||
ld hl, wTileMapBackup
|
||
ld bc, $0080
|
||
call ByteFill
|
||
ld hl, vBGMap0
|
||
ld c, $08
|
||
.sub_6422
|
||
push bc
|
||
push hl
|
||
ld de, wTileMapBackup
|
||
ld bc, $0008
|
||
call Request2bpp
|
||
pop hl
|
||
ld bc, $0080
|
||
add hl, bc
|
||
pop bc
|
||
dec c
|
||
jr nz, .sub_6422
|
||
ret
|
||
|
||
LoadFonts_NoOAMUpdate:
|
||
call UpdateSprites
|
||
call LoadFont
|
||
call LoadFontExtra
|
||
ld a, $90
|
||
ldh [hWY], a
|
||
ret
|
||
|
||
|
||
Function6445:
|
||
call BackUpTilesToBuffer
|
||
ld a, [wWhichPokemon]
|
||
ld hl, wPartyMonNicknames
|
||
call GetNick
|
||
ld hl, wStringBuffer1
|
||
ld de, wcd11
|
||
ld bc, $0006
|
||
call CopyBytes
|
||
.sub_645d
|
||
ld hl, wPartyMon1Moves
|
||
ld bc, $0030
|
||
ld a, [wWhichPokemon]
|
||
call AddNTimes
|
||
ld d, h
|
||
ld e, l
|
||
ld b, $04
|
||
.sub_646d
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_648d
|
||
inc hl
|
||
dec b
|
||
jr nz, .sub_646d
|
||
push de
|
||
call .sub_64f4
|
||
pop de
|
||
jp c, .sub_64d6
|
||
push hl
|
||
push de
|
||
ld [wce37], a
|
||
call Unreferenced_GetMoveName
|
||
ld hl, Text664b
|
||
call PrintText
|
||
pop de
|
||
pop hl
|
||
.sub_648d
|
||
ld a, [wce32]
|
||
ld [hl], a
|
||
ld bc, $0015
|
||
add hl, bc
|
||
push hl
|
||
push de
|
||
dec a
|
||
ld hl, Moves + MOVE_PP
|
||
ld bc, MOVE_LENGTH
|
||
call AddNTimes
|
||
ld a, BANK(Moves)
|
||
call GetFarByte
|
||
pop de
|
||
pop hl
|
||
ld [hl], a
|
||
ld a, [wBattleMode]
|
||
and a
|
||
jp z, .sub_64eb
|
||
ld a, [wWhichPokemon]
|
||
ld b, a
|
||
ld a, [wcd41]
|
||
cp b
|
||
jp nz, .sub_64eb
|
||
ld h, d
|
||
ld l, e
|
||
ld de, wca04
|
||
ld bc, $0004
|
||
call CopyBytes
|
||
ld bc, $0011
|
||
add hl, bc
|
||
ld de, wca0a
|
||
ld bc, $0004
|
||
call CopyBytes
|
||
jp .sub_64eb
|
||
.sub_64d6
|
||
ld hl, Text65b9
|
||
call PrintText
|
||
call YesNoBox
|
||
jp c, .sub_645d
|
||
ld hl, Text65d7
|
||
call PrintText
|
||
ld b, $00
|
||
ret
|
||
.sub_64eb
|
||
ld hl, Text658c
|
||
call PrintText
|
||
ld b, $01
|
||
ret
|
||
.sub_64f4
|
||
push hl
|
||
ld hl, Text65f0
|
||
call PrintText
|
||
call YesNoBox
|
||
pop hl
|
||
ret c
|
||
ld bc, $fffc
|
||
add hl, bc
|
||
push hl
|
||
ld de, wce2e
|
||
ld bc, $0004
|
||
call CopyBytes
|
||
pop hl
|
||
.sub_650f
|
||
push hl
|
||
ld hl, Text65a8
|
||
call PrintText
|
||
coord hl, 10, 8
|
||
ld b, $08
|
||
ld c, $08
|
||
call DrawTextBox
|
||
coord hl, 12, 10
|
||
ld a, $28
|
||
ld [wFieldMoveScriptID], a
|
||
ld a, $32
|
||
call Predef
|
||
ld a, $0a
|
||
ld [w2DMenuCursorInitY], a
|
||
ld a, $0b
|
||
ld [w2DMenuCursorInitX], a
|
||
ld a, [wcd57]
|
||
inc a
|
||
ld [w2DMenuNumRows], a
|
||
ld a, $01
|
||
ld [w2DMenuNumCols], a
|
||
ld [w2DMenuDataEnd], a
|
||
ld [wMenuCursorX], a
|
||
ld a, $03
|
||
ld [wMenuJoypadFilter], a
|
||
ld a, $20
|
||
ld [w2DMenuFlags], a
|
||
xor a
|
||
ld [w2DMenuFlags+1], a
|
||
ld a, $20
|
||
ld [w2DMenuCursorOffsets], a
|
||
call Get2DMenuJoypad
|
||
push af
|
||
call ReloadTilesFromBuffer
|
||
pop af
|
||
pop hl
|
||
bit 1, a
|
||
jr nz, .sub_658a
|
||
push hl
|
||
ld a, [w2DMenuDataEnd]
|
||
dec a
|
||
ld c, a
|
||
ld b, $00
|
||
add hl, bc
|
||
ld a, [hl]
|
||
push af
|
||
push bc
|
||
call IsHMMove
|
||
pop bc
|
||
pop de
|
||
ld a, d
|
||
jr c, .sub_6581
|
||
pop hl
|
||
add hl, bc
|
||
and a
|
||
ret
|
||
.sub_6581
|
||
ld hl, Text6691
|
||
call PrintText
|
||
pop hl
|
||
jr .sub_650f
|
||
.sub_658a
|
||
scf
|
||
ret
|
||
|
||
Text658c:
|
||
text_from_ram wcd11
|
||
text "は あたらしく"
|
||
line ""
|
||
text_end
|
||
|
||
Text6599:
|
||
text_from_ram wStringBuffer2
|
||
text "を おぼえた!"
|
||
text_end
|
||
|
||
Text65a5:
|
||
sound_dex_fanfare_50_79
|
||
text_waitbutton
|
||
text_end
|
||
|
||
Text65a8:
|
||
text "どの わざを"
|
||
next "わすれさせたい?"
|
||
done
|
||
|
||
Text65b9:
|
||
text "それでは<⋯⋯> "
|
||
text_end
|
||
|
||
Text65c1:
|
||
text_from_ram wStringBuffer2
|
||
text "を"
|
||
line "おぼえるのを あきらめますか?"
|
||
done
|
||
|
||
Text65d7:
|
||
text_from_ram wcd11
|
||
text "は "
|
||
text_end
|
||
|
||
Text65de:
|
||
text_from_ram wStringBuffer2
|
||
text "を"
|
||
line "おぼえずに おわった!"
|
||
prompt
|
||
|
||
Text65f0:
|
||
text_from_ram wcd11
|
||
text "は あたらしく"
|
||
line ""
|
||
text_end
|
||
|
||
Text65fd:
|
||
text_from_ram wStringBuffer2
|
||
text "を おぼえたい<⋯⋯>!"
|
||
para "しかし "
|
||
text_end
|
||
|
||
Text6610:
|
||
text_from_ram wcd11
|
||
text "は わざを 4つ"
|
||
line "おぼえるので せいいっぱいだ!"
|
||
para ""
|
||
text_end
|
||
|
||
Text662e:
|
||
text_from_ram wStringBuffer2
|
||
text "の かわりに"
|
||
line "ほかの わざを わすれさせますか?"
|
||
done
|
||
|
||
Text664b:
|
||
text "1 2の <⋯⋯>"
|
||
text_end
|
||
|
||
Text6653:
|
||
text_exit
|
||
start_asm
|
||
push de
|
||
ld de, $001b
|
||
call PlaySFX
|
||
pop de
|
||
ld hl, Text6661
|
||
ret
|
||
|
||
Text6661:
|
||
text " ポカン!"
|
||
text_end
|
||
|
||
Text6668:
|
||
text_exit
|
||
text ""
|
||
para ""
|
||
text_end
|
||
|
||
Text666c:
|
||
text_from_ram wcd11
|
||
text "は "
|
||
text_end
|
||
|
||
Text6673:
|
||
text_from_ram wStringBuffer1
|
||
text "の"
|
||
line "つかいかたを きれいに わすれた!"
|
||
para "そして<⋯⋯>!"
|
||
prompt
|
||
|
||
Text6691:
|
||
text "それは たいせつなわざです"
|
||
line "わすれさせることは できません!"
|
||
prompt
|
||
|
||
Function66b1:
|
||
ld hl, wcd74
|
||
ld a, [hli]
|
||
ld h, [hl]
|
||
ld l, a
|
||
ld a, [wCurItem]
|
||
cp $c4
|
||
jr nc, .sub_66d2
|
||
dec a
|
||
ld c, a
|
||
ld b, $00
|
||
add hl, bc
|
||
add hl, bc
|
||
add hl, bc
|
||
add hl, bc
|
||
inc hl
|
||
ld a, [hld]
|
||
ldh [hSpriteOffset], a
|
||
ld a, [hld]
|
||
ldh [hConnectedMapWidth], a
|
||
ld a, [hl]
|
||
ldh [hConnectionStripLength], a
|
||
jr .sub_66d5
|
||
.sub_66d2
|
||
call .sub_66d9
|
||
.sub_66d5
|
||
ld de, hConnectionStripLength
|
||
ret
|
||
.sub_66d9
|
||
ld a, [wCurItem]
|
||
sub $c9
|
||
ret c
|
||
ld d, a
|
||
ld hl, Table66fa
|
||
srl a
|
||
ld c, a
|
||
ld b, $00
|
||
add hl, bc
|
||
ld a, [hl]
|
||
srl d
|
||
jr nc, .sub_66f0
|
||
swap a
|
||
.sub_66f0
|
||
and $f0
|
||
ldh [hConnectedMapWidth], a
|
||
xor a
|
||
ldh [hConnectionStripLength], a
|
||
ldh [hSpriteOffset], a
|
||
ret
|
||
|
||
Table66fa:
|
||
db $32, $21, $34, $24
|
||
db $34, $21, $45, $55
|
||
db $32, $32, $55, $52
|
||
db $54, $52, $41, $21
|
||
db $12, $42, $25, $24
|
||
db $22, $52, $24, $34
|
||
db $42
|
||
|
||
Function6713:
|
||
push hl
|
||
call LoadStandardMenuHeader
|
||
ld a, [wBattleMode]
|
||
dec a
|
||
coord hl, 1, 0
|
||
ld b, $04
|
||
ld c, $0a
|
||
call z, ClearBox
|
||
ld a, [wMonDexIndex]
|
||
ld [wce37], a
|
||
call GetPokemonName
|
||
ld a, [wDebugFlags]
|
||
bit 1, a
|
||
pop hl
|
||
push hl
|
||
ld hl, Text6788
|
||
call PrintText
|
||
call YesNoBox
|
||
pop hl
|
||
jr c, .sub_6779
|
||
push hl
|
||
ld e, l
|
||
ld d, h
|
||
ld a, BANK(NamingScreen)
|
||
ld b, $00
|
||
ld hl, NamingScreen
|
||
call FarCall_hl
|
||
call ClearBGPalettes
|
||
call ClearTileMap
|
||
call ClearSprites
|
||
call GetMemSGBLayout
|
||
call SetPalettes
|
||
ld a, [wBattleMode]
|
||
and a
|
||
jr nz, .sub_676b
|
||
call LoadFontExtra
|
||
call Function3657
|
||
jr .sub_6773
|
||
.sub_676b
|
||
ld hl, Function3e3a7
|
||
ld a, BANK(Function3e3a7)
|
||
call FarCall_hl
|
||
.sub_6773
|
||
pop hl
|
||
ld a, [hl]
|
||
cp $50
|
||
jr nz, .sub_6784
|
||
.sub_6779
|
||
ld d, h
|
||
ld e, l
|
||
ld hl, wStringBuffer1
|
||
ld bc, $0006
|
||
call CopyBytes
|
||
.sub_6784
|
||
call CloseWindow
|
||
ret
|
||
|
||
Text6788:
|
||
text_from_ram wStringBuffer1
|
||
text "に"
|
||
line "ニックネームを つけますか?"
|
||
done
|
||
|
||
Function679d:
|
||
ld de, wFieldMoveScriptID
|
||
push de
|
||
ld hl, NamingScreen
|
||
ld b, $00
|
||
ld a, BANK(NamingScreen)
|
||
call FarCall_hl
|
||
call ClearBGPalettes
|
||
call Function360b
|
||
call UpdateTimePals
|
||
pop de
|
||
ld a, [de]
|
||
cp $50
|
||
jr z, .sub_67d3
|
||
ld hl, wPartyMonNicknames
|
||
ld bc, $0006
|
||
ld a, [wWhichPokemon]
|
||
call AddNTimes
|
||
ld e, l
|
||
ld d, h
|
||
ld hl, wFieldMoveScriptID
|
||
ld bc, $0006
|
||
call CopyBytes
|
||
and a
|
||
ret
|
||
.sub_67d3
|
||
scf
|
||
ret
|
||
|
||
CorrectNickErrors:
|
||
push bc
|
||
push de
|
||
ld b, $06
|
||
.sub_67d9
|
||
ld a, [de]
|
||
cp $50
|
||
jr z, .sub_6802
|
||
ld hl, Table6805
|
||
dec hl
|
||
.sub_67e2
|
||
inc hl
|
||
ld a, [hl]
|
||
cp $ff
|
||
jr z, .sub_67f5
|
||
ld a, [de]
|
||
cp [hl]
|
||
inc hl
|
||
jr c, .sub_67e2
|
||
cp [hl]
|
||
jr nc, .sub_67e2
|
||
ld a, $e6
|
||
ld [de], a
|
||
jr .sub_67e2
|
||
.sub_67f5
|
||
inc de
|
||
dec b
|
||
jr nz, .sub_67d9
|
||
pop de
|
||
push de
|
||
ld a, $e6
|
||
ld [de], a
|
||
inc de
|
||
ld a, $50
|
||
ld [de], a
|
||
.sub_6802
|
||
pop de
|
||
pop bc
|
||
ret
|
||
|
||
Table6805::
|
||
db $00, $05, $14, $19, $1d
|
||
db $26, $35, $3a, $49, $7f
|
||
db $ff
|
||
|
||
SECTION "engine/dumps/bank01.asm@Function771e", ROMX
|
||
|
||
Function771e:
|
||
ld hl, $0004
|
||
add hl, bc
|
||
bit 4, [hl]
|
||
jr z, .sub_772c
|
||
push hl
|
||
call _IsObjectCollisionTileSolid
|
||
pop hl
|
||
ret c
|
||
.sub_772c
|
||
bit 6, [hl]
|
||
jr z, .sub_7738
|
||
push hl
|
||
push bc
|
||
call Function77a1
|
||
pop bc
|
||
pop hl
|
||
ret c
|
||
.sub_7738
|
||
bit 5, [hl]
|
||
jr z, .sub_7748
|
||
push hl
|
||
call Function782c
|
||
pop hl
|
||
ret c
|
||
push hl
|
||
call Function786e
|
||
pop hl
|
||
ret c
|
||
.sub_7748
|
||
and a
|
||
ret
|
||
|
||
SECTION "engine/dumps/bank01.asm@Function776e", ROMX
|
||
|
||
Function776e:
|
||
call GetFacingTileCoord
|
||
cp $90
|
||
jr z, .sub_7779
|
||
cp $98
|
||
jr nz, .sub_7789
|
||
.sub_7779
|
||
ld a, [wPlayerNextMapX]
|
||
sub d
|
||
cpl
|
||
inc a
|
||
add d
|
||
ld d, a
|
||
ld a, [wPlayerNextMapY]
|
||
sub e
|
||
cpl
|
||
inc a
|
||
add e
|
||
ld e, a
|
||
.sub_7789
|
||
ld bc, wPlayerSprite
|
||
ld a, $01
|
||
ldh [hConnectionStripLength], a
|
||
call _CheckObjectCollision
|
||
ret nc
|
||
ld hl, $0006
|
||
add hl, bc
|
||
ld a, [hl]
|
||
cp $ff
|
||
jr z, .sub_779f
|
||
xor a
|
||
ret
|
||
.sub_779f
|
||
scf
|
||
ret
|
||
|
||
Function77a1:
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld d, [hl]
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld e, [hl]
|
||
jr _CheckObjectCollision
|
||
|
||
Function77ad:
|
||
ldh a, [hConnectionStripLength]
|
||
call GetObjectStruct
|
||
call .sub_77b9
|
||
call _CheckObjectCollision
|
||
ret
|
||
.sub_77b9
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld d, [hl]
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld e, [hl]
|
||
ld hl, $0007
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and $0c
|
||
and a
|
||
jr z, .sub_77d7
|
||
cp $04
|
||
jr z, .sub_77d9
|
||
cp $08
|
||
jr z, .sub_77db
|
||
inc d
|
||
ret
|
||
.sub_77d7
|
||
inc e
|
||
ret
|
||
.sub_77d9
|
||
dec e
|
||
ret
|
||
.sub_77db
|
||
dec d
|
||
ret
|
||
|
||
SECTION "engine/dumps/bank01.asm@Function782c", ROMX
|
||
|
||
Function782c:
|
||
ld hl, $0016
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_784b
|
||
ld e, a
|
||
ld d, a
|
||
ld hl, $0014
|
||
add hl, bc
|
||
ld a, [hl]
|
||
sub d
|
||
ld d, a
|
||
ld a, [hl]
|
||
add e
|
||
ld e, a
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld a, [hl]
|
||
cp d
|
||
jr z, .sub_786c
|
||
cp e
|
||
jr z, .sub_786c
|
||
.sub_784b
|
||
ld hl, $0017
|
||
add hl, bc
|
||
ld a, [hl]
|
||
and a
|
||
jr z, .sub_786a
|
||
ld e, a
|
||
ld d, a
|
||
ld hl, $0015
|
||
add hl, bc
|
||
ld a, [hl]
|
||
sub d
|
||
ld d, a
|
||
ld a, [hl]
|
||
add e
|
||
ld e, a
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld a, [hl]
|
||
cp d
|
||
jr z, .sub_786c
|
||
cp e
|
||
jr z, .sub_786c
|
||
.sub_786a
|
||
and a
|
||
ret
|
||
.sub_786c
|
||
scf
|
||
ret
|
||
|
||
Function786e:
|
||
ld hl, $0010
|
||
add hl, bc
|
||
ld a, [wXCoord]
|
||
cp [hl]
|
||
jr z, .sub_787f
|
||
jr nc, .sub_7892
|
||
add $09
|
||
cp [hl]
|
||
jr c, .sub_7892
|
||
.sub_787f
|
||
ld hl, $0011
|
||
add hl, bc
|
||
ld a, [wYCoord]
|
||
cp [hl]
|
||
jr z, .sub_7890
|
||
jr nc, .sub_7892
|
||
add $08
|
||
cp [hl]
|
||
jr c, .sub_7892
|
||
.sub_7890
|
||
and a
|
||
ret
|
||
.sub_7892
|
||
scf
|
||
ret
|
||
|
||
SECTION "engine/dumps/bank01.asm@SettingsScreen", ROMX
|
||
|
||
SettingsScreen:
|
||
ld a, [wVramState]
|
||
push af
|
||
xor a
|
||
ld [wVramState], a
|
||
|
||
Function78ed:
|
||
call Function7a93
|
||
|
||
Function78f0:
|
||
call Function7a41
|
||
ld [hl], $ed
|
||
call Function7a55
|
||
call WaitBGMap
|
||
.sub_78fb
|
||
call DelayFrame
|
||
call GetJoypadDebounced
|
||
ldh a, [hJoySum]
|
||
ld b, a
|
||
and a
|
||
jr z, .sub_78fb
|
||
ld a, b
|
||
and $0a
|
||
jr nz, .sub_7924
|
||
ld a, b
|
||
and $04
|
||
jr nz, .sub_7939
|
||
ld a, b
|
||
and $01
|
||
jr z, Function7977
|
||
ld a, [wc409]
|
||
cp $10
|
||
jr nz, Function78f0
|
||
ld a, [wTileMapBackup]
|
||
cp $07
|
||
jr z, .sub_7956
|
||
.sub_7924
|
||
push de
|
||
ld de, $0005
|
||
call PlaySFX
|
||
pop de
|
||
pop af
|
||
ld [wVramState], a
|
||
ld hl, wd4a9
|
||
bit 0, [hl]
|
||
jp z, TitleSequenceStart
|
||
ret
|
||
.sub_7939
|
||
ld hl, wce5f
|
||
ld a, [hl]
|
||
xor $08
|
||
ld [hl], a
|
||
ld hl, Function96eb
|
||
ld a, BANK(Function96eb)
|
||
call FarCall_hl
|
||
call LoadFont
|
||
call LoadFontExtra
|
||
ld c, $70
|
||
call DelayFrames
|
||
jp Function78ed
|
||
.sub_7956
|
||
ld a, [wActiveFrame]
|
||
inc a
|
||
and $07
|
||
ld [wActiveFrame], a
|
||
coord hl, 17, 16
|
||
add $f7
|
||
ld [hl], a
|
||
call LoadFontExtra
|
||
jr Function78f0
|
||
|
||
Function796a:
|
||
push af
|
||
call Function7a41
|
||
ld [hl], $7f
|
||
pop af
|
||
ld [wTileMapBackup], a
|
||
jp Function78f0
|
||
|
||
Function7977:
|
||
ld a, [wc409]
|
||
bit 7, b
|
||
jr nz, .sub_799e
|
||
bit 6, b
|
||
jr nz, .sub_79c1
|
||
cp $07
|
||
jp z, .sub_7a10
|
||
cp $0b
|
||
jp z, .sub_7a1b
|
||
cp $0d
|
||
jp z, .sub_7a26
|
||
cp $10
|
||
jp z, .sub_7a31
|
||
bit 5, b
|
||
jp nz, .sub_79f6
|
||
jp .sub_7a01
|
||
.sub_799e
|
||
cp $10
|
||
ld b, $f3
|
||
ld hl, wc40a
|
||
jr z, .sub_79e2
|
||
cp $03
|
||
ld b, $04
|
||
inc hl
|
||
jr z, .sub_79e2
|
||
cp $07
|
||
ld b, $04
|
||
inc hl
|
||
jr z, .sub_79e2
|
||
cp $0b
|
||
ld b, $02
|
||
inc hl
|
||
jr z, .sub_79e2
|
||
ld b, $03
|
||
inc hl
|
||
jr .sub_79e2
|
||
.sub_79c1
|
||
cp $07
|
||
ld b, $fc
|
||
ld hl, wc40a
|
||
jr z, .sub_79e2
|
||
cp $0b
|
||
ld b, $fc
|
||
inc hl
|
||
jr z, .sub_79e2
|
||
cp $0d
|
||
ld b, $fe
|
||
inc hl
|
||
jr z, .sub_79e2
|
||
cp $10
|
||
ld b, $fd
|
||
inc hl
|
||
jr z, .sub_79e2
|
||
ld b, $0d
|
||
inc hl
|
||
.sub_79e2
|
||
add b
|
||
push af
|
||
ld a, [hl]
|
||
push af
|
||
call Function7a41
|
||
ld [hl], $ec
|
||
pop af
|
||
ld [wTileMapBackup], a
|
||
pop af
|
||
ld [wc409], a
|
||
jp Function78f0
|
||
.sub_79f6
|
||
ld a, [wc40a]
|
||
cp $01
|
||
jr z, .sub_7a0a
|
||
sub $07
|
||
jr .sub_7a0a
|
||
.sub_7a01
|
||
ld a, [wc40a]
|
||
cp $0f
|
||
jr z, .sub_7a0a
|
||
add $07
|
||
.sub_7a0a
|
||
ld [wc40a], a
|
||
jp Function796a
|
||
.sub_7a10
|
||
ld a, [wWhichPicTest]
|
||
xor $0b
|
||
ld [wWhichPicTest], a
|
||
jp Function796a
|
||
.sub_7a1b
|
||
ld a, [wc40c]
|
||
xor $0b
|
||
ld [wc40c], a
|
||
jp Function796a
|
||
.sub_7a26
|
||
ld a, [wc40d]
|
||
xor $0b
|
||
ld [wc40d], a
|
||
jp Function796a
|
||
.sub_7a31
|
||
call Function7a41
|
||
ld [hl], $ec
|
||
ld a, [wTileMapBackup]
|
||
xor $06
|
||
ld [wTileMapBackup], a
|
||
jp Function78f0
|
||
|
||
Function7a41:
|
||
ld a, [wc409]
|
||
ld hl, wTileMap
|
||
ld bc, $0014
|
||
call AddNTimes
|
||
ld a, [wTileMapBackup]
|
||
ld b, $00
|
||
ld c, a
|
||
add hl, bc
|
||
ret
|
||
|
||
Function7a55:
|
||
ld hl, Table7c22
|
||
ld a, [wc40a]
|
||
ld c, a
|
||
.sub_7a5c
|
||
ld a, [hli]
|
||
cp c
|
||
jr z, .sub_7a63
|
||
inc hl
|
||
jr .sub_7a5c
|
||
.sub_7a63
|
||
ld a, [hl]
|
||
ld d, a
|
||
ld a, [wWhichPicTest]
|
||
dec a
|
||
jr z, .sub_7a6f
|
||
set 7, d
|
||
jr .sub_7a71
|
||
.sub_7a6f
|
||
res 7, d
|
||
.sub_7a71
|
||
ld a, [wc40c]
|
||
dec a
|
||
jr z, .sub_7a7b
|
||
set 6, d
|
||
jr .sub_7a7d
|
||
.sub_7a7b
|
||
res 6, d
|
||
.sub_7a7d
|
||
ld a, [wc40d]
|
||
dec a
|
||
jr z, .sub_7a87
|
||
set 5, d
|
||
jr .sub_7a89
|
||
.sub_7a87
|
||
res 5, d
|
||
.sub_7a89
|
||
ld a, [wce5f]
|
||
and $08
|
||
or d
|
||
ld [wce5f], a
|
||
ret
|
||
|
||
Function7a93:
|
||
call ClearBGPalettes
|
||
call DisableLCD
|
||
xor a
|
||
ldh [hBGMapMode], a
|
||
call .sub_7b26
|
||
xor a
|
||
ld hl, wc40a
|
||
ld [hli], a
|
||
ld [hli], a
|
||
ld [hli], a
|
||
ld [hli], a
|
||
ld [hl], a
|
||
inc a
|
||
ld [wTextBoxFlags], a
|
||
ld hl, Table7c23
|
||
ld a, [wce5f]
|
||
ld c, a
|
||
and $07
|
||
push bc
|
||
ld de, $0002
|
||
call FindItemInTable
|
||
pop bc
|
||
dec hl
|
||
ld a, [hl]
|
||
ld [wc40a], a
|
||
coord hl, 0, 3
|
||
call .sub_7b1f
|
||
sla c
|
||
ld a, $01
|
||
jr nc, .sub_7ad0
|
||
ld a, $0a
|
||
.sub_7ad0
|
||
ld [wWhichPicTest], a
|
||
coord hl, 0, 7
|
||
call .sub_7b1f
|
||
sla c
|
||
ld a, $01
|
||
jr nc, .sub_7ae1
|
||
ld a, $0a
|
||
.sub_7ae1
|
||
ld [wc40c], a
|
||
coord hl, 0, 11
|
||
call .sub_7b1f
|
||
sla c
|
||
ld a, $01
|
||
jr nc, .sub_7af2
|
||
ld a, $0a
|
||
.sub_7af2
|
||
ld [wc40d], a
|
||
coord hl, 0, 13
|
||
call .sub_7b1f
|
||
ld a, $01
|
||
ld [wc40e], a
|
||
coord hl, 1, 16
|
||
ld [hl], $ec
|
||
coord hl, 7, 16
|
||
ld [hl], $ec
|
||
ld a, [wc40a]
|
||
ld [wTileMapBackup], a
|
||
ld a, $03
|
||
ld [wc409], a
|
||
call EnableLCD
|
||
call WaitBGMap
|
||
call SetPalettes
|
||
ret
|
||
.sub_7b1f
|
||
ld e, a
|
||
ld d, $00
|
||
add hl, de
|
||
ld [hl], $ec
|
||
ret
|
||
.sub_7b26
|
||
ld de, vChars1 + $0700
|
||
ld hl, TrainerCardGFX
|
||
ld bc, $0010
|
||
ld a, BANK(TrainerCardGFX)
|
||
call FarCopyData
|
||
ld hl, wTileMap
|
||
ld bc, $0168
|
||
ld a, $f0
|
||
call ByteFill
|
||
coord hl, 1, 1
|
||
lb bc, 3, 18
|
||
call ClearBox
|
||
coord hl, 1, 5
|
||
lb bc, 3, 18
|
||
call ClearBox
|
||
coord hl, 1, 9
|
||
lb bc, 3, 18
|
||
call ClearBox
|
||
coord hl, 1, 13
|
||
lb bc, 1, 18
|
||
call ClearBox
|
||
coord hl, 1, 1
|
||
ld de, Text7bad
|
||
call PlaceString
|
||
coord hl, 1, 5
|
||
ld de, Text7bc9
|
||
call PlaceString
|
||
coord hl, 1, 9
|
||
ld de, Text7be8
|
||
call PlaceString
|
||
coord hl, 1, 13
|
||
ld de, Text7c03
|
||
call PlaceString
|
||
coord hl, 1, 16
|
||
ld de, Text7c12
|
||
call PlaceString
|
||
coord hl, 6, 15
|
||
ld b, $01
|
||
ld c, $0b
|
||
call DrawTextBox
|
||
coord hl, 7, 16
|
||
ld de, Text7c17
|
||
call PlaceString
|
||
ld a, [wActiveFrame]
|
||
coord hl, 17, 16
|
||
add $f7
|
||
ld [hl], a
|
||
ret
|
||
|
||
Text7bad:
|
||
db "はなしの はやさ"
|
||
next " はやい ふつう おそい"
|
||
text_end
|
||
|
||
Text7bc9:
|
||
db "せんとう アニメーション"
|
||
next " じっくり みる とばして みる"
|
||
text_end
|
||
|
||
Text7be8:
|
||
db "しあいの ルール"
|
||
next " いれかえタイプ かちぬきタイプ"
|
||
text_end
|
||
|
||
Text7c03:
|
||
db " モノラル ステレオ"
|
||
text_end
|
||
|
||
Text7c12:
|
||
db " おわり"
|
||
text_end
|
||
|
||
Text7c17:
|
||
db " わく を かえる "
|
||
text_end
|
||
|
||
Table7c22:
|
||
db $0F
|
||
|
||
Table7c23:
|
||
db $05, $08, $03
|
||
db $01, $01, $08
|
||
db $FF
|
||
|
||
Unknown7c2a:
|
||
rept 491
|
||
db $39, $00
|
||
endr
|