mirror of
https://github.com/zeldaret/mm.git
synced 2026-05-23 15:01:32 -04:00
d5b71bd0f5
* ObjTree OK, data imported * EnMs OK, data imported * And the spec * OK * Some minor edits * A lot of preliminary stuff * Mostly complete beginning * First draft of other functions doc * Whoops, forgot the GlobalContext pad * Draw functions (minus colour), create Data * Data * gitignore, some progress on documenting * Review comments, continue documenting * spec * Finish off documentation * undefined_syms * Add a couple of todos * One more * At least add tools for object decomp * Start conversion table stuff * Document ObjTree * Document EnMs * Add more tables to conversions * Maide's review * Review * Review * Typos and incomplete thoughts * Update vscode.md * Correct function/variable names * Review suggestions * Format * Missed one * Rename functions and format * Fix ObjTree * Update actorfixer.py, fix some variable names * Some review * Review suggestions * More review * Hopefully fix all the thisx references * Missed one
2.1 KiB
2.1 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. Some useful information is here.
- Choosing a first actor (You want something small that has simple interactions with the environment. A simple NPC can also work, and is what we will use as an illustration for most of the tutorial. There is a collection of actors we think are suitable for beginners on the spreadsheet or Trello)
Decompilation
-
Begining decompilation: order, Init and the actor struct
- Order of decompilation
- Init and common actor features
- Initchains
- Actors and dynapoly actors
- Colliders
- Skelanime
-
The rest of the functions in the actor
- Order of decompilation
- Action Functions and other functions
-
Data, migration and non-migration
- Importing the data: early and late
- Segmented pointers
- Fake symbols
- Inlining
Object Decompilation (TODO)
- Object files
- How we decompile objects
After Decompilation
- See the CONTRIBUTING.md for most of the details for submitting PRs. Remember to format again after making adjustments from reviews!
- More information about specific preparations is in this document.
Appendices
- Types, Structs and Padding (a miscellany of useful stuff)
- Advanced control flow (an example of a more complex function which mips2c is not so good at)
- Using the diff script and the permuter (using the diff script and the permuter to match something)
- control flow (branches) -> instruction ordering -> register allocation -> stack
- [Helper scripts] TODO: link when merged
To be written, maybe
- How we use git and GitHub
- Some notes on the basic structure of N64 MIPS
- Glossary
- Conventions