Mercurial > molko
comparison mlk-map/mlk-map.c @ 592:1560ef13146c
rpg: map support player sprite
author | David Demelier <markand@malikania.fr> |
---|---|
date | Mon, 20 Mar 2023 21:59:02 +0100 |
parents | f271681ce015 |
children | e070fdcc592b |
comparison
equal
deleted
inserted
replaced
591:bca466732620 | 592:1560ef13146c |
---|---|
54 | 54 |
55 return NULL; | 55 return NULL; |
56 } | 56 } |
57 | 57 |
58 static void | 58 static void |
59 write_origin(const json_t *props) | 59 write_player_origin(const json_t *props) |
60 { | 60 { |
61 const json_t *prop_origin_x; | 61 const json_t *x, *y; |
62 const json_t *prop_origin_y; | 62 |
63 | 63 x = find_property(props, "player-origin-x"); |
64 prop_origin_x = find_property(props, "origin-x"); | 64 y = find_property(props, "player-origin-y"); |
65 prop_origin_y = find_property(props, "origin-y"); | 65 |
66 | 66 if (!x || !json_is_integer(x) || |
67 if (!prop_origin_x || !json_is_integer(prop_origin_x) || | 67 !y || !json_is_integer(y)) |
68 !prop_origin_y || !json_is_integer(prop_origin_y)) | |
69 return; | 68 return; |
70 | 69 |
71 printf("origin|%d|%d\n", | 70 printf("player-origin|%d|%d\n", |
72 (int)json_integer_value(prop_origin_x), | 71 (int)json_integer_value(x), |
73 (int)json_integer_value(prop_origin_y)); | 72 (int)json_integer_value(y)); |
73 } | |
74 | |
75 static void | |
76 write_player_sprite(const json_t *props) | |
77 { | |
78 const json_t *sprite, *w, *h; | |
79 | |
80 sprite = find_property(props, "player-sprite"); | |
81 w = find_property(props, "player-sprite-w"); | |
82 h = find_property(props, "player-sprite-h"); | |
83 | |
84 if (!sprite || !json_is_string(sprite) || | |
85 !w || !json_is_integer(w) || | |
86 !h || !json_is_integer(h)) | |
87 return; | |
88 | |
89 printf("player-sprite|%d|%d|%s\n", | |
90 (int)json_integer_value(w), | |
91 (int)json_integer_value(h), | |
92 json_string_value(sprite) | |
93 ); | |
74 } | 94 } |
75 | 95 |
76 static void | 96 static void |
77 write_properties(const json_t *props) | 97 write_properties(const json_t *props) |
78 { | 98 { |
79 write_origin(props); | 99 write_player_origin(props); |
100 write_player_sprite(props); | |
80 } | 101 } |
81 | 102 |
82 static void | 103 static void |
83 write_dimensions(const json_t *document) | 104 write_dimensions(const json_t *document) |
84 { | 105 { |