From: Lukas Krickl Date: Thu, 18 Dec 2025 08:54:27 +0000 (+0100) Subject: actors: Added basic drawing routine for bats X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=11d97c7558e5bc8e1e682437dbb70e9e6206eb17;p=gbrg%2F.git actors: Added basic drawing routine for bats --- diff --git a/maps/l1.inc b/maps/l1.inc index d463376..a41a5b0 100644 --- a/maps/l1.inc +++ b/maps/l1.inc @@ -1,7 +1,7 @@ ; this map was generated by tmx2map.py -.db 0x9, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0x5 -.db 0x3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7 +.db 0x9, 0xd, 0xc, 0xc, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0xd, 0x5 +.db 0x3, 0xf, 0xd, 0xd, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7 .db 0x3, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7 .db 0xa, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7 .db 0x9, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0xf, 0x7 diff --git a/src/actor.s b/src/actor.s index 0968dfe..118981a 100644 --- a/src/actor.s +++ b/src/actor.s @@ -1,4 +1,7 @@ +#define ACT_NEARBY_Y 60 +#define ACT_NEARBY_X 80 + ; vectors for each direction ; SOUTH, NORTH, WEST, EAST ; S: Sign bit @@ -168,6 +171,26 @@ act_init: ; inputs: ; de: act ptr act_draw_nearby_bat: + ld a, 2 + call oamalloc + + ld a, ACT_NEARBY_Y + ld [hl+], a + ld a, ACT_NEARBY_X + ld [hl+], a + ld a, 0x83 + ld [hl+], a + xor a, a + ld [hl+], a + + ld a, ACT_NEARBY_Y+8 + ld [hl+], a + ld a, ACT_NEARBY_X + ld [hl+], a + ld a, 0xA2 + ld [hl+], a + xor a, a + ld [hl], a ret act_draw_nearby_table: diff --git a/src/update.s b/src/update.s index 3c1180b..032b91e 100644 --- a/src/update.s +++ b/src/update.s @@ -13,11 +13,26 @@ update_game: ; tick rng every frame call rand - call ui_update ; TODO: update map routine + ; draw actors and props + ; if the ptr is not NULL + ld a, [act_nearby] + ld d, a + ld a, [act_nearby+1] + ld e, a + or a, d + call nz, act_draw_nearby + + ld a, [prop_nearby] + ld d, a + ld a, [prop_nearby+1] + ld e, a + or a, d + call nz, act_draw_nearby + ret ; draws a single tile diff --git a/tiles/bank8800.inc b/tiles/bank8800.inc index 321d471..b5347b5 100644 --- a/tiles/bank8800.inc +++ b/tiles/bank8800.inc @@ -26,12 +26,12 @@ .chr 00000000 .chr 00000000 .chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 +.chr 10100101 +.chr 30300303 +.chr 30033003 +.chr 13033031 +.chr 11322311 +.chr 01133110 ; tile 2 .chr 00003000 .chr 00033300 @@ -288,10 +288,10 @@ .chr 00000000 .chr 00000000 ; tile 17 -.chr 00000000 -.chr 00000000 -.chr 00000000 -.chr 00000000 +.chr 00133100 +.chr 00033000 +.chr 00300300 +.chr 01000010 .chr 00000000 .chr 00000000 .chr 00000000