mirror of
https://github.com/pret/pokegold.git
synced 2026-05-19 02:09:45 -05:00
266 lines
3.2 KiB
NASM
Executable File
266 lines
3.2 KiB
NASM
Executable File
HandlePlayerStep_::
|
|
ld a, [wPlayerStepFlags]
|
|
and a
|
|
ret z
|
|
bit 7, a
|
|
jr nz, .asm_d4b6
|
|
bit 6, a
|
|
jr nz, .asm_d4c0
|
|
bit 5, a
|
|
jr nz, .asm_d4c5
|
|
ret
|
|
|
|
.asm_d4b6
|
|
ld a, $4
|
|
ld [wd03c], a
|
|
call Functiond53c
|
|
jr .asm_d4c5
|
|
|
|
.asm_d4c0
|
|
call Functiond517
|
|
jr .asm_d4c5
|
|
|
|
.asm_d4c5
|
|
call Functiond4f2
|
|
ld a, [wPlayerStepVectorX]
|
|
ld d, a
|
|
ld a, [wPlayerStepVectorY]
|
|
ld e, a
|
|
ld a, [wce81]
|
|
sub d
|
|
ld [wce81], a
|
|
ld a, [wce82]
|
|
sub e
|
|
ld [wce82], a
|
|
ret
|
|
|
|
ScrollScreen::
|
|
ld a, [wPlayerStepVectorX]
|
|
ld d, a
|
|
ld a, [wPlayerStepVectorY]
|
|
ld e, a
|
|
ld a, [hSCX]
|
|
add d
|
|
ld [hSCX], a
|
|
ld a, [hSCY]
|
|
add e
|
|
ld [hSCY], a
|
|
ret
|
|
|
|
Functiond4f2: ; d4f2 (3:54f2)
|
|
ld hl, wd03c
|
|
ld a, [hl]
|
|
and a
|
|
ret z
|
|
dec [hl]
|
|
ld a, [hl]
|
|
ld hl, .Jumptable
|
|
rst JumpTable
|
|
ret
|
|
|
|
.Jumptable
|
|
dw GetMovementPermissions
|
|
dw BufferScreen
|
|
dw Functiond515
|
|
dw Functiond516
|
|
dw Functiond515
|
|
dw Functiond515
|
|
dw Functiond515
|
|
dw Functiond515
|
|
dw Functiond515
|
|
dw Functiond515
|
|
dw Functiond515
|
|
|
|
Functiond515:
|
|
ret
|
|
|
|
Functiond516:
|
|
ret
|
|
|
|
Functiond517: ; d517 (3:5517)
|
|
ld a, [wPlayerStepDirection]
|
|
and a
|
|
jr nz, .asm_d522
|
|
ld hl, wYCoord
|
|
inc [hl]
|
|
ret
|
|
|
|
.asm_d522
|
|
cp $1
|
|
jr nz, .asm_d52b
|
|
ld hl, wYCoord
|
|
dec [hl]
|
|
ret
|
|
|
|
.asm_d52b
|
|
cp $2
|
|
jr nz, .asm_d534
|
|
ld hl, wXCoord
|
|
dec [hl]
|
|
ret
|
|
|
|
.asm_d534
|
|
cp $3
|
|
ret nz
|
|
ld hl, wXCoord
|
|
inc [hl]
|
|
ret
|
|
|
|
Functiond53c: ; d53c (3:553c)
|
|
ld a, [wPlayerStepDirection]
|
|
and a
|
|
jr z, .asm_d54f
|
|
cp $1
|
|
jr z, .asm_d559
|
|
cp $2
|
|
jr z, .asm_d563
|
|
cp $3
|
|
jr z, .asm_d56d
|
|
ret
|
|
|
|
.asm_d54f
|
|
call Functiond577
|
|
call LoadMapPart
|
|
call ScrollMapUp
|
|
ret
|
|
|
|
.asm_d559
|
|
call Functiond5a8
|
|
call LoadMapPart
|
|
call ScrollMapDown
|
|
ret
|
|
|
|
.asm_d563
|
|
call Functiond5db
|
|
call LoadMapPart
|
|
call ScrollMapRight
|
|
ret
|
|
|
|
.asm_d56d
|
|
call Functiond604
|
|
call LoadMapPart
|
|
call ScrollMapLeft
|
|
ret
|
|
|
|
Functiond577: ; d577 (3:5577)
|
|
ld a, [wd05b]
|
|
add $40
|
|
ld [wd05b], a
|
|
jr nc, .asm_d58c
|
|
ld a, [wd05c]
|
|
inc a
|
|
and $3
|
|
or $98
|
|
ld [wd05c], a
|
|
.asm_d58c
|
|
ld hl, wd07f
|
|
inc [hl]
|
|
ld a, [hl]
|
|
cp $2
|
|
jr nz, .asm_d59a
|
|
ld [hl], $0
|
|
call Functiond59b
|
|
.asm_d59a
|
|
ret
|
|
|
|
Functiond59b: ; d59b (3:559b)
|
|
ld hl, wOverworldMapAnchor
|
|
ld a, [wMapWidth]
|
|
add $6
|
|
add [hl]
|
|
ld [hli], a
|
|
ret nc
|
|
inc [hl]
|
|
ret
|
|
|
|
Functiond5a8: ; d5a8 (3:55a8)
|
|
ld a, [wd05b]
|
|
sub $40
|
|
ld [wd05b], a
|
|
jr nc, .asm_d5bd
|
|
ld a, [wd05c]
|
|
dec a
|
|
and $3
|
|
or $98
|
|
ld [wd05c], a
|
|
.asm_d5bd
|
|
ld hl, wd07f
|
|
dec [hl]
|
|
ld a, [hl]
|
|
cp $ff
|
|
jr nz, .asm_d5cb
|
|
ld [hl], $1
|
|
call Functiond5cc
|
|
.asm_d5cb
|
|
ret
|
|
|
|
Functiond5cc: ; d5cc (3:55cc)
|
|
ld hl, wOverworldMapAnchor
|
|
ld a, [wMapWidth]
|
|
add $6
|
|
ld b, a
|
|
ld a, [hl]
|
|
sub b
|
|
ld [hli], a
|
|
ret nc
|
|
dec [hl]
|
|
ret
|
|
|
|
Functiond5db: ; d5db (3:55db)
|
|
ld a, [wd05b]
|
|
ld e, a
|
|
and $e0
|
|
ld d, a
|
|
ld a, e
|
|
sub $2
|
|
and $1f
|
|
or d
|
|
ld [wd05b], a
|
|
ld hl, wd080
|
|
dec [hl]
|
|
ld a, [hl]
|
|
cp $ff
|
|
jr nz, .asm_d5f9
|
|
ld [hl], $1
|
|
call Functiond5fa
|
|
.asm_d5f9
|
|
ret
|
|
|
|
Functiond5fa: ; d5fa (3:55fa)
|
|
ld hl, wOverworldMapAnchor
|
|
ld a, [hl]
|
|
sub $1
|
|
ld [hli], a
|
|
ret nc
|
|
dec [hl]
|
|
ret
|
|
|
|
Functiond604: ; d604 (3:5604)
|
|
ld a, [wd05b]
|
|
ld e, a
|
|
and $e0
|
|
ld d, a
|
|
ld a, e
|
|
add $2
|
|
and $1f
|
|
or d
|
|
ld [wd05b], a
|
|
ld hl, wd080
|
|
inc [hl]
|
|
ld a, [hl]
|
|
cp $2
|
|
jr nz, .asm_d622
|
|
ld [hl], $0
|
|
call Functiond623
|
|
.asm_d622
|
|
ret
|
|
|
|
Functiond623: ; d623 (3:5623)
|
|
ld hl, wOverworldMapAnchor
|
|
ld a, [hl]
|
|
add $1
|
|
ld [hli], a
|
|
ret nc
|
|
inc [hl]
|
|
ret
|