From 4a8127146eafd4fef5b478c1bf9f5a152c8c4cd5 Mon Sep 17 00:00:00 2001 From: "Juan J. Martinez" Date: Thu, 22 Jun 2023 22:10:28 +0100 Subject: Import entities from the map and spawn them --- src/map.c | 15 +++++++++++++++ 1 file changed, 15 insertions(+) (limited to 'src/map.c') diff --git a/src/map.c b/src/map.c index 9908384..4c5390f 100644 --- a/src/map.c +++ b/src/map.c @@ -4,6 +4,8 @@ #include "vga.h" #include "data.h" +#include "player.h" + #include "map.h" /* current map; set via map_init */ @@ -24,6 +26,19 @@ void map_init(const uint8_t map[]) /* gold is not 0xff */ if (gold[i] != 0xff) total_gold++; + + /* spawn entities, 0xff is the list terminator */ + for ( + const uint8_t *ent = map + MAP_W * MAP_H * 2; + *ent != 0xff; + ent += 4 + ) + switch (*ent) + { + case Player: + player_init(ent[1] * MAP_TILE_W, ent[2] * MAP_TILE_H, ent[3] & 1); + break; + } } void map_render() -- cgit v1.2.3