My old thread has long since been locked,
https://forum.thegamecreators.com/thread/210176
Clonkex and I have gone back and forth over the years implementing this. I'm revisiting the project to update it so it works with AppGameKit 2. With UDTs now supporting dynamic arrays, I can contain the entire map and it's data into a single variable. This helps keep things cleaner and also should theoretically allow you load multiple maps at a time (if for some reason you needed to).
I'm almost caught up with everything that the old version had, which I should finish up today. I did add support for external tilesets finally. My biggest concern right now is speed. CSV appears the best method right now. The Base64 is extremely slow with large maps. It took close to 4 minutes to decode the string from my zelda map, which was a 120k character encoded string. I've tried using memblocks and gained practically no speed increase.
I have one more idea to try though.
Image and Object layers are trivial and will be added shortly. I also plan to implement properties (finally) and animations.
Sorry, no pics yet, wouldn't be much of anything to show really. If anyone has suggestions or a request for something that was missing in my earlier versions, shout it out.
Features:
Supports encoding: xml, csv, base64(uncompressed)
Supported map types: orthogonal, isometric, staggered isometric, hexagonal
Supports tileset images which use margin/spacing
Supports image layers
Layer alpha and visibility
Set the map viewport area (Define area of screen where map can only be visible)
Supports tile flipping
Support for TSX tilesets (external tileset xml)
Compression (gzip, zlib)
Objects
Properties
Animations
Terrain
Image Collections
Tile render order
Update: 1 Apr 2017
* Fixed tile selection for isometric maps
* Fixed tile position/layout for staggered maps
Update: 24 Mar 2017
* Objects fully supported
Update: 23 Mar 2017
* Objects is partially supported (rectangle, ellipse, polygon)
* Fixed a bug in the xml parser
* worked out some issues with layer offsets
Update: 20 Mar 2017
* Add support for image collections (which I didn't know existed until today)
Update: 19 Mar 2017
* Added animated tiles
Update: 18 Mar 2017
* Added properties
* Restructured how layers are handled
* Added image layers
Update: 15 Mar 2017
* Added hexagonal support, but still need to work out rendering order for some of the various configurations
Update: 4 Mar 2017
* Base64 has been redesigned and now is significantly faster (about 1000x faster)
* After much headache, the XML parser has been rewritten from scratch for a huge speed boost (up to 50x faster)
"I like offending people, because I think people who get offended should be offended." - Linus Torvalds