From 507a9876b85f47ff81cc9150bea858eec064ba05 Mon Sep 17 00:00:00 2001 From: Astatin Date: Fri, 9 May 2025 10:28:14 +0200 Subject: Refactor viewport to not need Fix_Bunny_Screen anymore and "fix" it before every frame --- utils.gbasm | 71 +++++++++++-------------------------------------------------- 1 file changed, 13 insertions(+), 58 deletions(-) (limited to 'utils.gbasm') 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 -- cgit v1.2.3-70-g09d2