chore: Added rectangel defs
authorLukas Krickl <lukas@krickl.dev>
Sat, 20 Sep 2025 07:37:21 +0000 (09:37 +0200)
committerLukas Krickl <lukas@krickl.dev>
Sat, 20 Sep 2025 07:37:21 +0000 (09:37 +0200)
src/defs.s
src/macros.inc
src/wram.s

index 3876289702f5fe52ac9345d65b720c501f73c1e8..48ac0fe71cc5b0f1ccd7c6f91e872a4e5b50f557 100644 (file)
@@ -15,6 +15,7 @@
 
 #define ACTS_MAX 32
 #define MAP_OBJ_MAX 32
+#define RECT_MAX 32
 
 #define STACK_BEGIN 0xDFFF
 
 .de mo_row, 1
 .de mo_dat, 2 
 .de mo_size, 0
+       
+       ; rectangle collision flags
+.se 1
+       ; collides with player
+.de RF_PLAYER, 1
+       ; is a generic wall
+.de RF_WALL, 2
+       ; collides with enemy
+.de RF_ENEMY, 4
+
+       ; rectangle struct
+.se 0
+       ; if flags == 0 the rectangle is free
+.de r_flags, 1
+.de r_pos_y, 1
+.de r_pos_y_hi, 1
+.de r_pos_x, 1
+.de r_h, 1
+.de r_w, 1
+.de r_size, 0
index 0a0553752bbc01fb18d86fd051e1aff9d71a8ff4..f7a3427209f69bf8272b850301619e4ed9f3991f 100644 (file)
@@ -217,4 +217,16 @@ $1:
        xor a, a
 @done:
 .endscope
+#endmacro
+       
+       ; defines a rectangle
+       ; inputs:
+       ;               $1: collision flags
+       ;               $2: y
+       ;               $3: y hi
+       ;               $4: x
+       ;               $5: h
+       ;               $6: w
+#macro recdef
+       .db $1, $2, $3, $4, $5, $6
 #endmacro
index b1f0a683f771d4ad3fc7b18e7788743beccf3370..94c87280a310403b644add8b265f72ab53fb45ab 100644 (file)
@@ -58,6 +58,7 @@ srand: .adv 2
 player: .adv act_size
 actors: .adv act_size * ACTS_MAX 
 map_objs: .adv mo_size * MAP_OBJ_MAX
+rectangles: .adv r_size * RECT_MAX
 
        ; current row that is being drawn
 map_curr_row: .adv 1