This is a draft list of all the major refactors that are known. Most are quality of life. These features are not specific to the AllegroFlare project (partially in Blast and downstream game projects).
Fixing "make" in AllegroFlare
Will require reverting change from about a year ago that added a singleton Logger to AllegroFlare/Frameworks/Full.
Update all error messages to include full name of class
After doing so, a lot of tests will need to be updated where the EXPECT_EQ statement uses the old error message format. Making this change will mean a lot of downstream updating in, basically every project.
Find a way to get type as a constructor argument to pass down into the parent class
May need to also consider keeping class lineage accessible.
Use ENUMS as keys for Attributes, update lookup code in Attributes
Attributes lookup their variables by string keys, which surely has performance ramifications in regards to comparison times and byte-alignment cache sizes.
Allow writing code for destructor body
Option 1:
destructor_body: |
return;
Option 2:
- name: ~Destructor
body: |
return;
In this second technique, the ~ prefixing character would be detected and then specific restraints would be added, namely no parameters, function name must match name of class, removed from list of "functions" possibly, etc.
Add Background class to provide positioned, non-repeating backgrounds, zoom scaling, etc
A "destroy" mechanism in Entities, somehow ensuring that lifecycles of objects are managed
Adding light directionality tile to a TileMaps/* tile map
This is a draft list of all the major refactors that are known. Most are quality of life. These features are not specific to the AllegroFlare project (partially in Blast and downstream game projects).
Fixing "make" in AllegroFlare
Will require reverting change from about a year ago that added a singleton
Logger
toAllegroFlare/Frameworks/Full
.Update all error messages to include full name of class
After doing so, a lot of tests will need to be updated where the
EXPECT_EQ
statement uses the old error message format. Making this change will mean a lot of downstream updating in, basically every project.Find a way to get
type
as a constructor argument to pass down into the parent classMay need to also consider keeping class lineage accessible.
Use ENUMS as keys for Attributes, update lookup code in Attributes
Attributes
lookup their variables by string keys, which surely has performance ramifications in regards to comparison times and byte-alignment cache sizes.Allow writing code for destructor body
Option 1:
Option 2:
In this second technique, the
~
prefixing character would be detected and then specific restraints would be added, namely no parameters, function name must match name of class, removed from list of "functions" possibly, etc.Add Background class to provide positioned, non-repeating backgrounds, zoom scaling, etc
A "destroy" mechanism in Entities, somehow ensuring that lifecycles of objects are managed
Adding light directionality tile to a TileMaps/* tile map
Interactive and controllable music layering