diff options
Diffstat (limited to 'utils.gbasm')
-rw-r--r-- | utils.gbasm | 71 |
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 |