summaryrefslogtreecommitdiffstats
diff options
context:
space:
mode:
authorP. J. McDermott <pj@pehjota.net>2021-03-26 14:24:13 (EDT)
committer P. J. McDermott <pj@pehjota.net>2021-03-26 14:25:38 (EDT)
commit80906f721e4812549f3af596a64100249d803060 (patch)
treec0ab65c445b7df41bbf8792d6d18e752df7694de
parent62262c68933d4137d1c72937b534b0c3b7b008d3 (diff)
downloaddodge-balls-80906f721e4812549f3af596a64100249d803060.zip
dodge-balls-80906f721e4812549f3af596a64100249d803060.tar.gz
dodge-balls-80906f721e4812549f3af596a64100249d803060.tar.bz2
map: Add some sanity checks
-rw-r--r--src/map.c10
1 files changed, 10 insertions, 0 deletions
diff --git a/src/map.c b/src/map.c
index 9aaccaa..fdb2456 100644
--- a/src/map.c
+++ b/src/map.c
@@ -659,6 +659,16 @@ _db_tmx_map_el_start(void *pv, const char *name, const char **attr)
db_xml_node_push(p, map, _db_tmx_data_start,
_db_tmx_layer_end, NULL);
} else if (db_xml_check_tag(name, "objectgroup")) {
+ if (map->fr == 0) {
+ db_err("Map framerate not set");
+ XML_StopParser(p, XML_FALSE);
+ return;
+ }
+ if (map->tileset_tail == NULL) {
+ db_err("Map tileset(s) must precede objects");
+ XML_StopParser(p, XML_FALSE);
+ return;
+ }
db_xml_node_push(p, map, _db_tmx_object_start,
_db_tmx_objectgroup_end, NULL);
} else {