Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

List of large refactors remaining #268

Open
MarkOates opened this issue May 16, 2024 · 0 comments
Open

List of large refactors remaining #268

MarkOates opened this issue May 16, 2024 · 0 comments

Comments

@MarkOates
Copy link
Collaborator

MarkOates commented May 16, 2024

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

Interactive and controllable music layering

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
None yet
Projects
None yet
Development

No branches or pull requests

1 participant