Skip to content

Retire completed native battle queue and HP drain markers - #227

Closed
Roxas2712 wants to merge 1 commit into
UNDERdecoded:mainfrom
Roxas2712:codex/native-battle-transient-lifecycle
Closed

Roxas2712 wants to merge 1 commit into
UNDERdecoded:mainfrom
Roxas2712:codex/native-battle-transient-lifecycle

Conversation

@Roxas2712

Copy link
Copy Markdown

After a native queued callback or HP drain finishes, zero-valued transient markers remain on the battle state. Consumers that correctly require a settled command boundary then stay blocked for the rest of the battle.

Retire the insertion cursor after each successful callback and when an externally inserted queue runs out. Keep the cursor present during callback execution so reentrant consumers remain blocked. Retire a completed HP closing hold on the existing idle frame, preserving the drain and closing-frame timings.

Validation: 144/144 native lifecycle checks across Red, Gold, Silver, Crystal, FireRed and Emerald, including nested insertion order and external UI insertions; the unchanged parent fails the same regression. The independent branch also passes 163/163 timing and 18/18 multihit-drain checks. No ROM or mod assets are included.

The combined fork additionally exercises the actual START auxiliary hook after queued callbacks and HP drains: 4,680/4,680 checks across the existing game/API matrix. That hook is supplied separately by #152.

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

Successfully merging this pull request may close these issues.

1 participant