From: Lukas Krickl Date: Wed, 2 Apr 2025 07:40:30 +0000 (+0200) Subject: cells: Added basic setup for cell templates X-Git-Url: https://git.krickl.dev/?a=commitdiff_plain;h=3f529d410d42d4607d79119a21ee7ab6be139986;p=gbrg%2F.git cells: Added basic setup for cell templates This allows updating cells --- diff --git a/src/buildings.s b/src/buildings.s index bd117e1..c601cbd 100644 --- a/src/buildings.s +++ b/src/buildings.s @@ -23,3 +23,4 @@ build_farm: build_lumber: ldnull bc ret + diff --git a/src/cells.s b/src/cells.s new file mode 100644 index 0000000..31f0c6d --- /dev/null +++ b/src/cells.s @@ -0,0 +1,8 @@ + + ; default road update state +cell_road_head: + ldnull bc + ret + +cell_template_road: + c_def C_ROAD, cell_road_head, 0, 0 diff --git a/src/defs.s b/src/defs.s index 8f9f21a..05706ff 100644 --- a/src/defs.s +++ b/src/defs.s @@ -30,6 +30,10 @@ ; a warehouse is always connected .de CF_CONNECTED, 1 + ; cell types +.se 0 +.de C_ROAD, 1 + ; game state cell struct ; this holds all the information ; a cell on the map has diff --git a/src/macros.inc b/src/macros.inc index 12d26ac..4f42bbb 100644 --- a/src/macros.inc +++ b/src/macros.inc @@ -126,6 +126,19 @@ dw $3 #endmacro + ; defines a new cell template + ; inputs: + ; $1: c_type + ; $2: c_st_routine + ; $3: c_flags + ; $4: c_head_offset +#macro c_def + .db $1 + dw $2 + .db $3 + .db $4 +#endmacro + ; loads NULL into a 16 bit register ; inputs: ; $1: register diff --git a/src/main.s b/src/main.s index 67da840..c441af6 100644 --- a/src/main.s +++ b/src/main.s @@ -65,6 +65,7 @@ main: #include "map.s" #include "simulation.s" #include "state.s" +#include "cells.s" #include "buildings.s" #include "tiles.inc"