main: use border_block from map_objects

This commit is contained in:
Zack Buhman 2023-07-25 08:06:27 +00:00
parent 5c588dbe29
commit 3b9cbf82aa
4 changed files with 10 additions and 3 deletions

View File

@ -3,7 +3,9 @@ CFLAGS = -Isaturn
OPT ?= -Og
LIB = ./saturn
SRC = main.o input.o gen/maps.o
SRC = main.o input.o
SRC += gen/maps.o
SRC += gen/map_objects.o
DEP = $(patsubst %.o,%.d,$(SRC))
res = $(subst pokered/,res/,$(patsubst %.$(1),%.$(1).o,$(wildcard $(2)*.$(1))))

View File

@ -12,6 +12,7 @@
#include "input.hpp"
#include "gen/maps.hpp"
#include "map_objects.hpp"
constexpr inline uint16_t rgb15(int32_t r, int32_t g, int32_t b)
{
@ -111,12 +112,14 @@ void render()
if (map.tileset != state.tileset)
state.tileset = load_tileset(map.tileset);
const uint8_t border_block = map_objects[maps_ix[state.map_ix]].border_block;
for (uint32_t map_y = 0; map_y < 16; map_y++) {
for (uint32_t map_x = 0; map_x < 16; map_x++) {
const uint8_t block =
(map_x < map.width && map_y < map.height)
? map.blocks.start[map.width * map_y + map_x]
: 0;
: border_block;
render_block(state.base_pattern,
tilesets[map.tileset],
map_x,

View File

@ -80,3 +80,5 @@ struct object_t {
const bg_event_t * bg_events;
const object_event_t * object_events;
};
extern const object_t map_objects[];

View File

@ -83,7 +83,7 @@ def includes_source():
yield ""
def map_objects():
map_headers = sorted_map_headers()
map_headers = list(sorted_map_headers())
for map_header in map_headers:
map_name = map_header.name2.lower()
map_objects = parse.map_objects_list[map_header.object()]