Skip to content

[WIP] KartState: updateCollisions (86.99%) + remaining methods - #14

Closed
rasanaruto-lgtm wants to merge 1 commit into
doldecomp:mainfrom
rasanaruto-lgtm:contrib-kartstate-updatecollisions
Closed

rasanaruto-lgtm wants to merge 1 commit into
doldecomp:mainfrom
rasanaruto-lgtm:contrib-kartstate-updatecollisions

Conversation

@rasanaruto-lgtm

Copy link
Copy Markdown

Draft/WIP: brings our KartState work over from the sibling repo (rasanaruto-lgtm/mkw).

Adds the not-yet-decompiled KartState methods, in particular:

  • updateCollisions - currently 86.99% on objdiff. The residual is purely MWCC register coloring (a {proxy, pe, var_r28} 3-cycle); all call/data bytes match.
  • calcStartBoost, applyStartBoost, wrapCollisionFlags-style flag helpers, etc.

Also adds KartState::kartStateReload() to KartObjectProxy.hpp (reproduces an extra mKartState reload MWCC emits at a couple of RMW sites), and makes KartCollide's collision data public for updateCollisions access.

Unverified: I cannot build this tree here (no ROM), and KartState.hpp field names were kept as ours (mTop/_34/_70) - please sanity-check against current main before merging. Marked draft for that reason.

Companion: #13 (dol diff symbol-remap tooling).

@em-eight

Copy link
Copy Markdown
Collaborator

inadequate prompting

@rasanaruto-lgtm

Copy link
Copy Markdown
Author

Re-approaching with the current, verified tree: #16 (updateCollisions at 99.7613%, builds clean).

Re: the "inadequate prompting" close here — that was fair. This PR was an unverified 86.99% WIP and its own body said it could not be built here. #16 is built (configure.py + ninja succeed, report.json produced) and carries the full derivation, including a measured argument that the final 2 objdiff units are allocator-locked on Wii/0x4201_127.

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.

2 participants