Skip to content
New issue

Have a question about this project? Sign up for a free GitHub account to open an issue and contact its maintainers and the community.

By clicking “Sign up for GitHub”, you agree to our terms of service and privacy statement. We’ll occasionally send you account related emails.

Already on GitHub? Sign in to your account

Finish GhostFile #128

Open
5 tasks
riidefi opened this issue Oct 8, 2021 · 0 comments
Open
5 tasks

Finish GhostFile #128

riidefi opened this issue Oct 8, 2021 · 0 comments
Labels
a-rel StaticR.rel binary containing game code tracking Tracking issue for multiple decomp tasks

Comments

@riidefi
Copy link
Owner

riidefi commented Oct 8, 2021

  • Match GhostFile::writeHeader (loop irregularity)
  • Investigate matching hack in GhostFileGroup::get
  • Decompile GhostFile::init
  • Decompile RawGhostFile::compress
  • Decompile RawGhostFile::decompress

stebler:

GhostFile::writeHeader is non-matching because of some weirdness in the lap times loop. I'm at least confident that bit fields are used because they got me to immediately match parts of GhostFile::readHeader and GhostFile::writeHeader that didn't work with the inline getters over reinterpret_cast I initially tried. Using a local union can get the loop closer to the original asm, but scheduling and regalloc stay different.

GhostFileGroup::get needed some hack to prevent the compiler from shortening it with a lbzxu instruction. It is disabled when NON_MATCHING is set.

GhostFile::init, RawGhostFile::compress and RawGhostFile::decompress will be decompiled at a later time.

@riptl riptl added the decomp PRs that add decompiled code label Mar 24, 2022
@riptl riptl added a-rel StaticR.rel binary containing game code tracking Tracking issue for multiple decomp tasks and removed decomp PRs that add decompiled code labels Jul 14, 2022
@AtishaRibeiro AtishaRibeiro mentioned this issue Jul 23, 2022
2 tasks
Sign up for free to join this conversation on GitHub. Already have an account? Sign in to comment
Labels
a-rel StaticR.rel binary containing game code tracking Tracking issue for multiple decomp tasks
Projects
None yet
Development

No branches or pull requests

2 participants