Skip to content

Releases: allegroflare/allegro_flare

Diligent Discus

16 Jun 15:50
Compare
Choose a tag to compare
Diligent Discus Pre-release
Pre-release

This is the most dramatic set of changes of any release so far. The total number of commits since initial commit is 1,254. This release contains 468 of them. The largest factor in these changes was a shift in the design. Namely:

  • The functionality of each component is deliberate, clear, self-contained, and tested
  • No more "will finish it later" components, classes, or features
  • All classes are written in a more consistent and proper style (See new style guide)
  • GUI has been removed - could make a comeback with a slightly new design
  • Tests tests tests!

Some Specific Design Changes

  • The allegro_flare/ folder no longer exists and has been replaced by AllegroFlare/ with new file name and class name semantics
  • All classes (now generally being referred to as "components") are accompanied by a test file, written using Google Test
  • All file names are now in CamelCase to match the class names themselves
  • All classes are namespaced within AllegroFlare:: 🎉
  • Old example programs were moved to legacy/ folder for reference
  • Several components are written using quintessence files
  • Exceptions thrown with clear error messages
  • Naming conventions and access patterns are more consistent (get_*, set_*, etc)
  • Remove boost

Emerging Testing Conventions

  • Testing now done with Google Test
  • New AllegroFlare/Testing/WithAllegroRenderingFixture since 30e82d3 - A test fixture that enables running a unit test with an active Allegro 5 context (active display, access to fonts, bitmaps, etc.) simply and easily
  • Capturing COUT a5e4f71

Moving Forward

Note that with these design changes, a lot of previously existing code has been removed from the codebase - GUI framework and widgets, example programs, etc. A lot of these features might eventually be integrated back in; they do demonstrate some pretty cool stuff.

Going forward, the plan is to tackle 2 major topics:

  • Update the build system to CMAKE - Get it to work in non-core-dev environments and prepare for public release and development
  • Begin introducing higher-level design view of AllegroFlare - Add new classes that address high-level interests some examples, and begin integrating high-level concepts seamlessly into the framework.

Final Note

All in all, the codebase is cleaner, there are established conventions and a minimum standard of quality. Congrats on this major overhaul!

Here's the full change log: v0.8.9...v0.8.10

Sassy Seadragon

17 Oct 02:41
Compare
Choose a tag to compare
Sassy Seadragon Pre-release
Pre-release

This release marks a lot of smaller changes. Here's the comparison log from 0.8.8 to 0.8.9. There's really too much to cover to cover it all. But, some big achievements include:

  • Moving surface areas into nested folders
  • Creation of ElementID, a great abstraction of arbitrary string attributes on classes.
  • KeyboardCommandMapper, a really nice class for managing and mapping keyboard combinations to string identifiers, or a collection of string identifiers.
  • Addition of PickingBuffer
  • Addition of UserEventEmitter
  • All (most?) compile warnings and errors are gone

In reality, the main objective of this release is to freeze this state of the app and prepare for somewhat major changes that will otherwise break the existing API and existing folder structure and header filenames. Stay tuned for that.

Pedantic Paddlefish

23 Feb 01:37
Compare
Choose a tag to compare
Pedantic Paddlefish Pre-release
Pre-release

Notable Changes:

  • UIWidget (and all its descendants) now inherit from ElementID which inherits from Attributes. This makes traversing the child <-> parent tree a lot easier and more standardized.
  • Added a Random class
  • Refactored JSON
  • Added i18n
  • Improved the build system so objects no longer need to be listed out
  • Cleaned up tags and releases
  • Added logo to repo
  • Fixed mouse coordinates issue with nested widgets
  • Created a (rudimentary) layout loader for creating and loading GUI layouts

KrampusHack 2016

04 Jan 20:37
Compare
Choose a tag to compare
KrampusHack 2016 Pre-release
Pre-release

This is the version used along with the master branch of https://github.com/MarkOates/krampushack2016 at commit MarkOates/krampushack2016@80b0c97

Hellbender Horse

22 May 18:07
Compare
Choose a tag to compare
Hellbender Horse Pre-release
Pre-release

This version makes major changes to the API and naming conventions, and adds a GUI.

Major changes:

  • rename af to Framework
  • FlareGUI has been completely merged and renamed from FGUI to UI
  • compiler name and version removed from lib filename
  • bump required Allegro version to 5.2.0
  • Bins can no longer be created globally

Other notable changes:

  • fixes compile warnings when using make and make examples
  • improves testing methods with boost test
  • allegro5/ is now the default directory for Allegro in Makefile
  • src/ is renamed to source/
  • runtime errors and warnings are color coded
  • identification renamed to element_id
  • Attributes can be saved and loaded to/from files
  • AttrSaveLoad removed completely
  • added RenderCache
  • fixed CamelCase naming convention in vec2d and vec3d

No binaries are provided with this release.

TINS 2016

16 May 20:46
Compare
Choose a tag to compare
TINS 2016 Pre-release
Pre-release

This is the version used in my TINS 2016 entry "The Path". Build along with Allegro 5.2.0.

Weatherbeaten Wobbegong

26 Mar 20:19
Compare
Choose a tag to compare
Pre-release

A lot of new features and a ton of overall improvements in the past 8 months. Some include...

  • Better folder structure
  • Improved build system
  • Renaming of several classes
  • Several examples moved to classes
  • Several screens moved to demos
  • Screens each now have a subbitmap of the backbuffer
  • Introduction of a doc parsing system in Python
  • Massively improved Mac Support
  • Much more

Time for a bump.

Tricky Tetra

04 Jan 21:37
Compare
Choose a tag to compare
Tricky Tetra Pre-release
Pre-release

Following this release, a few major changes will be implemented and the API will be updated to work with Allegro 5.1.11. Compiled libs are not provided in this release, they are at upwards of 53 MB.

Salient Salamander

22 Apr 15:27
Compare
Choose a tag to compare
Salient Salamander Pre-release
Pre-release

A pre-release to mark the end of a development cycle.

Brave Bunny

22 May 18:43
Compare
Choose a tag to compare
Brave Bunny Pre-release
Pre-release

This is the first release of AllegroFlare. This is a non-production test release and is built with Allegro 5.1.8.