aboutsummaryrefslogtreecommitdiff
path: root/utils.gbasm
diff options
context:
space:
mode:
Diffstat (limited to 'utils.gbasm')
-rw-r--r--utils.gbasm71
1 files changed, 13 insertions, 58 deletions
diff --git a/utils.gbasm b/utils.gbasm
index ae509f0..5cb39ca 100644
--- a/utils.gbasm
+++ b/utils.gbasm
@@ -100,64 +100,19 @@ bff: ; dest = HL, n = BC
LD A, $mem_bunny_direction
BIT 3, A
JR Z, =$end
- LD A, $mem_bunny_direction
- AND $07
- CP $enum_direction_down
- JR Z, =$down
- CP $enum_direction_right
- JR Z, =$right
- CP $enum_direction_up
- JR Z, =$up
-
- $left:
- LD A, $mem_prepared_viewport_x
- SUB $09
- AND $0f
- INC A
- XOR $ff
- INC A
- ADD $10
- ADD B
-
- LD B, A
- JR =$end
-
- $right:
- LD A, $mem_prepared_viewport_x
- SUB $08
- AND $0f
- XOR $ff
- INC A
- ADD B
-
- LD B, A
-
- JR =$end
-
- $up:
- LD A, $mem_prepared_viewport_y
- SUB $09
- AND $0f
- INC A
- XOR $ff
- INC A
- ADD $10
- ADD C
-
- LD C, A
-
- JR =$end
-
- $down:
- LD A, $mem_prepared_viewport_y
- SUB $08
- AND $0f
- XOR $ff
- INC A
- ADD C
-
- LD C, A
-
+ PUSH DE
+ DEC A
+ XOR $01
+ INC A
+ LD D, A
+ LD A, $mem_bunny_flags
+ BIT 0, A
+ LD A, $mem_moving_animation_step
+ JR Z, =$skip_double
+ SLA A
+ $skip_double:
+ .ADD_A_TO_DIRECTION_BC
+ POP DE
$end:
.END