Skip to content

Port as much of ACE as possible to ACE. namespace#307

Open
Ally-for-Hire wants to merge 61 commits into
devfrom
namespace-refactor-2-attempt2
Open

Port as much of ACE as possible to ACE. namespace#307
Ally-for-Hire wants to merge 61 commits into
devfrom
namespace-refactor-2-attempt2

Conversation

@Ally-for-Hire

@Ally-for-Hire Ally-for-Hire commented Jul 24, 2026

Copy link
Copy Markdown
Collaborator

Idea

This is a pretty major refactor, continuing on the previous one of internal-function namespaces, this targets the remaining hooks and cvars left from ACF2. We can use AI to identify legacy functions and namespace incompatibilities and monitor the resolution. The scope and implementation of the work was designed by the team itself.

Description

This refactor will finish converting the namespaces to a consistent ACE. and ACE_ rather than the various ACF., ACF_, or ACE_ with very little rhyme or reason found through the code. A previous PR already fixed most of the internal functions, and this one is scoped to finding and resolving all of the rest that won't break backwards compatibility. This will mostly avoid touching player-facing behaviour and shouldn't touch optimization, it will just be the next step towards a better back-end. Previously this was split into the following categories:

  • ACF. was used for global ACF2 and older ACE functions
  • ACF_ was used for ACF2 and older ACE specific functions
  • ACE_ and ACE. were used inconsistently across newer functions

We want to move all ACE functions to the ACE. namespace, and move all hooks to the ACE_ namespace or give them unique hook IDs so they can't get overwritten or become incompatible trivially. We can also take this time to ensure all the code follows CFC's GLUA guidelines.

Notes

  • This will not touch E2/SF libraries, and that will likely remain the last permanent blocker between ACF3 and ACE compatibility even after the class rework and entity migration.
  • Major compatibility functions and hooks will be left alone for now, with bridges or aliases left if we do touch them.

@Ally-for-Hire Ally-for-Hire self-assigned this Jul 24, 2026
@Ally-for-Hire Ally-for-Hire added area: core Lifecycle, contraptions, legality, points, caches, or shared systems. area: integrations E2, Starfall, Wire, Lua APIs, compatibility, and external-addon integration. labels Jul 24, 2026
@Ally-for-Hire

Copy link
Copy Markdown
Collaborator Author

holy git diff 😭 , not much i can do about it without reverting functionality. what it does really does just touch SO many files and functions

@Ally-for-Hire Ally-for-Hire changed the title Namespace refactor 2 Port as much of ACE as possible to ACE. namespace Jul 24, 2026
@Ally-for-Hire Ally-for-Hire changed the title Port as much of ACE as possible to ACE. namespace Port as much of ACE as possible to ACE. namespace Jul 24, 2026
@KemGus

KemGus commented Jul 25, 2026

Copy link
Copy Markdown
Member

Waiting for this to be adressed:
image

@Ally-for-Hire

Copy link
Copy Markdown
Collaborator Author

that was addressed and fixed

Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment

Labels

area: core Lifecycle, contraptions, legality, points, caches, or shared systems. area: integrations E2, Starfall, Wire, Lua APIs, compatibility, and external-addon integration.

Projects

None yet

Development

Successfully merging this pull request may close these issues.

2 participants