actors: Added basic drawing routine for bats
authorLukas Krickl <lukas@krickl.dev>
Thu, 18 Dec 2025 08:54:27 +0000 (09:54 +0100)
committerLukas Krickl <lukas@krickl.dev>
Thu, 18 Dec 2025 08:54:27 +0000 (09:54 +0100)
maps/l1.inc
src/actor.s
src/update.s
tiles/bank8800.inc

index d463376a6ebf26450e9a652a2225c04878fb4b63..a41a5b06f2f6c67d09a950093aa026a29cbe680e 100644 (file)
@@ -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
index 0968dfecc708f2d127bf14a9007fbe894a73b280..118981ade43ad999e25f55d2ebc8d71e593c71b1 100644 (file)
@@ -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:
index 3c1180b9085d9b204931459ee876ce5a0ad24b8a..032b91e2c7f0041e4d8281901ad6de6c5c00e7e0 100644 (file)
@@ -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
index 321d471c568a5b9e51ec760c6480535a96b729f8..b5347b5d030124df3c5797fcd618da506acbbe41 100644 (file)
 .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
 .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