mirror of
https://github.com/pret/pokegold.git
synced 2026-10-01 03:16:41 -05:00
engine/player_step.asm
This commit is contained in:
265
engine/player_step.asm
Executable file
265
engine/player_step.asm
Executable file
@@ -0,0 +1,265 @@
|
||||
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
|
||||
8
main.asm
8
main.asm
@@ -406,11 +406,10 @@ FlagPredef:
|
||||
INCLUDE "engine/health.asm"
|
||||
INCLUDE "event/overworld.asm"
|
||||
INCLUDE "engine/items.asm"
|
||||
|
||||
IF DEF(GOLD)
|
||||
dr $d4a4, $d62d
|
||||
INCLUDE "engine/player_step.asm"
|
||||
|
||||
AnimateHPBar_:
|
||||
IF DEF(GOLD)
|
||||
dr $d62d, $d892
|
||||
|
||||
TryAddMonToParty::
|
||||
@@ -455,9 +454,6 @@ Functionf900:
|
||||
ENDC
|
||||
|
||||
IF DEF(SILVER)
|
||||
dr $d4a2, $d62b
|
||||
|
||||
AnimateHPBar_:
|
||||
dr $d62b, $d890
|
||||
|
||||
TryAddMonToParty::
|
||||
|
||||
Reference in New Issue
Block a user