Skip to content

Agent/vela fzero gimmicks - #145

Closed
mckoya wants to merge 629 commits into
doldecomp:mainfrom
humboldt123:agent/vela-fzero-gimmicks
Closed

mckoya wants to merge 629 commits into
doldecomp:mainfrom
humboldt123:agent/vela-fzero-gimmicks

Conversation

@mckoya

@mckoya mckoya commented Oct 8, 2026 •

Copy link
Copy Markdown

i lowk did not need to make this pr

DanielDavis05 and others added 30 commits October 7, 2026 19:24
Validated together with the other fighter behavior changes: 18 new exact functions and all 127 output hashes pass.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
…eration limit

getWalkSpeedMul/getRunSpeedMul/getJumpSpeedMul scale a fighter's speed; in adventure mode
they are multiplied by calcAdventureMulValue (named, body not yet recovered). The weight
reaction multiplier scales knockback by weight. isValidStatusKindZako lists the statuses a
Zako fighter cannot enter, and isEnableSpeedOperation rejects operated speed above a
common limit unless a work flag allows it (squared-length comparison).

ft_util is still NonMatching (float-constant pool offsets only differ for some functions).
All 127 hashes OK.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
getItemWaitMotion / getItemSquatWaitMotion pick the wait motion while holding an item:
normal, pickup and plate holds use it unless the item is the motion sensor bomb, and a grip
hold uses it only for King Dedede (via the stage object's sub kind). Both are 99% (a single
load is scheduled one instruction earlier in the original; permuter found nothing).

ft_util stays NonMatching. All 127 hashes OK.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Match initialization and linked parent rotation pose selection, with the complete status lifecycle linked. All five functions are exact (540 bytes); all 127 output hashes pass.

Co-Authored-By: Codex GPT-6.1 Sol <267193182+codex@users.noreply.github.com>
Co-Authored-By: Codex GPT-6.1 Sol <267193182+codex@users.noreply.github.com>
Recover wall-contact motion selection and wall-position adjustment. Consolidate motion-change parameter declarations while preserving existing array matches.

Co-Authored-By: Codex GPT-6.1 Sol <267193182+codex@users.noreply.github.com>
Validated together with the fighter-status batch: full build and all 127 output hashes passed, with no prior exact functions lost.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Validated together with the fighter-status batch: full build and all 127 output hashes passed, with no prior exact functions lost.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Validated together with the fighter-status batch: full build and all 127 output hashes passed, with no prior exact functions lost.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
The work manage module routes a work variable ID to one of three general works: the top
nibble selects the work (0x1... = LA, 0x2... = RA in the BrawlRE variable lists) and the low
24 bits are the variable number; flag IDs address one bit (low 8 bits, 32 bits to a word).
All the int/float/flag getters, setters and arithmetic forward to the selected work.
rndInt/rndFloat return early for an empty range, setFlag dispatches to on/off, countDownInt
reports when the threshold is reached, activate clears every work and the lock counters.

The shipped header models two work slots and a bool turnOffFlag; the local shadow is corrected
to three works, the param accesser, and a u32 turnOffFlag (like the general work's). soLockable
gets a reset(). 23/28 exact; the constructor, destructor and notifyEventAnimCmd remain.
Checked the whole report for regressions (none). All 127 hashes OK.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Keeps the full ftUtil class header and adds the adjustWall declaration the Sonic status work
introduced at the same path.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…ot human-gated instructions

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…AGENTS.md

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
The slope module tilts a fighter's top (or part) joint to the angle of the ground it stands on.
setStatus queues a (status mask, angle, is-part) request, dropping statuses the module was told to
ignore; changeStatus applies it, restarting the angle of every part that just became active;
activate resets everything; updateModelTopAngle rotates the model node by the ground angle (degrees
to radians, scaled by the model's facing) while the fighter is grounded and touching the floor.
notifyEventChangeStatus clears the slope for statuses that do not follow it.

Names the angle fields of the local shadow header. 10 of 16 functions exact (update, constructor,
destructor, notifyEventAnimCmd remain; notifyEventChangeStatus is one scheduled load off).
No regressions, all 127 hashes OK.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Record incoming power and retaliation direction, apply attacker hitstop, and call the shared Fighter handler. Restore shield callback argument order across observer overrides and matching fighter thunk names.

Validation: notification and dispatch thunk exact; one additional green function, 492 bytes. All 127 file hashes pass.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Advance the Final Smash attack phase on a confirmed hit and clear its dash hit flag before delegating to the shared Fighter check.

Validation: the 296-byte method matches exactly; all 127 file hashes pass.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Reconstruct target checks, the six-window limit, window placement and task tracking. Correct the binary-resource API to expose its raw data pointer.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Load the final three integer parameters from the final table. Represent its integer fields directly, including the two HP-window timer values.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Identify and verify sound-generator lifecycle, work arithmetic and flags, animation address lookup, activity and model-matrix accessors. Preserve the original work-clearing size reload and comparison in the Marth translation unit.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Reconstruct the build configuration shared by the four Zako fighters (Boy, Girl,
Child, Ball): AnimCmd/Status/Motion capacities, reflector groups, area capacity,
extend-param accessers, class infos and the per-fighter BuildConfig classes, plus
the trivial virtuals. The area builder's instance capacity is now a config
parameter (default 9, Zako uses 3). Function symbols are named after the
compiled output. Unit stays NonMatching; all 127 file hashes OK.

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Claude-Session: https://claude.ai/code/session_01Xbfs2chEz4ZKMapGB5TmW7
Recover all three neutral-special phases, register the character status processes, and describe the Counter shield parameter layout. Name Marth lifecycle and Kirby-aware constant interfaces.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
…family, ftUtil and Zako fighter builders

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Recover bike rider linking, damage handling, wheelie animation, startup and detachment across six natural status units. Promote Common, Start, Wheelie and Down after full hash validation; preserve Entry and Escape as readable NonMatching drafts.

Co-Authored-By: Codex GPT-6.1 Sol <267193182+codex@users.noreply.github.com>
Recover egg-shield scaling, guard-family color animation and release effects,
aerial-jump rotation and facing reversal, and catch-pull frame remapping and
cleanup across seven natural status units. Correct shared virtual dispatch and
module-local destructor ownership against the original tables and lifecycle.

Validation: 48 additional exact functions, 3356 matched and linked code bytes;
full build and all 127 output hashes pass, with no previous exact-function losses.

Co-Authored-By: Codex GPT-6.1 Sol <267193182+codex@users.noreply.github.com>
Move the recovered generic CatchPull declaration into its canonical header
while preserving the verified Yoshi defense and movement batch.

Co-Authored-By: Codex GPT-6.1 Sol <267193182+codex@users.noreply.github.com>
mckoya and others added 2 commits October 8, 2026 22:58
…o_trainer_warning.cpp)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…function identities)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
@mparisi20
mparisi20 self-requested a review October 8, 2026 23:39

@mparisi20 mparisi20 left a comment

Copy link
Copy Markdown
Collaborator

Choose a reason for hiding this comment

The reason will be displayed to describe this comment to others. Learn more.

@mckoya While this can't be merged or even reviewed properly as-is, it looks like there is some good progress on ModuleBuilders in here that we can mine out and incorporate into the headers. The focus for fighter decomp will remain on completing one fighter (probably Puff or Marth) to get the ball rolling on the rest.

DanielDavis05 and others added 23 commits October 8, 2026 23:45
Co-Authored-By: Codex GPT-6.1 Sol 267193182+codex@users.noreply.github.com
Reconstruct Lucas PSI Magnet statuses and fighter registrations
Co-Authored-By: Codex GPT-6.1 Sol 267193182+codex@users.noreply.github.com
Reconstruct Peach Blossom Final status and companion task
Co-Authored-By: Codex GPT-6.1 Sol 267193182+codex@users.noreply.github.com
Match Peach Final task setup and rate
Co-Authored-By: Codex GPT-6.1 Sol 267193182+codex@users.noreply.github.com
…tor- for the position deltas

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Reconstruct Snake Final status behavior
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…-guarded scene model cast in the hit object

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…mbols

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…/update/start positions, shadow plane fade)

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…zone), shadow headers for the item/area/operator declarations

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
…otrain

Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>
Retain existing item controls, pointer parameters, and shield-collision argument order while adding the rest-area availability and render-priority methods.

Co-Authored-By: Codex <267193182+codex@users.noreply.github.com>
@mckoya
mckoya marked this pull request as draft October 9, 2026 12:34
@mckoya mckoya closed this Oct 9, 2026
@humboldt123
humboldt123 deleted the agent/vela-fzero-gimmicks branch October 9, 2026 13:06
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.

5 participants