diff options
author | Astatin <[email protected]> | 2025-05-09 10:28:14 +0200 |
---|---|---|
committer | Astatin <[email protected]> | 2025-05-09 10:28:14 +0200 |
commit | 507a9876b85f47ff81cc9150bea858eec064ba05 (patch) | |
tree | 5b24e7836ce07ad8768d9c7ad7a1c6a2b3e92106 /utils.gbasm | |
parent | 4b02238d88af30c98b2f8d44e5200fb80b04bcad (diff) |
Refactor viewport to not need Fix_Bunny_Screen anymore and "fix" it before every frame
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 |