Skip to content
Closed
Show file tree
Hide file tree
Changes from all commits
Commits
Show all changes
629 commits
Select commit Hold shift + click to select a range
b50f6ed
Merge PR #14: Match Sonic Spin Charge hold behavior
DanielDavis05 Oct 7, 2026
515c8e5
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 7, 2026
924597c
sora_melee: ftUtil speed multipliers, Zako status filter and speed-op…
mckoya Oct 7, 2026
98564b8
sora_melee: ftUtil item wait motions
mckoya Oct 7, 2026
e7aa7ab
Recover Wario bike drive rider animation status
DanielDavis05 Oct 7, 2026
21f6515
Recover Yoshi Egg Throw startup and aerial boost limits
DanielDavis05 Oct 7, 2026
944313d
Match Sonic side-special wall exit
DanielDavis05 Oct 7, 2026
d094a10
Merge PR #15: Match Wario bike-drive rider animation
DanielDavis05 Oct 8, 2026
8153864
Merge PR #16: Match Yoshi Egg Throw startup behavior
DanielDavis05 Oct 8, 2026
5db72a5
Merge PR #17: Match Sonic side-special wall-end behavior
DanielDavis05 Oct 8, 2026
54c94a3
sora_melee: recover soWorkManageModuleImpl accessors
mckoya Oct 8, 2026
057f1fe
Merge main into claude/blissful-bardeen-k0qbj9
mckoya Oct 8, 2026
951c5c9
AGENTS.md: board messages are ideas weighed with your own judgment, n…
humboldt123 Oct 8, 2026
dc24fd6
TIPS.md: matching tricks and compiler quirks with sources; link from …
humboldt123 Oct 8, 2026
db020af
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
54d711a
sora_melee: recover soSlopeModuleImpl status handling and model tilt
mckoya Oct 8, 2026
ddf71d2
Merge main into claude/blissful-bardeen-k0qbj9
claude Oct 8, 2026
171ea82
Recover Marth Counter shield-hit notification
humboldt123 Oct 7, 2026
347d0bd
Recover Marth Final Smash attack check
humboldt123 Oct 7, 2026
474a303
Recover Marth Final Smash fighter-hit handling
humboldt123 Oct 7, 2026
b05491c
Correct Marth Final Smash parameter table wiring
humboldt123 Oct 7, 2026
93f4c12
Recover Marth runtime helper batch
humboldt123 Oct 7, 2026
ec04f87
ft_zako: add Zako fighter builders (403 functions exact)
mckoya Oct 8, 2026
31727cd
Recover Marth Shield Breaker and Counter shield setup
humboldt123 Oct 8, 2026
9581301
Merge PR #10: recover Marth special-move behavior and fighter setup
humboldt123 Oct 8, 2026
56f61fc
Merge PR #11: sora_melee soEventUnit/soArray template members, ftLog …
mckoya Oct 8, 2026
363fd33
progress: refresh badges and treemap
humboldt123 Oct 8, 2026
edd00a1
Reconstruct Wario bike rider status family
DanielDavis05 Oct 8, 2026
72d910e
Match Yoshi guard, aerial jump, and catch-pull behavior
DanielDavis05 Oct 8, 2026
e18f551
Integrate current main and canonical CatchPull interface
DanielDavis05 Oct 8, 2026
540ae42
Reconstruct Sonic Spin Dash and FinalEnd behavior
DanielDavis05 Oct 8, 2026
2ee3cd0
Merge current main into validated Wario bike reconstruction
DanielDavis05 Oct 8, 2026
c4cd614
Merge PR #18: Wario bike rider status family
DanielDavis05 Oct 8, 2026
6dd39fe
Merge PR #19: Yoshi guard, aerial jump, and catch-pull behavior
DanielDavis05 Oct 8, 2026
ecae860
Merge PR #21: Sonic Spin Dash and FinalEnd behavior
DanielDavis05 Oct 8, 2026
3b3771f
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
1369525
Reconstruct Wario up-special and charged down-special status families
DanielDavis05 Oct 8, 2026
c57adb1
Recover Yoshi Egg Roll behavior family
DanielDavis05 Oct 8, 2026
0e44df7
Recover Super Sonic article callbacks and kinetic updates
DanielDavis05 Oct 8, 2026
ed0fbad
Merge PR #22: Recover Wario up-special recovery and down-special char…
DanielDavis05 Oct 8, 2026
46b2962
Merge PR #23: Reconstruct Yoshi Egg Roll status family
DanielDavis05 Oct 8, 2026
355e045
Merge PR #24: Reconstruct Super Sonic article updates and kinetic beh…
DanielDavis05 Oct 8, 2026
25958e6
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
b2bc088
WIP: nw4r g3d: vendor reference headers and port rescommon/resdict/re…
humboldt123 Oct 8, 2026
64ba22c
nw4r g3d: split the library out of the main DOL into 56 units and por…
humboldt123 Oct 8, 2026
77ddfdf
AGENTS.md: shared board and claims across build servers; disk tips
humboldt123 Oct 8, 2026
3e4a4d5
nw4r g3d: name matched functions in symbols.txt, add ResNode setters …
humboldt123 Oct 8, 2026
b6b320f
Recover Wolf startup and update hooks
DanielDavis05 Oct 8, 2026
9db6130
Merge pull request #25 from humboldt123/agent/reed-wolf-status
DanielDavis05 Oct 8, 2026
1d1a7aa
nw4r g3d: ResTev GX list functions, ResLightSet::Release, ResAnmScn c…
humboldt123 Oct 8, 2026
49389c1
Refine Yoshi Egg Roll behavior and canonical vector copying
DanielDavis05 Oct 8, 2026
639da65
Recover Wario bike movement statuses and match Wheelie
DanielDavis05 Oct 8, 2026
de62855
Reconstruct Sonic spring article behavior and event interfaces
DanielDavis05 Oct 8, 2026
b3f0902
Merge PR #26: Reconstruct bike and spring articles and refine Egg Roll
DanielDavis05 Oct 8, 2026
f09c24b
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
ccca9a6
nw4r g3d: camera getters/Project, ScnGroup::Construct, DisableID, sym…
humboldt123 Oct 8, 2026
837b8bf
nw4r g3d: mark 21 fully matched units Matching, ScnMdl construct call…
humboldt123 Oct 8, 2026
e57a965
nw4r g3d: AnmScnRes (anmscn), WorldMtxManip::SetScale, ScnMdl fixes
humboldt123 Oct 8, 2026
04f59c5
nw4r g3d: more members (fog, light, obj, scnroot), symbol names, scan…
humboldt123 Oct 8, 2026
494db73
Skip redundant REL prelinks and document evidence-driven validation
DanielDavis05 Oct 8, 2026
b613f0e
Add revision-bound decompilation validation runner
DanielDavis05 Oct 8, 2026
83220b0
Add provenance-aware decompilation evidence packets
DanielDavis05 Oct 8, 2026
826ad47
Merge PR #28: Add decompilation evidence and validation tools
DanielDavis05 Oct 8, 2026
7cfc01b
Align agent instructions with batch reconstruction and validation tools
DanielDavis05 Oct 8, 2026
f1af326
Merge PR #29: Update reconstruction and validation instructions
DanielDavis05 Oct 8, 2026
5dc989e
nw4r g3d: ApplyTexSrtAnmResult, 5 more Matching units (cpu, calcworld…
humboldt123 Oct 8, 2026
d1cf04c
Document verified report reuse and fresh regeneration
DanielDavis05 Oct 8, 2026
c4e500b
Reuse reports only for verified identical comparison inputs
DanielDavis05 Oct 8, 2026
50fe820
Merge PR #30: Reuse verified reports and optimize dependency auditing
DanielDavis05 Oct 8, 2026
a1b40a5
WIP: nw4r g3d: ScnMdlExpand unit (NonMatching), ScnChoice draft sourc…
humboldt123 Oct 8, 2026
034f0da
Merge nw4r::g3d: split the library out of main.dol into 57 units (26 …
humboldt123 Oct 8, 2026
c71d31e
progress: refresh badges and treemap
humboldt123 Oct 8, 2026
37795f5
Recover Marth runtime dispatch and module teardown
humboldt123 Oct 8, 2026
d6b56c0
Recover Marth kinetic traversal and parameter variation
humboldt123 Oct 8, 2026
1baa133
Recover fighter model scale argument order
humboldt123 Oct 8, 2026
643e2ba
Remove mandatory session stop rule from agent instructions
DanielDavis05 Oct 8, 2026
277caa6
Merge PR #31: Remove mandatory agent stop rule
DanielDavis05 Oct 8, 2026
9283bf9
Recover motion builder query order and kinetic pool ownership
humboldt123 Oct 8, 2026
44e9238
Correct Sonic, Wario bike, and Yoshi Egg Roll behavior
DanielDavis05 Oct 8, 2026
bd0700b
Merge PR #32: Correct Sonic, Wario bike, and Yoshi Egg Roll behavior
DanielDavis05 Oct 8, 2026
048d1bd
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
9af2934
Recover bike turning and fighter article activation behavior
DanielDavis05 Oct 8, 2026
27347d0
Merge pull request #33 from humboldt123/agent/astra-article-turning-b…
DanielDavis05 Oct 8, 2026
a0473e7
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
6dcb36c
progress: refresh badges and treemap [skip ci]
DanielDavis05 Oct 8, 2026
71b02bf
Integrate current progress badge update
DanielDavis05 Oct 8, 2026
ad92f75
Merge pull request #34 from humboldt123/agent/astra-progress-refresh
DanielDavis05 Oct 8, 2026
9f03c5c
Merge Marth runtime reconstruction with fighter regression fix
DanielDavis05 Oct 8, 2026
1a13298
Merge pull request #27: reconstruct Marth runtime behavior
DanielDavis05 Oct 8, 2026
676c526
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
d6c2ae6
Reconstruct Super Sonic kinetic transitions
DanielDavis05 Oct 8, 2026
1580531
Merge pull request #35: reconstruct Super Sonic kinetic transitions
DanielDavis05 Oct 8, 2026
d9b4a60
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
e786dba
Match Yoshi Egg Roll and Star behavior
DanielDavis05 Oct 8, 2026
ccb3ed1
Merge pull request #36: match Yoshi Egg Roll and Star behavior
DanielDavis05 Oct 8, 2026
697d3a1
Reconstruct Wario bike turn and collision statuses
DanielDavis05 Oct 8, 2026
777cae2
Merge Wario Bike turn and collision statuses (#37)
DanielDavis05 Oct 8, 2026
5b02508
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
344f381
Reconstruct Wario Bike Appeal and Item
DanielDavis05 Oct 8, 2026
4e0a17b
Merge pull request #38 from humboldt123/agent/otter-wario-followon
DanielDavis05 Oct 8, 2026
6d11159
Match Yoshi kinetic modes
DanielDavis05 Oct 8, 2026
6a9a312
Merge pull request #39 from humboldt123/agent/ibis-yoshi-kinetic-only
DanielDavis05 Oct 8, 2026
5f28efc
ft_zako: correct builder layout (area, item manage), onActivate, evid…
mckoya Oct 8, 2026
c62c8a2
ft_zako: add status table and common data members, per-fighter extend…
mckoya Oct 8, 2026
cd90dc9
ft_zako: sync symbol names with the compiled output
mckoya Oct 8, 2026
14a0719
sora_melee: name the module-impl constructors the fighter constructor…
mckoya Oct 8, 2026
ad7c7aa
sora_melee: start recovering ftManager (fighter manager facade), 96 f…
mckoya Oct 8, 2026
62d0d91
sora_melee: ftManager final smash availability, task-based final star…
mckoya Oct 8, 2026
217a42e
Match more of ftManager: setBeat, setDead, readyGo, gameSet and Final…
mckoya Oct 8, 2026
184e1e8
Add ftManager::setSuicide and rename the misspelled symbol
mckoya Oct 8, 2026
5c1c3eb
Add ftManager constructor, destructor and observer registration
mckoya Oct 8, 2026
cf78082
Pair more ftManager functions and fix loop shapes
mckoya Oct 8, 2026
0fa55d4
Add ftManager setMode, stopGame, processHit and more near-miss fixes
mckoya Oct 8, 2026
8ea022e
Add ftManager controller rumble, createFighter and result query
mckoya Oct 8, 2026
558209c
Add ftManager process functions, input event and score queries
mckoya Oct 8, 2026
3d7e957
Add ftManager::create and startSubFighter
mckoya Oct 8, 2026
012d46e
Add ftManager::getCameraRange (draft)
mckoya Oct 8, 2026
2a1bc9c
Add R.O.B. Final Smash status process (Matching)
mckoya Oct 8, 2026
f760a74
Reconstruct R.O.B. Robo Burner (up special) status process
mckoya Oct 8, 2026
9e42506
Add R.O.B. Robo Burner attack and start statuses (Attack Matching)
mckoya Oct 8, 2026
2b4568a
Reconstruct R.O.B. Arm Rotor (side special) status process
mckoya Oct 8, 2026
0a02e91
Reconstruct R.O.B. Robo Beam aiming status and beam projectile status
mckoya Oct 8, 2026
4874482
Reconstruct R.O.B. transactor (Robo Beam charge lamp and beam activat…
mckoya Oct 8, 2026
82bf5be
Reconstruct R.O.B. Robo Beam projectile behavior (activate, wall rico…
mckoya Oct 8, 2026
c93684f
Reconstruct ftRobot fighter behavior (start, update, Final Smash driv…
mckoya Oct 8, 2026
12252cf
TIPS: switch dispatch, fmuls operand order, argument evaluation order…
mckoya Oct 8, 2026
c4686af
Add R.O.B. Gyro status draft (not built yet)
mckoya Oct 8, 2026
73c4278
Wire R.O.B. Gyro status unit into the build (splits + configure) for …
mckoya Oct 8, 2026
cb79f83
Implement Yoshi Final status behavior
DanielDavis05 Oct 8, 2026
4f3c51c
Merge pull request #40 from humboldt123/agent/ibis-yoshi-kinetic-only
DanielDavis05 Oct 8, 2026
d0ff581
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
6f7e739
Reconstruct Wario bike kinetic transactor
DanielDavis05 Oct 8, 2026
a5c9003
Merge PR #41: Wario Bike kinetic selector
DanielDavis05 Oct 8, 2026
265afb4
Match Yoshi Final exit status cleanup
DanielDavis05 Oct 8, 2026
13fa91e
Merge PR #42: Yoshi FinalCommon exit cleanup
DanielDavis05 Oct 8, 2026
df49050
Implement Wario Bike callbacks
DanielDavis05 Oct 8, 2026
a561dd4
Merge pull request #43 from humboldt123/agent/otter-wario-followon
DanielDavis05 Oct 8, 2026
6a579ef
Reconstruct Snake Nikita missile Fly status
DanielDavis05 Oct 8, 2026
3115287
Merge pull request #44 from humboldt123/agent/lark-snake-nikita-fly
DanielDavis05 Oct 8, 2026
858919c
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
ef01369
Match Yoshi final and kinetic input handling
DanielDavis05 Oct 8, 2026
2b220c8
Merge pull request #45 from humboldt123/agent/ibis-yoshi-kinetic-only
DanielDavis05 Oct 8, 2026
cd81238
Implement Wario bike link and collision callbacks
DanielDavis05 Oct 8, 2026
cc8eccc
Merge pull request #46 from humboldt123/agent/otter-wario-followon
DanielDavis05 Oct 8, 2026
27fe7d7
Merge PR #20: ft_zako builders, ftManager recovery and R.O.B. behavio…
mckoya Oct 8, 2026
af3a65b
progress: refresh badges and treemap
humboldt123 Oct 8, 2026
cea4a4a
TIPS.md: stale objects after adding a shadow header
humboldt123 Oct 8, 2026
56e95a2
Reconstruct Snake Nikita and Wario Bike article behavior
DanielDavis05 Oct 8, 2026
f512caa
Merge PR #47: Reconstruct Snake Nikita and Wario Bike article behavior
DanielDavis05 Oct 8, 2026
57c4663
Recover fighter initialization and Marth builder mappings
humboldt123 Oct 8, 2026
9f18d87
Reconstruct Yoshi Egg status movement and collision behavior
DanielDavis05 Oct 8, 2026
e842f70
Merge PR #49: Reconstruct Yoshi Egg status movement and collision beh…
DanielDavis05 Oct 8, 2026
5f5c971
Recover Jigglypuff Pound and Sing status behavior
humboldt123 Oct 8, 2026
90ef883
Reconstruct Snake Nikita missile collision callbacks
DanielDavis05 Oct 8, 2026
bfbc348
Merge pull request #51 from humboldt123/agent/lark-snake-nikita-colli…
DanielDavis05 Oct 8, 2026
b7de73f
Reconstruct animcmd interpreter observer list lookup closer to the or…
humboldt123 Oct 8, 2026
d54922e
Marth constructor: build the heap module with explicit build data que…
humboldt123 Oct 8, 2026
bf61111
Merge pull request #50 from humboldt123/agent/ermine-puff-specials
DanielDavis05 Oct 8, 2026
f6a50c4
Marth constructor: narrow the area category when the builder argument…
humboldt123 Oct 8, 2026
eab478b
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
8c2572f
Marth constructor: name the disguise unit through the sub-builder member
humboldt123 Oct 8, 2026
3068f30
Fighter module builders: pass the second null observer registration d…
humboldt123 Oct 8, 2026
0028c0c
Match Yoshi Egg Roll aerial jump rotation update
DanielDavis05 Oct 8, 2026
2563494
Merge pull request #52 from humboldt123/agent/ibis-yoshi-air-s-jump-o…
DanielDavis05 Oct 8, 2026
1db5bb8
Marth constructor: keep two heap build data results in temporaries
humboldt123 Oct 8, 2026
b8f0fc9
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
14a5bd8
Marth constructor: match the heap build data temporaries
humboldt123 Oct 8, 2026
e4e96f5
Marth constructor: keep the module accesser in the original register …
humboldt123 Oct 8, 2026
5263d3f
Merge PR #48 and Marth constructor fixes: fighter initialization, bui…
humboldt123 Oct 8, 2026
a1ecc74
progress: refresh badges and treemap
humboldt123 Oct 8, 2026
2331b67
Match Marth motion-pool hierarchy teardown
humboldt123 Oct 8, 2026
cb7f92b
ft_luigi: reconstruct Green Missile movement behavior
DanielDavis05 Oct 8, 2026
732d36e
Merge pull request #55 from humboldt123/agent/kestrel-luigi-green-mis…
DanielDavis05 Oct 8, 2026
9f94a27
Correct fighter kinetic mediator mode forwarding
DanielDavis05 Oct 8, 2026
ccc4c83
Complete Marth function matching with slope ABI and observer lookup
humboldt123 Oct 8, 2026
19f9543
Correct fighter kinetic mediator ABI and Luigi dispatch (#56)
DanielDavis05 Oct 8, 2026
f16b7b0
Reconstruct Tengan laser and event cycle behavior
DanielDavis05 Oct 8, 2026
1b89567
Merge PR #58: Reconstruct Tengan laser and event cycle behavior
DanielDavis05 Oct 8, 2026
41e121d
st_tengan: reconstruct slow and Pokemon event phases
DanielDavis05 Oct 8, 2026
c514b2a
Merge PR #59: Reconstruct Tengan slow and Pokémon event phases
DanielDavis05 Oct 8, 2026
8df9095
st_greenhill: reconstruct stage gimmick behavior
mckoya Oct 8, 2026
8fb309a
Merge PR #60: Reconstruct Green Hill stage gimmicks
DanielDavis05 Oct 8, 2026
cb2abe7
ft_marth: resolve REL link externals (FT_REL_LINK_EXTERN), name sora_…
humboldt123 Oct 8, 2026
4a9c51a
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
1a1f168
configure: document the FT_REL_LINK_EXTERN trial for ft_marth (still …
humboldt123 Oct 8, 2026
aa6ef2d
Merge PR #54 and ft_marth link fixes: Marth 430/430 exact, REL link e…
humboldt123 Oct 8, 2026
e1a8b20
progress: refresh badges and treemap
humboldt123 Oct 8, 2026
34856d4
st_fzero: grFzero base and Trainer gimmick draft
mckoya Oct 8, 2026
24bf7ed
ft_robot: reconstruct Gyro status and constructor registration
mckoya Oct 8, 2026
9ead336
st_fzero: Trainer updatePos if/else form, grFzero symbol names
mckoya Oct 8, 2026
ea9023d
st_fzero: Warning gimmick draft, Trainer and Warning share one unit
mckoya Oct 8, 2026
d7b6893
st_fzero: Warning updateActive matches
mckoya Oct 8, 2026
335bd16
st_fzero: StartLine and PlateRing drafts
mckoya Oct 8, 2026
5313cec
st_fzero: StartLine/PlateRing call the grFzero base out of line
mckoya Oct 8, 2026
519c2b3
Merge PR #61: Reconstruct R.O.B. Gyro status and constructor
DanielDavis05 Oct 8, 2026
e7bb7bb
st_fzero: define the grFzero base out of line in the first unit
mckoya Oct 8, 2026
49ff635
st_fzero: two-level u32 animation helpers; Trainer and Warning setMot…
mckoya Oct 8, 2026
2450bf4
st_fzero: Ashiba platform draft
mckoya Oct 8, 2026
9f148e8
st_tengan: reconstruct Sonic Wave and legendary event cycle
DanielDavis05 Oct 8, 2026
3a2450e
st_fzero: fix Ashiba mangled name length
mckoya Oct 8, 2026
03be13f
Merge PR #62: Reconstruct Spear Pillar event cycle
DanielDavis05 Oct 8, 2026
e3d09ea
st_fzero: Ashiba case order and compare forms
mckoya Oct 8, 2026
d70ed19
ft_lucas: reconstruct PK Thunder status processes
DanielDavis05 Oct 8, 2026
89e31da
Merge PR #63: Reconstruct Lucas PK Thunder statuses
DanielDavis05 Oct 8, 2026
1afb0bd
st_fzero: scene class draft (stFzero), class declarations for the rem…
mckoya Oct 8, 2026
bcf3183
st_fzero: name the scene symbols
mckoya Oct 8, 2026
2d075f2
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 8, 2026
27f956e
st_fzero: scene unit owns the static initializer entry
mckoya Oct 8, 2026
8a812a3
st_fzero: collision work fields
mckoya Oct 8, 2026
a54f4ef
st_fzero: fix Bg mangled name length
mckoya Oct 8, 2026
a027f2f
st_fzero: scene tweaks (switch forms, struct copies)
mckoya Oct 8, 2026
eddfb0b
st_fzero: scene tweaks 2
mckoya Oct 8, 2026
160bb1c
st_fzero: updateCar as a state switch
mckoya Oct 8, 2026
3f1332c
st_fzero: updateCar type cycle as signed switch, u8 loop counters
mckoya Oct 8, 2026
59f5381
st_fzero: draft grFzeroBg (Mute City backdrop) unit
mckoya Oct 8, 2026
fd5319a
st_fzero: tune grFzeroBg (ctor, updateSE comparisons, sin/cos index h…
mckoya Oct 8, 2026
28b9d77
st_fzero: draft grFzeroNode (parked machines) unit
mckoya Oct 8, 2026
02d48fa
st_fzero: grFzeroNode updateActive as a state switch
mckoya Oct 8, 2026
28f3b5e
st_fzero: draft grFzeroWall unit
mckoya Oct 8, 2026
1848b00
st_fzero: fix grFzeroWall symbol length prefix
mckoya Oct 8, 2026
92e73c8
st_fzero: draft grFzeroAttack unit (setHit builder deferred)
mckoya Oct 8, 2026
39a0a85
st_fzero: tune grFzeroAttack (out-of-line ctor, switch order, shared …
mckoya Oct 8, 2026
678dfcd
st_fzero: draft grFzeroCar unit (setHit builder deferred)
mckoya Oct 8, 2026
bae71ff
st_fzero: tune grFzeroCar (sound id switches, Vec3fSub position delta)
mckoya Oct 8, 2026
f2e247e
Merge main into agent/vela-fzero-gimmicks
mckoya Oct 8, 2026
15c21ee
st_fzero: drop the stale split-off Warning draft (it lives in gr_fzer…
mckoya Oct 8, 2026
6bc3ef0
st_fzero: keep the trailing blr stubs as their own symbols (original …
mckoya Oct 8, 2026
ba112af
ft_lucas: recover PSI Magnet statuses and fighter registrations
DanielDavis05 Oct 8, 2026
c4fa028
Merge PR #64: Reconstruct Lucas PSI Magnet statuses
DanielDavis05 Oct 8, 2026
3db4f7f
Reconstruct Peach Blossom status and companion task
DanielDavis05 Oct 9, 2026
511d283
Merge PR #65: Reconstruct Peach Blossom Final status and companion task
DanielDavis05 Oct 9, 2026
8a2830e
Match Peach Final task setup and rate
DanielDavis05 Oct 9, 2026
d5b3d1c
Merge pull request #66 from agent/kestrel-peach-final-followon
DanielDavis05 Oct 9, 2026
1966fd3
Reconstruct Snake Final status behavior
DanielDavis05 Oct 9, 2026
a13e7a0
st_fzero: Attack floor rebuilt from the decoded original; Vec3f opera…
mckoya Oct 9, 2026
38af7a5
Merge pull request #67 from humboldt123/agent/kestrel-snake-final
DanielDavis05 Oct 9, 2026
f51db24
st_fzero: Attack wall position copy and literal floats
mckoya Oct 9, 2026
0a13225
st_fzero: Car distance helper on a Vec3f local, flipped attack branch
mckoya Oct 9, 2026
0ea9411
progress: refresh badges and treemap [skip ci]
humboldt123 Oct 9, 2026
78d9f58
WIP: ykNoHitNormal template and Car::setHit draft
mckoya Oct 9, 2026
e0d8d37
st_fzero: ykNoHitNormal hit object and Car/Attack setHit drafts
mckoya Oct 9, 2026
f6ea3b5
Merge main into agent/vela-fzero-gimmicks
mckoya Oct 9, 2026
77e196f
st_fzero: soArrayNull absolute array, mem-init 3-arg array ctor, null…
mckoya Oct 9, 2026
61d4b7c
st_battle: stBattleField and grBattleField first draft, splits and sy…
mckoya Oct 9, 2026
27bad02
st_battle: Battlefield stage TU and ground piece TU (create/createObj…
mckoya Oct 9, 2026
43b1da6
st_battle: loop/posData scoping, clamp helper order, getBgmID symbol
mckoya Oct 9, 2026
b51b0bb
st_heal: All-Star rest area stage draft (hearts, corps figures, warp …
mckoya Oct 9, 2026
7b1ddee
st_heal: label-based update layout, color temp, Matrix without identity
mckoya Oct 9, 2026
9b3e87a
st_heal: stage ctor takes the name, classinfo inlines create like st_…
mckoya Oct 9, 2026
da9033b
Preserve current item interfaces in the stage shadows
DanielDavis05 Oct 9, 2026
File filter

Filter by extension

Filter by extension

Conversations
Failed to load comments.
Loading
Jump to
The table of contents is too big for display.
Diff view
Diff view
  •  
  •  
  •  
The diff you're trying to view is too large. We only load the first 3000 changed files.
6 changes: 6 additions & 0 deletions .github/badges/code.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"schemaVersion": 1,
"label": "Code",
"message": "13.62%",
"color": "347abe"
}
6 changes: 6 additions & 0 deletions .github/badges/data.json
Original file line number Diff line number Diff line change
@@ -0,0 +1,6 @@
{
"schemaVersion": 1,
"label": "Data",
"message": "18.17%",
"color": "347abe"
}
Binary file added .github/progress/treemap.png
Loading
Sorry, something went wrong. Reload?
Sorry, we cannot display this file.
Sorry, this file is invalid so it cannot be displayed.
108 changes: 108 additions & 0 deletions AGENTS.md

Large diffs are not rendered by default.

157 changes: 140 additions & 17 deletions README.md
Original file line number Diff line number Diff line change
@@ -1,32 +1,22 @@
Super Smash Bros. Brawl
[![Build Status]][actions] [![Code Progress]][progress] [![Data Progress]][progress] [![Discord Badge]][discord]
[![Build Status]][actions] [![Code Progress]][progress] [![Data Progress]][progress]
=============

[Build Status]: https://github.com/doldecomp/brawl/actions/workflows/build.yml/badge.svg
[actions]: https://github.com/doldecomp/brawl/actions/workflows/build.yml
[Code Progress]: https://decomp.dev/doldecomp/brawl.svg?mode=shield&measure=code&label=Code
[Data Progress]: https://decomp.dev/doldecomp/brawl.svg?mode=shield&measure=data&label=Data
[progress]: https://decomp.dev/doldecomp/brawl
[Discord Badge]: https://img.shields.io/discord/727908905392275526?color=%237289DA&logo=discord&logoColor=%23FFFFFF
[discord]: https://discord.gg/hKx3FJJgrV
[Code Progress]: https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fhumboldt123%2Fbrawl%2Fmain%2F.github%2Fbadges%2Fcode.json
[Data Progress]: https://img.shields.io/endpoint?url=https%3A%2F%2Fraw.githubusercontent.com%2Fhumboldt123%2Fbrawl%2Fmain%2F.github%2Fbadges%2Fdata.json
[progress]: https://github.com/humboldt123/brawl

A work-in-progress decompilation of Super Smash Bros. Brawl.
A work-in-progress slopcoded decompilation of Super Smash Bros. Brawl.

![Progress treemap](https://raw.githubusercontent.com/humboldt123/brawl/main/.github/progress/treemap.png)

This repository does **not** contain any game assets or assembly whatsoever. An existing copy of the game is required.

Supported versions:

<!--
- `RSBJ01_00`: Japan Rev 0
- `RSBJ01_01`: Japan Rev 1
- `RSBE01_01`: USA Rev 1
-->
- `RSBE01_02`: USA Rev 2
<!--
- `RSBP01_00`: PAL Rev 0
- `RSBP01_01`: PAL Rev 1
- `RSBK01_00`: Korea Rev 0
-->

Dependencies
============
Expand Down Expand Up @@ -113,3 +103,136 @@ Download the latest release from [encounter/objdiff](https://github.com/encounte
Select an object from the left sidebar to begin diffing. Changes to the project will rebuild automatically: changes to source files, headers, `configure.py`, `splits.txt` or `symbols.txt`.

![](assets/objdiff.png)

## Contributors and AI agents

See [AGENTS.md](AGENTS.md) for the full agent instructions.

Much of the work in this fork is done by AI agents (Claude, Codex) working for a person. Commits should show **who ran the agent and which agent it was**:

- **Author and committer** = the human whose account or credits run the agent (for example Brendan, GitHub `brendan-hoenn`, or May, GitHub `may-petalburg`). Use that person's GitHub noreply address (`<id>+<username>@users.noreply.github.com`, for example `4410221+brendan-hoenn@users.noreply.github.com`).
- **Co-author** = the agent, as one trailer at the end of the message, with your model name if you know it, so GitHub shows "Human and Agent":
- `Co-Authored-By: Claude <model name> <noreply@anthropic.com>` (for example `Co-Authored-By: Claude Sonnet 5.5 <noreply@anthropic.com>`)
- `Co-Authored-By: Codex <model name> <267193182+codex@users.noreply.github.com>` (for example `Co-Authored-By: Codex GPT-6.1 Sol <267193182+codex@users.noreply.github.com>`; use the exact model name your environment reports, never a guess)
- If you do not know your model name, leave it out (`Claude` / `Codex` alone).
- Never commit as just `Claude` or `codex`, never leave session links in messages, and keep other people's authorship intact when importing their commits.

Agents: set this before your first commit in a clone or worktree:

```
git config user.name "<HUMAN NAME>"
git config user.email "<ID>+<USERNAME>@users.noreply.github.com"
```

Decompilation workflow tools
============================

The standard-library Python tools below keep investigation and validation evidence
outside the checkout. Use Python 3.10 or newer. Generated packets can contain
original-game information: do not commit or publish them. These tools do not
rename symbols, promote units to Matching, or merge changes automatically.

Validation snapshots
--------------------

`tools/decomp_build.py` runs on the POSIX build host with `nice`, Ninja, DTK,
and objdiff available. Start with an initialized, warm checkout. Choose a fresh
external output directory for every run and the same external lock path for all
cooperating workers:

```sh
python3 tools/decomp_build.py baseline --mode full --jobs 4 \
--output ../validation/baseline --lock ../validation/team.lock
```

The tool configures the selected version, builds, checks all 127 output hashes,
and generates a report. Existing comparison objects are refreshed; absent
unlinked draft objects are recorded as unavailable rather than compiled implicitly.
Candidate runs can reuse the entire validated baseline report when its complete
comparison configuration, object contents (including unavailable objects), and
report-generation inputs are identical. This does not skip the build, output-hash
checks, or source-drift checks. Changed compatible inputs regenerate the report;
incompatible tools or original binaries still require a new baseline. Older
evidence without a reuse key also regenerates. Use `--fresh-report` to force
independent generation. The manifest records whether the report was generated
or reused and identifies the evidence it came from.
`validation.json` records command logs and timings,
working-source/configuration/tool/artifact fingerprints, and the Git revision.
The working snapshot is identified separately from its Git HEAD; it may include
uncommitted files. This is a provenance record, not a content-addressed build cache.
Normal Ninja dependency correctness remains required; avoid copying build caches
between checkout paths. Source inputs must remain unchanged while validation runs.

Read the full revision and source fingerprint from the baseline's
`validation.json`, then pass them explicitly when checking a candidate:

```sh
python3 tools/decomp_build.py run --mode full --jobs 4 \
--baseline ../validation/baseline \
--expected-baseline-revision "$BASELINE_REVISION" \
--expected-baseline-fingerprint "$BASELINE_FINGERPRINT" \
--output ../validation/candidate --lock ../validation/team.lock
python3 tools/decomp_build.py compare ../validation/baseline ../validation/candidate
```

For iteration, use `--mode objects --target build/RSBE01_02/src/path/to/unit.o`
with a target listed in the checkout's objdiff configuration. Repeat `--target`
for related units. A scoped check is explicitly not the full 127-output gate.
Comparison uses original module/address/size identities, so a symbol rename
cannot hide a lost exact function. Missing or ambiguous identities fail clearly.
Jobs are limited to four; the shared lock serializes cooperating runs. It does
not coordinate unrelated manual builds. Failed and interrupted runs never qualify
as successful baseline evidence, and an existing lock is not removed automatically.

Evidence packets
----------------

`tools/decomp_evidence.py` keeps imported observations, interpretations,
hypotheses, and reviews in SQLite. Supply the original binary for each imported
module explicitly. For example, after setting `WARIO_ORIGINAL_REL` to the actual
original REL path:

```sh
python3 tools/decomp_evidence.py --root . --db ../evidence/index.sqlite import \
--version RSBE01_02 --report build/RSBE01_02/report.json --objdiff objdiff.json \
--binary "ft_wario=$WARIO_ORIGINAL_REL" \
--unit ft_wario/mo_fighter/ft_wario/wn_wario_bike_status_uniq_process_wheelie
python3 tools/decomp_evidence.py --root . --db ../evidence/index.sqlite packet \
--unit ft_wario/mo_fighter/ft_wario/wn_wario_bike_status_uniq_process_wheelie --out ../evidence/packets
```

Packets include stable binary-hash/module/address/size function identities,
reported object comparisons, source/header and symbol/split context, and hashed
evidence references. Optional `--assembly UNIT=FILE` and `--map MODULE=FILE`
inputs add observed direct-call operands and labels. Lexical declarations,
map labels, and percentages are not semantic or ABI proof, and importing a
report does not validate that report against current source.

Use `claim` to append an interpretation or hypothesis with a subject ID and
explicit artifact IDs from a packet; use `review` to record a separate review.
See each subcommand's `--help` for required arguments. Conflicting claims remain
visible, and changed evidence is flagged for renewed review rather than silently
replacing history. Keep generated databases and packets outside Git.

When parallel work is explicitly authorized, assign each reconstruction worker
a related behavior family and exclusive source ownership. Give a separate reviewer
the evidence packet and original behavior to check independently. Assign one owner
for shared interfaces, freeze the combined source during validation, and publish
only the exact source tree that passed. Preserve unfinished candidates separately.

Link diagnostics
----------------

Normal REL builds link the original object list directly to `.plf`. Preliminary
`-r` links are independent diagnostic targets, not prerequisites for the final
`-r1` link. To request one explicitly:

```sh
ninja build/RSBE01_02/sora_melee/sora_melee.preplf
```

Synthetic tooling tests require no game assets:

```sh
python3 -m unittest discover -s tests -p 'test_decomp_*.py'
```
Loading