From adb2d9935253b0ea0e31b462f342aa7823697a7e Mon Sep 17 00:00:00 2001 From: Astatin Date: Tue, 7 Jan 2025 19:29:17 +0900 Subject: Add support for multiple enemies loaded (up to 4 loaded at dungeon gen time) --- tiles.gbasm | 55 +++++++++++++++++++++++++++++++++++++++++++++++++++++-- 1 file changed, 53 insertions(+), 2 deletions(-) (limited to 'tiles.gbasm') diff --git a/tiles.gbasm b/tiles.gbasm index ae0e031..3f6df10 100644 --- a/tiles.gbasm +++ b/tiles.gbasm @@ -1,7 +1,7 @@ Load_Tile: LD HL, $8020 - LD DE, =OBJ_Tile_Image_Data - LD BC, $0180 + LD DE, =OBJ_Tile_Image_Data.Bunny + LD BC, $00c0 CALL =memcpy LD HL, $8800 @@ -25,6 +25,57 @@ Load_Tile: CALL =memcpy RET +Reload_Entities_Tile_Data: + LD HL, $mem_loaded_enemies_indices + LD E, $03 + .loop: + LD A, (HL) + SLA A + SLA A + SLA A + ADD low(=Entity_list) + LD C, A + LD A, high(=Entity_list) + ADC $00 + LD B, A + + PUSH HL + PUSH DE + + LD A, E + SLA A + SLA A + LD E, A + SLA A + ADD E + ADD $02 + SWAP A + LD H, A + AND $f0 + LD L, A + LD A, H + AND $0f + OR $80 + LD H, A + + LD A, (BC) + LD D, A + INC BC + LD A, (BC) + LD E, A + + LD BC, $00c0 + CALL =memcpy + + POP DE + POP HL + + INC HL + INC E + LD A, low($mem_loaded_entities_indices_end) + CP L + JR NZ, =.loop + Dialogue_Box_Tilemap_data: .DB 0x11, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x17, 0x13, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 .DB 0x15, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x16, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00 -- cgit v1.2.3-70-g09d2