diff options
author | P. J. McDermott <pj@pehjota.net> | 2021-03-25 19:17:36 (EDT) |
---|---|---|
committer | P. J. McDermott <pj@pehjota.net> | 2021-03-25 19:17:36 (EDT) |
commit | 02c5d26d0d65ef0f861df18a5c00d720ac405012 (patch) | |
tree | ee7a1750cc1acdbdc2bb65bcb53a8cd4954762c1 /src/map.c | |
parent | 81de78c6de8adf57bb713ea396a94bcfdd8ad035 (diff) | |
download | dodge-balls-02c5d26d0d65ef0f861df18a5c00d720ac405012.zip dodge-balls-02c5d26d0d65ef0f861df18a5c00d720ac405012.tar.gz dodge-balls-02c5d26d0d65ef0f861df18a5c00d720ac405012.tar.bz2 |
map: Save player and target GIDs
Diffstat (limited to 'src/map.c')
-rw-r--r-- | src/map.c | 34 |
1 files changed, 20 insertions, 14 deletions
@@ -66,9 +66,11 @@ struct db_map { int player_x; int player_y; int player_r; + int player_gid; int target_x; int target_y; int target_r; + int target_gid; struct db_ball *ball_head; struct db_ball *ball_tail; }; @@ -530,13 +532,15 @@ _db_tmx_object_end(void *pv, const char *name) if (db_xml_check_tag(name, "object")) { if (strcmp(map->obj_type, "player") == 0) { - map->player_x = map->obj_x; - map->player_y = map->obj_y; - map->player_r = map->obj_r; + map->player_x = map->obj_x; + map->player_y = map->obj_y; + map->player_r = map->obj_r; + map->player_gid = map->obj_gid; } else if (strcmp(map->obj_type, "target") == 0) { - map->target_x = map->obj_x; - map->target_y = map->obj_y; - map->target_r = map->obj_r; + map->target_x = map->obj_x; + map->target_y = map->obj_y; + map->target_r = map->obj_r; + map->target_gid = map->obj_gid; } else if (strcmp(map->obj_type, "ball") == 0) { map->ball_tail = db_ball_new(map->obj_x, map->obj_y, map->obj_r, map->obj_a, map->obj_d, @@ -899,19 +903,21 @@ db_map_get_tilesets(struct db_map *map) } void -db_map_get_player(struct db_map *map, int *x, int *y, int *r) +db_map_get_player(struct db_map *map, int *x, int *y, int *r, int *gid) { - *x = map->player_x; - *y = map->player_y; - *r = map->player_r; + *x = map->player_x; + *y = map->player_y; + *r = map->player_r; + *gid = map->player_gid; } void -db_map_get_target(struct db_map *map, int *x, int *y, int *r) +db_map_get_target(struct db_map *map, int *x, int *y, int *r, int *gid) { - *x = map->target_x; - *y = map->target_y; - *r = map->target_r; + *x = map->target_x; + *y = map->target_y; + *r = map->target_r; + *gid = map->target_gid; } struct db_ball *db_map_get_balls(struct db_map *map) |