Skip to content

jamesalbert/allegro_tiled

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

allegro_tiled

allegro_tiled is an Allegro 5 module that adds support for parsing and using TMX map files. This means that Tiled, as well as any other program supporting the same map format, can be used to create and edit game worlds while the complexity of parsing and drawing them is completely taken care of:

ALLEGRO_MAP *map = al_open_map("data/maps", "level1.tmx");
al_draw_map(map, 0, 0, 0); // (map, dx, dy, flags)

Additional methods are provided to draw one map layer at a time and/or draw only a particular section. Layers, tilesets, tiles, and objects are all given types, with methods that make them easy to access and use.

screenshot

Currently, the following is supported:

  1. Orthogonal maps.
  2. Base64 encoding with gzip, zlib, or no compression.
  3. XML and CSV encoding. (though honestly, why would you?)
  4. Tile "flipped" flags, both vertically and horizontally.
  5. Objects.

The following is not yet supported:

  1. Isometric maps.

Compiling the Library

Dependencies in Linux:

Make sure the following dependencies are installed:

  • allegro
  • allegro_image
  • xml2
  • zlib
  • glib
  • cmake

Dependencies in OSX:

Make sure the following dependencies are installed using Homebrew:

  • allegro5
  • libxml2
  • zlib
  • glib
  • cmake

Compiling:

Then simply run cmake . followed by make in the root folder to compile it, and optionally sudo make install to handle installation. To run the example, cd to the examples folder and type LD_LIBRARY_PATH=.. ./example. Use the arrow keys to scroll and Space to reload the map file.

If you wish to disable building the example, simply run cmake with -DWANT_EXAMPLE=Off before building the library.

CMake will configure the build for a static library by default. If you would like to build a shared library instead, add -DBUILD_SHARED_LIBS to the cmake command above.

On Other Platorms:

This should work just fine on Windows and possibly FreeBSD, provided you know how to use CMake for those platforms and have the proper dependencies installed. However, because I primarily develop on Linux, I don't test on those platforms. Bug reports and fixes are welcome.

About

Tiled map support for Allegro 5.

Resources

License

Stars

Watchers

Forks

Releases

No releases published

Packages

No packages published

Languages

  • C 87.8%
  • C++ 12.2%