mirror of
https://github.com/zeldaret/oot.git
synced 2024-12-29 16:26:18 +00:00
effd4256c9
* Move tutorial into docs folder * Merge remote-tracking branch 'upstream/master' into tutorial_docs * Object decomp added * contents and intro updates * mention object decomp in beginning * Addressed Fig's review * Update EnSkb to jointTable and morphTable * minor table tweak * typo * Alter to say ZAPD makes the object output folder * Apply suggestions from code review Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> * More review changes * Apply suggestions from code review Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> Co-authored-by: Anghelo Carvajal <anghelo.carvajal.14@sansano.usm.cl> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com>
1.7 KiB
1.7 KiB
Getting started
Introduction to decomp
- What we are doing
- Structure of the code
Pre-decompilation
- Building the repo (follow the instructions in the README.md)
- Most of us use VSCode. (You can watch Fig's video to get an idea of how this can be used). Some useful information is here.
- Choosing a first actor (You want something small that has simple interactions with the environment. But OoT is far enough in that there are basically no unreserved actors left anyway now.)
Decompilation
-
Begining decompilation: order, Init and the actor struct
-
Order of decompilation
-
Init and common actor features
- Initchains
- Actors and dynapoly actors
- Colliders
- Skelanime
-
Matching
- Using diff
- control flow (branches) -> instruction ordering -> register allocation -> stack
-
-
The rest of the functions in the actor
-
Order of decompilation
-
Action Functions and other functions
-
More on matching: the permuter
-
-
Data, migration and non-migration
- Importing the data: early and late
- Fake symbols
- Inlining
Object Decompilation
- Object files
- How we decompile objects
- Example
After Decompilation
- Preparing to merge
- Preliminary documentation
- Preparing to PR
- Pull Requests
- Trello
Appendices
- Types, Structs and Padding (a miscellany of useful stuff)
- Helper scripts
To be written, maybe
- How we use git and GitHub
- Some notes on the basic structure of N64 MIPS
- Glossary
- Conventions