diff options
author | Astatin <[email protected]> | 2024-11-29 18:11:43 +0900 |
---|---|---|
committer | Astatin <[email protected]> | 2024-11-29 18:11:43 +0900 |
commit | 20422f9a4a180f2c148d93e68930f57379311ca7 (patch) | |
tree | 9e58002ad6bd9bd0b6243828f55aa03e1c6c9ab7 /utils.gbasm | |
parent | c050a27b278df2efb4baf81b5e8c7e2f7dfd7e00 (diff) |
Add animation display
Diffstat (limited to 'utils.gbasm')
-rw-r--r-- | utils.gbasm | 68 |
1 files changed, 68 insertions, 0 deletions
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 |