From 02c5d26d0d65ef0f861df18a5c00d720ac405012 Mon Sep 17 00:00:00 2001 From: P. J. McDermott Date: Thu, 25 Mar 2021 19:17:36 -0400 Subject: map: Save player and target GIDs --- (limited to 'src/map.c') diff --git a/src/map.c b/src/map.c index e4ee0b9..3b9c7ad 100644 --- a/src/map.c +++ b/src/map.c @@ -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) -- cgit v0.9.1