Like with all good projects, this one's genesis involved some copious amounts of alcohol and a discussion over MSN Messenger about Rubik's cubes and Minesweeper. Obviously, the topic quickly degenerated into combining the two into a 3D Minesweeper and we learned that, while such games already exists, all available options are either Linux-exclusive, expensive, or buggy.
I found the situation absolutely unacceptable, so I ended up spending my winter break on learning the basics of OpenGL and creating the first prototype for Boxes and Bombs, which I called CubeSweeper back then. The result was such as one would expect, update logic tied to framerate, GL_SELECT picking, and about a dozen unnecessary dependencies. Ugh.
This all happened about a decade ago, so I thought it's about time for me to try again and hopefully do a bit less of an awful job this time. Download it here.
Update January 1st, 2013 3:07 PM: Made a mistake in the change log of the previous version, the method that supersedes the BlazeGears.BGTL.parse method is called compileTemplate, not parseTemplate. Made a new release (v1.1.0-s.1) with the fixed change log.
Well, this one took quite a while, mostly because I spent the majority of my time on planning how I'm going to clean up the API. So I'll go crazy on the deprecated label for the next release.
I realized that (according to the documentation) the updateEntity function was working as expected, so I reverted the last fix made to it. Whoops.
Found a couple of cases where some methods silently fail. Now they throw exceptions instead.
Update February 3rd, 2012 1:41AM: I forgot to update the version number and history in the readme and license files. Made a new release (v1.0.1-s.1) with the fix. The amount of ones here is getting a bit unsettling.
Apparently, I'm unable to follow even my own design documents. Anyway, the BlazeGears.Format class is now properly declared as a singleton, as it meant to be.
Originally, it started out as a supporting toolkit for a CMS, and as the years gone by I stuffed it with more and more of the general functionality that I have been using in most of the websites I created. Eventually, the CMS itself got scrapped, so I stripped out the functionality specific to it and made the interface a bit more suitable for general use.
This is my first attempt at creating a public API, so it will most likely end up getting butchered pretty soon. Probably should't have labeled it stable, yet. Oh well. Download it here.