Functions¶
libTMX provides a few functions to load maps and use the hasmaps. To access a loaded map, see The Data Structure.
Load maps¶
-
tmx_map*
tmx_load_buffer(const char *buffer, int len)¶ Load a TMX map from the given buffer whose length is len.
-
typedef int
(*tmx_read_functor)(void *userdata, char *buffer, int len)¶ Definition of the tmx_read_functor callback.
-
tmx_map*
tmx_load_callback(tmx_read_functor callback, void *userdata)¶ Load a TMX map using a callback function as defined above.
External resources¶
libTMX has a resource manager to store tilesets and object templates to avoid loading them twice or more.
-
tmx_resource_manager¶ tmx_resource_manager is a private type.
-
tmx_resource_manager*
tmx_make_resource_manager()¶ Create a new resource manager.
-
void
tmx_free_resource_manager(tmx_resource_manager *rc_mgr)¶ Free a resource manager.
Load resources and maps¶
Tilesets¶
-
int
tmx_load_tileset(tmx_resource_manager *rc_mgr, const char *path)¶ Load a tileset at the given path in a resource manager.
-
int
tmx_load_tileset_buffer(tmx_resource_manager *rc_mgr, const char *buffer, int len, const char *key)¶ Load a tileset from the given buffer in a resource manager.
-
int
tmx_load_tileset_fd(tmx_resource_manager *rc_mgr, int fd, const char *key)¶ Load a tileset from a C file descriptor in a resource manager.
-
int
tmx_load_tileset_callback(tmx_resource_manager *rc_mgr, tmx_read_functor callback, void *userdata, const char *key)¶ Load a tileset using a callback function in a resource manager.
Object Templates¶
-
int
tmx_load_template(tmx_resource_manager *rc_mgr, const char *path)¶ Load a tileset at the given path in a resource manager.
-
int
tmx_load_template_buffer(tmx_resource_manager *rc_mgr, const char *buffer, int len, const char *key)¶ Load a tileset from the given buffer in a resource manager.
-
int
tmx_load_template_fd(tmx_resource_manager *rc_mgr, int fd, const char *key)¶ Load a tileset from a C file descriptor in a resource manager.
-
int
tmx_load_template_callback(tmx_resource_manager *rc_mgr, tmx_read_functor callback, void *userdata, const char *key)¶ Load a tileset using a callback function in a resource manager.
Maps¶
-
tmx_map*
tmx_rcmgr_load(tmx_resource_manager *rc_mgr, const char *path)¶ Load a TMX map, use a resource manager to resolve/store external resources.
-
tmx_map*
tmx_rcmgr_load_buffer(tmx_resource_manager *rc_mgr, const char *buffer, int len)¶ Load a TMX map from the given buffer whose length is len, use a resource manager to resolve/store external resources.
-
tmx_map*
tmx_rcmgr_load_fd(tmx_resource_manager *rc_mgr, int fd)¶ Load a TMX map from a C file descriptor, use a resource manager to resolve/store external resources.
-
tmx_map*
tmx_rcmgr_load_callback(tmx_resource_manager *rc_mgr, tmx_read_functor callback, void *userdata)¶ Load a TMX map using a callback function as defined above. userdata is passed as-is. See
tmx_read_functor.
Variants with virtual paths¶
In case you’re working with a virtual file system, you may use these variants accepting a virtual path:
-
tmx_map*
tmx_rcmgr_load_buffer_vpath(tmx_resource_manager *rc_mgr, const char *buffer, int len, const char *vpath)¶ Load a TMX map from the given buffer whose length is len, with a given virtual path.
-
tmx_map*
tmx_rcmgr_load_fd_vpath(tmx_resource_manager *rc_mgr, int fd, const char *vpath)¶ Load a TMX map from a C file descriptor, with a given virtual path.
-
tmx_map*
tmx_rcmgr_load_callback_vpath(tmx_resource_manager *rc_mgr, tmx_read_functor callback, const char *vpath, void *userdata)¶ Load a TMX map using a callback function as defined above. userdata is passed as-is, with a given virtual path. See
tmx_read_functor.
Utilities¶
-
tmx_tile*
tmx_get_tile(tmx_map *map, unsigned int gid)¶ Deprecated since version 1.0: use map->tiles[gid] instead, see
tmx_map.tiles.
-
tmx_layer*
tmx_find_layer_by_id(const tmx_map *map, int id)¶ Get a layer by its ID, see
tmx_layer.id.
-
tmx_layer*
tmx_find_layer_by_name(const tmx_map *map, const char *name)¶ Get a layer by its name (user defined string, use with care, may not be unique), see
tmx_layer.name.
-
tmx_object*
tmx_find_object_by_id(const tmx_map *map, unsigned int id)¶ Get an object by its ID, see
tmx_object.id.
-
tmx_tileset_list*
tmx_find_tileset_by_name(const tmx_map* map, const char* name)¶ Get a tileset by its name (user defined string, use with care, may not be unique), see
tmx_tileset.name.
-
tmx_property*
tmx_get_property(tmx_properties *hash, const char *key)¶ Get a property by its name.
-
typedef void
(*tmx_property_functor)(tmx_property *property, void *userdata)¶ Definition of the tmx_property_functor callback, to be used with
tmx_property_foreach().
-
void
tmx_property_foreach(tmx_properties *hash, tmx_property_functor callback, void *userdata)¶ Call the given callback function for each properties, userdata is forwarded as-is. See
tmx_property_functor.
Colour conversion functions¶
Helper functions to convert the unsigned int colour from the datastructure, see tmx_map.backgroundcolor,
tmx_object_group.color, tmx_property_value.color.
-
tmx_col_bytes¶ 4 unsigned bytes in the following order: r, g, b, a.
-
tmx_col_bytes tmx_col_to_bytes(uint32_t color); Splits the colour into 4 bytes.
-
tmx_col_floats¶ 4 floats in the following order: r, g, b, a.
-
tmx_col_floats tmx_col_to_floats(uint32_t color); Splits the colour into 4 floats.