summaryrefslogtreecommitdiffstats
path: root/src/resources/map.h
diff options
context:
space:
mode:
authorP. J. McDermott <pjm@nac.net>2013-02-17 03:13:14 (EST)
committer P. J. McDermott <pjm@nac.net>2013-02-17 03:13:14 (EST)
commit3c09671866ff5131bcbb044b0df6326ff891fee6 (patch)
tree414b35520a2290d9facb769624947fc8611e05a6 /src/resources/map.h
parentafaa1a637b8d139a556d3b1a0337f55a32d5e3b6 (diff)
downloadoverworld-rpg-3c09671866ff5131bcbb044b0df6326ff891fee6.zip
overworld-rpg-3c09671866ff5131bcbb044b0df6326ff891fee6.tar.gz
overworld-rpg-3c09671866ff5131bcbb044b0df6326ff891fee6.tar.bz2
Give each use of a tileset a unique firstgid.
Diffstat (limited to 'src/resources/map.h')
-rw-r--r--src/resources/map.h15
1 files changed, 9 insertions, 6 deletions
diff --git a/src/resources/map.h b/src/resources/map.h
index 673a01d..2926aa5 100644
--- a/src/resources/map.h
+++ b/src/resources/map.h
@@ -9,13 +9,15 @@
struct tileset {
struct resource res;
char *dirname;
- /* TODO: firstgid shouldn't apply to all uses of a tileset. */
- int firstgid;
char *name;
int tilewidth;
int tileheight;
struct image *image;
- struct tileset *next;
+};
+struct map_tileset {
+ struct tileset *tileset;
+ int firstgid;
+ struct map_tileset *next;
};
struct map {
struct resource res;
@@ -24,16 +26,17 @@ struct map {
int height;
int tilewidth;
int tileheight;
- struct tileset *tilesets_head;
- struct tileset *tilesets_tail;
+ struct map_tileset *tilesets_head;
+ struct map_tileset *tilesets_tail;
struct layer *layers_head;
struct layer *layers_tail;
Uint8 *collision;
+ int cur_ts_firstgid;
};
struct map *map_get(const char *path);
void map_free(struct map *map);
void map_add_layer(struct map *m, struct layer *l);
-void map_add_tileset(struct map *m, struct tileset *t);
+void map_add_tileset(struct map *m, struct tileset *t, int firstgid);
#endif