From 20422f9a4a180f2c148d93e68930f57379311ca7 Mon Sep 17 00:00:00 2001 From: Astatin Date: Fri, 29 Nov 2024 18:11:43 +0900 Subject: Add animation display --- utils.gbasm | 68 +++++++++++++++++++++++++++++++++++++++++++++++++++++++++++++ 1 file changed, 68 insertions(+) (limited to 'utils.gbasm') diff --git a/utils.gbasm b/utils.gbasm index b24608b..b32d3ea 100644 --- a/utils.gbasm +++ b/utils.gbasm @@ -58,6 +58,74 @@ bzero: ; dest = HL, n = BC .CALL_DE .END +.MACRODEF ADD_MOVING_ANIMATION_OFFSET ; Add current moving animation offset to BC, also uses A + LD A, $mem_map_loading_flags + BIT 3, A + JR Z, =$end + 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 + + $end: +.END + Print_8bit: ; Number in A, Memory Tilemap position in HL PUSH AF PUSH BC -- cgit v1.2.3-70-g09d2