From d5b71bd0f531986d2a6a63f0a90d8e1233e01a7f Mon Sep 17 00:00:00 2001 From: EllipticEllipsis <73679967+EllipticEllipsis@users.noreply.github.com> Date: Thu, 16 Dec 2021 23:47:18 +0000 Subject: [PATCH] Tutorial (#362) * 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 --- .gitignore | 1 + docs/tutorial/advanced_control_flow.md | 747 ++++++++++++++++++ docs/tutorial/beginning_decomp.md | 675 ++++++++++++++++ docs/tutorial/contents.md | 56 ++ docs/tutorial/data.md | 171 ++++ docs/tutorial/diff_and_permuter.md | 145 ++++ docs/tutorial/disassembly_quirks.md | 36 + docs/tutorial/documenting.md | 601 ++++++++++++++ docs/tutorial/draw_functions.md | 303 +++++++ .../images/EnRecepgirl_Init_diff_matching.png | Bin 0 -> 115482 bytes .../images/EnRecepgirl_stack_diff.png | Bin 0 -> 14017 bytes docs/tutorial/images/En_Recepgirl.gv.png | Bin 0 -> 64180 bytes docs/tutorial/images/fresh_actor_data.png | Bin 0 -> 43984 bytes docs/tutorial/images/func_80C100DC_diff1.png | Bin 0 -> 48501 bytes docs/tutorial/images/func_80C100DC_diff2.png | Bin 0 -> 52908 bytes docs/tutorial/images/func_80C100DC_diff3.png | Bin 0 -> 54359 bytes docs/tutorial/images/func_80C102D4_diff1.png | Bin 0 -> 100966 bytes docs/tutorial/images/func_80C102D4_diff2.png | Bin 0 -> 112959 bytes docs/tutorial/images/z64utils_main.png | Bin 0 -> 31423 bytes .../images/z64utils_object_analyzed.png | Bin 0 -> 70998 bytes .../images/z64utils_object_analyzer.png | Bin 0 -> 11211 bytes .../images/z64utils_skeleton_error.png | Bin 0 -> 18512 bytes .../images/z64utils_skeleton_head.png | Bin 0 -> 95083 bytes docs/tutorial/introduction.md | 87 ++ docs/tutorial/merging.md | 97 +++ docs/tutorial/object_decomp.md | 14 + docs/tutorial/other_functions.md | 605 ++++++++++++++ docs/tutorial/types_structs_padding.md | 159 ++++ docs/tutorial/vscode.md | 84 ++ docs/useful_conversions.md | 275 +++++++ include/z64item.h | 13 +- include/z64object.h | 2 +- include/z64player.h | 8 +- spec | 9 +- src/code/code_8012EC80.c | 14 +- src/code/z_face_reaction.c | 2 +- .../actors/ovl_En_Bji_01/z_en_bji_01.c | 2 +- src/overlays/actors/ovl_En_Daiku/z_en_daiku.c | 2 +- src/overlays/actors/ovl_En_Fsn/z_en_fsn.c | 2 +- .../actors/ovl_En_Ma_Yto/z_en_ma_yto.c | 4 +- src/overlays/actors/ovl_En_Ms/z_en_ms.c | 162 +++- src/overlays/actors/ovl_En_Ms/z_en_ms.h | 10 +- src/overlays/actors/ovl_En_Muto/z_en_muto.c | 2 +- src/overlays/actors/ovl_En_Pm/z_en_pm.c | 2 +- .../actors/ovl_En_Recepgirl/z_en_recepgirl.c | 197 ++++- .../actors/ovl_En_Recepgirl/z_en_recepgirl.h | 11 +- src/overlays/actors/ovl_En_Sob1/z_en_sob1.c | 2 +- src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c | 148 +++- src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h | 13 +- tools/actorfixer.py | 162 ++++ tools/disasm/functions.txt | 32 +- tools/disasm/variables.txt | 6 +- tools/sizes/code_functions.csv | 284 +++---- undefined_syms.txt | 3 + 54 files changed, 4878 insertions(+), 270 deletions(-) create mode 100644 docs/tutorial/advanced_control_flow.md create mode 100644 docs/tutorial/beginning_decomp.md create mode 100644 docs/tutorial/contents.md create mode 100644 docs/tutorial/data.md create mode 100644 docs/tutorial/diff_and_permuter.md create mode 100644 docs/tutorial/disassembly_quirks.md create mode 100644 docs/tutorial/documenting.md create mode 100644 docs/tutorial/draw_functions.md create mode 100644 docs/tutorial/images/EnRecepgirl_Init_diff_matching.png create mode 100644 docs/tutorial/images/EnRecepgirl_stack_diff.png create mode 100644 docs/tutorial/images/En_Recepgirl.gv.png create mode 100644 docs/tutorial/images/fresh_actor_data.png create mode 100644 docs/tutorial/images/func_80C100DC_diff1.png create mode 100644 docs/tutorial/images/func_80C100DC_diff2.png create mode 100644 docs/tutorial/images/func_80C100DC_diff3.png create mode 100644 docs/tutorial/images/func_80C102D4_diff1.png create mode 100644 docs/tutorial/images/func_80C102D4_diff2.png create mode 100644 docs/tutorial/images/z64utils_main.png create mode 100644 docs/tutorial/images/z64utils_object_analyzed.png create mode 100644 docs/tutorial/images/z64utils_object_analyzer.png create mode 100644 docs/tutorial/images/z64utils_skeleton_error.png create mode 100644 docs/tutorial/images/z64utils_skeleton_head.png create mode 100644 docs/tutorial/introduction.md create mode 100644 docs/tutorial/merging.md create mode 100644 docs/tutorial/object_decomp.md create mode 100644 docs/tutorial/other_functions.md create mode 100644 docs/tutorial/types_structs_padding.md create mode 100644 docs/tutorial/vscode.md create mode 100644 docs/useful_conversions.md diff --git a/.gitignore b/.gitignore index b09a0acd3..a6d3f3b8f 100644 --- a/.gitignore +++ b/.gitignore @@ -44,6 +44,7 @@ tools/mips_to_c/ # Docs !docs/**/*.png +!.vscode/extensions.json # Per-user configuration .python-version diff --git a/docs/tutorial/advanced_control_flow.md b/docs/tutorial/advanced_control_flow.md new file mode 100644 index 000000000..953e3e44d --- /dev/null +++ b/docs/tutorial/advanced_control_flow.md @@ -0,0 +1,747 @@ +# Advanced control flow + +Nice as `EnRecepgirl` was, she was somewhat lacking in complexity. In this document, we'll look at something rather more complicated than any of the functions she had. + +Again our example will be taken from a small NPC: this time, `EnMs` (Bean Seller). Most of its functions are even simpler than `EnRecepgirl`'s, and fairly quickly we can get to + +
+ + Large code block, click to show. + + +```C +#include "z_en_ms.h" + +#define FLAGS 0x00000009 + +#define THIS ((EnMs*)thisx) + +void EnMs_Init(Actor* thisx, GlobalContext* globalCtx); +void EnMs_Destroy(Actor* thisx, GlobalContext* globalCtx); +void EnMs_Update(Actor* thisx, GlobalContext* globalCtx); +void EnMs_Draw(Actor* thisx, GlobalContext* globalCtx); + +void func_80952734(EnMs* this, GlobalContext* globalCtx); +void func_809527F8(EnMs* this, GlobalContext* globalCtx); +void func_809529AC(EnMs* this, GlobalContext* globalCtx); +void func_80952A1C(EnMs *this, GlobalContext *globalCtx); + +const ActorInit En_Ms_InitVars = { + ACTOR_EN_MS, + ACTORCAT_NPC, + FLAGS, + OBJECT_MS, + sizeof(EnMs), + (ActorFunc)EnMs_Init, + (ActorFunc)EnMs_Destroy, + (ActorFunc)EnMs_Update, + (ActorFunc)EnMs_Draw, +}; + +static ColliderCylinderInitType1 D_80952BA0 = { + { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, COLSHAPE_CYLINDER, }, + { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xF7CFFFFF, 0x00, 0x00 }, TOUCH_NONE | TOUCH_SFX_NORMAL, BUMP_ON, OCELEM_ON, }, + { 22, 37, 0, { 0, 0, 0 } }, +}; + +static InitChainEntry D_80952BCC[] = { + ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 500, ICHAIN_STOP), +}; + + +extern ColliderCylinderInitType1 D_80952BA0; +extern InitChainEntry D_80952BCC[]; + +extern AnimationHeader D_060005EC; +extern FlexSkeletonHeader D_06003DC0; + +void EnMs_Init(Actor* thisx, GlobalContext* globalCtx) { + EnMs* this = THIS; + + Actor_ProcessInitChain(thisx, D_80952BCC); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, this->jointTable, this->morphTable, 9); + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinderType1(globalCtx, &this->collider, &this->actor, &D_80952BA0); + ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 35.0f); + Actor_SetScale(&this->actor, 0.015f); + this->actor.colChkInfo.mass = 0xFF; + this->actionFunc = func_80952734; + this->actor.speedXZ = 0.0f; + this->actor.velocity.y = 0.0f; + this->actor.gravity = -1.0f; +} + +void EnMs_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnMs* this = THIS; + + Collider_DestroyCylinder(globalCtx, &this->collider); +} + +void func_80952734(EnMs* this, GlobalContext* globalCtx) { + s16 temp_v1 = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; + + if (gSaveContext.inventory.items[10] == ITEM_NONE) { + this->actor.textId = 0x92E; + } else { + this->actor.textId = 0x932; + } + + if (func_800B84D0(&this->actor, globalCtx) != 0) { + this->actionFunc = func_809527F8; + return; + } + + if (this->actor.xzDistToPlayer < 90.0f) { + if (ABS_ALT(temp_v1) < 0x2000) { + func_800B8614(&this->actor, globalCtx, 90.0f); + } + } +} + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_809527F8.s") + +void func_809529AC(EnMs *this, GlobalContext *globalCtx) { + if (Actor_HasParent(&this->actor, globalCtx)) { + this->actor.textId = 0; + func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, 0); + this->actionFunc = func_80952A1C; + } else { + func_800B8A1C(&this->actor, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + } +} + +void func_80952A1C(EnMs *this, GlobalContext *globalCtx) { + if (func_800B84D0(&this->actor, globalCtx)) { + func_80151938(globalCtx, 0x936U); + this->actionFunc = func_809527F8; + } else { + func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, -1); + } +} + +void EnMs_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnMs* this = THIS; + + Actor_SetHeight(&this->actor, 20.0f); + this->actor.targetArrowOffset = 500.0f; + Actor_SetScale(&this->actor, 0.015f); + SkelAnime_Update(&this->skelAnime); + this->actionFunc(this, globalCtx); + Collider_UpdateCylinder(&this->actor, &this->collider); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); +} + +void EnMs_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnMs* this = THIS; + + func_8012C28C(globalCtx->state.gfxCtx); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, NULL, + NULL, &this->actor); +} + +``` + +
+ +(Skipping any documentation we might have done.) Indeed, this actor is so simple so far that you can see why it wasn't worth using most of it for the rest of the tutorial. `func_809527F8` is a different story, however. We know it's an action function since it's set to the `actionFunc` in `func_80952A1C`. But mips2c gives us + +```bash +$ ../mips_to_c/mips_to_c.py asm/non_matchings/overlays/ovl_En_Ms/func_809527F8.s --context ctx.c --gotos-only +``` + +```C +void func_809527F8(EnMs *this, GlobalContext *globalCtx) { + u8 temp_v0; + u8 temp_v0_2; + + temp_v0 = func_80152498(&globalCtx->msgCtx); + if (temp_v0 != 4) { + if (temp_v0 != 5) { + if ((temp_v0 == 6) && (func_80147624(globalCtx) != 0)) { + this->actionFunc = func_80952734; + return; + } + // Duplicate return node #17. Try simplifying control flow for better match + return; + } + if (func_80147624(globalCtx) != 0) { + func_801477B4(globalCtx); + func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + this->actionFunc = func_809529AC; + return; + } + // Duplicate return node #17. Try simplifying control flow for better match + return; + } + if (func_80147624(globalCtx) != 0) { + temp_v0_2 = globalCtx->msgCtx.choiceIndex; + if (temp_v0_2 != 0) { + if (temp_v0_2 != 1) { + + } + func_8019F230(); + func_80151938(globalCtx, 0x934U); + // Duplicate return node #17. Try simplifying control flow for better match + return; + } + func_801477B4(globalCtx); + if ((s32) gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + return; + } + if ((s32) gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + return; + } + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + } +} +``` + +which is long, messy, and contains some rather nasty-looking control flow, including horrors like + +```C + temp_v0 = func_80152498(&globalCtx->msgCtx); + if (temp_v0 != 4) { + if (temp_v0 != 5) { + if ((temp_v0 == 6) && (func_80147624(globalCtx) != 0)) { + this->actionFunc = func_80952734; + return; + } + // Duplicate return node #17. Try simplifying control flow for better match + return; + } +``` + +If you read the OoT tutorial, you'll know these nested negated ifs all using the same variable are a good indicator that there's a switch. The problem is working out how to write it. + + +## Goto-only mode + +For didactic purposes, we'll use a feature of mips2c called goto-only mode to examine this. *This is not the only way of doing it*, but it is good practice for a beginner to this sort of control flow. Running + +```bash +../mips_to_c/mips_to_c.py asm/non_matchings/overlays/ovl_En_Ms/func_809527F8.s --context ctx.c --gotos-only +``` + +instead will produce + +```C +void func_809527F8(EnMs *this, GlobalContext *globalCtx) { + u8 temp_v0; + u8 temp_v0_2; + + temp_v0 = func_80152498(&globalCtx->msgCtx); + if (temp_v0 == 4) { + goto block_7; + } + if (temp_v0 == 5) { + goto block_5; + } + if (temp_v0 != 6) { + goto block_17; + } + if (func_80147624(globalCtx) == 0) { + goto block_17; + } + this->actionFunc = func_80952734; + return; +block_5: + if (func_80147624(globalCtx) == 0) { + goto block_17; + } + func_801477B4(globalCtx); + func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + this->actionFunc = func_809529AC; + return; +block_7: + if (func_80147624(globalCtx) == 0) { + goto block_17; + } + temp_v0_2 = globalCtx->msgCtx.choiceIndex; + if (temp_v0_2 == 0) { + goto block_11; + } + if (temp_v0_2 == 1) { + goto block_16; + } + goto block_16; +block_11: + func_801477B4(globalCtx); + if ((s32) gSaveContext.rupees >= 0xA) { + goto block_13; + } + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + return; +block_13: + if ((s32) gSaveContext.inventory.ammo[gItemSlots[0xA]] < 0x14) { + goto block_15; + } + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + return; +block_15: + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + return; +block_16: + func_8019F230(); + func_80151938(globalCtx, 0x934U); +block_17: + return; +} +``` + +which in many ways looks worse: you can see why the use of gotos in code is strongly discouraged. However, if you throw this in `diff.py`, you'll find it's rather closer than you'd have thought. Goto-only mode has the advantages that +- code is always in the right order: mips2c has not had to reorder anything to get the ifs to work out +- it is often possible to get quite close with gotos, then start removing them, checking the matching status at each point. This is usually easier than trying to puzzle out the way it's trying to jump out of an `if ( || )` or similar. +- if you're trying to keep track of where you are in the code, the gotos mean that it is closer to the assembly in the first place. + +## Eliminating the gotos + +The simplest sort of block label to eliminate is one that is only used once, and where the corresponding goto jumps over a simple block of code with no extra internal control flow structure. There are two obvious examples of this here, the first being + +```C + if ((s32) gSaveContext.rupees >= 0xA) { + goto block_13; + } + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + return; +block_13: +``` + +Currently, this says to jump over the code block `play_sound...` if the condition in the if is satisfied. In non-goto terms, this means that the block should be run if the condition is *not* satisfied. This also illustrates a general property of goto-only mode: you have to reverse the senses of all of the ifs. Therefore the appropriate approach is to swap the if round, put the code block inside, and remove the goto and the label: + +```C + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + return; + } +``` + +Likewise, one can do this with `block_15`. + +If you examine appropriate part of the diff, you will usually find that such eliminations make no, or very little, difference to the compiled code. + +```C +void func_809527F8(EnMs *this, GlobalContext *globalCtx) { + u8 temp_v0; + u8 temp_v0_2; + + temp_v0 = func_80152498(&globalCtx->msgCtx); + if (temp_v0 == 4) { + goto block_7; + } + if (temp_v0 == 5) { + goto block_5; + } + if (temp_v0 != 6) { + goto block_17; + } + if (func_80147624(globalCtx) == 0) { + goto block_17; + } + this->actionFunc = func_80952734; + return; +block_5: + if (func_80147624(globalCtx) == 0) { + goto block_17; + } + func_801477B4(globalCtx); + func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + this->actionFunc = func_809529AC; + return; +block_7: + if (func_80147624(globalCtx) == 0) { + goto block_17; + } + temp_v0_2 = globalCtx->msgCtx.choiceIndex; + if (temp_v0_2 == 0) { + goto block_11; + } + if (temp_v0_2 == 1) { + goto block_16; + } + goto block_16; +block_11: + func_801477B4(globalCtx); + + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + return; + } + if (gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + return; + } + + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + return; +block_16: + func_8019F230(); + func_80151938(globalCtx, 0x934U); +block_17: + return; +} +``` + +We can't apply this rule any more, so we need to move on to the next: `block_17` just contains a `return`. So we can replace it by `return` everywhere it appears. + + +```C +void func_809527F8(EnMs *this, GlobalContext *globalCtx) { + u8 temp_v0; + u8 temp_v0_2; + + temp_v0 = func_80152498(&globalCtx->msgCtx); + if (temp_v0 == 4) { + goto block_7; + } + if (temp_v0 == 5) { + goto block_5; + } + if (temp_v0 != 6) { + return; + } + if (func_80147624(globalCtx) == 0) { + return; + } + this->actionFunc = func_80952734; + return; +block_5: + if (func_80147624(globalCtx) == 0) { + return; + } + func_801477B4(globalCtx); + func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + this->actionFunc = func_809529AC; + return; +block_7: + if (func_80147624(globalCtx) == 0) { + return; + } + temp_v0_2 = globalCtx->msgCtx.choiceIndex; + if (temp_v0_2 == 0) { + goto block_11; + } + if (temp_v0_2 == 1) { + goto block_16; + } + goto block_16; +block_11: + func_801477B4(globalCtx); + + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + return; + } + if (gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + return; + } + + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + return; +block_16: + func_8019F230(); + func_80151938(globalCtx, 0x934U); +} +``` + +Our next rule is about non-crossing blocks. If two code blocks do not contain any jumps between them, we can treat them separately. This is *almost* true for the code after `block_7`, were it not for the returns; of course returns are a special case because they can be used to be escape from a function at any point. This doesn't get us very far in this case, unfortunately, but it *does* tell us we can look at the second half of the function separately. + +Now let's start thinking about switches. A good indicator of a switch in goto-only mode is something like + +```C + temp_v0_2 = globalCtx->msgCtx.choiceIndex; + if (temp_v0_2 == 0) { + goto block_11; + } + if (temp_v0_2 == 1) { + goto block_16; + } + goto block_16; +``` + +because +- there are multiple ifs that are simple numeric comparisons of the same argument +- the goto blocks are in the same order as the ifs +- there is one last goto at the end that triggers if none of the ifs does: this sounds an awful lot like a `default`! + +So let us rewrite the entire second half as a switch: + +```C + switch (globalCtx->msgCtx.choiceIndex) { + case 0: + func_801477B4(globalCtx); + + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + return; + } + if (gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + return; + } + + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + return; + break; + + case 1: + default: + func_8019F230(); + func_80151938(globalCtx, 0x934U); + break; + } +``` + +There's a couple of other obvious things here: +- the last `return` in `case 0` is unnecessary since there is no other code after the switch, so breaking is equivalent to the return` +- a common pattern everywhere, a sequence of ifs with returns as the last thing inside is the same as an if-else chain, so we can rewrite these as + +```C + switch (globalCtx->msgCtx.choiceIndex) { + case 0: + func_801477B4(globalCtx); + + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + } else if (gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + } else { + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + } + break; + + case 1: + default: + func_8019F230(); + func_80151938(globalCtx, 0x934U); + break; + } +``` + +Well, at least the bottom half looks respectable now. Again, there is no code after the switch, so the next thing up, namely + +```C + if (func_80147624(globalCtx) == 0) { + return; + } +``` + +can be swapped round and made to wrap the switch. This leaves us with + +```C +void func_809527F8(EnMs *this, GlobalContext *globalCtx) { + u8 temp_v0; + + temp_v0 = func_80152498(&globalCtx->msgCtx); + if (temp_v0 == 4) { + goto block_7; + } + if (temp_v0 == 5) { + goto block_5; + } + if (temp_v0 != 6) { + return; + } + if (func_80147624(globalCtx) == 0) { + return; + } + this->actionFunc = func_80952734; + return; +block_5: + if (func_80147624(globalCtx) == 0) { + return; + } + func_801477B4(globalCtx); + func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + this->actionFunc = func_809529AC; + return; +block_7: + if (func_80147624(globalCtx) != 0) { + switch (globalCtx->msgCtx.choiceIndex) { + case 0: + func_801477B4(globalCtx); + + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + } else if (gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + } else { + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + } + break; + + case 1: + default: + func_8019F230(); + func_80151938(globalCtx, 0x934U); + break; + } + } +} +``` + +Now, the top of the function also looks like a switch: +```C + temp_v0 = func_80152498(&globalCtx->msgCtx); + if (temp_v0 == 4) { + goto block_7; + } + if (temp_v0 == 5) { + goto block_5; + } + if (temp_v0 != 6) { + return; + } +``` + +Interestingly, this time the blocks are the other way round. Also, the last statement is a `!=` rather than an `==`: this should be the default this time. The code order takes priority over the check order, because the compiler likes to put those in numerical order. There will be cases 4,5,6, but in the order 6,5,4, because that's how the code ordering goes. Also, notice that every case returns at the end: this means there's nothing else in the function after this switch, so everything after `block_7` is actually part of `case 4`. + +Putting all this together, we write down a function with no gotos in it: + +```C +void func_809527F8(EnMs *this, GlobalContext *globalCtx) { + switch (func_80152498(&globalCtx->msgCtx)) { + case 6: + this->actionFunc = func_80952734; + break; + + case 5: + if (func_80147624(globalCtx) == 0) { + return; + } + func_801477B4(globalCtx); + func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + this->actionFunc = func_809529AC; + break; + + case 4: + if (func_80147624(globalCtx) != 0) { + switch (globalCtx->msgCtx.choiceIndex) { + case 0: + func_801477B4(globalCtx); + + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + } else if (gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + } else { + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + } + break; + + case 1: + default: + func_8019F230(); + func_80151938(globalCtx, 0x934U); + break; + } + } + break; + + default: + break; + } +} +``` + +Lastly, we can simplify `case 5` to replace the return in the if by the rest of the code, and we end up with + +```C +void func_809527F8(EnMs *this, GlobalContext *globalCtx) { + switch (func_80152498(&globalCtx->msgCtx)) { + case 6: + this->actionFunc = func_80952734; + break; + + case 5: + if (func_80147624(globalCtx) != 0) { + func_801477B4(globalCtx); + func_800B8A1C((Actor *) this, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + this->actionFunc = func_809529AC; + } + break; + + case 4: + if (func_80147624(globalCtx) != 0) { + switch (globalCtx->msgCtx.choiceIndex) { + case 0: + func_801477B4(globalCtx); + + if (gSaveContext.rupees < 0xA) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x935U); + } else if (gSaveContext.inventory.ammo[gItemSlots[0xA]] >= 0x14) { + play_sound(0x4806U); + func_80151938(globalCtx, 0x937U); + } else { + func_8019F208(); + func_800B8A1C((Actor *) this, globalCtx, 0x35, 90.0f, 10.0f); + func_801159EC(-0xA); + this->actionFunc = func_809529AC; + } + break; + + case 1: + default: + func_8019F230(); + func_80151938(globalCtx, 0x934U); + break; + } + } + break; + + default: + break; + } +} +``` + +And this matches! + +We will not document this now, although even with so few function named it seems pretty clear that it's to do with buying beans (and indeed, Magic Beans cost 10 Rupees and have Get Item ID `0x35`) You might like to try to match this function without using goto-only mode, to compare. It is also an interesting exercise to see what each elimination does to the diff: sometimes it will stray surprisingly far for a small change. diff --git a/docs/tutorial/beginning_decomp.md b/docs/tutorial/beginning_decomp.md new file mode 100644 index 000000000..01cc21cf3 --- /dev/null +++ b/docs/tutorial/beginning_decomp.md @@ -0,0 +1,675 @@ +# Beginning decompilation: the Init function and the Actor struct + +Up: [Contents](contents.md) + +Open the C file and the H file with your actor's name from the appropriate directory in `src/overlays/actors/`. These will be the main files we work with. We will be using EnRecepgirl (the rather forward Mayor's receptionist in the Mayor's residence in East Clock Town) as our example: it is a nice simple NPC with most of the common features of an NPC. + +Each actor has associated to it a data file and one assembly file per function. During the process, we will transfer the contents of all or most of these into the main C file. VSCode's search feature usually makes it quite easy to find the appropriate files without troubling the directory tree. + + +## Anatomy of the C file + +The actor file starts off looking like: + +```C +// --------------- 1 --------------- +// --------------- 2 --------------- +#include "z_en_recepgirl.h" + +#define FLAGS 0x00000009 + +#define THIS ((EnRecepgirl*)thisx) + +// --------------- 3 --------------- +void EnRecepgirl_Init(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Destroy(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Update(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Draw(Actor* thisx, GlobalContext* globalCtx); + +// --------------- 4 --------------- +#if 0 +const ActorInit En_Recepgirl_InitVars = { + ACTOR_EN_RECEPGIRL, + ACTORCAT_NPC, + FLAGS, + OBJECT_BG, + sizeof(EnRecepgirl), + (ActorFunc)EnRecepgirl_Init, + (ActorFunc)EnRecepgirl_Destroy, + (ActorFunc)EnRecepgirl_Update, + (ActorFunc)EnRecepgirl_Draw, +}; + +// static InitChainEntry sInitChain[] = { +static InitChainEntry D_80C106C0[] = { + ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), +}; + +#endif + +// --------------- 5 --------------- +extern InitChainEntry D_80C106C0[]; + +extern UNK_TYPE D_06001384; +extern UNK_TYPE D_06009890; +extern UNK_TYPE D_0600A280; + +// --------------- 6 --------------- +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Destroy.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10148.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C1019C.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10290.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C102D4.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Update.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10558.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10590.s") + +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Draw.s") + +``` + +It is currently divided into six sections as follows: + +1. Description of the actor. This is not present for all actors, (and indeed, is not present here) but gives a short description based on what we know about the actor already. It may be inaccurate, so feel free to correct it after you understand the actor better, or add it. It currently has the form + +```C +/* + * File: z_en_recepgirl.c + * Overlay: ovl_En_Recepgirl + * Description: Mayor's receptionist + */ +``` + +2. Specific `include`s and `define`s for the actor. You may need to add more header files, but otherwise this section is unlikely to change. + +3. These are prototypes for the "main four" functions that almost every actor has. You add more functions here if they need to be declared above their first use. + +5. `if`'d-out section containing the `InitVars` and a few other common pieces of data. This can be ignored until we import the data. + +4. A set of `extern`s. These refer to the data in the previous section, and, data that comes from other files, usually in the actor's corresponding object file. The latter point to addresses in the ROM where assets are stored (usually collision data, animations or display lists). Once the corresponding object files have been decompiled, these will simply be replaced by including the object file (see [Object Decompilation](object_decomp.md) for how this process works). These symbols have been automatically extracted from the MIPS code. There may turn out to be some that were not caught by the script, in which case they need to be placed in the file called `undefined_syms.txt` in the root directory of the project. Ask in Discord for how to do this: it is simple, but rare enough to not be worth covering here. + +6. List of functions. Each `#pragma GLOBAL_ASM` is letting the compiler use the corresponding assembly file while we do not have decompiled C code for that function. The majority of the decompilation work is converting these functions into C that it looks like a human wrote. + + +## Header file + +The header file looks like this at the moment: + +```C +#ifndef Z_EN_RECEPGIRL_H +#define Z_EN_RECEPGIRL_H + +#include "global.h" + +struct EnRecepgirl; + +typedef void (*EnRecepgirlActionFunc)(struct EnRecepgirl*, GlobalContext*); + +typedef struct EnRecepgirl { + /* 0x0000 */ Actor actor; + /* 0x0144 */ char unk_144[0x164]; + /* 0x02A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x8]; +} EnRecepgirl; // size = 0x2B4 + +extern const ActorInit En_Recepgirl_InitVars; + +#endif // Z_EN_RECEPGIRL_H +``` + +The struct currently contains a variable that is the `Actor` struct, which all actors use one way or another, plus other items. Currently we don't know what most of those items are, so we have arrays of chars as padding instead, just so the struct is the right size. As we understand the actor better, we will be able to gradually replace this padding with the actual variables that the actor uses. + +The header file is also used to declare structs and other information about the actor that is needed by other files (e.g. by other actors): one can simply `#include` the header rather than `extern`ing it. + + +## Order of decompilation + +The general rule for order of decompilation is +- Start with `Init`, because it usually contains the most information about the structure of the actor. You can also do `Destroy`, which is generally simpler than `Init`. +- Next, decompile any other functions from the actor you have found in `Init`. You generally start with the action functions, because they return nothing and all take the same arguments, + +```C +void func_80whatever(EnRecepgirl* this, GlobalContext* globalCtx); +``` + +- Decompile each action function in turn until you run out. Along the way, do any other functions in the actor for which you have discovered the argument types. (You are probably better doing depth-first on action functions than breadth-first: it's normally easier to follow along one branch of the actions than be thinking about several at once.) + +- After you've run out, do `Update`. This usually provides the rest of the function tree, apart from possibly some draw functions. + +- Finally, do the draw functions. + +The above is a rough ordering for the beginner. As you become more experienced, you can deviate from this scheme, but the general principle remains that you should work on functions that you already know something about. (This is why it's good to start on actors: they are self-contained, we already know a lot about some of the functions, and the function flow tends to be both logical and provide information about every function.) + +## Data + +![Fresh actor data](images/fresh_actor_data.png) + +Associated to each actor is a `.data` file, containing data that the actor uses. This ranges from spawn positions, to animation information, to even assets that we have to extract from the ROM. Since the structure of the data is very inconsistent between actors, automatic importing has been very limited, so the vast majority must be done manually. + +There are two ways of transfering the data into an actor: we can either +- import it all naively as words (`s32`s), which will still allow it to compile, and sort out the actual types later, or +- we can extern each piece of data as we come across it, and come back to it later when we have a better idea of what it is. + +We will concentrate on the second here; the other is covered in [the document about data](data.md). Thankfully this means we essentially don't have to do anything to the data yet. Nevertheless, it is often quite helpful to copy over at least some of the data and leave it commented out for later replacement. *Data must go in the same order as in the data file, and data is "all or nothing": you cannot only import some of it*. + + +**WARNING** The way in which the data was extracted from the ROM means that there are sometimes "fake symbols" in the data, which have to be removed to avoid confusing the compiler. Thankfully it will turn out that this is not the case here. + +(Sometimes it is useful to import the data in the middle of doing functions: you just have to choose an appropriate moment.) + +Some actors also have a `.bss` file. This is just data that is initialised to 0, and can be imported immediately once you know what type it is, by declaring it without giving it a value. (bss is a significant problem for code files, but not *usually* for actors.) + + +## Init + +The Init function sets up the various components of the actor when it is first loaded. It is hence usually very useful for finding out what is in the actor struct, and so we usually start with it. (Some people like starting with Destroy, which is usually shorter and simpler, but gives some basic information about the actor, but Init is probably best for beginners.) + +### mips2c + +The first stage of decompilation is done by a program called mips_to_c, often referred to as mips2c, which constructs a C interpretation of the assembly code based on reading it very literally. This means that considerable cleanup will be required to turn it into something that firstly compiles at all, and secondly looks like a human wrote it, let alone a Zelda developer from the late '90s. + +The web version of mips2c can be found [here](https://simonsoftware.se/other/mips_to_c.py). This was [covered in the OoT tutorial](https://github.com/zeldaret/oot/blob/master/docs/tutorial/beginning_decomp.md). We shall instead use the repository. Clone [the mips_to_c repository](https://github.com/matt-kempster/mips_to_c) into a separate directory (we will assume on the same level as the `mm/` directory). Since it's Python, we don't have to do any compilation or anything in the mips_to_c directory. + +Since the actor depends on the rest of the codebase, we can't expect to get much intelligible out of mips2c without giving it some context. We make this using a Python script in the `tools` directory called `m2ctx.py`, so run +``` +$ ./tools/m2ctx.py +``` +from the main directory of the repository. In this case, the C file is `src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c`. This generates a file called `ctx.c` in the main directory of the repository. + +To get mips_to_c to decompile a function, the bare minimum is to run +``` +$ ../mips_to_c/mips_to_c.py +``` +(from the root directory of `mm`). We can tell mips2c to use the context file we just generated by adding `--context ctx.c`. If we have data, mips2c may be able to assist with that as well. + +In this case, we want the assembly file for `EnRecepgirl_Init`. You can copy the path to the file in VSCode or similar, or just tab-complete it once you know the directory structure well enough: it turns out to be `asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s`. + +**N.B.** You want the file in `nonmatchings`! the files in the other directories in `asm/` are the *unsplit* asm, which can be used, but is less convenient (you would need to include the rodata, for example, and it will do the whole file at once. This is sometimes useful, but we'll go one function at a time today to keep things simple). + +We shall also include the data file, which is located at `data/overlays/ovl_En_Recepgirl/ovl_En_Recepgirl.data.s`. Hence the whole command will be +``` +$ ../mips_to_c/mips_to_c.py asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.s --context ctx.c +? func_80C10148(EnRecepgirl *); // extern +extern FlexSkeletonHeader D_06011B60; +static void *D_80C106B0[4] = {(void *)0x600F8F0, (void *)0x600FCF0, (void *)0x60100F0, (void *)0x600FCF0}; +static s32 D_80C106C8 = 0; +InitChainEntry D_80C106C0[2]; // unable to generate initializer + +void EnRecepgirl_Init(EnRecepgirl *this, GlobalContext *globalCtx) { + EnRecepgirl* this = (EnRecepgirl *) thisx; + void **temp_s0; + void **phi_s0; + + Actor_ProcessInitChain((Actor *) this, D_80C106C0); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, (SkelAnime *) this->unk_144, &D_06011B60, (AnimationHeader *) &D_06009890, this + 0x188, this + 0x218, 0x18); + phi_s0 = D_80C106B0; + if (D_80C106C8 == 0) { + do { + temp_s0 = phi_s0 + 4; + temp_s0->unk-4 = Lib_SegmentedToVirtual(*phi_s0); + phi_s0 = temp_s0; + } while (temp_s0 != D_80C106C0); + D_80C106C8 = 1; + } + this->unk_2AC = 2; + if (Flags_GetSwitch(globalCtx, (s32) this->actor.params) != 0) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + func_80C10148(this); +} +``` +Comment out the `GLOBAL_ASM` line for `Init`, and paste all of this into the file just underneath it: + +```C +[...] +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s") +? func_80C10148(EnRecepgirl *); // extern +extern FlexSkeletonHeader D_06011B60; +static void *D_80C106B0[4] = {(void *)0x600F8F0, (void *)0x600FCF0, (void *)0x60100F0, (void *)0x600FCF0}; +static s32 D_80C106C8 = 0; +InitChainEntry D_80C106C0[2]; // unable to generate initializer + +void EnRecepgirl_Init(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = (EnRecepgirl *) thisx; + void **temp_s0; + void **phi_s0; + + Actor_ProcessInitChain((Actor *) this, D_80C106C0); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, (SkelAnime *) this->unk_144, &D_06011B60, (AnimationHeader *) &D_06009890, this + 0x188, this + 0x218, 0x18); + phi_s0 = D_80C106B0; + if (D_80C106C8 == 0) { + do { + temp_s0 = phi_s0 + 4; + temp_s0->unk-4 = Lib_SegmentedToVirtual(*phi_s0); + phi_s0 = temp_s0; + } while (temp_s0 != D_80C106C0); + D_80C106C8 = 1; + } + this->unk_2AC = 2; + if (Flags_GetSwitch(globalCtx, (s32) this->actor.params) != 0) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + func_80C10148(this); +} +[...] +``` + + +Typically for all but the simplest functions, there is a lot that needs fixing before we are anywhere near seeing how close we are to the original code. You will notice that mips2c creates a lot of temporary variables. Usually most of these will turn out to not be real, and we need to remove the right ones to get the code to match. + +To allow the function to find the variables, we need another correction. Half of this has already been done at the top of the file, where we have + +```C +#define THIS ((EnRecepgirl*)thisx) +``` + +To do the other half, replace the recast at the beginning of the function, before any declarations: + +```C +EnRecepgirl* this = THIS; +``` + +Now everything points to the right place, even though the argument of the function seems inconsistent with the contents. + +(Again: this step is only necessary for the "main four" functions, and sometimes functions that are used by these: it relates to how such functions are used outside the actor.) + +While we are carrying out initial changes, you can also find-and-replace any instances of `(Actor *) this` by `&this->actor`. The function now looks like this: + +```C +? func_80C10148(EnRecepgirl *); // extern +extern FlexSkeletonHeader D_06011B60; +static void *D_80C106B0[4] = {(void *)0x600F8F0, (void *)0x600FCF0, (void *)0x60100F0, (void *)0x600FCF0}; +static s32 D_80C106C8 = 0; +InitChainEntry D_80C106C0[2]; // unable to generate initializer + +void EnRecepgirl_Init(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = THIS; + void **temp_s0; + void **phi_s0; + + Actor_ProcessInitChain(&this->actor, D_80C106C0); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, (SkelAnime *) this->unk_144, &D_06011B60, (AnimationHeader *) &D_06009890, this + 0x188, this + 0x218, 0x18); + phi_s0 = D_80C106B0; + if (D_80C106C8 == 0) { + do { + temp_s0 = phi_s0 + 4; + temp_s0->unk-4 = Lib_SegmentedToVirtual(*phi_s0); + phi_s0 = temp_s0; + } while (temp_s0 != D_80C106C0); + D_80C106C8 = 1; + } + this->unk_2AC = 2; + if (Flags_GetSwitch(globalCtx, (s32) this->actor.params) != 0) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + func_80C10148(this); +} +``` + +### (Not) dealing with Data + +For now, we do not want to consider the data that mips2c has kindly imported for us: it will only get in the way when we want to rebuild the file to check for OK (`diff.py` will not care, but `make` will complain if it notices a symbol defined twice, and if some data is included twice the ROM will not match anyway). Therefore, put it in the `#if`'d out section and add some externs with the types: + +```C +#if 0 +const ActorInit En_Recepgirl_InitVars = { + ACTOR_EN_RECEPGIRL, + ACTORCAT_NPC, + FLAGS, + OBJECT_BG, + sizeof(EnRecepgirl), + (ActorFunc)EnRecepgirl_Init, + (ActorFunc)EnRecepgirl_Destroy, + (ActorFunc)EnRecepgirl_Update, + (ActorFunc)EnRecepgirl_Draw, +}; + +static void* D_80C106B0[4] = { (void*)0x600F8F0, (void*)0x600FCF0, (void*)0x60100F0, (void*)0x600FCF0 }; + +// static InitChainEntry sInitChain[] = { +static InitChainEntry D_80C106C0[] = { + ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), +}; + +static s32 D_80C106C8 = 0; + +#endif + +extern void* D_80C106B0[]; +extern InitChainEntry D_80C106C0[]; +extern s32 D_80C106C8; +``` + +**N.B.** As is covered in more detail in [the document about data](data.md), the data *must* be declared in the same order in C as it was in the data assembly file: notice that the order in this example is `En_Recepgirl_InitVars`, `D_80C106B0`, `D_80C106C0`, `D_80C106C8`, the same as in `data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.s`. + + +In the next sections, we shall sort out the various initialisation functions that occur in Init. This actor contains several of the most common ones, but it does not have, for example, a collider. The process is similar to what we discuss below, or you can check the OoT tutorial. + + + +### Init chains + +Almost always, one of the first items in `Init` is a function that looks like + +```C +Actor_ProcessInitChain(&this->actor, D_80C106C0); +``` + +which initialises common properties of actor using an InitChain, which is usually somewhere near the top of the data, in this case in the variable `D_80C106C0`. This is already included in the `#if`'d out data at the top if the file, so we don't have to do anything for now. We can correct the mips2c output for the extern, though: I actually did this when moving the rest of the data in the previous section. + + +### SkelAnime + +This is the combined system that handles actors' skeletons and their animations. It is the other significant part of most actor structs. We see its initialisation in this part of the code: +```C + Actor_ProcessInitChain(&this->actor, D_80C106C0); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, (SkelAnime *) this->unk_144, &D_06011B60, (AnimationHeader *) &D_06009890, this + 0x188, this + 0x218, 0x18); + phi_s0 = D_80C106B0; +``` + +An actor with SkelAnime has three structs in the Actor struct that handle it: one called SkelAnime, and two arrays of `Vec3s`, called `jointTable` and `morphTable`. Usually, although not always, they are next to one another. + +There are two different sorts of SkelAnime, although for decompilation purposes there is not much difference between them. Looking at the prototype of `SkelAnime_InitFlex` from `functions.h` (or even the definition in `z_skelanime.c`), +```C +void SkelAnime_InitFlex(GlobalContext* globalCtx, SkelAnime* skelAnime, FlexSkeletonHeader* skeletonHeaderSeg, + AnimationHeader* animationSeg, Vec3s* jointTable, Vec3s* morphTable, s32 limbCount); +``` +we can read off the types of the various arguments: +- The `SkelAnime` struct is at `this + 0x144` +- The `jointTable` is at `this + 0x188` +- The `morphTable` is at `this + 0x218` +- The number of limbs is `0x18 = 24` (we use dec for the number of limbs) +- Because of how SkelAnime works, this means that the `jointTable` and `morphTable` both have `24` elements + +Looking in `z64animation.h`, we find that `SkelAnime` has size `0x44`, and looking in `z64math.h`, that `Vec3s` has size `0x6`. Since ` 0x144 + 0x44 = 0x188 `, `jointTable` is immediately after the `SkelAnime`, and since `0x188 + 0x6 * 0x18 = 0x218`, `morphTable` is immediately after the `jointTable`. Finally, `0x218 + 0x6 * 0x18 = 0x2A8`, and we have filled all the space between the `actor` and `actionFunc`. Therefore the struct now looks like +```C +typedef struct EnRecepgirl { + /* 0x0000 */ Actor actor; + /* 0x0144 */ SkelAnime skelAnime; + /* 0x0188 */ Vec3s jointTable[24]; + /* 0x0218 */ Vec3s morphTable[24]; + /* 0x02A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x02AC */ char unk_2AC[0x8]; +} EnRecepgirl; // size = 0x2B4 +``` + +The last information we get from the SkelAnime function is the types of two of the externed symbols: `D_06011B60` is a `FlexSkeletonHeader`, and `D_06009890` is an `AnimationHeader`. So we can change/add these at the top of the C file: + +```C +extern InitChainEntry D_80C106C0[]; + +extern UNK_TYPE D_06001384; +extern AnimationHeader D_06009890; +extern UNK_TYPE D_0600A280; +extern FlexSkeletonHeader D_06011B60; +``` +As with the data, these externed symbols should be kept in increasing address order. + +They are both passed to the function as pointers, so need `&` to pass the address instead of the actual data. Hence we end up with +```C + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06011B60, &D_06009890, this->jointTable, this->morphTable, 24); +``` +note that `this->jointTable` and `this->morphTable` are arrays, so are already effectively pointers and don't need a `&`. + +### More struct variables: a brief detour into reading some assembly + +This function also gives us information about other things in the struct. The only other reference to `this` (rather than `this->actor` or similar) is in +```C +this->unk_2AC = 2; +``` +This doesn't tell us much except that at `this + 0x2AC` is a number of some kind. What sort of number? For that we will have to look in the assembly code. This will probably look quite intimidating the first time, but it's usually not too bad if you use functions as signposts: IDO will never change the order of function calls, and tends to keep code between functions in roughly the same place, so you can usually guess where you are. + +In this case, we are looking for `this + 0x2AC`. `0x2AC` is not a very common number, so hopefully the only mention of it is in referring to this struct variable. Indeed, if we search the file, we find that the only instruction mentioning `0x2AC` is here: +```mips +/* 0000B0 80C10080 24090002 */ addiu $t1, $zero, 2 +/* 0000B4 80C10084 A24902AC */ sb $t1, 0x2ac($s2) +``` +`addiu` ("add unsigned immediate") adds the last two things and puts the result in the register in the first position. So this says `$t1 = 0 + 2`. The next instruction, `sb` ("store byte") puts the value in the register in the first position in the memory location in the second, which in this case says `$s2 + 0x2ac = $t1`. We can go and find out what is in `$s2` is: it is set *all* the way at the top of the function, in this line: +```mips +/* 000008 80C0FFD8 00809025 */ move $s2, $a0 +``` +This simply copies the contents of the second register into the first one. In this case, it is copying the contents of the function's first argument into `$s2` (because it wants to use it later, and the `$a` registers are assumed to be cleared after a function call). In this case, the first argument is a pointer to `this` (well, `thisx`, but the struct starts with an `Actor`, so it's the same address). So line `B4` of the asm really is saving `2` into the memory location `this + 0x2AC`. + +Anyway, this tells us that the variable is a byte of some kind, so `s8` or `u8`: if it was an `s16/u16` it would have said `sh`, and if it was an `s32/u32` it would have said `sw`. Unfortunately this is all we can determine from this function: MIPS does not have separate instructions for saving signed and unsigned bytes. + +At this point you have two options: guess based on statistics/heuristics, or go and look in the other functions in the actor to find out more information. The useful statistic here is that `u8` is far more common than `s8`, but let's look in the other functions, since we're pretty confident after finding `0x2ac` so easily in `Init`. So, let us grep the actor's assembly folder: +``` +$ grep -r '0x2ac' asm/non_matchings/overlays/ovl_En_Recepgirl/ +asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Draw.s:/* 00065C 80C1062C 921902AC */ lbu $t9, 0x2ac($s0) +asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s:/* 000114 80C100E4 908202AC */ lbu $v0, 0x2ac($a0) +asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s:/* 00012C 80C100FC A08E02AC */ sb $t6, 0x2ac($a0) +asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s:/* 000134 80C10104 A08002AC */ sb $zero, 0x2ac($a0) +asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s:/* 00015C 80C1012C 909802AC */ lbu $t8, 0x2ac($a0) +asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s:/* 000164 80C10134 A09902AC */ sb $t9, 0x2ac($a0) +asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s:/* 0000B4 80C10084 A24902AC */ sb $t1, 0x2ac($s2) +``` +in which we clearly see `lbu` ("load byte unsigned"), and hence this variable really is a `u8`. Hence we can add this to the actor struct too: +```C +typedef struct EnRecepgirl { + /* 0x0000 */ Actor actor; + /* 0x0144 */ SkelAnime skelAnime; + /* 0x0188 */ Vec3s jointTable[24]; + /* 0x0218 */ Vec3s morphTable[24]; + /* 0x02A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x02AC */ u8 unk_2AC; + /* 0x02AD */ char unk_2AD[0x7]; +} EnRecepgirl; // size = 0x2B4 +``` + +You might think that was a lot of work for one variable, but it's pretty quick when you know what to do. Obviously this would be more difficult with a more common number, but it's often still worth trying. + +Removing some of the declarations for data that we have accounted for, the function now looks like this: +```C +? func_80C10148(EnRecepgirl *); // extern + +void EnRecepgirl_Init(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = THIS; + void **temp_s0; + void **phi_s0; + + Actor_ProcessInitChain(&this->actor, D_80C106C0); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06011B60, &D_06009890, this->jointTable, this->morphTable, 24); + + phi_s0 = D_80C106B0; + if (D_80C106C8 == 0) { + do { + temp_s0 = phi_s0 + 4; + temp_s0->unk-4 = Lib_SegmentedToVirtual(*phi_s0); + phi_s0 = temp_s0; + } while (temp_s0 != D_80C106C0); + D_80C106C8 = 1; + } + + this->unk_2AC = 2; + if (Flags_GetSwitch(globalCtx, (s32) this->actor.params) != 0) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + func_80C10148(this); +} +``` + +We have one significant problem and a few minor ones left. + +### Casts and boolean functions + +mips2c likes casting a lot: this is useful for getting types, less so when the type is changed automatically, such as in `Flags_GetSwitch(globalCtx, (s32) this->actor.params)`. Also, if we look at this function's definition, we discover it will only return `true` or `false`, so we can remove the `!= 0`. + +### Functions called + +One minor problem is what `func_80C10148` is: C needs a prototype to compile it properly. mips2c has offered us `? func_80C10148(EnRecepgirl *); // extern`, but this is obviously incomplete: there's no `?` type in C! We shall guess for now that this function returns `void`, for two reasons: +1. It's not used as a condition in a conditional or anything +2. It's not used to assign a value + +To this experience will add a third reason: +3. This is probably a setup function for an actionFunc, which are usually either `void (*)(ActorType*)` or `void (*)(ActorType*, GlobalContext*)`. + +The upshot of all this is to remove mips2c's `? func_80C10148(EnRecepgirl *); // extern`, and add a `void func_80C10148(EnRecepgirl* this);` underneath the declarations for the main four functions: +```C +void EnRecepgirl_Init(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Destroy(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Update(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Draw(Actor* thisx, GlobalContext* globalCtx); + +void func_80C10148(EnRecepgirl* this); +``` + +(we usually leave a blank line after the main four, and put all further declarations in address order). + + +### Loops + +Loops are often some of the hardest things to decompile, because there are many ways to write a loop, only some of which will generate the same assembly. mips2c has had a go at the one in this function, but it usually struggles with loops: don't expect it to get a loop correct, well, at all. + +The code in question is +```C + void **temp_s0; + void **phi_s0; + +[...] + + phi_s0 = D_80C106B0; + if (D_80C106C8 == 0) { + do { + temp_s0 = phi_s0 + 4; + temp_s0->unk-4 = Lib_SegmentedToVirtual(*phi_s0); + phi_s0 = temp_s0; + } while (temp_s0 != D_80C106C0); + D_80C106C8 = 1; + } +``` + +`D_80C106B0` is the array that mips2c has declared above the function, a set of 8-digit hex numbers starting `0x06`. These are likely to be *segmented pointers*, but this is not a very useful piece of information yet. `D_80C106C0` is the InitChain, though, and it seems pretty unlikely that it would be seriously involved in any sort of loop. Indeed, if you tried to compile this now, you would get an error: +``` +cfe: Error: src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c, line 61: Unacceptable operand of == or != + } while (temp_s0 != D_80C106C0); + -------------------------^ +``` +so this can't possibly be right. + +So what on earth is this loop doing? Probably the best thing to do is manually unroll it and see what it's doing each time. + +0. `phi_s0 = D_80C106B0`, aka `&D_80C106B0[0]`, to `temp_s0 = D_80C106B0 + 4`, i.e. `&D_80C106B0[1]`. But then `temp_s0->unk-4` is 4 backwards from `&D_80C106B0[1]`, which is back at `&D_80C106B0[0]`; the `->` means to look at what is at this address, so `temp_s0->unk-4` is `D_80C106B0[0]`. Equally, `*phi_s0` is the thing at `&D_80C106B0[0]`, i.e. `D_80C106B0[0]`. So the actual thing the first pass does is +```C + D_80C106B0[0] = Lib_SegmentedToVirtual(D_80C106B0[0]); +``` +it then proceeds to set `phi_s0 = &D_80C106B0[1]` for the next iteration. + +1. We go through the same reasoning and find the inside of the loop is +```C + temp_s0 = &D_80C106B0[2]; + D_80C106B0[1] = Lib_SegmentedToVirtual(D_80C106B0[1]); + phi_s0 = &D_80C106B0[2]; +``` + +2. +```C + temp_s0 = &D_80C106B0[3]; + D_80C106B0[2] = Lib_SegmentedToVirtual(D_80C106B0[2]); + phi_s0 = &D_80C106B0[3]; +``` + +3. +```C + temp_s0 = &D_80C106B0[4]; + D_80C106B0[3] = Lib_SegmentedToVirtual(D_80C106B0[3]); + phi_s0 = &D_80C106B0[4]; +``` +But now, `&D_80C106B0[4] = D_80C106B0 + 4 * 4 = D_80C106B0 + 0x10`, and `0x10` after this array's starting address is `D_80C106C0`, i.e. the InitChhain. Hence at this point the looping ends. + +So what this loop actually does is run `Lib_SegmentedToVirtual` on each element of the array `D_80C106B0`. + +At this point, I confess that I guessed what this loop does, and rewrote it how I would have written it, namely how one usually iterates over an array: +```C + s32 i; +[...] + for (i = 0; i < 4; i++) { + D_80C106B0[i] = Lib_SegmentedToVirtual(D_80C106B0[i]); + } +``` + +This is a dangerous game, since there is no guarantee that what you think is the right way to write something bears any relation to either what the original was like, or more importantly, what will give the same codegen as the original. This is a significant leap, since the original appears to be using a pointer iterator! + +However, this is certainly at least equivalent to the original (or at least, to what mips2c gave us: it's not infallible): we can be certain of this because we wrote the thing out in its entirety to understand it! This also allows us to eliminate one of the temps: you'll find with even simple loops mips2c will usually make two temps for the loop variable. + +Hence we end up with + +```C +void func_80C10148(EnRecepgirl* this); +[...] + +void EnRecepgirl_Init(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = THIS; + + Actor_ProcessInitChain(&this->actor, D_80C106C0); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06011B60, &D_06009890, this->jointTable, this->morphTable, 24); + + if (D_80C106C8 == 0) { + for (i = 0; i < 4; i++) { + D_80C106B0[i] = Lib_SegmentedToVirtual(D_80C106B0[i]); + } + D_80C106C8 = 1; + } + + this->unk_2AC = 2; + + if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + + func_80C10148(this); +} +``` +as our first guess. This doesn't look unreasonable... the question is, does it match? + +## Diff + +Once preliminary cleanup and struct filling is done, most time spent matching functions is done by comparing the original code with the code you have compiled. This is aided by a program called `diff.py`. + +In order to use `diff.py` with the symbol names, we need a copy of the code to compare against. In MM this is done as part of `make init`, and you can regenerate the `expected` directory (which is simply a known-good copy of `build` directory) by running `make diff-init`, which will check for an OK ROM and copy the build directory over. (Of course you need an OK ROM to do this; worst-case, you can checkout master and do a complete rebuild to get it). (You need to remake `expected` if you want to diff a function you have renamed: `diff.py` looks in the mapfiles for the function name, which won't work if the name has changed!) + +Now, we run diff on the function name: in the main directory, +``` +$ ./diff.py -mwo3 EnRecepgirl_Init +``` +(To see what these arguments do, run it with `./diff.py -h` or look in the scripts documentation.) + +![FeelsOKMan completely white diff](images/EnRecepgirl_Init_diff_matching.png) + +And err, well, everything is white, so it matches. Whoops. Guess we'll cover `diff.py` properly next time! (Notice that even though the diff is completely white, there are some differences in the `%hi`s and `%lo`s that access data, because it is now accessed with a relative address rather than an absolute one. If you have the data in the file in the right order, this shouldn't matter.) + +And with that, we have successfully matched our first function. + +**N.B** Notice that we don't yet have much idea of what this code actually does: this should be clarified by going through the rest of the actor's functions, which is discussed in the next document. + +Next: [Other functions in the actor](other_functions.md) diff --git a/docs/tutorial/contents.md b/docs/tutorial/contents.md new file mode 100644 index 000000000..227f4fc7d --- /dev/null +++ b/docs/tutorial/contents.md @@ -0,0 +1,56 @@ +# Getting started + +## [Introduction to decomp](introduction.md) +- What we are doing +- Structure of the code + +## Pre-decompilation +- Building the repo (follow the instructions in the [README.md](../../README.md)) +- Most of us use VSCode. Some useful information is [here](vscode.md). + +- 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](beginning_decomp.md) + - Order of decompilation + - Init and common actor features + - Initchains + - Actors and dynapoly actors + - Colliders + - Skelanime + +- [The rest of the functions in the actor](other_functions.md) + - Order of decompilation + - Action Functions and other functions + +- [Draw functions](draw_functions.md) + +- [Data, migration and non-migration](data.md) + - Importing the data: early and late + - Segmented pointers + - Fake symbols + - Inlining + +## [Object Decompilation](object_decomp.md) (TODO) +- Object files +- How we decompile objects + +## After Decompilation + +- See the [CONTRIBUTING.md](../../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](merging.md). + +## Appendices +- [Types, Structs and Padding](types_structs_padding.md) (a miscellany of useful stuff) +- [Advanced control flow](advanced_control_flow.md) (an example of a more complex function which mips2c is not so good at) +- [Using the diff script and the permuter](diff_and_permuter.md) (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 diff --git a/docs/tutorial/data.md b/docs/tutorial/data.md new file mode 100644 index 000000000..ae856123e --- /dev/null +++ b/docs/tutorial/data.md @@ -0,0 +1,171 @@ +# Data + +Up: [Contents](contents.md) +Previous: [Draw functions](draw_functions.md) + +## Table of Contents + +- [Data first](#data-first) +- [Extern and data last](#extern-and-data-last) +- [Segmented pointers](#segmented-pointers) +- [Fake symbols](#fake-symbols) +- [Inlining](#inlining) + +Each actor's data is stored in a separate file. EnRecepgirl's data is in `data/overlays/ovl_En_Recepgirl/ovl_En_Recepgirl.data.s`, for example. At some point in the decompilation process we need to convert this raw data into recognisable information for the C to use. + +There are two main ways to do this: either +1. import the data first and type it later, or +2. wait until the data appears in functions, extern it, then import it at the end + +Sometimes something between these two is appropriate: wait until the largest or strangest bits of data appear in functions, get some typing information out of that, and then import it, but for now, let's stick to both of these. + +Both approaches have their advantages and disadvantages. + +## Data first + +This way is good for smaller actors with little data. The OoT tutorial [covers this in plenty of detail](https://github.com/zeldaret/oot/blob/master/docs/tutorial/data.md), and the process in MM is essentially identical, so we won't go over it here. + + +## Extern and data last + +Externing is explained in detail in the document about the [Init function](beginning_decomp.md). To summarize, every time a `D_address` appears that is in the data file, we put a +```C +extern UNK_TYPE D_address; +``` +at the top of the file, in the same order that the data appears in the data file. We can also give it a type if we know what the type actually is (e.g. for colliders, initchains, etc.), and convert the actual data and place it commented-out under the corresponding line. This means we don't have to do everything at once at the end. + +Once we have decompiled enough things to know what the data is, we can import it. The advantage of doing it this way is we should know what type everything is already: in our work on EnRecepgirl, for example, we ended up with the following data at the top of the file +```C +#if 0 +const ActorInit En_Recepgirl_InitVars = { + ACTOR_EN_RECEPGIRL, + ACTORCAT_NPC, + FLAGS, + OBJECT_BG, + sizeof(EnRecepgirl), + (ActorFunc)EnRecepgirl_Init, + (ActorFunc)EnRecepgirl_Destroy, + (ActorFunc)EnRecepgirl_Update, + (ActorFunc)EnRecepgirl_Draw, +}; + +static void* D_80C106B0[4] = { (void*)0x600F8F0, (void*)0x600FCF0, (void*)0x60100F0, (void*)0x600FCF0 }; + +// static InitChainEntry sInitChain[] = { +static InitChainEntry D_80C106C0[] = { + ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), +}; + +static s32 D_80C106C8 = 0; + +#endif +``` +and the main thing we need to understand is `D_80C106B0` + +*Before doing anything else, make sure `make` gives `OK`.* + +First, we tell the compiler to ignore the original data file. To do this, open the file called `spec` in the main directory of the repository, and search for the actor name. You will find a section that looks like +``` +beginseg + name "ovl_En_Recepgirl" + compress + include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o" + include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o" + include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o" +endseg +``` +We will eventually remove both of the bottom two lines and replace them with our own reloc file, but for now, just comment out the data line: +``` +beginseg + name "ovl_En_Recepgirl" + compress + include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o" + //include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o" + include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o" +endseg +``` + +Next remove all the externs, and uncomment their corresponding commented data: +```C +const ActorInit En_Recepgirl_InitVars = { + ACTOR_EN_RECEPGIRL, + ACTORCAT_NPC, + FLAGS, + OBJECT_BG, + sizeof(EnRecepgirl), + (ActorFunc)EnRecepgirl_Init, + (ActorFunc)EnRecepgirl_Destroy, + (ActorFunc)EnRecepgirl_Update, + (ActorFunc)EnRecepgirl_Draw, +}; + +static void* D_80C106B0[4] = { (void*)0x600F8F0, (void*)0x600FCF0, (void*)0x60100F0, (void*)0x600FCF0 }; + +// static InitChainEntry sInitChain[] = { +static InitChainEntry D_80C106C0[] = { + ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), +}; + +static s32 D_80C106C8 = 0; +``` + +That should be everything, and we should now be able to `make` without the data file with no issues. + + +## Segmented pointers + +The game has a convenient system that allows it to sometimes effectively use offsets into a file instead of raw memory addresses to reference things. This is done by setting a file address to a *segment*. A segmented address is of the form `0x0XYYYYYY`, where `X` is the segment number. There are 16 available segments, and actors always set segment 6 to their object file, which is a file containing assets (skeleton, animations, textures, etc.) that they use. This is what all those `D_06...` are, and it is also what the entries in `D_80C106B0` are: they are currently raw numbers instead of symbols, though, and we would like to replace them. + +There is an obvious problem here, which is that is that these symbols have to be defined *somewhere*, or the linker will complain (indeed, if we change the ones in the array to `D_...`, even if we extern them, we get +``` +mips-linux-gnu-ld: build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o:(.data+0x20): undefined reference to `D_0600F8F0' +```` +As we'd expect, of course: we didn't fulfil our promise that they were defined elsewhere.) + +This is mitigated by use of the file `undefined_syms.txt`, which feeds the linker the raw addresses to use as the symbol definitions. If you find a segmented address that is not in already externed, `extern` it at the top of the file and add it to the actor's section in undefined_syms: +```C +extern void* D_0600F8F0; +extern void* D_0600FCF0; +extern void* D_060100F0; +extern void* D_0600FCF0; + +static void* D_80C106B0[4] = { &D_0600F8F0, &D_0600FCF0, &D_060100F0, &D_0600FCF0 }; +``` +and in undefined_syms.txt: +``` +// ovl_En_Recepgirl +D_06000968 = 0x06000968; +D_06001384 = 0x06001384; +D_06009890 = 0x06009890; +D_0600A280 = 0x0600A280; +D_0600AD98 = 0x0600AD98; +D_0600F8F0 = 0x0600F8F0; +D_0600FCF0 = 0x0600FCF0; +D_060100F0 = 0x060100F0; +D_06011B60 = 0x06011B60; +``` + +We will come back and name these later when we do the object. + + +## Fake symbols + +Some symbols in the data have been decompiled wrongly, being incorrectly separated from the previous symbol due to how it was accessed by the actor's functions. However, most of these have now been fixed. Some more detail is given in [Types, structs and padding](types_structs_padding.md) If you are unsure, ask! + + +## Inlining + +After the file is finished, it is possible to move some static data into functions. This requires that: +1. The data is used in only one function +2. The ordering of the data can be maintained + +Additionally, we prefer to keep larger data (more than a line or two) out of functions anyway. + + +# Finally: .bss + +A .bss contains data that is uninitialised (actually initialised to `0`). For most actors all you need to do is declare it at the top of the actor file without giving it a value, once you find out what type it is. In `code`, it's much more of a problem. + +Next: [Documenting](documenting.md) \ No newline at end of file diff --git a/docs/tutorial/diff_and_permuter.md b/docs/tutorial/diff_and_permuter.md new file mode 100644 index 000000000..aa72999d1 --- /dev/null +++ b/docs/tutorial/diff_and_permuter.md @@ -0,0 +1,145 @@ +# `diff.py` and the permuter + +This document is intended as a step-by-step demonstration of matching a reasonably complex function using the diff script `diff.py` and the decomp permuter, both included in the repo. For general information on both see [the tools documentation](../tools.md). + +Until such time as someone finds a suitable function, you can look at the OoT tutorial: [here for diff.py](https://github.com/zeldaret/oot/blob/master/docs/tutorial/beginning_decomp.md#diff) and [here for the permuter](https://github.com/zeldaret/oot/blob/master/docs/tutorial/other_functions.md#the-permuter). + + + + diff --git a/docs/tutorial/disassembly_quirks.md b/docs/tutorial/disassembly_quirks.md new file mode 100644 index 000000000..dacfb78d8 --- /dev/null +++ b/docs/tutorial/disassembly_quirks.md @@ -0,0 +1,36 @@ +# Disassembly quirks + +As MM's disassembly is automatic, there are certain unique problems it has. + +## Renaming functions and variables + +A function must be renamed in `tools/disasm/functions.txt` in addition to the source code, for the disassembler to know what to call the symbol at that address when it sees it. + +Variables must be renamed in `tools/disasm/variables.txt`. It may also be necessary to change their type, count or size to stop the disassembler misusing them. + +You can avoid having to redisassemble every time by running `rename_global_asm.py`, which will rename the individual functions' assembly files in `asm/nonmatchings/` to the name of the function they contain. + + +## Fake and incorrect symbols + +TODO + + +## Resplitting a file + +The files `boot` and `code` are each divided up into dozens of separate files, that are all joined together into one text, data, rodata and bss section when building the ROM. As such, it has been necessary to guess where the file boundaries are, and not every file contains the correct functions or the correct data (rodata is mostly the exception since it is automatically split). + +To change a split for a file, find its entry in `tools/disasm/files.txt`, and change or create entries to accurately reflect where the file(s) should start. For example, it was found that the last function in `z_nmi_buff.c` had nothing to do with the rest, so it should be split into its own file. Looking up the address of the last function, it was found to be at `0x8010C1B0`, so adding the line: + +```diff + 0x8010C0C0 : "z_nmi_buff", ++++ 0x8010C1B0 : "code_8010C1B0", + 0x8010C230 : "z_olib", +``` + +to the file will extract it correctly as a separate file. It also is necessary to make a new C file and move the `GLOBAL_ASM` declaration into it. + +Unfortunately you essentially have to redisassemble after telling the disassembler to resplit a file. + + +## diff --git a/docs/tutorial/documenting.md b/docs/tutorial/documenting.md new file mode 100644 index 000000000..9b2c8e177 --- /dev/null +++ b/docs/tutorial/documenting.md @@ -0,0 +1,601 @@ +# Documenting + +Up: [Contents](contents.md) +Previous: [Data](data.md) + +Decompilation is only the first step: since the point of this project is to understand the game better than ever before, the code needs documentation. In this document, we will go through the basic stuff that it's good to do for any actor: we will not try to understand every single thing the actor does in full detail, but try to name the functions and variables usefully for a full documentation pass later to take advantage of. + +It is helpful to document the functions and variables in the actor before you Pull Request it. The aim is to provide code that is sufficiently clear to be self-documenting, but it is worth leaving a comment on anything you find obscure or confusing. (Pull Request reviews will let you know if you are leaving too many comments.) Useful things to do documentation-wise: + +- Name all (or most) of the functions. +- Name all the variables in the actor struct. +- Create enums for params, and any other numbers that would benefit from that sort of clarity. + +You can test things using the practice rom for a retail version (watches and memory view is especially helpful), as well as the generated rom with Project 64 and something like Spectrum. + +If you want to use `diff.py` after renaming anything, particularly functions, remember to rerun `make diff-init` so it can use the correct symbols. + +Finally, *if you are not sure what something does, either ask or leave it unnamed: it will be less confusing later if things are unnamed than if they are wrongly named* + + +## Renaming things + +Because MM needs to regenerate the assembly code, it is necessary to tell the disassembler the names of functions and variables, so it knows what symbols to assign in the code. This is done via `functions.txt` and `variables.txt`. The best way to rename functions and symbols is via global rename in an editor like VSCode. The next best way is to run `tools/rename_sym.sh`. You should be careful with this script: it has no error-checking! + +Renaming symbols in theory requires re-disassembly. This can often be avoided in the case of functions by running `tools/rename_global_asm.py`, which will rename any individual functions' assembly files with the wrong names, so that the `GLOBAL_ASM`s can spot them. Renaming variables *may* require redisassembly (and if fake symbols are removed, it *will*). + + +## EnRecepgirl + +Currently, the file looks like this: +
+ +Large code block, click to show + + +```C +#include "z_en_recepgirl.h" + +#define FLAGS 0x00000009 + +#define THIS ((EnRecepgirl*)thisx) + +void EnRecepgirl_Init(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Destroy(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Update(Actor* thisx, GlobalContext* globalCtx); +void EnRecepgirl_Draw(Actor* thisx, GlobalContext* globalCtx); + +void func_80C10148(EnRecepgirl* this); +void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx); +void func_80C10290(EnRecepgirl* this); +void func_80C102D4(EnRecepgirl * this, GlobalContext * globalCtx); + +const ActorInit En_Recepgirl_InitVars = { + ACTOR_EN_RECEPGIRL, + ACTORCAT_NPC, + FLAGS, + OBJECT_BG, + sizeof(EnRecepgirl), + (ActorFunc)EnRecepgirl_Init, + (ActorFunc)EnRecepgirl_Destroy, + (ActorFunc)EnRecepgirl_Update, + (ActorFunc)EnRecepgirl_Draw, +}; + +extern void* D_0600F8F0; +extern void* D_0600FCF0; +extern void* D_060100F0; + +static void* D_80C106B0[4] = { &D_0600F8F0, &D_0600FCF0, &D_060100F0, &D_0600FCF0 }; + +// static InitChainEntry sInitChain[] = { +static InitChainEntry D_80C106C0[] = { + ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), + ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), +}; + +static s32 D_80C106C8 = 0; + +extern AnimationHeader D_06000968; +extern AnimationHeader D_06001384; +extern AnimationHeader D_06009890; +extern AnimationHeader D_0600A280; +extern AnimationHeader D_0600AD98; +extern FlexSkeletonHeader D_06011B60; + + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s") +void EnRecepgirl_Init(Actor* thisx, GlobalContext* globalCtx) { + EnRecepgirl* this = THIS; + s32 i; + + Actor_ProcessInitChain(&this->actor, D_80C106C0); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06011B60, &D_06009890, this->jointTable, this->morphTable, 24); + + if (D_80C106C8 == 0) { + for (i = 0; i < 4; i++) { + D_80C106B0[i] = Lib_SegmentedToVirtual(D_80C106B0[i]); + } + D_80C106C8 = 1; + } + + this->unk_2AC = 2; + + if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + + func_80C10148(this); +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Destroy.s") +void EnRecepgirl_Destroy(Actor* thisx, GlobalContext* globalCtx) { +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s") +void func_80C100DC(EnRecepgirl *this) { + if (this->unk_2AC != 0) { + this->unk_2AC++; + if (this->unk_2AC == 4) { + this->unk_2AC = 0; + return; + } + return; + } + if (Rand_ZeroOne() < 0.02f) { + this->unk_2AC++; + } +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10148.s") +void func_80C10148(EnRecepgirl *this) { + if (this->skelAnime.animation == &D_06001384) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } + this->actionFunc = func_80C1019C; +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C1019C.s") +void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime) != 0) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } else { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, -4.0f); + } + } + + if (func_800B84D0(&this->actor, globalCtx) != 0) { + func_80C10290(this); + } else if (Actor_IsActorFacingLink(&this->actor, 0x2000)) { + func_800B8614(&this->actor, globalCtx, 60.0f); + if (Player_GetMask(globalCtx) == 2) { + this->actor.textId = 0x2367; + } else if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + } +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10290.s") +void func_80C10290(EnRecepgirl *this) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + this->actionFunc = func_80C102D4; +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C102D4.s") +void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) { + u8 temp_v0_2; + + if (SkelAnime_Update(&this->skelAnime) != 0) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_ChangeDefaultRepeat(&this->skelAnime, &D_06001384); + } else if (this->skelAnime.animation == &D_0600AD98) { + if (this->actor.textId == 0x2ADA) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + } else { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, 10.0f); + } + } else if (this->actor.textId == 0x2ADA) { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, 10.0f); + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + } + } + + temp_v0_2 = func_80152498(&globalCtx->msgCtx); + if (temp_v0_2 == 2) { + this->actor.textId = 0x2ADC; + func_80C10148(this); + return; + } + + if ((temp_v0_2 == 5) && (func_80147624(globalCtx) != 0)) { + if (this->actor.textId == 0x2AD9) { + Actor_SetSwitchFlag(globalCtx, this->actor.params); + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + if ((gSaveContext.weekEventReg[63] & 0x80)) { + this->actor.textId = 0x2ADF; + } else { + this->actor.textId = 0x2ADA; + } + } else if (this->actor.textId == 0x2ADC) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + this->actor.textId = 0x2ADD; + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + if (this->actor.textId == 0x2ADD) { + this->actor.textId = 0x2ADE; + } else if (this->actor.textId == 0x2ADA) { + this->actor.textId = 0x2ADB; + } else { + this->actor.textId = 0x2AE0; + } + } + func_80151938(globalCtx, this->actor.textId); + } +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Update.s") +void EnRecepgirl_Update(Actor *thisx, GlobalContext *globalCtx) { + s32 pad; + EnRecepgirl* this = THIS; + Vec3s sp30; + + this->actionFunc(this, globalCtx); + func_800E9250(globalCtx, &this->actor, &this->unk_2AE, &sp30, this->actor.focus.pos); + func_80C100DC(this); +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10558.s") +s32 func_80C10558(GlobalContext *globalCtx, s32 limbIndex, Gfx **dList, Vec3f *pos, Vec3s *rot, Actor *thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + rot->x += this->unk_2AE.y; + } + return false; +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10590.s") +void func_80C10590(GlobalContext *globalCtx, s32 limbIndex, Actor *thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + Matrix_RotateY(0x400 - this->unk_2AE.x, MTXMODE_APPLY); + Matrix_GetStateTranslationAndScaledX(500.0f, &this->actor.focus.pos); + } +} + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Draw.s") +void EnRecepgirl_Draw(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx); + + func_8012C28C(globalCtx->state.gfxCtx); + + gSPSegment(POLY_OPA_DISP++, 0x08, D_80C106B0[this->unk_2AC]); + + func_801343C0(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, func_80C10558, NULL, func_80C10590, &this->actor); + + CLOSE_DISPS(globalCtx->state.gfxCtx); +} + +``` + +
+ +(We can delete the `GLOBAL_ASM` lines now.) + +The worst part of documentation is finding somewhere to start. We have a decent place to start here, though, in that we already know the function (or rather, the use) of a couple of the functions, namely the LimbDraws. So we can rename `func_80C10558` to `EnRecepgirl_OverrideLimbDraw` and `func_80C10590` to `EnRecepgirl_UnkLimbDraw`. Remember to do a global rename so that the functions in the assembly are renamed, use `rename_global_asm`, +``` +$ ./tools/rename_global_asm.py +asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10558.s --> asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_OverrideLimbDraw.s +asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10590.s --> asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_UnkLimbDraw.s +``` +as well as the mentions in this chunk of `functions.txt`: +``` + 0x80C0FFD0:("EnRecepgirl_Init",), + 0x80C100CC:("EnRecepgirl_Destroy",), + 0x80C100DC:("func_80C100DC",), + 0x80C10148:("func_80C10148",), + 0x80C1019C:("func_80C1019C",), + 0x80C10290:("func_80C10290",), + 0x80C102D4:("func_80C102D4",), + 0x80C104E8:("EnRecepgirl_Update",), + 0x80C10558:("func_80C10558",), + 0x80C10590:("func_80C10590",), + 0x80C105EC:("EnRecepgirl_Draw",), +``` + +That's probably as much as we can do on functions for now. Next let's think about some of the variables. We have essentially 3 sorts of variable here +- struct variables +- data/bss +- intrafunction/stack variables + +and this is roughly the order of preference for naming them (although not necessarily the logical order to determine what they do). This actor is quite limited in the last category: only `sp30` is unnamed at the moment. Even though `func_800E9250` is decomped, the purpose of the argument in which `sp30` is placed is not clear (and, indeed, is not named), so it's probably best to leave it unnamed for now. (With greater experience, you might analyse `func_800E9250` to work out what this argument is for, but let's not worry about that for now.) + +As for the struct, there are two unnamed variables at the moment: +```C +typedef struct EnRecepgirl { + /* 0x000 */ Actor actor; + /* 0x144 */ SkelAnime skelAnime; + /* 0x188 */ Vec3s jointTable[24]; + /* 0x218 */ Vec3s morphTable[24]; + /* 0x2A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x2AC */ u8 unk_2AC; + /* 0x2AE */ Vec3s unk_2AE; +} EnRecepgirl; // size = 0x2B4 +``` + +Let's start with `unk_2AC`. This is set to `2` in `Init`, something interesting happens to it in `func_80C100DC`, but it is used in the `Draw`, here: +```C + gSPSegment(POLY_OPA_DISP++, 0x08, D_80C106B0[this->unk_2AC]); +``` +So it is used as an index into the array `D_80C106B0`, and the element with that index is placed on segment `8`. So we need to work out what this array is to name `unk_2AC`. + +As we discussed last time, `D_80C106B0` is an array of [segmented pointers](data.md#segmented-pointers). Since they are in segment `6`, they are in the actor's object file. Which object? The InitVars tell us: namely, +```C +const ActorInit En_Recepgirl_InitVars = { + ACTOR_EN_RECEPGIRL, + ACTORCAT_NPC, + FLAGS, + OBJECT_BG, +``` +the fourth element is the object (it is actually an enum, but the file itself has the same name as the object enum). So, we need to look at the object file. We are very lucky that a custom tool has been written for such a thing: Z64Utils. + + +## Z64Utils + +The latest release of Z64Utils can be downloaded from [https://github.com/Random06457/Z64Utils/releases]. To use it with MM, you also need a json file to fill in the file names: the latest version can be obtained from [https://github.com/Random06457/Z64Utils-Config]. It should work on Wine. Some graphics cards don't love it, but the 3D graphical part is only required for skeleton and animations. + +Having downloaded and unzipped it, open the baserom file. This will populate the main window with a list: + +![Z64Utils' main window](images/z64utils_main.png) + +Search for the object file, right-click and select "Open in Object Analyzer". It will ask you to choose a segment: this is the segment that the file is put on, and allows Z64Utils to resolve the segmented addresses it references into symbols. The json already knows it should be segment `6`, so just click okay. This will open this window: + +![Z64Utils' object analyzer window](images/z64utils_object_analyzer.png) + +Go to "Analysis -> Find Dlists" and press OK (the defaults are usually fine). This will automatically search for displaylists in the object, which are a sufficiently distinctive format to be easy to find. We want to see the other stuff in the object too, so also do "Analysis -> Analyze Dlists". This will populate the window with even more stuff: + +![Z64Utils, with an analyzed object](images/z64utils_object_analyzed.png) + +We will talk about what all these types of data are next time, but for now, all we want to know is what +```C +extern void* D_0600F8F0; +extern void* D_0600FCF0; +extern void* D_060100F0; +``` +actually are. We know they are set on segment 8, so we need to find where the skeleton uses them. We know from `extern FlexSkeletonHeader D_06011B60;` that this is at `0x06011B60`, so scroll down to it, right-click on it, and choose "Open in Skeleton Viewer". Pick an animation that we know it uses (sometimes Z64Utils misidentifies other things for animations), such as `extern AnimationHeader D_06000968;`, and you will get this error: + +![Z64Utils, error when viewing skeleton](images/z64utils_skeleton_error.png) + +It needs something to be set to segment `8`. Well, that's good, we know that the code does that! Let's find out what. Z64Utils tells you the address, so we can look up the displaylist that wants it: the relevant block is +```C +[...] +// Multi Command Macro Found (6 instructions) +0600DE70: gsDPLoadTLUT(256, 0x100, D_0600F6F0), +// Multi Command Macro Found (7 instructions) +0600DEA0: gsDPLoadTextureBlock(D_08000000, G_IM_FMT_CI, G_IM_SIZ_8b, 32, 32, 0, G_TX_MIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, 5, 5, 0, 0), +0600DED8: gsDPSetTileSize(G_TX_RENDERTILE, 0, 0, (63<<2), (31<<2)), +0600DEE0: gsSPVertex(D_0600B3F0, 19, 0), +0600DEE8: gsSP2Triangles(0, 1, 2, 0, 3, 4, 5, 0), +0600DEF0: gsSP2Triangles(6, 7, 5, 0, 8, 4, 3, 0), +0600DEF8: gsSP2Triangles(7, 6, 9, 0, 5, 10, 3, 0), +0600DF00: gsSP2Triangles(5, 7, 10, 0, 11, 9, 6, 0), +0600DF08: gsSP2Triangles(11, 12, 9, 0, 4, 1, 13, 0), +0600DF10: gsSP2Triangles(6, 14, 11, 0, 13, 5, 4, 0), +0600DF18: gsSP2Triangles(5, 14, 6, 0, 15, 14, 5, 0), +0600DF20: gsSP2Triangles(8, 1, 4, 0, 2, 1, 8, 0), +0600DF28: gsSP2Triangles(13, 16, 5, 0, 13, 14, 17, 0), +0600DF30: gsSP2Triangles(18, 11, 14, 0, 12, 11, 18, 0), +0600DF38: gsSP1Triangle(13, 1, 0, 0), +0600DF40: gsDPPipeSync(), +[...] + +``` +so we see that segment `8` is expecting a texture (we'll go into more detail about precisely what when we talk about making the XML file to extract the object). Therefore, `D_80C106B0` is a set of textures. We have a special type for textures, namely `TexturePtr`. + +## Back to the data + +But what sort of textures? This is an NPC, so what textures on the model would it want to change? The answer is of course the eyes: most NPCs have eye textures, with some sort of routine for changing them to appear to blink. We can set the different textures onto segment `8` and see which is which, but this is enough to know that `D_80C106B0` can be `sEyeTextures` (`s` for `static`: they essentially have to be static so that we can name them like this without the names clashing), and that `unk_2AC` is `eyeTexIndex` (these names are not completely standard, but it's best to be as consistent as possible). + +**N.B.** static data should not be renamed in the assembly or `variables.txt`, since assembly has no notion of file locality and there can be symbol clashes. Therefore it should only be renamed in its respective file, not globally. +```C +extern void* D_0600F8F0; +extern void* D_0600FCF0; +extern void* D_060100F0; + +static TexturePtr sEyeTextures[] = { &D_0600F8F0, &D_0600FCF0, &D_060100F0, &D_0600FCF0 }; +``` + +And now it's rather more obvious what +```C +void func_80C100DC(EnRecepgirl* this) { + if (this->eyeTexIndex != 0) { + this->eyeTexIndex++; + if (this->eyeTexIndex == 4) { + this->eyeTexIndex = 0; + } + } else if (Rand_ZeroOne() < 0.02f) { + this->eyeTexIndex++; + } +} +``` +is doing: it's running a kind of blink routine. This is slightly nonstandard: usually there is a separate timer, but this one simply perturbs the index away from `0` every frame with a 2% chance. This sort of function is usually called `Blink` or `UpdateEyes`. Since it is explicitly called in `Update`, we'll call it `UpdateEyes`, but either is fine; we'll standardise later. + +We have two other pieces of data. There is a suggested name for the InitChain in the code already; just replace it and replace the first line in the definition. + +This leaves one piece of data unnamed, `D_80C106C8`. This is initially set to `0`, checked in `Init` to decide whether to run the loop, and then set to `1` after the loop is finished: +```C + if (D_80C106C8 == 0) { + for (i = 0; i < 4; i++) { + sEyeTextures[i] = Lib_SegmentedToVirtual(sEyeTextures[i]); + } + D_80C106C8 = 1; + } +``` +What is this doing? We need to understand that to name this variable. + +The N64's processors cannot use segmented addresses: they need actual RAM addresses. Therefore the segmented addresses have to be converted before being placed on a segment: this is what `Lib_SegmentedToVirtual` does. So (somewhat unusually) this loop is modifying the addresses in the actor's actual data in RAM. Having converted the addresses once, it wouldn't make any sense to convert them again, but `Init` would run every time an instantiation of the actor is created. Therefore `D_80C106C8` is present to ensure that the addresses only get converted once: it is really a boolean that indicates if the addresses have been converted. So let's call it `texturesDesegmented`, and replace its values by `true` and `false`. + +Finally, clearly `4` is linked to the data over which we're iterating: namely it's the size of the array. We have a macro for this, `ARRAY_COUNT(sEyeTextures)`. + +We've got one struct variable left. To find out what it does, we can look at a function that uses it, for example +```C +s32 EnRecepgirl_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + Actor* thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + rot->x += this->unk_2AE.y; + } + return false; +} + +void EnRecepgirl_UnkLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Actor* thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + Matrix_RotateY(0x400 - this->unk_2AE.x, MTXMODE_APPLY); + Matrix_GetStateTranslationAndScaledX(500.0f, &this->actor.focus.pos); + } +} +``` +It is used to do a rotation of whatever limb `5` is. (The `+=` is because `rot->x` is the base rotation of the limb, and we have to add the same thing to it every frame to keep the angle changed and constant.) We can use Z64Utils to : setting segment `8` to one of what we know now are the eye textures, we can view the model in the skeleton viewer. The limb numbers in the object are one smaller than those in the actor (the root limb is only a concept for the code, not the object), so we find limb 4: + +![Z64Utils highlighting a limb](images/z64utils_skeleton_head.png) + +Hence this is changing the head rotation. An obvious name is `headRot`. + +## Functions + +Finally, we have to name the rest of the functions. Setup functions are usually named as `_Setup`, so we really only have to name two functions. They are both related to text. if we annotate all the textIds (do not quote the whole message, just give an unambiguous summary), the flow becomes a bit clearer: + +```C +void func_80C10148(EnRecepgirl* this) { + if (this->skelAnime.animation == &D_06001384) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } + this->actionFunc = func_80C1019C; +} + +void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime) != 0) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } else { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, -4.0f); + } + } + + if (func_800B84D0(&this->actor, globalCtx) != 0) { + func_80C10290(this); + } else if (Actor_IsActorFacingLink(&this->actor, 0x2000)) { + func_800B8614(&this->actor, globalCtx, 60.0f); + if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) { + this->actor.textId = 0x2367; // "... doesn't Kafei want to break off his engagement ... ?" + } else if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; // hear directions again? + } else { + this->actor.textId = 0x2AD9; // "Welcome..." + } + } +} + +void func_80C10290(EnRecepgirl* this) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + this->actionFunc = func_80C102D4; +} + +void func_80C102D4(EnRecepgirl* this, GlobalContext* globalCtx) { + u8 temp_v0_2; + + if (SkelAnime_Update(&this->skelAnime)) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_ChangeDefaultRepeat(&this->skelAnime, &D_06001384); + } else if (this->skelAnime.animation == &D_0600AD98) { + if (this->actor.textId == 0x2ADA) { // Mayor's office is on the left (meeting ongoing) + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + } else { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, 10.0f); + } + } else if (this->actor.textId == 0x2ADA) { // Mayor's office is on the left (meeting ongoing) + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, 10.0f); + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + } + } + + temp_v0_2 = func_80152498(&globalCtx->msgCtx); + if (temp_v0_2 == 2) { + this->actor.textId = 0x2ADC; // hear directions again? + func_80C10148(this); + } else if ((temp_v0_2 == 5) && (func_80147624(globalCtx) != 0)) { + if (this->actor.textId == 0x2AD9) { // "Welcome..." + Actor_SetSwitchFlag(globalCtx, this->actor.params); + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + if (gSaveContext.weekEventReg[63] & 0x80) { // showed Couple's Mask to meeting + this->actor.textId = 0x2ADF; // Mayor's office is on the left (meeting ended) + } else { + this->actor.textId = 0x2ADA; // Mayor's office is on the left (meeting ongoing) + } + } else if (this->actor.textId == 0x2ADC) { // hear directions again? + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + this->actor.textId = 0x2ADD; // "So..." + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + + if (this->actor.textId == 0x2ADD) { // "So..." + this->actor.textId = 0x2ADE; // Mayor's office is on the left, drawing room on the right + } else if (this->actor.textId == + 0x2ADA) { // Mayor's office is on the left (meeting ongoing) + this->actor.textId = 0x2ADB; // drawing room on the right + } else { + this->actor.textId = 0x2AE0; // drawing room on the right, don't go in without an appointment + } + } + func_80151938(globalCtx, this->actor.textId); + } +} +``` +All this branching is to make the conversation look more diverse and interesting. Notably, though, `func_80C1019C` is set to start with, and is only changed when `func_800B84D0(&this->actor, globalCtx) != 0`. This is something to do with talking. The other function handles the rest of the conversation, and hands back to the first if `func_80152498(&globalCtx->msgCtx) == 2`. This function is *something* to do with the text state, which will require `z_message` to be decomped. However, observation in-game will reveal this is something to do with ending dialogue. So we can conclude that the action functions are `EnRecepgirl_Wait` and `EnRecepgirl_Talk`. The setup functions are thus `EnRecepgirl_SetupWait` and `EnRecepgirl_SetupTalk`. + +For more complex actors, we have a tool called `graphovl.py` that can produce function flow graphs for actors: running +``` +$ ./tools/graphovl/graphovl.py En_Recepgirl +``` +produces + +![EnRecepgirl's function flow graph](images/En_Recepgirl.gv.png) + + +## Miscellaneous other documentation + +We like to make macros for reading an actor's `params` (indeed, this is required even if you don't know what the params are for). A simple example is `ObjTree`, which has the following code in its `Init` function: + +```c + if (this->dyna.actor.params & 0x8000) { + Actor_SetScale(&this->dyna.actor, 0.15f); + this->dyna.actor.uncullZoneForward = 4000.0f; + } else { + Actor_SetScale(&this->dyna.actor, 0.1f); + DynaPolyActor_Init(&this->dyna, 1); + CollisionHeader_GetVirtual(&D_06001B2C, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); + } +``` + +Looking through the rest of the actor, it becomes apparent that `params & 0x8000` is only used for changing the size of the tree: ones with this bit set are larger. So we make a macro in the header: + +```c +#define OBJTREE_ISLARGE(thisx) ((thisx)->params & 0x8000) +``` + +Notice that we use `thisx`: this makes the form of every one of these macros the same. However, we only use `thisx` if required for matching, so when we add it to the actor, we use `&this->dyna.actor` (in this case, since `ObjTree` is a dynapoly actor). + +```c + if (OBJTREE_ISLARGE(&this->dyna.actor)) { + Actor_SetScale(&this->dyna.actor, 0.15f); + this->dyna.actor.uncullZoneForward = 4000.0f; + } else { + Actor_SetScale(&this->dyna.actor, 0.1f); + DynaPolyActor_Init(&this->dyna, 1); + CollisionHeader_GetVirtual(&D_06001B2C, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); + } +``` + +Much clearer! + + +We have now essentially documented this as far as we can without the object, so we'd better do that next. + +Next: [Analysing object files](object_decomp.md) diff --git a/docs/tutorial/draw_functions.md b/docs/tutorial/draw_functions.md new file mode 100644 index 000000000..319d5efbb --- /dev/null +++ b/docs/tutorial/draw_functions.md @@ -0,0 +1,303 @@ +# Draw functions + +Up: [Contents](contents.md) +Previous: [The rest of the functions in the actor](other_functions.md) + +Draw functions behave completely differently from the other functions in an actor. They often use a lot of macros. + +This document will be a bit different: we will look at the draw functions in EnRecepgirl, then consider some more complicated examples. + +## A first example + +Unless it is completely invisible, an actor usually has a draw function as one of the main four actor functions. Hence its prototype looks like + +```C +void EnRecepgirl_Draw(Actor* thisx, GlobalContext* globalCtx); +``` + +From now on, the process is rather different from the decompilation process used for the other functions. Here is the output of mips2c after sorting out the actor struct from Init, and with the arguments set back to `Actor* thisx`: +```C +s32 func_80C10558(GlobalContext *globalCtx, s32 limbIndex, Gfx **dList, Vec3f *pos, Vec3s *rot, Actor *actor); // extern +void func_80C10590(GlobalContext *globalCtx, s32 limbIndex, Actor *actor); // extern +void *D_80C106B0[4] = {(void *)0x600F8F0, (void *)0x600FCF0, (void *)0x60100F0, (void *)0x600FCF0}; + +void EnRecepgirl_Draw(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = (EnRecepgirl *) thisx; + GraphicsContext *sp30; + Gfx *temp_v1; + GraphicsContext *temp_a0; + + temp_a0 = globalCtx->state.gfxCtx; + sp30 = temp_a0; + func_8012C28C(temp_a0); + temp_v1 = sp30->polyOpa.p; + sp30->polyOpa.p = temp_v1 + 8; + temp_v1->words.w0 = 0xDB060020; + temp_v1->words.w1 = (u32) D_80C106B0[this->unk_2AC]; + func_801343C0(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, (s32) this->skelAnime.dListCount, func_80C10558, NULL, func_80C10590, (Actor *) this); +} +``` + + +Notable features are the GraphicsContext temps, and blocks of the form + +```C + temp_v1 = sp30->polyOpa.p; + sp30->polyOpa.p = temp_v1 + 8; + temp_v1->words.w0 = 0xDB060020; + temp_v1->words.w1 = (u32) D_80C106B0[this->unk_2AC]; +``` + +(This is a particularly simple example, since there's only one of these blocks. We will give a more involved example later.) + +Each of these blocks converts into a graphics macro. They are usually (but not always) straightforward, but manually converting them is a pain, and there are sometimes special cases. To deal with them easily, we will use a tool from glank's N64 tools. To install these, follow the instructions [here](https://practicerom.com/public/packages/debian/howto.txt). + +For our purposes, we only need one of the programs this provides: `gfxdis.f3dex2`. + + +Graphics are actually 64-bit on the Nintendo 64. This code block is a result of instructions telling the processor what to do with the graphics pointer. There are two main types of graphics pointer (there are a couple of others used in `code`, but actors will only use these two), +- polyOpa ("opaque") for solid textures +- polyXlu ("Xlucent" i.e. "translucent") for translucent textures + +Our example is polyOpa, not surprisingly since our receptionist is solid. + +`words.w0` and `words.w1` contain the actual graphics instruction, in hex format. Usually, `w0` is constant and `w1` contains the arguments. To find out what sort of macro we are dealing with, we use `gfxdis.f3dex2`. `w1` is variable, but we need to give the program a constant placeholder. A common word to use is 12345678, so in this case we run +``` +gfxdis.f3dex2 -x -g "POLY_OPA_DISP++" -d DB06002012345678 +``` + +- `-x` uses hex instead of the default qu macros (never mind what those are, MM doesn't use them) +- `-g` is used to specify which graphics pointer macro to use +- `-d` is for the graphics dword + +Our standard now is to use decimal colors. If you have a constant second argument rather than a variable one, you can also use `-dc` to get decimal colors instead of the default hex. + +The output looks like +``` +gSPSegment(POLY_OPA_DISP++, 0x08, 0x12345678); +``` + +We can now replace the `0x12345678` by the actual second word, namely `D_80C106B0[this->unk_2AC]`. We can see mips2c has pulled in this data again: we saw it before in the `Init`. + +The words look like pointers to assets in the actor's object segment, which would make sense if we're looking for textures to draw. Because this data is used in a graphics macro, it will be either a displaylist or a texture; it may as well stay as `void*` until we come back to it later. + +```C +gSPSegment(POLY_OPA_DISP++, 0x08, D_80C106B0[this->unk_2AC]); +``` + +You repeat this for every block in the function. + +If you have worked on OoT, you will be aware of the functions `Graph_OpenDisps` and `Graph_CloseDisps`, and might be surprised to see them missing here. These functions are actually a debug feature: the `OPEN_DISPS` and `CLOSE_DISPS` macros still exist, but they don't expand to functions. Of course this means you have to guess where they go. A sensible guess for `OPEN_DISPS` is where the `gfxCtx` temp assignment first happens; `CLOSE_DISPS` is a bit harder, although it's basically just a `}`, so it *shouldn't* matter as much. + +It's sensible to eliminate all the `gfxCtx` temps and reintroduce as needed. Also remember to change the prototype and function definition back! +```C +s32 func_80C10558(GlobalContext *globalCtx, s32 limbIndex, Gfx **dList, Vec3f *pos, Vec3s *rot, Actor *actor); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10558.s") + +void func_80C10590(GlobalContext *globalCtx, s32 limbIndex, Actor *actor); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10590.s") + +// #pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Draw.s") +void EnRecepgirl_Draw(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx); + + func_8012C28C(globalCtx->state.gfxCtx); + + gSPSegment(POLY_OPA_DISP++, 0x08, D_80C106B0[this->unk_2AC]); + + func_801343C0(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, func_80C10558, NULL, func_80C10590, &this->actor); + + CLOSE_DISPS(globalCtx->state.gfxCtx); +} +``` + +And this matches. + +The last two functions in the actor are used as arguments in `func_801343C0`. This is a `SkelAnime` function, except unlike the OoT ones, it has three function callback arguments instead of two: in `functions.h` or `z_skelanime.c`, we find +```C +void func_801343C0(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, + OverrideLimbDraw overrideLimbDraw, PostLimbDraw postLimbDraw, UnkActorDraw unkDraw, Actor* actor) +``` +The typedefs of the callbacks it uses are in `z64animation.h`: +```C +typedef s32 (*OverrideLimbDraw)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + struct Actor* actor); + +typedef void (*PostLimbDraw)(struct GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* rot, + struct Actor* actor); + +[...] + +typedef void (*UnkActorDraw)(struct GlobalContext* globalCtx, s32 limbIndex, struct Actor* actor); +``` +which is where mips2c got them from. + +In this case, only two of them are used, and it is these that are the last functions standing between us and a decompiled actor. + +## OverrideLimbDraw, PostLimbDraw, UnkActorDraw + +Well, we don't have a PostLimbDraw here, but as we see from the prototype, it's much the same as the OverrideLimbDraw but without the `pos` argument and no return value. +```C +s32 func_80C10558(GlobalContext *globalCtx, s32 limbIndex, Gfx **dList, Vec3f *pos, Vec3s *rot, Actor *actor) { + if (limbIndex == 5) { + rot->x += actor->unk2B0; + } + return 0; +} +``` +Only two things to do here: we need to use `EnRecepgirl` to get to `actor + 0x2B0`, and the return value is used as a boolean, so we replace `0` by `false` (`true` means "don't draw the limb", and is hardly ever used). +```C +s32 func_80C10558(GlobalContext *globalCtx, s32 limbIndex, Gfx **dList, Vec3f *pos, Vec3s *rot, Actor *thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + rot->x += this->unk_2AE.y; + } + return false; +} +``` + +As for the UnkActorDraw, it has a much simpler prototype. mips2c gives +```C +void func_80C10590(GlobalContext *globalCtx, s32 limbIndex, Actor *actor) { + if (limbIndex == 5) { + Matrix_RotateY((s16) (0x400 - actor->unk2AE), 1); + Matrix_GetStateTranslationAndScaledX(500.0f, (Vec3f *) &actor->focus); + } +} +``` +There is only minor cleanup needed here: +- recasting the last argument, +- replacing the last argument of `Matrix_RotateY` by the enum `MTXMODE_APPLY` (which means "use the current matrix instead of starting from a new identity matrix"), and the first argument by `0x400 - this->unk_2AE.x`. +- `(Vec3f *) &actor->focus` to `&actor->focus.pos` (this is the same issue as `(Actor*)this`, where mips2c doesn't climb deep enough into the struct). +```C +void func_80C10590(GlobalContext *globalCtx, s32 limbIndex, Actor *thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + Matrix_RotateY(0x400 - this->unk_2AE.x, MTXMODE_APPLY); + Matrix_GetStateTranslationAndScaledX(500.0f, &this->actor.focus.pos); + } +} +``` + +## Some more examples: ObjTree + +Since EnRecepgirl was a bit light on graphics macros, we will look at an example that has a few more. A nice simple one is `ObjTree_Draw`: the original mips2c output is +```C +void ObjTree_Draw(Actor *thisx, GlobalContext *globalCtx) { + s16 sp36; + s16 sp34; + Gfx *sp28; + Gfx *sp20; + Gfx *temp_v0; + Gfx *temp_v0_2; + Gfx *temp_v0_3; + Gfx *temp_v0_4; + GraphicsContext *temp_a0; + GraphicsContext *temp_s0; + + sp36 = (s16) (s32) (f32) thisx->shape.rot.x; + sp34 = (s16) (s32) (f32) thisx->shape.rot.z; + temp_a0 = globalCtx->state.gfxCtx; + temp_s0 = temp_a0; + func_8012C28C(temp_a0); + temp_v0 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0 + 8; + temp_v0->words.w0 = 0xDA380003; + sp28 = temp_v0; + sp28->words.w1 = Matrix_NewMtx(globalCtx->state.gfxCtx); + temp_v0_2 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0_2 + 8; + temp_v0_2->words.w1 = (u32) &D_06000680; + temp_v0_2->words.w0 = 0xDE000000; + Matrix_InsertRotation(sp36, 0, sp34, 1); + temp_v0_3 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0_3 + 8; + temp_v0_3->words.w0 = 0xDA380003; + sp20 = temp_v0_3; + sp20->words.w1 = Matrix_NewMtx(globalCtx->state.gfxCtx); + temp_v0_4 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0_4 + 8; + temp_v0_4->words.w1 = (u32) &D_060007C8; + temp_v0_4->words.w0 = 0xDE000000; +} +``` +We can see there are four blocks here, although only two different macros: +```C + temp_v0 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0 + 8; + temp_v0->words.w0 = 0xDA380003; + sp28 = temp_v0; + sp28->words.w1 = Matrix_NewMtx(globalCtx->state.gfxCtx); +``` +gfxdis gives +``` +$ gfxdis.f3dex2 -x -g POLY_OPA_DISP++ -d DA38000312345678 +gSPMatrix(POLY_OPA_DISP++, 0x12345678, G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); +``` +so it becomes +```C +gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); +``` + +```C + temp_v0_2 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0_2 + 8; + temp_v0_2->words.w1 = (u32) &D_06000680; + temp_v0_2->words.w0 = 0xDE000000; +``` +``` +$ gfxdis.f3dex2 -x -g POLY_OPA_DISP++ -d DE00000012345678 +gSPDisplayList(POLY_OPA_DISP++, 0x12345678); +``` +so this one is +```C +gSPDisplayList(POLY_OPA_DISP++, D_06000680); +``` + +```C + temp_v0_3 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0_3 + 8; + temp_v0_3->words.w0 = 0xDA380003; + sp20 = temp_v0_3; + sp20->words.w1 = Matrix_NewMtx(globalCtx->state.gfxCtx); +``` +This is the same as the first one. Indeed, it's identical. +```C + temp_v0_4 = temp_s0->polyOpa.p; + temp_s0->polyOpa.p = temp_v0_4 + 8; + temp_v0_4->words.w1 = (u32) &D_060007C8; + temp_v0_4->words.w0 = 0xDE000000; +``` +This is the same as the second one, but with a different second word. + +Tidying up and inserting `OPEN_DISPS` and `CLOSE_DISPS`, we end up with +```C +void ObjTree_Draw(Actor* thisx, GlobalContext* globalCtx) { + s16 sp36 = (f32) thisx->shape.rot.x; + s16 sp34 = (f32) thisx->shape.rot.z; + + OPEN_DISPS(globalCtx->state.gfxCtx); + + func_8012C28C(globalCtx->state.gfxCtx); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, D_06000680); + + Matrix_InsertRotation(sp36, 0, sp34, MTXMODE_APPLY); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, D_060007C8); + + CLOSE_DISPS(globalCtx->state.gfxCtx); +} +``` + +## RGB macros and bitpacking + +TODO: find some examples for this one. + +For even more examples, you can consult [the OoT tutorial](https://github.com/zeldaret/oot/blob/master/docs/tutorial/draw_functions.md) + +Next: [Data](data.md) diff --git a/docs/tutorial/images/EnRecepgirl_Init_diff_matching.png b/docs/tutorial/images/EnRecepgirl_Init_diff_matching.png new file mode 100644 index 0000000000000000000000000000000000000000..9fc473019221e4a0b4a4cde94efefe8982ed6bab GIT binary patch literal 115482 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

-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%0A5uzP5TQs0|@; z`P@9vQB;<8<(*$=U7lY&`SB_E-khZAepz&6wRQO>_0G9JC2^fa=^W$l z$Jc~wAOCV(BKeF-br++LeBZ~N&tujn|0>plj5~tvxLc%f=I3hAy{5;|k5{4A0E_X% zof`kzy^?zjpM5IeN$82}f-fWZwEgf;$6M1K>iX_pvCn?FaJEgg>hiae|6X0^yC{+T ztrIjHnT&iWRa&lq;XDa9t0T>Rm3|)QHmg1=eiJo^`NJPMKY`C*Z4dA1;Z!`=+}^1q z{KWd�NDq<2nDzrJRvSzSf6f)-3Z5n+ZW|B2T9aExus+Ug*!?_&@IL@&7;X|M>9N z#w}Lu-YKUnH8LF9{0jN5eEjvx>O|C(jixqhu1F+*1J9N~T;}jk9&)b8{Twb(uYTW6 zg(4=GWQ~{p_J2+0tkYChx71i?H+fmj&LF?*euhH2e@?Fd_x$kw|5yK){Se>(X+8h` z|Kk7dwSU>!W63V*Zur#WyOUhG%DJgM+x-&zW52&)`QcNGG_vN?q5?zOeCx39kdT0Z(-+NH;Sxv9pso@$dn7ZqL{nNV~wk>k|F`N0e3Tsw6C@6mb# ziNE%Lp4Qj>$lm|K8nHcP{=ZN1{MQS`{(qSM@8d=FuA2{BOaAZexxdtc9Xy!ZkaOZ; z$nyyo-`j%5O`p|(a{*)^_Y*(nK<>x0Y=&wH0$-eSG&PR}tM^FM-SwNG-I~nHa!fY) z{}=K9hablOJ2ju@eW8#=_Zyic$vN$QBE?nQ$>$WG?-qHkuq;nsaPQpaTe_A?$vuX( z1w0QV5_pa?9IN3wQ4gE#7u#zy?Nz?OV#f)W+@BxdZ$Ccg@Wwyy^#80qc;NG?bU%(l zk(k4bPySf2`AJV@Z=dveOTzPj=f-oG895Jfewuc<$MDz}@Zs`?GRzX6Ef@GVoqc%u z^5uuWepPww-nldL(&^-tc>+&azU)k~(G1?T_ld~AOY?tkJ!tr0)@7xi*CthHpE8_s zEd0>9g?{?a9V-7mum!CreA%7c@acz_1=|YH^2U7&{1KB)zmFMCf9YD-yh48d=W3SN z*`Jw9Ev`EFGzP!;`nV)vQg-smpL%CAw%&VIxT@G;*_CPjyuF5LlAxIv3D8pZ`OV-- z_sEpyj)(3mf5tMtH~e!^;)VNb4gH^Az8_X~E_lU%CEDU!`wLTv%{`Oy76(dgw=(dP zv_Bh~`KH=szrCVELY~6Ej5(#xW?h>bZa4i}{IUHe|UcxWVi*{YUrfdkG9*CxmyLQ#|Ldc71cW!I#3i zM<%5k)DdPKS_2koZi}S}MHk*LV^8uOn6uJ(7gQH2BW`V@d`=3CC3;LPGks@=P zZ7NMblj^AtP*#VYU8Hd4PST|H@GFy%&Uylk4ND~VM3Q!{F=((EWD(N2e9MHZDop-g zI%d4J=-0{*GFq?J*)BdK0a-@RaCtVo&{8T`%06q>{GDHZ9u&xZ*?4?DW1FFyN+o`ok9Fnj9Q)m#i{1i)W;*S;WzxMtA_nW_R*@29rF7>CD+vbHy*uO1UHT`nb z%*)T;@B97k!>?afXN2Du?=n1gX5rQ2mTW&}lyO?HNgOw9uoR!vZdf!k&Lm$zFwRP; zacl7onPqdDd8~>{x_n-+_&Ij;JiQZa^sDLPl6?{9E&aYQEO+?3T;kQv+G+nL+Ao(( zJ|h!VGbg#>Hnc@oaCX8%E+Zu)qZZKAM(lyiXK4~;iLF`Tbw6obwPT$P#K zZ1_t1x5dN2mr>8s`%h?2QSkj4m9mKS8Uypn^JmsSi<~;LnO3+14Q+ z_PcAw=`W9Jn>!vT{m|&`sTQ%}Q9iWdd~%z^a?NOqn-dsQ-s}+%jEsJk-fzI(6aM;S z^~7Guo|7)zQ>I>?$e8wSvGE1XZJ#o8z1nQ2ceYLYm%X+$XgaS=U*qd5{&p`J<|psF zF<(g6Xqx6%%f$;+*I>4IDKx%rnk2N_Id`Et*lfSpDjK zg|y}gq7OuzH>j03v7B*y8L~XJ?wil+2>*$kQ+v-fZq>A8zo07*y27Z(($D63a_`P% zTSIF%zSsS#eSb!A#>9;tYtPS|6eE>$YZ^V2 zc%Z%2F5Rmr^IPi^wi_sW&=%!=S+vV>O4BF1d2bfjEVwKd_k2#*8bOh%g&)4!dubkC z@@3`Eo7UbI>>84hlJDk(`z4=gxWs?Wc)jeWRkvL-_#f$-oI3t|T69NL9lL>Q@}g_c zg@X528yuS~9w(!3bo6o%s)O&XF?UY}dlKt0TaKH6uwLjsw?{7xW zq#oa|mW!=68JixPvD4=#B*M!f5zd@_20FQa&%8r}sjG34hvu;!N6&*trqwOzQ+mb1 zS)wIcFHv*m&l}FUa>p-kv#>woY18<4>iMN#r!(rD?Dbo6(s@^%h1}z;W>mdA3_;I{lTmL4a)Gqau9d`~bOvpIg|{JjGVM&`5HYj(|I6?@dVdP3mo z>&d%#RNo$rHYi}Qcvf-fgw>PDckc9itdxB<`EbLIe?RrtDO$4!90-{7Q%v&oU!AX! z9{WG7TxEDn=CC1Xfz*#bZ+MS0#J?`!NtmW|+Nm=Jbc*N28A~r@#_!u#S`bq-$)dA( z&a0PGgrf2sK?m?%Ye{Z+T*y;Ui5Nh0J=pN>XSuWmYtIi$zv-4UpO}1>DFv17&yN`% z_-Mhl!v<1N!rG_TxIl$Gt=gx@Ob+aC|9C$85A*Gv|Mtz=rT_6~6sT&LRmhWI*NiCk zrz~Zk^-k9IMfi{TTYWfft2tyH-OeTMndtiJ+0TIIRc(_Dk4*u!R1RDLX@s6Uw5YQA zgtLR?O^1S)0_&sAm-TQioih2xuL?WiXMUR+8y`p7TKaR_zB;&}=#qHq*BkAp9&xN- zzIi_LIm67F+FIFPXMWGg>oMF5>NP$HsrmulbZtiY!;u;jIu&D->hTKh6@tv;u@|Y9g~<9^||I~A5EOlHsSe}txAihtUt|p z?7LOzom&$9j*nUVK5vR)xNiCJQu-xT=bifum%X}pGV09XmvWU}MH&TqU+m|*e44q- z#O~FJzK$3^Fp*|_!1v`_A_Y|B{;UUuJ*+@SMa@HoS>ISSh0 z;o*mW-@bkO@aNB;&5PJT2O5}naG0NJG@MY_f2cD-d4qxd^46;R9P*1P|fi8bcEyb%9|0#c1|u-^*4E>yXA_q^ZJ@ecQ098C{LO2rKXy* z$lG>F;PfZ6&u_JxIzh(3e3p90{=gHzmKyE!pBQA2)?@fw;kL$chImjEEKm_YWY}P- zeu8rY=Fu|d(nn@AG`dGVGL>Pv{$hfR>$-rPw;^lOSRQFAem=4%p)f9+E7hgK*ZQv0pH~&+ey;iONxxRR6!qZA+zbCbEwc2#rYhsQZ`$b_ zmJ-R+4j4Mzy=Kk!L+m)i{YMf9<_MqM09~eK_}a~X)qck_$NayyEuOICWM#_I+ghf| z4VO+cB>EI|7$sDm`^K?6K}!2Y8PD3?Jq0GO&IF!Z(Qmk2?rZWJ7CwU?R$qHI-3ki( z=~bjy!o~Sz>YktS=c2x72Wutw7(QQ+lE1092)qO8fV&LyjAEsmOlIx={{HQ+U%ys- z`|Md-NSohMaG4*+W~43bHQir!`>7d%3clMl6A~oMKbw}F|1FnrxAZh?@!|ywQZhc@ zIXUr()$tj@{d3%=os_cFpCA41efpo^p9O4lR=skWukiylq%3{j&9`qtPKrw!3s&O0Udvj=Ma`xaY{G1=}9Q?_b^DlkQdS@bcHh zeTK*82!lew3)KBeuoHih06DqjQEl^zwvwpH?-xER{_`uwE7YoX;-u>$S-lH7G&Vd_ zv|^WBnK5CT*}mk&Gf~AdOL~gu^v~(9?Aadv>^0-JVSP^Kpyc!On!e zUVk6XYGRr=ms!I=Yi)U+_x49eY_{-ASqJ3#lxOuFmPoDwkM4l?4xf20n7SIWxhdmJ z&c_&kP44+xZFwa=~K;nTBbe&im@1p;SFVnvWT;5rKuxHY-qq~;W zzu5I;BX?7$D(_agkTaiW6iIz~(VyF7IKBDn-*g$~GtVa-*Q@$*$I^mrhs>h9t0z*c z9`YtJEKQbsrX{w#Z_31lcP2Nc*ljZ4I=1`i#?NOKUcY|*`^OLeX8hA$apF2_@sZ|y z!)H$(e_cMmPHNrrJ!=IH6g16Pe>kK*YJ;!Av!V_A{`Vv|^jomaNIUi1ip}8oq|$Ye zD_yKNn=)In7JXb^|7-c-8Adp?++@KyN19EV-SB#bzhv^#*V6>-9xGHl z$UAqtdF8(?39}Q|;E$aYG;U{O)|S)`>C8#P8<_SUy~^ z@zzT>yIjYO7KNv$dVPF0?@+B+<)+PzmrqJ0Xm}S3zdmJgd~F?UEx^<5XJnKO&Av^u zJaY5Gv=o8IC$rZC?-yLyw=nzHGQ)$!@cMGq?5P#Un>V?h$B<}clGq{P34niwqP^3e`rrU(#ACTYi6K> zzt{v1x;qHCNS2F4ND8X0^K|@DYB|4n=@jMnGOd4oBsObk3b}P>ACQ@-uDwiS>V2c& zHeDl-E1zth!}LkbJ<#aHm4&|)=BM;I{=H%-x<^C)>+37}r?$TPJbjP5W!K-%mpgeU z+<9pxQlhm@U47NJDfZ{%v+JWuBF!3iCC!b#n3?Qj4Jt>jfSL#j*LI4|y~lmV5?3{1 zpkVOpj3;yDqfY+iygykyu81VQO-T-MI=9*6+q6&7PMZXI3v+9VkIj27@c8KS3je)z z9kQ>d9M(8nt8KLFmyYwC<85b-GjJAo-PCyg%jip}dg-1tX6@wj+NGD(Dv!N-TJ^47 zLYrN8myWya>8D!_j=f<%&JdruvG`{FS>64rpmwf6rS6%ZiRYAaxOP4bxv$l?_Vdb+ z`sNv|J>RE)_*&%2Xb{sA`&q?R-||4vPhI8YIVXQ6kZR( zPx)edd!pFxjqF}!d8g`qr`|W}W3)3`s%_t z?wgnv?D+L+?rVdx-41&DOT9J)E(XP5PAOl5@q;N7C)>PI+q{>gO zpYrpHc50ejTj5``EPmHkm*rEo-uIZWf16(L-;=r1HP%*V>h>7kUcTggA7kCWJCF7s zJC#3oQqGkX@U$kMc<%GtrQg4QZ=XJWx?*n5T>qsz9H$t$AAGW-3|yxgr_8 z+*YT>gw%O`+~zW^*DxzNf2Q+YFQd|GPdD{^Q{^b9?VFw$-CUvcSvNU+r{(e)JM-o+ z6(2V}wxn`>@7!-$wX0=UGH*P<(5X5<=Jn8r?`717! zZ_oZ_6Kr%0{3>d3NVwHI{&n%($*wIdpY~o^FnM9nty?F#6quI=s~lS*A5pBUy&zBi zf{br%@BT6`w?%HbZ`KxT>{OPm44$_`F7R8!zKQBqQ^iWG{G_+I?pN7u z*Y7+g?(d#lpYlYL-{@Xp%q7ROlAjms?0CC^@053X@dTr*^TlHI)>gmUY?vl*!S=&z zTk+a|-dFxS2-E!8B(-(p_Hz&?N6+}Y(LDy@s$L zKe2M5h2>eD{yEN?3@aB--YR9e-|(0Ob06ci)?|j_mnlF0{=d1q{(8hFlk@+-vcFmT z>fOw^us4^yC5?_pgd96?V3DLoL`3D~zJ!PsYzNOdG?wXH{FLT!EGAuYooT=^C*|N1 z+R1yHzV7=UT=!adyWL86|9Kr26Dy63jXve>S(oQFN7(*+<+=WzGdd?Lqbz?jE@J9W z+i5d-(SA!_KIiXFn}Z+SG&$SAYpXtAbFKVNjgv1K8J>6B9jLj$&T#K^^TA1TmQUR* zukcH^`fq5!ETN7IVKp^Qy<6l?Kd571_|}S{kcokT;lP|H2NOKcUFKqTVPIfjm@&~t z0%Un&0|$s}Jc+$o)zV*^M}U!mfg!=|Q^E$7=b5dHN&$}d>z3t*UT%N!HQKlG@47E< zb8nU1f8Wo@(C~Nxe?#&KsB7dDRvkLtedjy#f~E32M}L0EH~bm>?wjDAP_eDKwM)0x zttpr16<~P4Tgz|-r0pa`n;$flEC0{P`LkC>s{O5I#H;cpA!;SE+5zaHY>HM z(&s~>c;4(3{Lr)HmFK;AU$5#i+-ToeVIekO`4_`!NBIUjhCcVFPaZv5^!xwUuU}ui zeEBlga`K$zQ}Y^Dcs)9`zG>Zo<%d>Y_gnFmZ{9kGRVEu3%}S5)%lxK1FMiqQl7x^2 zmPbF|p2jqDU3bN`)%p>Atd9*%Q+-Y+Tiu_1C*kCUk5{JrtnpEeT5ht-Y@gpG>6R1E z4X#)iB=bH9$a<9MTeB@VN4Y)8wwB=+gXR8<><8>t&go!lGdDNCYs4$@{@uH4@3o%U ztSw=73EdZSFr?wHRhY;51)2t{K75mnS?P4{W`MwjO09w`%i@jB^Z4@~OI|j`kUeGj z>)ZD)eC(N8DZTr=-M%^b9sTty7#9{Y6lf%WEbyw?7IbIs=7kad@(*}x8@|6_PM9C! zr^L(k^~B2ip=U}LFU@Os(KRi6mUiTt9kXgRL+=Eeim-TzmTLT+q|xwl-fyWNg*`zB zWVwzdFPmm4@9w)(SN43wy%~8g?5f3rO4fK;i+s7tuyV2Cw)a6ZnHy>)y4!;vf7X=h z`nt5jW=fss3ud1C>Ax6ms883u_~66GkAmHs>%6vo?pJAq|Qyg!OkI0?jrkveJgaH9{0}A z&ksL;{`_65la*y(Z{Pn{_Vs!Fzvub=Gge*T+v~cHK~Q@ovwQqe&CnB;(p+NCZ&^%f zTD?DYO-a4?%jGL{lXtz#lW6;9USeaK8YlAMbGlGlM)j@qKL_?qJDPm1(kMUq8JKD zj0y9>Y0vBz!)XU_2Jn8G@IqZr<@wF2c8`C2umAu3uYIxN&P6LO>{_teY1%!f>A`=x zvO`_wPCh^P*u%{g=R@se<~;sst&sL}R%Lb6^y$;TO+P(Dib2+SPGSi2(l3SE)_tqU zI<==_*~XB0cNu2NAMMQiROnJ!z0SJwm#h1z-I9jvf!{^>~hKAY&{08}77z@rpR9_8ab_oso8`k}A{eCNh{dS=ye7P%f zUa+Txs(n%3@ymApoHXg3g%|j*)&2UCxmW-1(vJ)ce;4yN*nMGa_y#rN3FD$Vg%I{f zUjC06F7qF^>R4^_!oA>YRI1wYxmxCY_qKgoS(`aG&fdl*=gHlx>;HX7{Q6MeY&!FS zoeLob{SCOeZ~y-Iz5Di+{ntNPS+>>CA>=}RWo6|1fT;#ydF&1O`+hE~w!LDpV$rv? zv!%`Xgvg(Z=OOE2EHNnZNpR^Rr8ucxMO+hce7_AKsljuO4X zo$LCi{g!%Jwc<_1-f6$Bp5^id-aK{PAbx&O^1Dy7wr^i;|9iWBc>TBfeKCKZ&EFSO z`*pj#*)`?^L7+r1;UYLC1l`=XW5)-hQ zkEgHJ|Nm)vYW+i1oV0E79+1sxlO?&z~kK`WT;d(wu6Z&^^VWU*k?Ll+p1mR16;!^-|6<6me8K$SLdY>?XrVqQ=y=v%X@xBI zRW~dHr)a;7cwC@Wv{-$f?3dRy&1Zi8TIaeiZP|k53#LiWu`FsRV|X{)wXe7Nl3%V& z*7}9gp>MrU-<|Nh#(Ceb+2=Pm{<^*Q-);U_=Y^?R3`M`zC0@vRte<&h!4ngPf>koX zpFhoMvts}S(HF)73&VRE1wVfL*s*KRo;TNGV`F_+C2uuj>u_$=I`?RWP}luy*YE#X z^G{RLl#j2d?(OTx#pd>2fzmgQoPXwD`{mILlijaA3I5Mt`uU3K+@e0y>lchS?NnYo z^NtO(&5QE+(j0&9MuHIXd{`bBG$6iNk)p_=6 z&A7j9`oi?bztgH+riQ+5`*glFeP@ZBRh;>hf6L51ehrNJ8=v{reAz{-rvhvNzZK zmo&~lebD=Vf1~a@?Ngf*i=Py~=RRb`K6m@23^T*?2FFUgCQt89WB+V=<$gtNN&c0L ziuiXI=3L6rVL0QvvUf56hh-(TFPQf%!v>QtjAj?v8D2dFHJLYSvvsgLJl@cm&BS2A zzNLKj4mF3pR4921z5g}d-Xp`npd($&z|ama^8fALF8^!m#{6rS`gdr}t(#%GKHBK7 zfiCZ(bknCS3?~tUhd)%buyi`OK)RN&7U8I%CWp}Pv5@S|FZ7;-E!&7V?QclD!1MB^VCyc zTD9@*PUZtKQYn{rbEAK^0jpkAUg!MO;s1S2-Q^ddVPQ{-~t# zahAcBcT?m%C01Qn_hH)l!$D6!_x)No^@rh{mBwYWo(4;P$v%5V^TVo*AG6o?XNr87 zsy6NL9gY`U`_#))Y?5_ut^c<0?em&l*S#LIDa_k_>2>Km-808I7>eEH7wnHcotwCi z&wJ{5>sPzOz|V>}5W+(}d41|Gs}b^GU`VFH6sd<`o@SBly12T5Z=g!wb6}7Fw;n{;w#Ze~!8t zpH*0{v(4@q@3ZGfhFF$cy}$ibak{j*#!m}|gg#Kd)qs=_ON&&bB<|h0Q*zoQVbAW} z(fe1=`26P8U53D^`r!tlD`Fmo>An1Q zX4U`X3*mRkGT@!qAm(KXBYKTOk~F8qt(#`1`5CKfd{H8HVqab>U9ty|Ysnj9|8>|*~o z_R{w`TbmqeSe{OK>UH1!<+-(w{4-_Ngv1@2@~)A&-0!tpa)vzDn|XJ;PlwL?`(w(t z=jZyinQtwe@Z-nCblLVkZiZ(qb`F-?re9!R5v--3?Df6Dj^W(QQ$clmzI^*u_Vv%7 zJ8Nf0>1XHIB&|9%NnU;9rQ5F_NgkOKSG082?u~3l%T6CmdwIu#$9A6J*HX1(J+%&Z zYi#DFo=NrnnKWz9{GbQlbrwvYYPb19IKR*Jv-HrppDNWQ_WKYX00n%TTGO-)peo8NP6=CId(LnEd0vKRU3Lt$4T_+seqa%@tPN2(A8}ge zwcymluIFt_Odh}RisND^UfQrw;c;<)Z?krt=e=`5D|L>%UcBi+={ueo>%#9(7vE8M z;`HOH>4tCh^W0N?Q%%kptcua9wV7Ab@AX~#o%`+LW<|b#QPZ0D{X2H-pe)sW{7%cY0)Isxoqw|NH_&7cWhH1UXh4hiY6@?wfwG0doY%U-d&lX&w&wf;} zF)�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

3OZQD`S@} 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

$GxU`gLyU9fRC|ID1SbI)u3U+9A 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 z zmBk#KVZWlR()QG#bYw&(SXhYjt!7=@`xSJqnR6*?(M=h)W9k>Ijr#6AH0=5H=fu;W zWn|@{c&dBZEG?6(Aq#ii>4gqrefj$M)B%o5o7R-gEKW0>{o(ok?}mSFN55ZX zCesSFqR~)hj{fG89i_ZmFE@g^0#VaIneyJlz%PA$$wm@x^AZ);8btMqZ57Qkxf-^3 znQ9lkPe&Ow3T%EyU>%92HlnTD;Y0sh1SI(G=`O$9 zc6DoLL~L~LvRPU)df7aR*n|%%xYaQ7^!YBTFJbx^;`KJDQ*6rFBq!gU>|dwGnS@jZ zhQ4czTkWbd@yLN6DphUn7i}%NJZgUOe255*ZS=4I!TIN~f4ttQYGvrT=4XWuA8b|O zU|MD4cO^7z!L`?pYp*kJKg{PSAke33U}D)hk<v6VB<_4rK~+qSFF`=UwgebD&JB^O_@Pqo=>8Z1ZcdvGl4_6QK05vfv5iNC6_>5 ze$arlW#G%AMTcV9)}Q8FtiifpBH48bI9&#{Elwi83!SqmK zQ76m$RF87s)fW$BZa?&P!{OL8{XZ`^EWQ)Tw)-d#gU4wjwPjAP3+p*1FBDK?dN@f+ zVN=AKG~s`bzRy4G&o6W6=sY|4@aryV9`^25H-QIb7R#)++N754kTKgK`|agAUDuOJ z0=>SiZGkL{4P72_x+HP7Bp06OTJ&l4f}}(4t-k3l6;9u=q?~ ztD67=!^aS=#sZN>50QTbC99fE_pEs*yh9?c;!|RVsZ`DTtIY7!Q(|sanicNAy0b=Z zUxCEF0*Mzd=WjfpWOV3l!GYMc+3!AOty|r8IarX{CIM! zfkD&@uc=RZy4Ei#nY*t>RKETVqs5vqwv~|LF65E~-?Ro7tzH+c-h&@IrN2qK3i7Sq zDIjoDCs=W!=+&osTga&0n z@H^)py8m>8%+N_2zR4MOyn9%8c+USy_r0~HHzTdN1 z7{fMmmUXj+Z59-p%vsjWDYjV9Y_+86)4YhYYB$b2lf0YeuyD5F)M*o@T=H0&xms(nKF`kENF<7)hoWaa}563vzRFJLz;PMZwcZ#j^Ph*ADkZe#=`|Tt2AKWzbdi zqO_``O1EbbN8tK)$Mwx8Gg@vc97-`ckYaEkMI_NoV!2$m`5a^2(;cco9!r8c)Fw&H z>QJ2LBf2jr^N0}WSc4;zHAUkLpMI*Gv-?u>+SjuRKU}fA$2|p7LV1ZDKA5UE{k-xl z52aZi_r660u5Z4Y(sr_9ZMW|nu1!4#k}flrJLyipYbKl5S#_6p;iIopa>OKE9it{G zriwf%vP=^ful9K!Kr+ig2+AjwQkm;Y_AdpxZ|(SfBsj+lG$>x!c0GZ z*408uCsov(5|=F7rh55(>-v*hdR(lI=Is|M*!5cL-Q7KMt5<1XFgIFao@QU-5Zi5%47habdbSd#Hl3U~#{$k#4JrCm-UoT{sT*%~hyuJ11 zPKE@N4gm!p*1}mYvpW{aNjVxn-gVt+=j->oEB40N*}uM&k*c*|kJ{pt_1rq#=RG}J zPwu(s!n89+Zsr;$*ON{spG`QKGGS8ciJ4A6)YC|o84!8*$zv5W!DYuYdejb+6taUNoNz1k0$16?Ecu>Aa=u$b5qa8Of-lH((~O=CvwS2zvtQ9` z4cp*h)A*3n-ppiu5WIY~K2$KlD`@I*UWPX^DpzCQyad(DCA((x?}x2INaJB&sS;Wl z)1fvAT%tQ^-)Ws!*HI-q3$$Ra6_R=~?tyGuRkGXQ8ULzSHo>G$6}IE*8yD^jd>aH& z(ebSJp~BQ9Uj4$48QYpeWb|U*9^MuD^+NW}Ei)i0ytofLYFSpT6`NqCX9bF})oH!V^S z=v*1gb#cqPgMwSutP0-E1FcXh6D>ScmtT5&$VH)}#%_I?rpx7ZJbZ^ULB%J0zUtx} zLzyL$f?t*;+6V;g=2;}!c1(TZwA3wEuCId4%t4eWaWH}BZYuUWYU%B)k+VIVyyv|F zqz61zq^&t5XpWgQ&!TyUJyvLx^7Aa-xQ(l7Z5YD6Ee{o@PVwp&{#hd@?5L-`>``%Q z28&fM8}HSr@R&4F=V4#DBxF}ChfC4~g^|w-?la^;W4?AjUhRUg{iv|Zu&-<|O*y~0&fh&5@2z;?kf-mT#L6_1S zG45j)JuO`~F8ok&nad}dw;aBx=dRdcM=i-vIdK-p13TtFR1jT%GJs{$9LKfWW8lun z>wc&(wMVO;`{b6E3?hHQz*eXwPB&Be3rIt z)^zBcNl7#h`^uD%syQ)1KB|cohuHfMGfqCZ0KURy`;mePUQKQS0q=AkFGlRW^E0K3Dp%G-XY9GD&|}!Nd@dwslnuCnSAcd?UdZ zba8dbZh=nqiIY;cdMnP_Tw&CjqsPAc=o)x%ZN9WJmf_;pTjAyoS6&;w<4-h_a5J0k zy7YLfq5W>Qm0O;Cu3U0SNXM-i9?fUF9x8}VD_j zwTE`tccerG?eto-({qXH3}3gcrxhSM3+yYce;zD9Yvh^~9F#dU%B?1xewt`3y>Zz- zHiiivOAQ}!KbY$LUP;D#MU3IaH$p2#bll(}x<`U9DDY#uvH(lsF|%Gbh6Qu$a?GR> zMO@jML%sxMN~$%lD3gS=4_r1sauCwe`WGPbv*zD5cFqIY?ftsGjxObji#0C1{t8b? zCZIqJNpW>lGW~7Kx_PI}xstNvBhTXxt?GE!vnEC1)y)N<>q}f*T#j}>R1lSox3GD= zFGjEZy8oQWLs=c~=B!CkdQ~yOv@3c0&UWyPAcBGuyLQ~` z?dr1^X?*spq(CeB=hKIe12#pLc0qzuNhzug6u%$am5t@nCm#MVgI~6mSu50~l17QLUw8``YBv$l`^FVQAB_ueraJn2g8Dt;)=gNB&V)c++|#~m#@ez5MF*p zew^2AqTZx%K;sqn{cID17u@%=O{F@1eYbOCVv*o|lzTp1T^;zc z?Cz(SNpl?a=FhI16DXo_^H8$oWJkU5A9lLw6P`=?M>$pP<=b?qU;-rjc8MQ8D3mVZ zD&b<`B9F{&5rzg!`SEgaW}7McU#=(DYEct#)9jw6<(EG$TBsMa>+1_ zl33IG{zEto& znWmU(bmHkJ4^N>@J7u2qG`U#y=9rl)|6pQ>44iOQjIHTJ@OkEjEjr5c**~37u8rL> zZCd)h;J3f>_TEg{bW_sV{oeXhkDD&1Ip2SAL-+h*K@)-HR#NK?K`j@q#$|yb%Mbfr z4sl=1z{qy^>)ig<_q?E%OT)>8hO|}6mr_g|mR~)f(RCri1k{vV#uOg7zB$bJ_o*7s zb0SR6k!>om-}mY$+ivxrl%k@_xpGTON|c+Im$K$bkEN<*mU_%#lLhyE_q`99Zcx%v z<6#${;J3W>YD&x5oW`p;4Oes8j%Ku+%xJh-pvzz)!sOV@sJ8fF+d3Q7*{)i;zOC+{ zChZgz;>HU7K{Ko%dsLlK6Z+m&4QP={cRrjxBM^ zXTN%&)3QsgIpW2$Ib21&znsdKUsO1hxb=|r*7F)&2GTqiUT!g;V?J}*gh?t(E*VXF zX%h4)q+y1i^2})hzAE5e!7>5=WfLBLy1FRYaOMP`Wmoi?A?Yk5jEDXCfgFn4UVfHq@!u({?$p`E*`$?yHTb6K4zl()1G3^mNM6s^L8TSYp-;7oCZ7?oFGN;_|5TW$G@M z?UMsVTpn>Lef+7~qt?tZ`zX)sn>@3RvP`!4dLzkg=jBGV?#im$re0>&Un_l;W_c)z z^!nD;b$$Geq||tg-ISsN5mae#N1WpxtL6JP??vIE-yMYJGOiB!4JCq zmtU6@M4a6at+OHetj6Y>4>rt5+&*LDwuO9Uug{zd_dKT{h8g7#ydj1EmMPPGEnaMh3Vc^`AU2GH;clN3$BQk|3onbkd#-kJ z=E?@;w$;wc9IlT$)Py*WKk87MbXhp3bK2~lMF-^j4$1eOtLkyQayW78fyAwc5=|GM zNozfw=$u^2x^4TqnSA`4cgh^vXu&j5!)c-fQ!wKqeF-;lw zpKNVbYvx$Ln&;^`BhYd{tJ4853lApg+^N@9J;~vk%;A>29858=$rfL9Qo&Du_x^9okH2*AcGf+W6UNchkfYb_pwf0SL1JHm#N>sCrt6DD z7VfW3HPa57)UxHw{}M<|yXaBqmWK<%7P~IJ-3eNRclz#%0&%8;*>}A^hGbba?6_jg z5O2}b=^&x$8ML!#(Nj&;lO8{rB)+od-AETXD%n`ux|`?rt*C_gyRI*s6Zn9;)liTp z`HK937fa-m8x=%UcVE#@J~`#)8jjfIBlhnSWDDe1oqcqNeM{rU!Y{pk2?;riQl>u*+cC%D`rXwC8@H%D zOi<+cvS{NjuGOow10H{MSbgz;IN##>6sF}?>yxfLKb~T6MstOWwu3>C1W(DsEcu2* zA%*@k_XYX$nE-o+qK}E z7eB*+9HXSGA?=05v1h9j7wR{hh75wbEU-Ad{gV;9NfSf7!6JD3Z~K-74--mva<5(e z>f)^%4P4uWPliZMXKyR~6QusjO_ELM;vLoC%#tsB3l^6%I4J7mtXXy7)vl~JIoSsf zTbn6MbUqBa&tO%}ZfNsTdsehS$c{O|lV>l6H&jc!nQoQeySjhb>A8G4vD?{R&kkF7 zCeKx6o0d1_o9KQxCapdBEc6uy(slt}keWwc&K4v(7{p_xB8bvHQ9V|Mv<{ zoqlO@b@`%whr09s{Rs_y4N2)ryL!)AzmmC+9=XYnO^otdM!W?#sf({s)H&;u1{3-s&%F7ItkA$b|J^ry&@9O=@K^xFlw!JUTU}3x+ z6}=(#ZdS!yzZYMvR3>Tmur}>5vS?b@sMxajW2;{6#oB*6mj}KqJNxs8dEfklpedMd zJ8s_l-1;L@XIYJ%y{+s|b9X;KU&p)y$4q^1Y+Wdt{Exw}B4*XLIYL1h;zrA1VJGb*6A}+SZhsufDeSdTL#T)5E z{q=v3`S$q!a~9i5H+R2#A5Fb_S6qMi`Fx$kz5*8enzvso?f-v1 zZ_B&+VugF-mCgNc4!1oEwJ7)^a<25dlBVZ|*}6Aw-Rk+hJ;%Xo(#Pxff1ccPe)Trc z>bQGWrF_$?*p_X#t^IEcT3>Vj|5L^i{yv}l`ga>^XYjN<7vYPm|2KQ@^YYJ|1H7H5 zih}}h;ZDIIwdQ1T{l_PE_NmUUS|iBv=ehkamAKm95`OXT;wEK72afM9+*!)U)zpx? zHv7YcZ@LB@RiL$p?s_q9Dsfe^5#EZkPbZy`Khn+4_mEq^hNs$WD`ZK;q+3gMIUNNQ zI2sgm-j-(Xk;{p>+%Z`;{KL1K-Is4SU(|@RFOyOWJo4+=vE93lO}G2ZbnGu<&F`i0 zcXM}c@nAcqW@up6`Pbbq@%pc=pfwd`>+_E;y!^cIi`?s5q{pzRv@imp_j_=#?|AA6ikkzA= zBKIr`#oo_(eV{hl?7_p>=#48=P2;LQ8yx#{&~;FDcU7{-a|DUq_k!RDcc9-o9y(%gpGyjPJtYyc!xr}d{*|mp{`|Vpc z$J$o>d?1)o>|G!Hf9aK55&ix(4;H>W{{OGL{o%*Ew=dkej_qfST=QeQJ!L;Enl8>R zUwXF(y!=h4M6lJ#_*-O;o6Uw=;cII_%b%K5PQH+ze;``@{M`#zQ_Q3`C?Y*|Bd`p(zhKHQ;arR|w&5wnR zvo!Rz4=>)mec{SwLQ-qlCN~P)v#I2(Hruu^Q>(|ibf3(dz{tp|-pZzvl#I5Fvsavnp`B54c8v5wP(LPpteL*m|m~;WOC-wdP z7n^Q_S3(-chJWndeouE-qH=Mf@$3zYYjywq2W?6|_j}*xKfho8K6Y`3zR-hOk3F8A zOMHUa*B%Z_ir#cQ{Ft==Ba3ynu3UL?Bjrt}@w}NTlW(rPdGl`9-gz@Mx{}oUj>$!v zYj!Sj>HMzR#iBn$NL&uK7NCKlFuwPl+x_SNE-L77EMS?SAgyA*UMqyz|Np%B`rnxo zLjQdDU0pXdRn=xg=G!Ifh5FmC^_~7wuh1gR*LI`$3CmW|I<3=Q8lS5wpC8FAdu#7> z{eZ!3^E+n`-OB3QGH?F3(zfPAzt}x2B4x$vK2HC5Q}+AAQtO{j@BRJ4^Y7KaKy1o^6^`z7j?y(_vYQcwsu*1LC60u z<>xm(Kf!s=Cg{eO#f$S39{u#tIk$1MI3q{PF;K9c7B_pe;r0#lI{hQrKV|H4ZZ^5S zTCHVKxp1ySM$V;TZ*h}POWn%~wtTg*uTPeL-*-Rz{l>MkH{M*crSz+xRQ=ZMe-9r! zFLulc(|+mGCU5iIW;dUV>eO>*UKML?+x9MwhevK-IFGJLMh4 zb7NJ4GnGDC{$(OI6@4ff$5@X3->}@|U%l~;>TFM)D@uvBS`kx=q z|Cpb@$M^M8J)Jb;>}h(BR<>{Z{5!t7Yqwp=`GeUz^NMqq%|DzI`|7RyeGYY3op}!q ztPH!i`^LGw%UQ(x5sk#|9c$Oee;&AuFqI>yLg?+ z^=lK(rK$f-Z-9nujalxd&1+UR+PeGS`w(mUd^7+5$N#*0VRO0?`s?G)*p|hHVOvZX z3l^@fK9z0v`O&-VS)aQ?)QnR(KRYO#h%oW%-7mBL_R$EFW0Q{k`Y2VU*4wKl#M9fh zQcHhk(Cy?qPK*Ufu&vfb`rfq~Ec4;%%# z*K^mM{Zc%mw|H)B@I7IN{{aoA-eQ5FVQ$wCJm`78T0{4tcE6p6g3Pm}wcG#IOFj8q z$+xGzP2c8^r;eEM%rkfHm?ah_%g){Vcl+O52}lR<$u~n)8I##Q7P8+W+Xc5z(*EB3 zTch*KlXWY!|KBj@d7ONn*FE{qo8H)I(H&z|YHo_+dx%l9uA?_G8;&^h$?^}D32i&($#_Q!lKot3lxz|bUbJiPW(m`~Vn#D{cJs?T z@3!8)`SU#9KW9I$7wb#ktP-S|6Q*7N?QptXnfqlIt=7Y7hx0banJUbAJ12a{n=+om zGm88@`!92fSTP&lbTY`?9=S16H<-z3`)SL?*LO+I%3AgFld|=X?&bdzZ#}AO9a1pWE;-0tl9`cHOk&I_aKUgjkGvYrg7I@ff6 zmzKR=``qs7)%JB8pgy)Sd~3_zKgaU?vZ<#vK3C4 zJnu7C_fenP)T2w1uRdK`ao6vcJCpF;tng_j`kAZdn_PQb^hp0>-51v#ojl6@w_h&U zxUA^b^Viyc875EraPHf#rN%QoAKrgo`?5GEW@pKx=Nltr=HIr>l4~mu9RH@3zlAzoLBqPH0Y&CeB~3zJ$cvH zJfEe1hmZaCwL3>IUgIv__VCiAWo(BoN;EG%XgL$Qw(v>X3^N&eQ;dt{}re>k<< zU2WHmGFh8bFCtppx926@Y+`$3rfs*q`+UtKxjlL6@8{VVzqVZOu_VZ5PpWP2)zBL{ zVz0EdD?TlJn^GJZcc(lf>CQXmV5t8xX|+EwlY(_ z<;<&Z`V`ml&JNd|{k2A3gvb5I$#v$1mTzk^pY!QFyV>4*^x1}+KRzwypKxwj<>wc7 zbQ$9=1=v5`HwV)9Qu;ji;HtBix1IfQN3ZVlb-9B%MxQ5#$1g9}Fu1#+^5yRRU$08O zU-bL(-D=Cyk3zksQ~!KRm!JRT&b{RKA8#E@uK6DwKfmNpOuG5`eP3>ESzo;Bt&siQ zt>u?C)_;86zj47fu7=Zpng6_auK#$;?VI}^=7pJ=Km5GIb4kz_Ue+7sk7{r2QrGt` zv3!$re?yz-S>GRb^pZZZ$ksCNse56eyzs-39XHSXe5-HMc>3Xkm(Sy$Zd^M%bIrO# zDP|Xq4UW8PKEC|Ti?O|CX2iN0&+4`{qBo@H<_7Uipn2 zo1**2oG!fBaM{}8(CPOwk2>Fe4>G^E^T)T3!EdYzL}vVb&affxXOi9axbMSz)h5HaiE~9iROCcE!7|+t>d)ct%-tsolOWE7=Qfbkb~?Q^$U9cz)#9`3Yqf7P?) z*Ghg?o;nZK6_O>p+C)R=8o^{L~S;t+B!EX)c^nVx_H;gGtWX# z|GctS`e*n4pPm2uM8NIwiP4^~-M3voD&#q@u1i?(Df2u$KU%Ti0>Xql6D?9rqKhOI+H~ZghlJ_}hH4&(a&l?cZ~SXL5&iw{G9Opl<7YAGutx9Ozc|d=g+q9&;7guu~o_Zmb;$zJinFK&+aW> zpLF<>s)SneWpQhZOI3-tsu!R9Q@r;3*X+y{si$8(z4G&Kg{|MClOnmXd-oLnP-!gq zp?rRCoczA$k4wJE*d3I1_q%h!>e;2Q_u>PWg-1V3Kis9dCh}I(&75aXcADL@teo{Q z;YHitXR}nhf4pJ-{&Bkhf8~!${%wZDsY{-weC_#z{f{=>jM$wcC>^G=@L2r0jEWxP zw{z$0yyANOfWpr|roP%rM#*i70nvfyPEBK7laaS*)tV^}6FL^J6}PDSrgZU0?|t9j z+5NUI^K8!V`|^voUKbpZf)g#v-adT5el_%0`{&~I{U^?U z-*fup=Uv~IL8`MmMRrxrlV-k>m0DPy(GvT+KOi*jR9CC-nw-c3ZKB>DOO0b*y?q{( zFF(DC?S(w&iq!!wX=e<0v`%|vtXscy=Q_|9vlu>WX63~)_SfBBFZHWxXL4Pcdv#Ik zlj4GHkBb81;vu2*r0T5a^9NU_RM_am-*E7*)#c7!U1%wLWU{8!Z?+v*E+1cdukM$- zo2XdViIz@-4IqP~#IA)uF0=4h5>)bquVCf&{>`$nEKbQs^`_phc_g@~ljZ-8*JqQa zL(@Z%?z6PWk3JG@j-ip9x?f9m)~ruU%w70feV)%nV+)`27Yz0`D}UkX73gxwbMsU( z;;*>t_exuP#p*Q+_FeL?EoIGXZ%)zjb&t27Ud8_6#mnXS6)ksce)Y4=zkPK7uUo-? zO0LhIllNYy%o1wh^`yLMqUT-g=BFzNq$mia{9kD-(dJlMsmc8+D`Ul)1lMBW@9TGS zPfir*RX@gjSg@*{>)^u(le*1bq7$W$ye$X_4|S})S|Jb-*?9e}%KY=f9Q_xKEe_p2 z?sxH`xx@Vnf4G?KbN+TMRhguDuCz>iHza2ZPRuU5eCQzm>F1xn^!Hq{H#&9jW3t)m z)>~agueAPL2@Tzlb&<(#=fgan!wM6<1UY&QEu>Nm1X41#2$=M>b?@I2;G$N1BWKF= zij`XWOINKad9?A&bJheMsm0|LEz0TVE?V0hdfKR%^ig{M<_|H3Jk6!2qb%y)Da~AC z79#{sk`trDFCIGha>*r0tKV$uZ_Qq9xVd8WmwJU1jpUn6Zga|{88%ilHS)K#Dlarp zerWJ;`y>h3# z_e}Y{XUgxIDbp)HPXD3txpKpdvkrY*Qe=7rRzv7U%R{fQsMT)fgDC&HB)}uOqu>;#p*A`*B_`~2IkoyUDw9uKbg zvP<)0m4PH1!$y}$4i-KNCdXcG^JY0D$n?-ad7+`wM(gME7U;Fl73H2?@oz2jQ9W0P zo1W~tyXoPBt1iNvi#l0inVo~@ZN9zc@m>Gc^+D^~h1SoOs+UxiGxytFo0MZUS1^oY8Yk_?5$y%9A-p56i4R?24&~;k)Cn z+3mfIrY_63aJXNPaO?S6G4F-ZSvD@3Uw3Fq{@=NA7uWpTrkXyC9qPd@Nrj6(T0G2{ zlcD6OB9^WrrYz+z(5u>^CVWKLbJEH$XDenG&E6ELYw?yZhVQq_gXe`-A9uy^haGP!=IGhHb5eL*x^u<)Fa7N%d~2qioNhk* zw4lFAr|P65lUt8R7Dc)3@yU=`DO#>dQl6+X_@&o_tf_L0AT*PTe&88%&WI?y%c6Ezc zXJ2hP{!**OhEH0reX#(;&D_Vw-%QyNd*#RJg4?ndvfni4c7`u8lALr>lu#6rdt;5*n=)y?*}S{&b{&6tApX(eyv+&QZx-Ch ziO@+~Bmc^1_PMDC4CbDka5l|zNzjwe6HY%@o8}WI$voj?+Q}5I?-4$|^NXL>rWNn> zEKWC)yd+<2e=Nnwci!r97pphh`fctfnfbpwXCisbg(2NY)M@Xb2w}eLc|P~Lt|lE! zGGk2G9AVgB|9;DDgPA@z)`YDQ`#i;O@5_`;k(Xw^sqmPsHq&d8PpZeVpq@5ml_1SY zFL_R;Z2B<6Z=#2o)1444XQjC+^E_VOo4TE0_SHkLrnT-Vdl9kG8(f$Q3eGgxb2elJBQ67un=X{j^jTUj%ChY8lTDVT@9rjE(~a&qnNsknCK|(?AeJ^f+2b+l%==7Whdqc2`^nR)(jV{m#mykwsfWT8>s)7UZB z{@zxmZq4)a-`jY%GC9p$xVC)#vmAGE=Yt6dCk1n{KkYLT+4_-v{ThYI#vjA`w*+xs6VY3wxsX*Kl6_XB1~$vgO87NR8KV#{i^w`Z=jT?R&c| zZ$5u~-?nDj*3ySb(^Xv4wntVLT#n+~TR-h!Lz#vcIOHeZo_@$tP+_w1kI#F%E0=Gc z^Zu>HaogU-NA*0rUI@Q_cPMG&hUX_bk({q7BO*EdwDh0p<+E=VuWYivS2uAjHxo$x zf=z2$)@FxqeExwmsWWBcX|M%?f;$(U3AtLo{)TJE8SzRUzS8LrH>UqQ)~3g{xJ<8i zS6A$`J1T97A6nbDPxe{*^XR?ulj6If%T6asXWs~V!{zd9c8y$J$&Sv7TSxZqSueX> z^)&bMRo$`E?yzJ}*Il%8UEBZn&-Evr)|P@adM4hUf5>s->WXhJ%$+?m@87)Bd2`Bh z@wKK$^*r+w`cI!!{+{>f!SD2!auRy*=9zixA;*dRAMX6#`lRSXw6y-?O{qUmp8Sv2NZAQvY$Y@zx{8Y5VprWp1}TeqSbAr_9sn_%+@5GhMB| zfBNJ1c^OSbvIC??vf^irXlKvN`kh;4+f9%2^XWQlU$WbFO4VJPZKcNV_m#Kx-TRj` zT^Uj@76og{h|FAQ`?k&~vibi0{k+{1pZ~Yq5y1FR_gspE&DRTMP7@{8%U>x2v?+xSi|uI9PIU**L|^`M8eEYT3* z>xyaq{;T%S%h%pF1H>O$Tk9nlKktg2bjE4r`NQJ!x6b{3D=TAJyzj3`rv^UH;3mO19w9(@K>)!IN*gl9Bk3dZsk)3?vZg>8? zzI!@TtM_9%|J>uL!44MlCEE_B%inODdH%3}+)Zb#$(m)JkU&#%U0M+E#A+*R%%6v+ zwO4*r`T2Qn`o~+M7H7l1uixDr+Aa2pfBimB1sO!txGpaUNZ~7Km;G~4Tl>Q;qd&*} zw+6lQ5#O!ybHdTyQkxx>vg`L0&-gZPA3SP|^g%(b%q(bK|K$~z&NG|(e=EcOtP9!b zJ*n`YkbL}|pPqj6@{|9sG=>LR%Dn&!4Wst9MP~m#OchPp%vS%^L)&y-%0};9k9W@H zt9$&hU6QZu$J6NF-7x>3*t4i0Af>PO*xElQ-#v8+PW$&Lc$s{3^- z&Z>$Xo(@jzSymA6MD4^Ao_{s(lfIQt{g^LjasJn?fQ{a}bnosjGqpBb^Kg3g_sdl; zixBpFhm|~cI6q0qywF;FZ1SVmuXpc|DY+?<;lt9J5RXsb3x;L&-Y4KzMShU zV^_Nlo?!2AwTbd|-Epbp;VYZ|usG!hsN7Npm0N1P8)tp4DL>At*SCXHUDtKhmusI6 zCVV)s@)|sa6s-=h&-b&uv8x!}$ z>-qlN?C{N>@AdBaaZZs>O9E1m3C`qgZB{y3v}b)w$+;uu=A}Zuvv*oNde*-^KE=6~ zV=^PR*W*1`ABKN_;C^FUnW^>rn+p=4wZ@ZM8Zsi9%Z!`jE?Eli-?^}x_p9Q&b&`j3 zPBBk7D?P>f@|)Ko-yf8e<-{Czo_+oEq1)`1U;f=hI9*%nTHaA5*Kc=TM)~nqMMeo8 zO?jf;7wuE|E?#26PMxqLub#;tHmIn%EmoEjbNX|>{DTXbupu6$>s}8Rcuf5JtW7U0 ztk-w9d7)YUho`%%^QwG5PraG)>?FJW!DXS|KbPOl&kTnaToYd}DF|57@$cuaJiFbC z_%D~7R7f!Ubmz9os&|eD(l&mW>Moz~^N`!T+Lxt%TVu80S$(@rYqOH;r=`2Ae;#@j z*Rz_XIsC~dw)p7k^m2Zyw`KeO9r4T3KK=9k{)*1-*uC(y{$$&Nf`BC+_ugtf{<@88 zQ)RQyyH}hGZ%#=sKCIFG=i=;$yMF>-eg1HJel<`3<&*t&|Ah8BHzrM2ffO)Bw=aMK zN60JU=KauPr=PF(NcYwGcHCg*jIz!`z5IZ;o}ZpA?V25*A!r&F{%ODMN6kkkMgBjY zzFw&7&P>LYkc@MJ*Jw>az>*U}lE%x~YHaGa%__L$*Vj>+`Hz6>b-!r#0|M`v*hk=n#cTp`=?XZ?I)jpy$;cl#PrzQj;B)v&+%2N9h=R=y!$Ly!{I#k z19@AMq~ho27)Ec1I&*p7G*DA?=dXC?&X8GuLYsD`Sh?zjSLjVXJLz1?$)`n2E@ghI z^jH$Kx$eE#=9%%opVZ#jyQEe8yX=z(zthugp{MDf;2Xw5>^7qY7@U39)pG$f}<%by>4X=ULCwa(lBIv-KyfG}&1*uSCt+ zY_{sma}&IldoDFr3DOLDX>#)8{OP(mN8W$l_;~Yh%`%iZse|g|>k=P;o-L*C>TOMw) zF0kaXpWU<4x^Ib5IMZg6&Xg(}gVPiImU}L_q!O$dG*ib<`NXeJ!7}oB%glqEwB{=M z&vP;271{Om(@&e1CDVNLxE<`~E6?=ukN)po`a`m=t3DXwyPF%--I%U(5$(l(gRX(~T z{n;oWckB_TQYXvAh^CDhQ!;EkO(yQhdcGKv06R2fM0RRzzwEg3xbw>EzMaQ=uRlKa zxa2{p&6X&$}ok&pX3MLxPr$}n;?nyEBz z&fibBts75juuRZvmtB6>?&FI+MQ0xVI8e-Y$4@%1UHCNnw1DTIDi>{JN#1CYyiwv} zMN@%^mx`FWg_x>Dr+`d%jH!(%q~h9nR#Rq*_4MN}kHo)PdgbxbE3cPbsaECq67cGC zg6#X4)6YM*=52|16V4c{;-xY%MMp|m$Xh^?fBvPYZ&4+Dvw7Fw?!5i-$n!E$rr7P- zN*BKFnp1ICFNW{;5zCJ$T>&ai1v;l*+>lu4(evPj#KD3o69azCdN*GKny0w~EHt*8 zcOUiHdEPrTQZv;q|KaaXLaR=lF1W#UI(G9;nT-_-ck2kqC7alo{gX)45mT1vdl6T@ zU9tOU&-JH^?mS<5=J~biNlK( z|K>r0|HN9KhYRk=>4+JJrY^nmA%eBU^YF~L?+QfB27giNyX+^ zfx!_EgEJ92>waH4DUvq1Q)s<(y(j0?rFMUo+Wk?r`=hElr6NY6&CzbYxnltND(VwMuK5dRxlM@XD zmei{pNKiNtU~tAm!^J=*FhaTbSd!u6@0BYxbPvYAT6`?tue4H9G*z|r{^6Wy2OShO z-pKP^FgNmg|6s!|9>@q&%DzAgjnA`B8m!RJUbu2u7wgumS3-ZS)X_a?z;kSoA)7n5 zw@r1s+Y4E##EKBv=pdW4$(;2o`&VrWT6M~6QBVkG@+FuwvQbXqr>IzGBx3AGjz{28)M~07VSkY~R**+n^PiL%Iw`Ae2NzZm= zdD+NKT4^F%`*%y}*Gu#jCi zw`?Xfp;iZ4XqdO(ewg6uExbBP>_SYux83~ZYj^j5o_lvo>31U`F7e$i6Dtp=NL&f~ z6?rA#^e0wdlaTNUKFckyUpzYV+v%7ccYLE97eYca29zWo&+t_P%>@)b4Vv{j`()bY zm>qWxzx?KRuDoor$IE$*O2!Y1cSl^^G-0YPcgCuR&bX^&4W&578@vit0+8sL&;-ouKB7CRrto%5AWAf#wY5F-zV*UkR-mvn`xAWH!(k#nV z+P?JHDK4|MamVg<&p!F|(;SQY$8I0@7wmHBj-3THLP~`1)K~4VyDAGVS6$P|U6^li zVBh2S#m_FKZrVA!+JDRYf7ik{M(P+#{ce69w;(;E;#|D?{N>u0TV z{=hcV)jzJ(&Sv0nPyTb&*naNEo%jD8629`|bh^#Iug=FSKfgGcz3ydI*4~LSX40>x z>p$CPs$FP3S0;Dw0cm$Xfo}CKn0wCTbFn|Yb#sjvXr5Dd^>pFBBNcBS7~ac&uaTt? z79Du*z1>%qwbOU~_^7?!-}+g6{o~W1*}>~Fd~t6}&!`!PK2@#x^-tI2YRKmIM}F_w z_5XzF{$p#8rEUH2c6nXz!i0|W_^RA%&+C74`#&hMNR#E;SNTO{`E4upKHHC-)i<|f zNuJ-cV>b8nYPG)l#OGyf?oGyA?Dp%HWv~32W-$BAn)r<~WTmeqZJbg0_d_Ay-uf`b zt&o6>@qK;f)*2VPB^!5jEtlIRzx(Q`)9>Y;y_oqqrFdu3^w5x-G1K-vWU#;cSM2|* z)&52IXNB%5eIxQQWz&tNcSYI~6C@HOj;?!hZtB@o%bH&@>gTs_to?h}rs}?0n3?%U z`}q3V1twu{K0$jRazPdvo42K%RI>Yhpms~?_m7`#-wSje?T)>)=Fji{{~k+Q)oTc) z>WCeGUKSV}cx>ssf6~9IKD!!CeP;jv@Bck3*Z=(g@5^*!x!;##tMe07KYMGxs3gXD7MV{5zN{V^!Oi9$)o$8W&sr z>&^X}@_s&={V9sA_1jLLXXoB6oAT(DtkgsH^LriMf8f~v^T^^Wq38bm>w#u~^nm9J z&O{`aiq5Ytkgo3Ed;E2KpZM-MmKzuC?9{jabl}MO|IhE+A7B3N=7C4Ysy_X+nf|-I zBJ;i?)58xv&vialeApqQ5}e8A?yhe8yv*XqlVhej@i$tozg3y(bMd16f!XeUm&|Q; zu0H*A!{*w*Qeh_Mk3R3{I5wH5zs;g>VefbS7^S&q&sCh`&tLNKarnK2=eE)rD^?vb zkSyWn`FQK#9nnuU#f+^k1^=;B~p`j(-ms{=Yt3-W7W;v@+JuY;BZVY9uFr zPL%b_)khvL-1^w)uRO=Ywr0g|GM0|Ht@BT95<0af?w)1gtk~cE7fcP#eB&+OykXlc z<+ab3*Uo*IFe6x8pE1E~<_h$6m|2&F*WW&BZvQ_sOY78+qxZ@y|E>MIr7R|`^t4l1 zPKz z;Hhb9d-B9fr#^jitG*}vyZo~lck^=HytLc5rj~r+6_V*@2#9<1w0zzllf324^;K_m z<8GBt@ZS5^W<#c~sp!)gJk9oh9~#ej`(jp+?0329{un*`rxm^XdurA1J)c_MU$E`7 z(d+5@59dx^?wM|s6StLT_0dDS)&1kIzdx{vwf9PRXu&5Z>&6Q=mOP)Pm+{2A|ILGp z*Ohhuj@jL_z3OE){V~d7$ys(aH5n!yXR}o2p8U}Kd|vwX#>Go6&3s)YU#vO*eDSu$ z-MXv810EF?uG_r(hH57`x=#EtSd)6xNSXWfs+HfSe?0Z?@KL=~w|tKRbDTOYM&N&oz}ecw6o63Opp?>{J?U)AJc zbFlvJNqvjLeYuxzv~ORt{L1TRPs{m=_idgXVs$t{;e`FWd)#cG@=rLqJnyE%%YAU0rM!@nc;;XKVY~U->`qg_$&>PFD zrmd&N9&We^AF((i92KTxylKI=_%j3_>1pAIf zT)f0`pmp6!*|_t2cKn|8Y>(2^lRlA$Yy>!r#Cn4t>mPqzW+>LXammKIJ#F(mlNWcg zI4@3Ib;^6$m2ZW+*xS=;&&60>ziIk3it!6SYsBUh!O+yy5?-Ej75lm_3GMszqM7AT zV%)9r0zL1&is!bJembK5Zt1#9{?-2Ruwj*nl@1RVoawlnr#x@ZPT9EPx9;}!Ka-EE zT$;Rl-zL!6g*=CU+$cVLQNq4DS^n$Px@~JCkG|}d{lX)9$gTUP&Be7}=jPWuT~++U zyY`5Xr;M5OOrL2fTD4aKwwB(=$%)-ON%SnY#>ZXDOD;s>S&}FgXfsn~{`toxD~h2bBU~bUr+QkBDS?)3 zoHRHQ`*;~|d6SRY>37V>e?B_*_RXGj=K9ZnR<}OBsnZ$4HT&wR`F}sm?BCng8N$_m zw(V}(-Yf@;+m`DKZoZXhGfe%=i)#tuto(hyZZzwxSo>^gZF|LgC+m$LH@w-mJN(m& zYiEUb`toBsS|{5z$IULSAI|827W-^t$+e67n$=ATm+U8*Y4=4c?JTLzsTHS&Kk zuh~d>?R34zn{G$m+_d1v(wOb}wm&7`Mct`6{LKFDJ;(bWICOcp>SV2$ZBe&uukhr= z3n9_APv`u;e)s76`nQ@sk7c{ozMak(aqEUb>KjmNqd)Ji&1=i`8zRnJ2@mtJ3X6^F zy8d=ay~=?b71JM1RXyuH>y>)%*Bx_yc<+&~6?~=$GBMayMJ)aQN@Ew{&d!D_Ni!>t zKM*}xGONJEO>6GMo73Z!r}}-K>MnQWb=ld{m&Iw1S1n~ZzUT{IKYTuNraCC}d-_~0 zD)-HG-=4Sc)iar(38XCn{7^zq@ulD8E%=qUaw^i$QWxrpN{QuE)`DDjjQHJTi*?(L-AAc-! z`{vrich}_P9eQ3k*<Xtd`1$tzA6WF-o0re8pL%>--m;CmxF+9pIe$Q4H^1EcO^b_NSN6~Sp0i}>KC#Is z7vx(Uc-QP+nQ+-kYL(WH?etUunx+uMHp3vDtl z`^%G-eD~AQn!MxNG>`B9e}CTG2(h*$n-RE_9 ze}QAU-WLDp%Lh(q#8*`OUh-Ife{sjUg9|m^e}3}QY+m)>w~>3>rI&76(~|$^*Wwa> zo{!)4_b)7fX6khrp%xmOAL)Pm*c)FxB|_=o=Jk903}iIRJdL=+4;{q1OzvdwrJ(rJ z_P?+2fmYyuYmHsfy$5#T+ZpY(QDHipjfA+sb0za^?$^EIyrvf&@@CQ#wvRjJ{5hFl zC%HNEQ@rp}JN~DtcDHu_?hcuGrsZf(+H+g!AJ6CCJb84T+`PJnp|C+wqt-I*X_4Hn zi~f8_*Z*|j*w&i7<7V5|L>*ks&Ug8u^@oq@r*)5JZvS}X+wY3U9}1H?RjxiwwW<4` zHfg0ub>BRlvdSXSZmCxlIk(eJ)x^bBJ{MrWXTN&s5lGY1NLN>T+UubB$b;vq%`XJS zdqa1CvrXup}!_3bz*?S#qW`eqt+oygK(w`lsoBnsx z(Hps9QMdJrAN<{1@=a3&GA=$*GT1`H+%2?Hb9T61^4U$U5k6_>V&6UUsb+s}wcB&q zrK5WOPo_O7-W_psQ$wgOcVs}ctA^0y6ElltY^xhRbmCwgjwja^7X;+#%szVP)zPze zwpJ*f{krwZ=SoncMt0Z=Dz4FPI zFV%wcyx`6zE%hxX#@7?wOeqcfq-_FN3*NBN- zyLurg{`8_YtE@k%M<#ooi+lB`q*^`q?%tG5HBYQz7UXY#GiKe5rI002C*Hb0TyTaz)lR=#ife8Vq)89zaxgJk{bt*FC;ms5>K2~J zyxh3$-M_r-OGWEuWv$LwwenEbMuE#n@=%t9@&hu}Trk^*K;1H{u&dzo4dx1gBn+jPkKW!x19F3-?X-K4ihvM{X+79)!IB}&unYD8c-yb`9(Nxgzo0gZ?hv~mo=x86z zF`9TbRg$Mgf}_XCKxToxf!F^N8WSV-+*pbP#>3pLb7eEwYxWxZ}5H zoi^iwcA@^+M(f*!`q}3nHx*P$FOGCdHf(cNbaP7PVRwGKu&5(IWm)QLNFFb;4zSQj zGMo9a^4MXe{`R2x?Lqysh0d=(q}+Ye#?Wr=NdvKN!Oo+S-KrAZ$2yJ)w=4==^pRy^ z#2oNqsgMa3!aHQj=9F3Mwaae5+<5)zq1Q!^3N1hGimjOAS0g8$w_JAf%kcThMpM;9 zI*qK%+%nb(u(c}*HYK+vPmFM4TmXsHJMTpJy3V*LrW8FW-CbZU`y*zZ(+`u6FOIw} zO9G9gPe1##13KP+g?*pDfd8@%Rc^*4t+{Gb&rR@H>ap~)%JKSrcMrQl7HO?9dlSZO zwpw)e+7GFlqc+^m+406~4j;SUZrACZ&6T1)_Q-YG2dCXN zG(48JHOXw|I;(U=n=?J^ZJD2b+H{5}-tbbn{N&_huk;g7iIy25*zW#K}%?Hd2=NwKuYS7d9J!#{NjWf>9@KwtRJ6*w% zp*<&Ce^2`Ct469mb3?+-ytSt4wX8hJveENl)+T{2zYiRf?hH}f;*)NavMJK&=A9$o zFIF%$RA{mOwCU{hJL&X7(qC+sYVb@ahFLz#JeFO0vSmp)r099l7Hpwm#4p0MRcE8i zCio(l6S7ZUWlKWC*~R6_wq>wpf{V)&zNN^V)PoP^cg40q5==)&$DNd)HRu2HA6;_o Vo81cOLktWI44$rjF6*2UngGv~?6&{_ literal 0 HcmV?d00001 diff --git a/docs/tutorial/images/fresh_actor_data.png b/docs/tutorial/images/fresh_actor_data.png new file mode 100644 index 0000000000000000000000000000000000000000..c887ce45188eff9e4a6fcb380655e90d49326d6a GIT binary patch literal 43984 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

3P-WV(=7?!Lel$3ib*vmiBx{ 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 SD;XFV7(8A5T-G@yGywof4foCf literal 0 HcmV?d00001 diff --git a/docs/tutorial/images/func_80C100DC_diff2.png b/docs/tutorial/images/func_80C100DC_diff2.png new file mode 100644 index 0000000000000000000000000000000000000000..db4404d8f5b77069f3288f0f7ae46d72654befa0 GIT binary patch literal 52908 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 R5(Wka22WQ%mvv4FO#s1mPD}s* literal 0 HcmV?d00001 diff --git a/docs/tutorial/images/func_80C102D4_diff1.png b/docs/tutorial/images/func_80C102D4_diff1.png new file mode 100644 index 0000000000000000000000000000000000000000..2b4147999df0c6f17fe9ed78447b7d2656d744a3 GIT binary patch literal 100966 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ⅆ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 F1OUPfO#%P_ literal 0 HcmV?d00001 diff --git a/docs/tutorial/images/func_80C102D4_diff2.png b/docs/tutorial/images/func_80C102D4_diff2.png new file mode 100644 index 0000000000000000000000000000000000000000..0fefcb43ced7e661bdaad3e7fb4fa927d2c01076 GIT binary patch literal 112959 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

*}mAY1_;6VK$T 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 WP>)tN{A6Ud3 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

>4aA&jSPOSW~=hy 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 Mr>mdKI;Vst0BXOLYybcN literal 0 HcmV?d00001 diff --git a/docs/tutorial/images/z64utils_object_analyzed.png b/docs/tutorial/images/z64utils_object_analyzed.png new file mode 100644 index 0000000000000000000000000000000000000000..9a2de8dac6b019bcd6c411fcd0f17186b52e2ec9 GIT binary patch literal 70998 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 A%K!iX literal 0 HcmV?d00001 diff --git a/docs/tutorial/images/z64utils_skeleton_head.png b/docs/tutorial/images/z64utils_skeleton_head.png new file mode 100644 index 0000000000000000000000000000000000000000..263f06642596fdec62aedf5ad59f07f12dfe8d30 GIT binary patch literal 95083 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, globalCtx)) { + this->actor.textId = 0; + func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, 0); + this->actionFunc = func_80952A1C; + } else { + func_800B8A1C(&this->actor, globalCtx, 0x35, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + } +} +``` + +which is intended to be as close to the original code as we can get just by looking at the assembly. We are doing *matching* decomp: in the right context, and with the right compiler settings, the above C compiles into *precisely* the assembly code above, not just equivalent code. + +N.B. We are using only publicly available code. In particular, we are not looking at any of the recent Nintendo source code leaks. + +Progress of the project can be found at [https://zelda64.dev]. The long-term goal of this project is to obtain a complete compilable version of the code for every publicly released version of Majora's Mask (in the same way as the Ocarina of Time project and many other Zelda games). *We are not working on a PC Port, and neither this project nor the ZeldaRET organisation will not be making one*, although the resulting code will be very useful if someone does intend to make such a port. + +Most of the discussion on the project takes place on the Zelda Decompilation Discord (linked in the [README.md](../../README.md)). We are very welcoming to newcomers and are happy to help you with any problems you might have with the decompilation process. + +## What do I need to know to take part? + +Basic knowledge of C, particularly arrays and pointers, is extremely useful. Knowledge of MIPS is not required initially, but if you are serious about decompilation you will soon pick up a lot of it. + +Knowledge of the fundamentals of git and GitHub is required. There are a number of tutorials available online, and a later document in this tutorial describes how you contribute to this project outside the actual decompilation process. + +The most useful knowledge to have is a general understanding of how the game works. An afternoon of constructive mucking about in the [Practice Rom](https://kz.zeldacodes.org/) (aka KZ) will be very beneficial if you have not looked at the game's subsurface workings before. + +## Structure of the code + +A lot of work has already been done on the code to bring it into a format that is easy to decompile. I will discuss actors, since this is where the majority of new people should begin. + +An *actor* is any thing in the game that moves or performs actions or interactions: Link is an actor, enemies are actors, NPCs are actors, props like grass are actors. The vast majority of actors are *overlays*, which means they are loaded only when the game needs them. + +In the code, each actor is associated to several files: there is +- the main .c file, e.g. `src/overlays/actors/ovl_En_Ms/z_en_ms.c` +- the actor's Header file, e.g. `src/overlays/actors/ovl_En_Ms/z_en_ms.h` +- various .o files that tell the `make` script how to incorporate it into building the ROM, + +and then for undecompiled actors, various assembly (.s) files, generally including: +- one for the actor's *data* (this usually includes things like its collision information about how to draw it, and various other stuff that is used in it), e.g. `data/overlays/actors/ovl_En_Ms.data.s` +- one for each function in the actor, e.g. `asm/non_matchings/overlays/actors/ovl_En_Ms/func_809529AC.s` + +(In this project, all assembly code and asset files are extracted from a user-provided ROM: if you look in the GitHub repository, you will see that only decompiled source code is present.) + +The basic process of decomp is to take one or more of the .s files, run it through a decompilation program (mips_to_c) that reads the ASM very literally, and then, through human ingenuity, reshape it into code that not only compiles in the first place, but completely matches the assembly generation of the original code (well-written or otherwise; it's also very likely that our constructed code differs significantly from the original, even if it still compiles to the same thing). diff --git a/docs/tutorial/merging.md b/docs/tutorial/merging.md new file mode 100644 index 000000000..1d8c6ad1c --- /dev/null +++ b/docs/tutorial/merging.md @@ -0,0 +1,97 @@ +# The merging process + +Up: [Contents](contents.md) +Previous: [Documenting](documenting.md) + + +## Preparing to PR + +### Change the `spec` + +Specifically, to use the automatically generated reloc, rather than the original. In the case of an entirely matched actor, you find the section relating to the actor that you edited before: + +``` +beginseg + name "ovl_En_Recepgirl" + include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o" + //include "build/data/overlays/actors/ovl_En_Recepgirl.data.o" + include "build/data/overlays/actors/ovl_En_Recepgirl.reloc.o" +endseg +``` + +and change to use our reloc: + +``` +beginseg + name "ovl_En_Recepgirl" + include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o" + include "build/src/overlays/actors/ovl_En_Recepgirl/ovl_En_Recepgirl_reloc.o" +endseg +``` + +(copy the path, then copy the directory name and put `_reloc.o` after it). + +### Non-matchings + +If you can't match a function even with everyone's help in the `mm-decomp-help` discord channel, don't worry overlong about it. Hopefully you can get it to do the same thing as the original (non-matching), and then you set it up to use the original asm for the matching build, and your code for the non-matching. This looks like + +```c +#ifdef NON_MATCHING +// Helpful comment about the nature of the nonmatching +void function() { + // ... +} +#else +#pragma GLOBAL_ASM(asm/.../function.s) +#endif +``` + +in the C file. Also, due to the way `GLOBAL_ASM` works, we also cannot use generated reloc for overlays with nonmatchings, so we have to do the same thing for the reloc file in the spec: + +``` +beginseg + name "ovl_En_Recepgirl" + compress + include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o" +#ifdef NON_MATCHING + include "build/src/overlays/actors/ovl_En_Recepgirl/ovl_En_Recepgirl_reloc.o" +#else + include "build/data/overlays/actors/ovl_En_Recepgirl.reloc.o" +#endif +endseg +``` + +Ideally you should at least be able to get a function to have equivalent behaviour; if not, and you have exhausted all other avenues of getting help, it should be marked in the C file as `NON_EQUIVALENT`, in the same way as a nonmatching. We do not change the spec for non-equivalents: they are treated the same as undecompiled code from a building perspective, lest they break things. + +### Format + +Run the formatting script `format.sh`, to format the C files in the standard way we use. If you have some arrays or struct definitions in your file, check that they have not been obnoxiously padded out: you can usually get a better format without a final comma for short things. + +**N.B.** this is now essential: the CI will fail immediately if it detects files that change when formatted. + +### Merge master + +To make sure the PR builds correctly with the current master, you need to merge `upstream/master` before you make the PR. This tends to break things, that you have to fix to get it to compile correctly again. + + +## Pull Requests + +Push commits to your fork of the repository on GitHub, and then open a pull request. Name the PR something sensible, like + +- `EnRecepgirl OK and documented` (if all the functions match and your documentation is fairly complete) +- `EnRecepgirl OK` (if all the functions match) +- `EnRecepgirl (n nonmatching)` (if you couldn't get one or more functions to match, but to the best of your knowledge they are equivalent code) +- `EnRecepgirl (n nonequivalent)` (if you couldn't get one or more functions to match, and do not believe the code in them has the same effect) + +and so on, although these four tend to cover most cases. Feel free to add a comment describing anything interesting you had to do or issues in non-matchings. + +Please also update the status of the file on Trello/the spreadsheet. + + +### Reviews + +Pull requests may be reviewed by anyone (who knows enough about the conventions of the project), and all must be reviewed and approved by two leads and one extra contributor. + +To implement suggestions made in reviews, it is generally easier to be consistent if you push more commits from your local branch. It is also quite possible that in the meantime some other PR has gone in, and git will ask you to merge master before you add more commits. This is normally fairly painless, although often you have to resolve merge conflicts. If in doubt, backup your work before doing anything, and ask in Discord before doing anything drastic, or if you don't understand what git is telling you. + +There is no need to wait for your PR to be approved and committed before working on your next file. diff --git a/docs/tutorial/object_decomp.md b/docs/tutorial/object_decomp.md new file mode 100644 index 000000000..88fe89eca --- /dev/null +++ b/docs/tutorial/object_decomp.md @@ -0,0 +1,14 @@ +# Analysing object files + +Up: [Contents](contents.md) +Previous: [Documenting](documenting.md) + +TODO: To be written once automated objects are present. + +## Useful tools + +We are very fortunate that several nice tools have been written recently that are excellent for documenting asset files: +- [Z64Utils](https://github.com/Random06457/Z64Utils/releases), for looking at displaylists, textures they reference, the skeleton, animations, etc. +- [Texture64](https://github.com/queueRAM/Texture64/releases), for looking at textures in all the common N64 formats (needed since Z64Utils cannot interpret textures not explicitly referenced in displaylists currently) + +Next: [The merging process](merging.md) \ No newline at end of file diff --git a/docs/tutorial/other_functions.md b/docs/tutorial/other_functions.md new file mode 100644 index 000000000..bdc49036d --- /dev/null +++ b/docs/tutorial/other_functions.md @@ -0,0 +1,605 @@ +# The rest of the functions in the actor + +Up: [Contents](contents.md) +Previous: [Beginning decompilation: the Init function and the Actor struct](beginning_decomp.md) + +## Now what? + +At this point we have a choice to make. Either we could follow the main function flow and decompile `func_80C10148`, or take a look at `Destroy`, which for smaller actors can often be done straight after Init, since it usually just removes colliders and deallocates dynapoly. + +## Destroy + +Destroy will be a dead end, but we might as well do it now. Usually we would regenerate the context first and apply it to mips2c as with `Init`, but if we look at the assembly... +```mips +glabel EnRecepgirl_Destroy +/* 0000FC 80C100CC AFA40000 */ sw $a0, ($sp) +/* 000100 80C100D0 AFA50004 */ sw $a1, 4($sp) +/* 000104 80C100D4 03E00008 */ jr $ra +/* 000108 80C100D8 00000000 */ nop +``` +It doesn't seem to do anything. Indeed, chucking it in mips2c, +``` +$ ../mips_to_c/mips_to_c.py asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Destroy.s +void EnRecepgirl_Destroy(s32 arg0, ? arg1) { + +} +``` +so it really does do nothing. It is worth staying on this briefly to understand what is is doing, though. Even with no context, mips2c knows it takes two arguments because it does two saves onto the stack: the calling convention the N64 uses requires the first four arguments be saved from the registers onto the stack, since the registers are expected to be cleared when a function call happens. It's done a bad job of guessing what they are, but that's to be expected: the assembly only tells us they're words. Thankfully we already know in this case, so we can just replace the `GLOBAL_ASM` by +```C +void EnRecepgirl_Destroy(Actor* thisx, GlobalContext* globalCtx) { + +} +``` +and cross this function off. + +## `func_80C10148` + +We don't really have a choice now, we have to look at this function. Remake the context (no need to change the function type this time), and run mips2c on the function's assembly file: +``` +$ ../mips_to_c/mips_to_c.py asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10148.s data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.s --context ctx.c +extern AnimationHeader D_0600AD98; +extern ? func_80C1019C; + +void func_80C10148(EnRecepgirl *this) { + SkelAnime *temp_a0; + + temp_a0 = &this->skelAnime; + if (&D_06001384 == this->skelAnime.animation) { + this = this; + Animation_MorphToPlayOnce(temp_a0, &D_0600AD98, 5.0f); + } + this->actionFunc = &func_80C1019C; +} +``` + +This gives us some information immediately: `D_0600AD98` is an `AnimationHeader`, and `func_80C1019C` is set as the action function. This means that we know its type, even though mips2c does not: looking in the header, we see the typedef is +```C +typedef void (*EnRecepgirlActionFunc)(struct EnRecepgirl*, GlobalContext*); +``` +and so we prototype `func_80C1019C` as +```C +void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx); +``` +at the top (were it above the function we're currently working on, the prototype could eventually be replaced by the function definition itself, but since it isn't, it goes at the top with the others). + +There are several rather odd things going on here: +- `temp_a0` is only used once. As such it's probably fake. +- There's a weird `this = this` that does nothing +- `if (&D_06001384 == this->skelAnime.animation)` is a bit of a funny way to write the condition: it seems more likely it would be the other way round. +- Also, if we look up `animation`, we find it is an `AnimationHeader*`, so `D_06001384` can be externed as `AnimationHeader`. +- `func_80C1019C` is already a pointer, so the `&` is ineffectual. Our style is to not use `&` on function pointers. + +If we tackle these, we end up with +```C + +void func_80C10148(EnRecepgirl* this); +void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx); + +[...] + +extern AnimationHeader D_06001384; +extern AnimationHeader D_06009890; +extern UNK_TYPE D_0600A280; +extern AnimationHeader D_0600AD98; +extern FlexSkeletonHeader D_06011B60; + +[...] + +void func_80C10148(EnRecepgirl *this) { + if (this->skelAnime.animation == &D_06001384) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } + this->actionFunc = func_80C1019C; +} +``` +This is a common type of function called a setup (action) function. It runs once and prepares the ground for its corresponding actionfunction to run, whereas the actionfunction is usually run every frame by `Update` (but more on that later). Running `make`, we get OK again. + +Again we have only one way to go + + +## `func_80C1019C` + +Remake the context and run mips2c on this function's assembly file. We get +```C +? func_80C10290(EnRecepgirl *); // extern + +void func_80C1019C(EnRecepgirl *this, GlobalContext *globalCtx) { + SkelAnime *sp24; + SkelAnime *temp_a0; + + temp_a0 = &this->skelAnime; + sp24 = temp_a0; + if (SkelAnime_Update(temp_a0) != 0) { + if (&D_0600A280 == this->skelAnime.animation) { + Animation_MorphToPlayOnce(temp_a0, &D_0600AD98, 5.0f); + } else { + Animation_ChangeTransitionRepeat(temp_a0, &D_06009890, -4.0f); + } + } + if (func_800B84D0((Actor *) this, globalCtx) != 0) { + func_80C10290(this); + return; + } + if (Actor_IsActorFacingLink((Actor *) this, 0x2000) != 0) { + func_800B8614((Actor *) this, globalCtx, 60.0f); + if (Player_GetMask(globalCtx) == 2) { + this->actor.textId = 0x2367; + return; + } + if (Flags_GetSwitch(globalCtx, (s32) this->actor.params) != 0) { + this->actor.textId = 0x2ADC; + return; + } + this->actor.textId = 0x2AD9; + // Duplicate return node #12. Try simplifying control flow for better match + } +} +``` +This is a bit juicier! We can do some preliminary cleanup, then worry about the control flow. +- `sp24` does nothing, so is almost certainly fake. +- `temp_a0` is used in 3 different places, but they're all right next to one another and are unlikely to be required since there's no nontrivial calculation or anything happening. Let's remove it too and see what happens. +- We've got another reversed comparison, `&D_0600A280 == this->skelAnime.animation`. +- `D_0600A280` is an `AnimationHeader`. +- `(Actor *) this` should be replaced by `&this->actor`. +- `Flags_GetSwitch is a boolean and we don't need to cast the argument, as we have discussed before. (We don't know about the other functions in the conditions, so leave them for now.) +- Prototype `func_80C10290`: it is reasonable to guess it's another setup function, so `void func_80C10290(EnRecepgirl* this);`. + +Changing all these, we end up with +```C +void func_80C10148(EnRecepgirl* this); +void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx); +void func_80C10290(EnRecepgirl* this); + +[...] + +extern AnimationHeader D_06001384; +extern AnimationHeader D_06009890; +extern AnimationHeader D_0600A280; +extern AnimationHeader D_0600AD98; +extern FlexSkeletonHeader D_06011B60; + +[...] + +void func_80C1019C(EnRecepgirl *this, GlobalContext *globalCtx) { + if (SkelAnime_Update(&this->skelAnime) != 0) { + if (&D_0600A280 == this->skelAnime.animation) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } else { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, -4.0f); + } + } + if (func_800B84D0(&this->actor, globalCtx) != 0) { + func_80C10290(this); + return; + } + if (Actor_IsActorFacingLink(&this->actor, 0x2000) != 0) { + func_800B8614(&this->actor, globalCtx, 60.0f); + if (Player_GetMask(globalCtx) == 2) { + this->actor.textId = 0x2367; + return; + } + if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; + return; + } + this->actor.textId = 0x2AD9; + // Duplicate return node #12. Try simplifying control flow for better match + } +} +``` +If we look with diff.py, we find this matches. But we can replace some of the `return`s by `else`s: generally, we use elses unless +- After an `Actor_Kill` +- Sometimes after setting an actionfunction +- There's no way to avoid an early return + +Here, it's debatable whether to keep the first, since `func_80C10290` is likely a setup function. The latter two should be changed to elses, though. For now, let's replace all of them. This leaves us with +```C +void func_80C1019C(EnRecepgirl* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime) != 0) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } else { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, -4.0f); + } + } + + if (func_800B84D0(&this->actor, globalCtx) != 0) { + func_80C10290(this); + } else if (Actor_IsActorFacingLink(&this->actor, 0x2000)) { + func_800B8614(&this->actor, globalCtx, 60.0f); + if (Player_GetMask(globalCtx) == 2) { + this->actor.textId = 0x2367; + } else if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; + } else { + this->actor.textId = 0x2AD9; + } + } +} +``` +which still matches. Lastly, we have an enum for the output of `Player_GetMask` and other mask-related things: in `z64player.h` we find +```C +typedef enum { + /* 0x00 */ PLAYER_MASK_NONE, + /* 0x01 */ PLAYER_MASK_MASK_OF_TRUTH, + /* 0x02 */ PLAYER_MASK_KAFEIS_MASK, +[...] + /* 0x19 */ PLAYER_MASK_MAX +} PlayerMask; +``` +and so we can write the last if as `Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK`. + +Again, we have no choice in what to do next. + + +## `func_80C10290` + +Remaking the context and running mips2c gives +```C +void func_80C102D4(EnRecepgirl *, GlobalContext *); // extern + +void func_80C10290(EnRecepgirl *this) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + this->actionFunc = func_80C102D4; +} +``` +so all we have to do is add the function prototype for the newest action function. Not surprisingly, this matches without changing anything. + + +## `func_80C102D4` + +

+ +Large code block, click to show + + +```C +extern AnimationHeader D_06000968; + +void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) { + SkelAnime *sp20; + AnimationHeader *temp_v0; + SkelAnime *temp_a0; + u16 temp_v0_3; + u16 temp_v0_4; + u8 temp_v0_2; + + temp_a0 = &this->skelAnime; + sp20 = temp_a0; + if (SkelAnime_Update(temp_a0) != 0) { + temp_v0 = this->skelAnime.animation; + if (&D_0600A280 == temp_v0) { + Animation_ChangeDefaultRepeat(sp20, &D_06001384); + } else if (&D_0600AD98 == temp_v0) { + if (this->actor.textId == 0x2ADA) { + Animation_MorphToPlayOnce(sp20, &D_06000968, 10.0f); + } else { + Animation_ChangeTransitionRepeat(sp20, &D_06009890, 10.0f); + } + } else if (this->actor.textId == 0x2ADA) { + Animation_ChangeTransitionRepeat(sp20, &D_06009890, 10.0f); + } else { + Animation_MorphToPlayOnce(sp20, &D_0600A280, -4.0f); + } + } + temp_v0_2 = func_80152498(&globalCtx->msgCtx); + if (temp_v0_2 == 2) { + this->actor.textId = 0x2ADC; + func_80C10148(this); + return; + } + if (((temp_v0_2 & 0xFF) == 5) && (func_80147624(globalCtx) != 0)) { + temp_v0_3 = this->actor.textId; + if (temp_v0_3 == 0x2AD9) { + Actor_SetSwitchFlag(globalCtx, (s32) this->actor.params); + Animation_MorphToPlayOnce(sp20, &D_0600AD98, 10.0f); + if ((*(&gSaveContext + 0xF37) & 0x80) != 0) { + this->actor.textId = 0x2ADF; + } else { + this->actor.textId = 0x2ADA; + } + } else if (temp_v0_3 == 0x2ADC) { + Animation_MorphToPlayOnce(sp20, &D_0600AD98, 10.0f); + this->actor.textId = 0x2ADD; + } else { + Animation_MorphToPlayOnce(sp20, &D_06000968, 10.0f); + temp_v0_4 = this->actor.textId; + if (temp_v0_4 == 0x2ADD) { + this->actor.textId = 0x2ADE; + } else if (temp_v0_4 == 0x2ADA) { + this->actor.textId = 0x2ADB; + } else { + this->actor.textId = 0x2AE0; + } + } + func_80151938(globalCtx, this->actor.textId); + } +} +``` + +
+ +Well, this is a big one! We get one more extern, for `D_06000968`. A lot of the temps used in the conditionals look fake, with the exception of `temp_v0_2`: because the function is only called once but the temp is used twice, the temp must be real. Removing the others and switching the `animation` conditionals, +```C +void func_80C102D4(EnRecepgirl *this, GlobalContext *globalCtx) { + u8 temp_v0_2; + + if (SkelAnime_Update(&this->skelAnime) != 0) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_ChangeDefaultRepeat(&this->skelAnime, &D_06001384); + } else if (this->skelAnime.animation == &D_0600AD98) { + if (this->actor.textId == 0x2ADA) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + } else { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, 10.0f); + } + } else if (this->actor.textId == 0x2ADA) { + Animation_ChangeTransitionRepeat(&this->skelAnime, &D_06009890, 10.0f); + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + } + } + + temp_v0_2 = func_80152498(&globalCtx->msgCtx); + if (temp_v0_2 == 2) { + this->actor.textId = 0x2ADC; + func_80C10148(this); + return; + } + + if (((temp_v0_2 & 0xFF) == 5) && (func_80147624(globalCtx) != 0)) { + if (this->actor.textId == 0x2AD9) { + Actor_SetSwitchFlag(globalCtx, this->actor.params); + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + if ((*(&gSaveContext + 0xF37) & 0x80) != 0) { + this->actor.textId = 0x2ADF; + } else { + this->actor.textId = 0x2ADA; + } + } else if (this->actor.textId == 0x2ADC) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + this->actor.textId = 0x2ADD; + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + if (this->actor.textId == 0x2ADD) { + this->actor.textId = 0x2ADE; + } else if (this->actor.textId == 0x2ADA) { + this->actor.textId = 0x2ADB; + } else { + this->actor.textId = 0x2AE0; + } + } + func_80151938(globalCtx, this->actor.textId); + } +} +``` +There remains one thing we need to fix before trying to compile it, namely `*(&gSaveContext + 0xF37) & 0x80`. This is really a funny way of writing an array access, because mips2c will get confused about arrays in structs. Opening up `z64save.h`, we find in the `SaveContext` struct that +```C + /* 0x0EF8 */ u8 weekEventReg[100]; // "week_event_reg" + /* 0x0F5C */ u32 mapsVisited; // "area_arrival" +``` +so it's somewhere in `weekEventReg`. `0xF37 - 0xEF8 = 0x3F = 63`, and it's a byte array, so the access is actually `gSaveContext.weekEventReg[63] & 0x80`. Now it will compile. We also don't use `!= 0` for flag comparisons: just `if (gSaveContext.weekEventReg[63] & 0x80)` will do. + +Running `./diff.py -mwo3 func_80C102D4` and scrolling down, we discover that this doesn't match! + +![First run of diff.py on func_80C102D4](images/func_80C102D4_diff1.png) + +The yellow shows registers that don't match, the different colours on the registers help you to estimate where the problems are. Usually it's best to start at the top and work down if possible: any regalloc problems at the top tend to propagate most of the way down. In our case, the first problem is +``` +3f0: andi t0,v0,0xff r 153 3f0: andi t1,v0,0xff +``` +somehow we skipped over `t0`. Where is this in the code? The `153` in the middle is the line number in the C file (the `3f0`s are the offsets into the assembly file), we have `--source` if you want to see the code explicitly, or you can do it the old-fashioned way, and work it out from nearby function calls. In this case, `func_80C10148` is run straight after, and the only place that is called is +```C + temp_v0_2 = func_80152498(&globalCtx->msgCtx); + if (temp_v0_2 == 2) { + this->actor.textId = 0x2ADC; + func_80C10148(this); + return; + } + + if (((temp_v0_2 & 0xFF) == 5) && (func_80147624(globalCtx) != 0)) { +``` + +If you look at the conditionals and the declaration of `temp_v0_2`, you may notice something odd: `temp_v0_2` is a `u8`. Therefore the `& 0xFF` does nothing! It's surprisingly common for this to happen, be it leaving out a `& 0xFF` or adding an extraneous one. If we remove it, we get a match: + +![func_80C102D4 now matching](images/func_80C102D4_diff2.png) + +Notice that indeed the subsequent regalloc, which might have looked like a bigger problem than the initial part, was also fixed: skipping a register in one place will throw the registers off below too. + +And now we've run out of functions. Time for `Update`. + + +## Update + +Update runs every frame and usually is responsible for the actor's common logic updates: for example, updating timers, blinking, updating collision, running the `actionFunc`, and so on, either directly or through other functions it calls. A lot of subsidiary functions that are not common to every state (e.g. updating position, or the text when talking, etc.) are carried out by one of the action functions we have already decomped. + +Remake the context and run mips2c: +```C +? func_80C100DC(EnRecepgirl *); // extern + +void EnRecepgirl_Update(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = (EnRecepgirl *) thisx; + ? sp30; + + this->actionFunc(this, globalCtx); + func_800E9250(globalCtx, (Actor *) this, this + 0x2AE, (Vec3s *) &sp30, (bitwise Vec3f) this->actor.focus.pos.x, this->actor.focus.pos.y, this->actor.focus.pos.z); + func_80C100DC(this); +} +``` +If we search for `func_80C100DC`, we find that this is the only time it is used. Hence we can be almost certain that its prototype is `void func_80C100DC(EnRecepgirl* this);`. This function occurs above `Update`, so you can put the prototype next to the `GLOBAL_ASM` and remove it when we decompile that function. + +Change the function and the prototype back to `Actor* thisx`, and add the casting temp: +```C +void func_80C100DC(EnRecepgirl *); +#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s") + +[...] + +void EnRecepgirl_Update(Actor *thisx, GlobalContext *globalCtx) { + EnRecepgirl* this = THIS; + ? sp30; + + this->actionFunc(this, globalCtx); + func_800E9250(globalCtx, &this->actor, this + 0x2AE, (Vec3s *) &sp30, (bitwise Vec3f) this->actor.focus.pos.x, this->actor.focus.pos.y, this->actor.focus.pos.z); + func_80C100DC(this); +} +``` +Now, our problem is `func_800E9250`. The arguments all look terrible! Indeed, if we look at the actual function in `src/code/code_800E8EA0.c` (found by searching), we find that it should be +```C +s32 func_800E9250(GlobalContext* globalCtx, Actor* actor, Vec3s* param_3, Vec3s* param_4, Vec3f param_5) +``` +So mips2c has made a bit of a mess here: +- the third argument should be a `Vec3s`. Hence `this + 0x2AE` is a `Vec3s*`, and so `this->unk_2AE` is a `Vec3s` +- `&sp30` is a `Vec3s*`, so `sp30` is a `Vec3s` (it's clearly not used for anything, just used to "dump" a side-effect of the function) +- The last argument is supposed to be an actual `Vec3f` + +Fixing all of this, we end up with +```C +void EnRecepgirl_Update(EnRecepgirl *this, GlobalContext *globalCtx) { + EnRecepgirl* this = THIS; + Vec3s sp30; + + this->actionFunc(this, globalCtx); + func_800E9250(globalCtx, &this->actor, &this->unk_2AE, &sp30, this->actor.focus.pos); + func_80C100DC(this); +} +``` +and can fill in the top end of the struct: +```C +typedef struct EnRecepgirl { + /* 0x0000 */ Actor actor; + /* 0x0144 */ SkelAnime skelAnime; + /* 0x0188 */ Vec3s jointTable[24]; + /* 0x0218 */ Vec3s morphTable[24]; + /* 0x02A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x02AC */ u8 unk_2AC; + /* 0x02AD */ char unk_2AD[0x1]; + /* 0x02AE */ Vec3s unk_2AE; +} EnRecepgirl; // size = 0x2B4 +``` + +It's entirely possible that `unk_2AD` is not real, and is just padding: see [Types, structs, and padding](types_structs_padding.md) for the details. We'll find out once we've finished all the functions. If we look at the diff, we find that one line is different: + +![EnRecepgirl_Update's stack difference](images/EnRecepgirl_stack_diff.png) + +So `sp30` is in the wrong place: it's `4` too high on the stack in ours. This is because the main four functions do not actually take `GlobalContext`: they really take `Gamestate` and recast it with a temp, just like `EnRecepgirl* this = THIS;`. We haven't implemented this in the repo yet, though, so for now, it suffices to put a pad on the stack where it would go instead: experience has shown when it matters, it goes above the actor recast, so we end up with +```C +void EnRecepgirl_Update(Actor *thisx, GlobalContext *globalCtx) { + s32 pad; + EnRecepgirl* this = THIS; + Vec3s sp30; + + this->actionFunc(this, globalCtx); + func_800E9250(globalCtx, &this->actor, &this->unk_2AE, &sp30, this->actor.focus.pos); + func_80C100DC(this); +} +``` +and this now matches. + +**N.B.** sometimes using an actual `GlobalContext* globalCtx` temp is required for matching: add it to your bag o' matching memes. + +### *Some remarks about the function stack + +(Feel free to skip this if you'd rather finish the actor first.) + +The (function) stack is used to store variables. It has rather more space and is somewhat less volatile than registers (it still can't be used outside a function, except by a called function accessing its arguments). The stack a function sets up for itself to use is called its *stack frame* or *function frame* (or just *function stack* or *the stack*, although strictly speaking the frame itself is not a stack, since not just the top variable is accessed), and the function frames themselves form an (genuine) stack called the *call stack*. In MIPS this stack grows downwards, and its size is always a multiple of 0x8 (in case you want to put a 64-bit value on it, although almost no N64 game functions do this). The compiler uses the stack in a single function frame in the following way: + +| user-defined variables | +| compiler-defined varibles | +| saved registers | +| argument registers/stack | + +where sp is at the very bottom of this table, and the function that called the current function would have its frame above this one. We have seen a couple of aspects of this stack behaviour already: saving the function arguments onto it in [`EnRecepgirl_Destroy`](#destroy), and here, requiring an extre user stack variable to be the correct size. + +Anyway, back to EnRecepgirl. 4 functions to go... + +## `func_80C100DC` + +This is the final non-draw function. You know what to do now: remake the context and run mips2c: +```C +void func_80C100DC(EnRecepgirl *this) { + u8 temp_t6; + u8 temp_v0; + + temp_v0 = this->unk_2AC; + temp_t6 = temp_v0 + 1; + if (temp_v0 != 0) { + this->unk_2AC = temp_t6; + if ((temp_t6 & 0xFF) == 4) { + this->unk_2AC = 0; + return; + } + // Duplicate return node #5. Try simplifying control flow for better match + return; + } + if (Rand_ZeroOne() < 0.02f) { + this->unk_2AC += 1; + } +} +``` + +Well, hmm. It's pretty hard to tell what's going on here. Finally it's time to really use `diff.py`. this function is a bit more typical of what to expect: this actor has been very easy so far! + +![func_80C100DC, first diff](images/func_80C100DC_diff1.png) + +Well, it's still *pretty* close. But the registers are all wrong. Firstly, `temp_t6` is already `u8`, so the `& 0xFF` is again ineffective, so let's try removing it... + +![func_80C100DC, second diff](images/func_80C100DC_diff2.png) + +It's not obvious that did much: it even looks a bit worse. +```C + temp_v0 = this->unk_2AC; + temp_t6 = temp_v0 + 1; + if (temp_v0 != 0) { + this->unk_2AC = temp_t6; +``` +may remind you of that loop we decompiled, where mips2c unnecessarily made two temps. Let's walk through what this does. +- First, it saves the value of `this->unk_2AC` into `v0` +- Then, it adds one to it and stores it in `t6`. +- It checks if the first saved value is zero +- If it is, it sets `this->unk_2AC` to the incremented value and carries on. + +Well, if we allow ourselves to bend the order of operations a little, there's a much simpler way to write this with no temps, namely +```C + if (this->unk_2AC != 0) { + this->unk_2AC++; +``` +So let's try removing both temps: +```C +void func_80C100DC(EnRecepgirl *this) { + if (this->unk_2AC != 0) { + this->unk_2AC++; + if (this->unk_2AC == 4) { + this->unk_2AC = 0; + return; + } + return; + } + if (Rand_ZeroOne() < 0.02f) { + this->unk_2AC++; + } +} +``` + +![func_80C100DC, matching](images/func_80C100DC_diff3.png) + +There we go. + +Even though this matches, it is not quite according to our style: remember what was said earlier about early returns. Here, both of them can be removed and replaced by a single else without affecting matching: +```C +void func_80C100DC(EnRecepgirl *this) { + if (this->unk_2AC != 0) { + this->unk_2AC++; + if (this->unk_2AC == 4) { + this->unk_2AC = 0; + } + } else if (Rand_ZeroOne() < 0.02f) { + this->unk_2AC++; + } +} +``` +and this is how we prefer it to be written. + +With that, the last remaining function is `EnJj_Draw`. Draw functions have an extra layer of macroing that is required, so we shall cover them separately. + +Next: [Draw functions](draw_functions.md) diff --git a/docs/tutorial/types_structs_padding.md b/docs/tutorial/types_structs_padding.md new file mode 100644 index 000000000..dc72e0100 --- /dev/null +++ b/docs/tutorial/types_structs_padding.md @@ -0,0 +1,159 @@ +# Types, structs, and padding + +Reminders: +- In N64 MIPS, 1 word is 4 bytes (yes, the N64 is meant to be 64-bit, but it mostly isn't used like it in MM or OoT) +- A byte is 8 bits, or 2 hex digits + + +## Types + +The following are the common data types used everywhere: + +| Name | Size | Comment | +| ---- | ----- | -------- | +| char | 1 byte | character | +| u8 | 1 byte | unsigned byte | +| s8 | 1 byte | signed byte | +| u16 | 2 bytes | unsigned short | +| s16 | 2 bytes | signed short | +| u32 | 4 bytes/1 word | unsigned int | +| s32 | 4 bytes/1 word | signed int | +| void* | 4 bytes/1 word | pointer | +| uintptr_t | 4 bytes/1 word | pointer^ | +| intptr_t | 4 bytes/1 word | pointer^ | + +A pointer is sometimes mistaken for an `s32`. The last two, marked with `^`, are special types allowing for arithmetic on generic pointers, and are to be used over `u32`. + +`s32` is the default thing to use in the absence of any other information about the data. + +Useful data for guessing types: +- `u8` is about 7 times more common than `s8` +- `s16` is about 16 times more common than `u16` +- `s32` is about 8 times more common than `u32` + +Another useful thing to put here: the typedef for an action function is +```C +typedef void (*ActorNameActionFunc)(struct ActorName*, GlobalContext*); +``` +where you replace `ActorName` by the actual actor name as used elsewhere in the actor, e.g. `EnRecepgirl`. In MM these typedefs have been automatically generated, so you don't need to constantly copy from here or another actor any more. + + +## Some Common Structs + +Here are the usual names and the sizes of some of the most common structs used in actors and their structs: +| Type | Usual name | Size | +| ----------------------- | --------------------- | --------------- | +| `Actor` | `actor` | 0x144 | +| `DynaPolyActor` | `dyna` | 0x15C | +| `Vec3f` | | 0xC | +| `Vec3s` | | 0x6 | +| `SkelAnime` | `skelAnime` | 0x44 | +| `Vec3s[limbCount]` | `jointTable` | 0x6 * limbCount | +| `Vec3s[limbCount]` | `morphTable` | 0x6 * limbCount | +| `ColliderCylinder` | `collider` | 0x4C | +| `ColliderQuad` | `collider` | 0x80 | +| `ColliderJntSph` | `collider` | 0x20 | +| `ColliderJntSphElement` | `colliderElements[n]` | 0x40 * n | +| `ColliderTris` | `collider` | 0x20 | +| `ColliderTrisElement` | `colliderElements[n]` | 0x5C * n | + +Note that `Actor` and `DynaPolyActor` have changed size from OoT. + + +## Padding + +### Alignment + +A stored variable or piece of data does not always start immediately after the previous one: there may be padding in between: `0`s that are never written or referred to, and so ignored. This is to do with how the processor accesses memory: it reads 1 word at a time, so multibyte objects are aligned so they cross as few word boundaries as possible. + +The clearest example of this is that variables with types that are 1 word in size (`s32`s and pointers, for example) are automatically shifted so that they start at the beginning of the next word, i.e. at an offset ending with one of `0,4,8,C`: this is called 4-alignment. This will also happen to `s16`s, but with 2-alignment + +### Struct padding + +In actor structs, this manifests as some of the char arrays not being completely replaced by actual variables. + +```C +typedef struct EnRecepgirl { + /* 0x0000 */ Actor actor; + /* 0x0144 */ SkelAnime skelAnime; + /* 0x0188 */ Vec3s jointTable[24]; + /* 0x0218 */ Vec3s morphTable[24]; + /* 0x02A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x02AC */ u8 unk_2AC; + /* 0x02AE */ Vec3s unk_2AE; +} EnRecepgirl; // size = 0x2B4 +``` + +Notice that even though `unk_2AC` is a `u8`, `unk_2AE` is at `this + 0x2AE`, rather than `0x2AD`: we removed the extra char of padding while working on this actor. + +How do structs themselves align? A struct has the same alignment properties as its longest constituent (that is not itself a struct). For example, a `Vec3f` has 4-alignment, while a `Vec3s` has 2-alignment. + +A struct may also pad at the end: it will pad to the size of its largest non-struct element. Notably, every actor struct has size a whole number of words as well, so this phenomenon also occurs at the ends of structs. For example, ObjTree has the following actor struct: + +```C +typedef struct ObjTree { + /* 0x0000 */ DynaPolyActor dyna; + /* 0x015C */ ColliderCylinder collider; + /* 0x01A8 */ ObjTreeActionFunc actionFunc; + /* 0x01AC */ f32 unk_1AC; + /* 0x01B0 */ s16 unk_1B0; + /* 0x01B2 */ s16 unk_1B2; + /* 0x01B4 */ s16 unk_1B4; +} ObjTree; // size = 0x1B8 +``` + +The struct pads to be `0x1B8` in size even though the last actual variable ends at `0x1B6`. + +For more information on this topic, there are plenty of guides elsewhere on the Internet, for example [The Lost Art of Structure Packing](http://www.catb.org/esr/structure-packing/). *The main thing to bear in mind for decomp purposes is that after finishing the functions, there may be some small parts of the actor struct that are just not used, because they were originally just struct padding.* + +### Padding at the end of sections + +In the ROM, each actor is layed out in the following order: + +- .text (Function instructions, separated into .s files, aka .text) +- .data (contents of the .data.s file) +- .rodata (read-only data, includes strings, floats, jumptables etc., almost entirely moved to the appropriate function files in the MM repo) +- .bss (varibles initialised to 0, not assigned a value when declared) +- .reloc (relocation information: you can ignore this) + +Each section is 0x10/16-aligned (qword aligned), i.e. each new section begins at an address with last digit `0`. This means that there can occur up to three words of padding at the end of each section. + +(The same occurs with any object divided into multiple .c files: each new file becomes 0x10 aligned.) + +#### Padding at the end of .text (function instructions) + +In function instructions, this manifests as a set of `nop`s at the end of the last function: for example, in EnRecepGirl, +``` +/* 0006B0 80C10680 27BD0038 */ addiu $sp, $sp, 0x38 +/* 0006B4 80C10684 03E00008 */ jr $ra +/* 0006B8 80C10688 00000000 */ nop +/* 0006BC 80C1068C 00000000 */ nop +``` + +the second `nop` is just extra `0`s of padding, as you can see in the machine code (third column in the comment) + +Once the rest of the functions match, this is automatic. So you never need to worry about these. + +#### Padding at the end of .data + +In data, the last entry may contain up to 3 words of 0s as padding. These can safely be removed when migrating data, but make sure that you don't remove something that actually is accessed by the function and happens to be 0! + +For example, in `ObjTree` we found that the last symbol in the data, +``` +glabel D_80B9A5BC +/* 00006C 80B9A5BC */ .word 0x08000000 +/* 000070 80B9A5C0 */ .word 0x00000000 +/* 000074 80B9A5C4 */ .word 0xFE000000 +/* 000078 80B9A5C8 */ .word 0x00000000 +/* 00007C 80B9A5CC */ .word 0x00000000 +``` +had 2 words of padding: only the first 3 words are actually used in the `CollisionCheckInfoInit2`. + +### Padding within the .data section + +Every distinct symbol in data is 4-aligned (word-aligned). So in the data, even if you have two `u8`s, they will be stored in addresses starting successive words: + +```C +u8 byte1 = 1 // will go to address ending in 0 +u8 byte2 = 2 // Will go to address ending in 4 +``` diff --git a/docs/tutorial/vscode.md b/docs/tutorial/vscode.md new file mode 100644 index 000000000..91f2f659c --- /dev/null +++ b/docs/tutorial/vscode.md @@ -0,0 +1,84 @@ +# VSCode + +A lot of people on this project use VSCode as their coding environment. + +## Extensions + +There are a number of useful extensions available to make work more efficient: + +- C/C++ IntelliSense +- Clang-Format +- HexInspector (hover on numbers for float and other info) +- NumberMonger (convert hex to decimal and vice versa) +- ~~bracket pair colorizer 2~~ (now obsolete due to VSCode's built-in bracket colouring) +- Better MIPS Support + + + + +## Useful stuff to know: + +- Ctrl + Alt + Up/Down (on Windows, on Linux it's Ctrl + Shift + Up/Down or Shift + Alt + Up/Down) gives multicursors across consecutive lines. If you want several cursors in a more diverse arrangement, middle clicking works, at least on Windows. +- Alt + Up/Down moves lines up/down. +- Shift + Alt + Up/Down (Linux: Ctrl + Shift + Alt + Up/Down) copies lines up/down. +- Ctrl + P offers a box to use to search for and open files. +- Ctrl + Shift + P offers a box for commands like editing settings or reloading the window. + +- Make use of VSCode's search/search-and-replace features. + - Ctrl + Click goes to a definition. + - Ctrl + F for search in current file + - Ctrl + H for replace in current file + - Ctrl + Shift + F for search in all files + - Ctrl + Shift + H for replace in all files + - F2 for Rename symbol + +Many of VS Code's other shortcuts can be found on [its getting started page](https://code.visualstudio.com/docs/getstarted/keybindings), which also has links to OS-specific PDFs. + +## C/C++ configuration + +You can create a `.vscode/c_cpp_properties.json` file with `C/C++: Edit Configurations (JSON)` in the command box to customise how IntelliSense reads the repository (stuff like where to look for includes, flags, compiler defines, etc.) to make VSCode's IntelliSense plugin better able to understand the structure of the repository. This is a good default one to use for this project's repository: + +```jsonc +{ + "configurations": [ + { + "name": "Linux", + "compilerPath": "${default}", // Needs to not be "" for -m32 to work + "compilerArgs": [ + "-m32" // Removes integer truncation warnings with gbi macros + ], + "intelliSenseMode": "${default}", // Shouldn't matter + "includePath": [ // Matches makefile's includes + "${workspaceFolder}/**", + "src", + "assets", + "build", + "include" + ], + "defines": [ + "_LANGUAGE_C" // For gbi.h + ], + "cStandard": "gnu89", // C89 + some GNU extensions from C99 like C++ comments + "cppStandard": "${default}" // Only ZAPD uses C++, so doesn't really matter + } + ], + "version": 4 +} +``` + +## Settings + +Add the following to (or create) the `.vscode/settings.json` file for VSCode to search the gitignored asset and assembly files by default: + +```jsonc +{ + "search.useIgnoreFiles": false, + "search.exclude": { + "**/.git": true, + "baserom/**": true, + "build/**": true, + "expected/**": true, + "nonmatchings/**": true, + }, +} +``` diff --git a/docs/useful_conversions.md b/docs/useful_conversions.md new file mode 100644 index 000000000..102c20daa --- /dev/null +++ b/docs/useful_conversions.md @@ -0,0 +1,275 @@ +# Useful conversions + +This article contains some useful conversion tables. Beware that we will omit the `0x` prefix on hex numbers: it will be evident from context which base is intended. + +- [Degrees and hex/binary angles](#degrees-and-hex-binary-angles) + * [Small angles](#small-angles) + * [Larger angles](#larger-angles) +- [Round decimal numbers in hex](#round-decimal-numbers-in-hex) + * [Small](#small) + * [Medium](#medium) + * [Large](#large) +- [Extra large](#extra-large) +- [Shifts/powers of 2 in dec and hex](#shifts-powers-of-2-in-dec-and-hex) + +## Degrees and hex/binary angles + +Conversion of degrees to binary angles in the two common ways, that give different answers. Table is produced using this script: + +```bash +$ printf "%s\t%s\t%s\n" "d" "d * 2^16/360" "2^16/360 * d" ; for i in {0..360..5} ; do printf "%d\t%X\t\t%X\n" "$i" $(( "$i" * 0x10000 / 360 )) $(( 0x10000 / 360 * "$i" )) ; done +``` + +### Small angles + +| `d` | `d * 2^16/360` | `2^16/360 * d` | +| ----: | -------------: | -------------: | +| 0 | 0 | 0 | +| 1 | B6 | B6 | +| 2 | 16C | 16C | +| 3 | 222 | 222 | +| 4 | 2D8 | 2D8 | +| 5 | 38E | 38E | +| 6 | 444 | 444 | +| 7 | 4FA | 4FA | +| 8 | 5B0 | 5B0 | +| 9 | 666 | 666 | +| 10 | 71C | 71C | +| 11 | 7D2 | 7D2 | +| 12 | 888 | 888 | +| 13 | 93E | 93E | +| 14 | 9F4 | 9F4 | +| 15 | AAA | AAA | +| 16 | B60 | B60 | +| 17 | C16 | C16 | +| 18 | CCC | CCC | +| 19 | D82 | D82 | +| 20 | E38 | E38 | +| 21 | EEE | EEE | +| 22 | FA4 | FA4 | +| 23 | 105B | 105A | +| 24 | 1111 | 1110 | +| 25 | 11C7 | 11C6 | +| 26 | 127D | 127C | +| 27 | 1333 | 1332 | +| 28 | 13E9 | 13E8 | +| 29 | 149F | 149E | +| 30 | 1555 | 1554 | + +### Larger angles + +| `d` | `d * 2^16/360` | `2^16/360 * d` | +| -----: | -------------: | -------------: | +| 0 | 0 | 0 | +| 5 | 38E | 38E | +| 10 | 71C | 71C | +| 15 | AAA | AAA | +| 20 | E38 | E38 | +| 25 | 11C7 | 11C6 | +| 30 | 1555 | 1554 | +| 35 | 18E3 | 18E2 | +| 40 | 1C71 | 1C70 | +| 45 | 2000 | 1FFE | +| 50 | 238E | 238C | +| 55 | 271C | 271A | +| 60 | 2AAA | 2AA8 | +| 65 | 2E38 | 2E36 | +| 70 | 31C7 | 31C4 | +| 75 | 3555 | 3552 | +| 80 | 38E3 | 38E0 | +| 85 | 3C71 | 3C6E | +| 90 | 4000 | 3FFC | +| 95 | 438E | 438A | +| 100 | 471C | 4718 | +| 105 | 4AAA | 4AA6 | +| 110 | 4E38 | 4E34 | +| 115 | 51C7 | 51C2 | +| 120 | 5555 | 5550 | +| 125 | 58E3 | 58DE | +| 130 | 5C71 | 5C6C | +| 135 | 6000 | 5FFA | +| 140 | 638E | 6388 | +| 145 | 671C | 6716 | +| 150 | 6AAA | 6AA4 | +| 155 | 6E38 | 6E32 | +| 160 | 71C7 | 71C0 | +| 165 | 7555 | 754E | +| 170 | 78E3 | 78DC | +| 175 | 7C71 | 7C6A | +| 180 | 8000 | 7FF8 | +| 185 | 838E | 8386 | +| 190 | 871C | 8714 | +| 195 | 8AAA | 8AA2 | +| 200 | 8E38 | 8E30 | +| 205 | 91C7 | 91BE | +| 210 | 9555 | 954C | +| 215 | 98E3 | 98DA | +| 220 | 9C71 | 9C68 | +| 225 | A000 | 9FF6 | +| 230 | A38E | A384 | +| 235 | A71C | A712 | +| 240 | AAAA | AAA0 | +| 245 | AE38 | AE2E | +| 250 | B1C7 | B1BC | +| 255 | B555 | B54A | +| 260 | B8E3 | B8D8 | +| 265 | BC71 | BC66 | +| 270 | C000 | BFF4 | +| 275 | C38E | C382 | +| 280 | C71C | C710 | +| 285 | CAAA | CA9E | +| 290 | CE38 | CE2C | +| 295 | D1C7 | D1BA | +| 300 | D555 | D548 | +| 305 | D8E3 | D8D6 | +| 310 | DC71 | DC64 | +| 315 | E000 | DFF2 | +| 320 | E38E | E380 | +| 325 | E71C | E70E | +| 330 | EAAA | EA9C | +| 335 | EE38 | EE2A | +| 340 | F1C7 | F1B8 | +| 345 | F555 | F546 | +| 350 | F8E3 | F8D4 | +| 355 | FC71 | FC62 | +| 360 | 10000 | FFF0 | + +Similarly for small angles with a smaller increment: + + + +## Round decimal numbers in hex + +```bash +printf "%s\t%s\n" "dec" "hex" ; for i in {0..100..5} ; do printf "%d\t%X\n" "$i" "$i" ; done +``` + +### Small + +| dec | hex | +| -----: | --: | +| 0 | 0 | +| 5 | 5 | +| 10 | A | +| 15 | F | +| 20 | 14 | +| 25 | 19 | +| 30 | 1E | +| 35 | 23 | +| 40 | 28 | +| 45 | 2D | +| 50 | 32 | +| 55 | 37 | +| 60 | 3C | +| 65 | 41 | +| 70 | 46 | +| 75 | 4B | +| 80 | 50 | +| 85 | 55 | +| 90 | 5A | +| 95 | 5F | +| 100 | 64 | + + +### Medium + +| dec | hex | +| -----: | ---: | +| 100 | 64 | +| 150 | 96 | +| 200 | C8 | +| 250 | FA | +| 300 | 12C | +| 350 | 15E | +| 400 | 190 | +| 450 | 1C2 | +| 500 | 1F4 | +| 550 | 226 | +| 600 | 258 | +| 650 | 28A | +| 700 | 2BC | +| 750 | 2EE | +| 800 | 320 | +| 850 | 352 | +| 900 | 384 | +| 950 | 3B6 | +| 1000 | 3E8 | + + +### Large + +| dec | hex | +| -----: | ----: | +| 1000 | 3E8 | +| 1500 | 5DC | +| 2000 | 7D0 | +| 2500 | 9C4 | +| 3000 | BB8 | +| 3500 | DAC | +| 4000 | FA0 | +| 4500 | 1194 | +| 5000 | 1388 | +| 5500 | 157C | +| 6000 | 1770 | +| 6500 | 1964 | +| 7000 | 1B58 | +| 7500 | 1D4C | +| 8000 | 1F40 | +| 8500 | 2134 | +| 9000 | 2328 | +| 9500 | 251C | +| 10000 | 2710 | + + +## Extra large +| dec | hex | +| -----: | ----: | +| 10000 | 2710 | +| 11000 | 2AF8 | +| 12000 | 2EE0 | +| 13000 | 32C8 | +| 14000 | 36B0 | +| 15000 | 3A98 | +| 16000 | 3E80 | +| 17000 | 4268 | +| 18000 | 4650 | +| 19000 | 4A38 | +| 20000 | 4E20 | +| 21000 | 5208 | +| 22000 | 55F0 | +| 23000 | 59D8 | +| 24000 | 5DC0 | +| 25000 | 61A8 | +| 26000 | 6590 | +| 27000 | 6978 | +| 28000 | 6D60 | +| 29000 | 7148 | +| 30000 | 7530 | + +## Shifts/powers of 2 in dec and hex + +```bash +$ printf "%s\t%s\t%s\n" "n" "1 << n (hex)" "1 << n (dec)" ; for i in {0..15..1} ; do printf "%d\t%X\t\t%d\n" "$i" $(( 1 << "$i" )) $(( 1 << "$i" )) ; done +``` +`1 << n` is the same as `2^n`. + +| `n` | `1 << n` (hex) | `1 << n` (dec) | +| -----: | -------------: | -------------: | +| 0 | 1 | 1 | +| 1 | 2 | 2 | +| 2 | 4 | 4 | +| 3 | 8 | 8 | +| 4 | 10 | 16 | +| 5 | 20 | 32 | +| 6 | 40 | 64 | +| 7 | 80 | 128 | +| 8 | 100 | 256 | +| 9 | 200 | 512 | +| 10 | 400 | 1024 | +| 11 | 800 | 2048 | +| 12 | 1000 | 4096 | +| 13 | 2000 | 8192 | +| 14 | 4000 | 16384 | +| 15 | 8000 | 32768 | + + diff --git a/include/z64item.h b/include/z64item.h index 82dc6e352..d912169f2 100644 --- a/include/z64item.h +++ b/include/z64item.h @@ -57,7 +57,7 @@ typedef enum { /* 0x07 */ SLOT_BOMBCHU, /* 0x08 */ SLOT_STICK, /* 0x09 */ SLOT_NUT, - /* 0x0A */ SLOT_BEAN, + /* 0x0A */ SLOT_MAGIC_BEANS, /* 0x0B */ SLOT_TRADE_KEY_MAMA, /* 0x0C */ SLOT_POWDER_KEG, /* 0x0D */ SLOT_PICTO_BOX, @@ -85,7 +85,7 @@ typedef enum { /* 0x23 */ SLOT_MASK_GORON, /* 0x24 */ SLOT_MASK_ROMANI, /* 0x25 */ SLOT_MASK_CIRCUS_LEADER, - /* 0x26 */ SLOT_MASK_KAFEI, + /* 0x26 */ SLOT_MASK_KAFEIS_MASK, /* 0x27 */ SLOT_MASK_COUPLE, /* 0x28 */ SLOT_MASK_TRUTH, /* 0x29 */ SLOT_MASK_ZORA, @@ -109,7 +109,7 @@ typedef enum { /* 0x07 */ ITEM_BOMBCHU, /* 0x08 */ ITEM_STICK, /* 0x09 */ ITEM_NUT, - /* 0x0A */ ITEM_BEAN, + /* 0x0A */ ITEM_MAGIC_BEANS, /* 0x0B */ ITEM_SLINGSHOT, /* 0x0C */ ITEM_POWDER_KEG, /* 0x0D */ ITEM_PICTO_BOX, @@ -146,7 +146,7 @@ typedef enum { /* 0x2C */ ITEM_DEED_OCEAN, /* 0x2D */ ITEM_ROOM_KEY, /* 0x2E */ ITEM_LETTER_MAMA, - /* 0x2F */ ITEM_LETTER_KAFEI, + /* 0x2F */ ITEM_LETTER_TO_KAFEI, /* 0x30 */ ITEM_PENDANT_MEMORIES, /* 0x31 */ ITEM_TINGLE_MAP, /* 0x32 */ ITEM_MASK_DEKU, @@ -154,7 +154,7 @@ typedef enum { /* 0x34 */ ITEM_MASK_ZORA, /* 0x35 */ ITEM_MASK_FIERCE_DEITY, /* 0x36 */ ITEM_MASK_TRUTH, - /* 0x37 */ ITEM_MASK_KAFEI, + /* 0x37 */ ITEM_MASK_KAFEIS_MASK, /* 0x38 */ ITEM_MASK_ALL_NIGHT, /* 0x39 */ ITEM_MASK_BUNNY, /* 0x3A */ ITEM_MASK_KEATON, @@ -294,6 +294,7 @@ typedef enum { /* 0x2A */ GI_NUTS_10 = 0x2A, /* 0x32 */ GI_SHIELD_HERO = 0x32, /* 0x33 */ GI_SHIELD_MIRROR, + /* 0x35 */ GI_MAGIC_BEANS = 0x35, /* 0x3C */ GI_KEY_SMALL = 0x3C, /* 0x3E */ GI_MAP = 0x3E, /* 0x3F */ GI_COMPASS, @@ -308,7 +309,7 @@ typedef enum { /* 0x7A */ GI_MASK_ZORA, /* 0x7B */ GI_MASK_FIERCE_DEITY, /* 0x7C */ GI_MASK_TRUTH, - /* 0x7D */ GI_MASK_KAFEI, + /* 0x7D */ GI_MASK_KAFEIS_MASK, /* 0x7E */ GI_MASK_ALL_NIGHT, /* 0x7F */ GI_MASK_BUNNY, /* 0x80 */ GI_MASK_KEATON, diff --git a/include/z64object.h b/include/z64object.h index 920a9e5dd..08423ab6c 100644 --- a/include/z64object.h +++ b/include/z64object.h @@ -207,7 +207,7 @@ typedef enum { /* 0x0C3 */ OBJECT_GI_SHIELD_3, /* 0x0C4 */ OBJECT_UNSET_C4, /* 0x0C5 */ OBJECT_UNSET_C5, - /* 0x0C6 */ OBJECT_GI_BEAN, + /* 0x0C6 */ OBJECT_GI_MAGIC_BEANS, /* 0x0C7 */ OBJECT_GI_FISH, /* 0x0C8 */ OBJECT_UNSET_C8, /* 0x0C9 */ OBJECT_UNSET_C9, diff --git a/include/z64player.h b/include/z64player.h index e20b26ca7..6b156372e 100644 --- a/include/z64player.h +++ b/include/z64player.h @@ -36,7 +36,7 @@ typedef enum { typedef enum { /* 0x00 */ PLAYER_MASK_NONE, /* 0x01 */ PLAYER_MASK_TRUTH, - /* 0x02 */ PLAYER_MASK_KAFEI, + /* 0x02 */ PLAYER_MASK_KAFEIS_MASK, /* 0x03 */ PLAYER_MASK_ALL_NIGHT, /* 0x04 */ PLAYER_MASK_BUNNY, /* 0x05 */ PLAYER_MASK_KEATON, @@ -106,15 +106,15 @@ typedef enum { /* 0x2A */ PLAYER_AP_MOON_TEAR, /* 0x2B */ PLAYER_AP_DEED_LAND, /* 0x2C */ PLAYER_AP_ROOM_KEY, - /* 0x2D */ PLAYER_AP_LETTER_KAFEI, - /* 0x2E */ PLAYER_AP_BEAN, + /* 0x2D */ PLAYER_AP_LETTER_TO_KAFEI, + /* 0x2E */ PLAYER_AP_MAGIC_BEANS, /* 0x2F */ PLAYER_AP_DEED_SWAMP, /* 0x30 */ PLAYER_AP_DEED_MOUNTAIN, /* 0x31 */ PLAYER_AP_DEED_OCEAN, /* 0x33 */ PLAYER_AP_LETTER_MAMA = 0x33, /* 0x36 */ PLAYER_AP_PENDANT_MEMORIES = 0x36, /* 0x3A */ PLAYER_AP_MASK_TRUTH = 0x3A, - /* 0x3B */ PLAYER_AP_MASK_KAFEI, + /* 0x3B */ PLAYER_AP_MASK_KAFEIS_MASK, /* 0x3C */ PLAYER_AP_MASK_ALL_NIGHT, /* 0x3D */ PLAYER_AP_MASK_BUNNY, /* 0x3E */ PLAYER_AP_MASK_KEATON, diff --git a/spec b/spec index 94967bb0d..ff445e731 100644 --- a/spec +++ b/spec @@ -1627,8 +1627,7 @@ beginseg name "ovl_En_Ms" compress include "build/src/overlays/actors/ovl_En_Ms/z_en_ms.o" - include "build/data/ovl_En_Ms/ovl_En_Ms.data.o" - include "build/data/ovl_En_Ms/ovl_En_Ms.reloc.o" + include "build/src/overlays/actors/ovl_En_Ms/ovl_En_Ms_reloc.o" endseg beginseg @@ -4457,8 +4456,7 @@ beginseg name "ovl_Obj_Tree" compress include "build/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.o" - include "build/data/ovl_Obj_Tree/ovl_Obj_Tree.data.o" - include "build/data/ovl_Obj_Tree/ovl_Obj_Tree.reloc.o" + include "build/src/overlays/actors/ovl_Obj_Tree/ovl_Obj_Tree_reloc.o" endseg beginseg @@ -5264,8 +5262,7 @@ beginseg name "ovl_En_Recepgirl" compress include "build/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.o" - include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.data.o" - include "build/data/ovl_En_Recepgirl/ovl_En_Recepgirl.reloc.o" + include "build/src/overlays/actors/ovl_En_Recepgirl/ovl_En_Recepgirl_reloc.o" endseg beginseg diff --git a/src/code/code_8012EC80.c b/src/code/code_8012EC80.c index 3bd5aac92..34ad973f6 100644 --- a/src/code/code_8012EC80.c +++ b/src/code/code_8012EC80.c @@ -45,7 +45,7 @@ void* gItemIcons[] = { 0x08007000, // ITEM_BOMBCHU 0x08008000, // ITEM_STICK 0x08009000, // ITEM_NUT - 0x0800A000, // ITEM_BEAN + 0x0800A000, // ITEM_MAGIC_BEANS 0x0800B000, // ITEM_SLINGSHOT 0x0800C000, // ITEM_POWDER_KEG 0x0800D000, // ITEM_PICTO_BOX @@ -82,7 +82,7 @@ void* gItemIcons[] = { 0x0802C000, // ITEM_DEED_OCEAN 0x0802D000, // ITEM_ROOM_KEY 0x0802E000, // ITEM_LETTER_MAMA - 0x0802F000, // ITEM_LETTER_KAFEI + 0x0802F000, // ITEM_LETTER_TO_KAFEI 0x08030000, // ITEM_PENDANT_MEMORIES 0x08031000, // ITEM_TINGLE_MAP 0x08032000, // ITEM_MASK_DEKU @@ -90,7 +90,7 @@ void* gItemIcons[] = { 0x08034000, // ITEM_MASK_ZORA 0x08035000, // ITEM_MASK_FIERCE_DEITY 0x08036000, // ITEM_MASK_TRUTH - 0x08037000, // ITEM_MASK_KAFEI + 0x08037000, // ITEM_MASK_KAFEIS_MASK 0x08038000, // ITEM_MASK_ALL_NIGHT 0x08039000, // ITEM_MASK_BUNNY 0x0803A000, // ITEM_MASK_KEATON @@ -180,7 +180,7 @@ u8 gItemSlots[] = { SLOT_BOMBCHU, // ITEM_BOMBCHU SLOT_STICK, // ITEM_STICK SLOT_NUT, // ITEM_NUT - SLOT_BEAN, // ITEM_BEAN + SLOT_MAGIC_BEANS, // ITEM_MAGIC_BEANS SLOT_TRADE_KEY_MAMA, // ITEM_SLINGSHOT SLOT_POWDER_KEG, // ITEM_POWDER_KEG SLOT_PICTO_BOX, // ITEM_PICTO_BOX @@ -217,7 +217,7 @@ u8 gItemSlots[] = { SLOT_TRADE_DEED, // ITEM_DEED_OCEAN SLOT_TRADE_KEY_MAMA, // ITEM_ROOM_KEY SLOT_TRADE_KEY_MAMA, // ITEM_LETTER_MAMA - SLOT_TRADE_COUPLE, // ITEM_LETTER_KAFEI + SLOT_TRADE_COUPLE, // ITEM_LETTER_TO_KAFEI SLOT_TRADE_COUPLE, // ITEM_PENDANT_MEMORIES SLOT_TRADE_COUPLE, // ITEM_TINGLE_MAP SLOT_MASK_DEKU, // ITEM_MASK_DEKU @@ -225,7 +225,7 @@ u8 gItemSlots[] = { SLOT_MASK_ZORA, // ITEM_MASK_ZORA SLOT_MASK_FIERCE_DEITY, // ITEM_MASK_FIERCE_DEITY SLOT_MASK_TRUTH, // ITEM_MASK_TRUTH - SLOT_MASK_KAFEI, // ITEM_MASK_KAFEI + SLOT_MASK_KAFEIS_MASK, // ITEM_MASK_KAFEIS_MASK SLOT_MASK_ALL_NIGHT, // ITEM_MASK_ALL_NIGHT SLOT_MASK_BUNNY, // ITEM_MASK_BUNNY SLOT_MASK_KEATON, // ITEM_MASK_KEATON @@ -260,7 +260,7 @@ s16 gItemPrices[] = { 0, // ITEM_BOMBCHU 0, // ITEM_STICK 0, // ITEM_NUT - 0, // ITEM_BEAN + 0, // ITEM_MAGIC_BEANS 0, // ITEM_SLINGSHOT 0, // ITEM_POWDER_KEG 0, // ITEM_PICTO_BOX diff --git a/src/code/z_face_reaction.c b/src/code/z_face_reaction.c index a6a6da5b3..d54561fdd 100644 --- a/src/code/z_face_reaction.c +++ b/src/code/z_face_reaction.c @@ -3,7 +3,7 @@ /** * Indices of the columns of this array: * - index 0x00: PLAYER_MASK_TRUTH - * - index 0x01: PLAYER_MASK_KAFEI + * - index 0x01: PLAYER_MASK_KAFEIS_MASK * - index 0x02: PLAYER_MASK_ALL_NIGHT * - index 0x03: PLAYER_MASK_BUNNY * - index 0x04: PLAYER_MASK_KEATON diff --git a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c index fa8eb472f..ee51c7444 100644 --- a/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c +++ b/src/overlays/actors/ovl_En_Bji_01/z_en_bji_01.c @@ -144,7 +144,7 @@ void func_809CD028(EnBji01* this, GlobalContext* globalCtx) { } break; case PLAYER_FORM_HUMAN: - if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEI) { + if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) { this->textId = 0x236A; } else if (gSaveContext.weekEventReg[74] & 0x10) { this->textId = 0x5F6; diff --git a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c index 413dbdac6..40eac8099 100644 --- a/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c +++ b/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c @@ -184,7 +184,7 @@ void func_809438F8(EnDaiku* this, GlobalContext* globalCtx) { s32 day = gSaveContext.day - 1; s32 pad2; - if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEI) { + if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) { if (this->unk_278 == ENDAIKU_PARAMS_FF_1) { this->actor.textId = 0x2365; } else { diff --git a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c index b25f19222..bf159f7de 100644 --- a/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c +++ b/src/overlays/actors/ovl_En_Fsn/z_en_fsn.c @@ -130,7 +130,7 @@ u16 EnFsn_GetWelcome(GlobalContext* globalCtx) { case PLAYER_MASK_GORON: case PLAYER_MASK_ZORA: return 0x29FD; - case PLAYER_MASK_KAFEI: + case PLAYER_MASK_KAFEIS_MASK: return 0x2364; default: return 0x29FE; diff --git a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c index d89ed4582..6b55a48a7 100644 --- a/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c +++ b/src/overlays/actors/ovl_En_Ma_Yto/z_en_ma_yto.c @@ -1140,7 +1140,7 @@ void EnMaYto_DefaultStartDialogue(EnMaYto* this, GlobalContext* globalCtx) { this->textId = 0x235E; break; - case PLAYER_MASK_KAFEI: + case PLAYER_MASK_KAFEIS_MASK: EnMaYto_SetFaceExpression(this, 1, 2); func_801518B0(globalCtx, 0x235F, &this->actor); this->textId = 0x235F; @@ -1198,7 +1198,7 @@ void EnMaYto_DinnerStartDialogue(EnMaYto* this, GlobalContext* globalCtx) { this->textId = 0x235E; break; - case PLAYER_MASK_KAFEI: + case PLAYER_MASK_KAFEIS_MASK: func_801518B0(globalCtx, 0x235F, &this->actor); this->textId = 0x235F; break; diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/src/overlays/actors/ovl_En_Ms/z_en_ms.c index e9a779376..efc0ea175 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.c +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.c @@ -1,7 +1,7 @@ /* * File: z_en_ms.c * Overlay: ovl_En_Ms - * Description: Bean salesman + * Description: Bean Seller */ #include "z_en_ms.h" @@ -15,7 +15,11 @@ void EnMs_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnMs_Update(Actor* thisx, GlobalContext* globalCtx); void EnMs_Draw(Actor* thisx, GlobalContext* globalCtx); -#if 0 +void EnMs_Wait(EnMs* this, GlobalContext* globalCtx); +void EnMs_Talk(EnMs* this, GlobalContext* globalCtx); +void EnMs_Sell(EnMs* this, GlobalContext* globalCtx); +void EnMs_TalkAfterPurchase(EnMs* this, GlobalContext* globalCtx); + const ActorInit En_Ms_InitVars = { ACTOR_EN_MS, ACTORCAT_NPC, @@ -28,38 +32,156 @@ const ActorInit En_Ms_InitVars = { (ActorFunc)EnMs_Draw, }; -// static ColliderCylinderInitType1 sCylinderInit = { -static ColliderCylinderInitType1 D_80952BA0 = { - { COLTYPE_NONE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, COLSHAPE_CYLINDER, }, - { ELEMTYPE_UNK0, { 0x00000000, 0x00, 0x00 }, { 0xF7CFFFFF, 0x00, 0x00 }, TOUCH_NONE | TOUCH_SFX_NORMAL, BUMP_ON, OCELEM_ON, }, +static ColliderCylinderInitType1 sCylinderInit = { + { + COLTYPE_NONE, + AT_NONE, + AC_ON | AC_TYPE_PLAYER, + OC1_ON | OC1_TYPE_ALL, + COLSHAPE_CYLINDER, + }, + { + ELEMTYPE_UNK0, + { 0x00000000, 0x00, 0x00 }, + { 0xF7CFFFFF, 0x00, 0x00 }, + TOUCH_NONE | TOUCH_SFX_NORMAL, + BUMP_ON, + OCELEM_ON, + }, { 22, 37, 0, { 0, 0, 0 } }, }; -// static InitChainEntry sInitChain[] = { -static InitChainEntry D_80952BCC[] = { +static InitChainEntry sInitChain[] = { ICHAIN_U8(targetMode, 2, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 500, ICHAIN_STOP), }; -#endif +extern AnimationHeader D_060005EC; +extern FlexSkeletonHeader D_06003DC0; -extern ColliderCylinderInit D_80952BA0; -extern InitChainEntry D_80952BCC[]; +void EnMs_Init(Actor* thisx, GlobalContext* globalCtx) { + EnMs* this = THIS; -extern UNK_TYPE D_060005EC; + Actor_ProcessInitChain(thisx, sInitChain); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06003DC0, &D_060005EC, this->jointTable, this->morphTable, 9); + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinderType1(globalCtx, &this->collider, &this->actor, &sCylinderInit); + ActorShape_Init(&this->actor.shape, 0.0f, func_800B3FC0, 35.0f); + Actor_SetScale(&this->actor, 0.015f); + this->actor.colChkInfo.mass = MASS_IMMOVABLE; // Eating Magic Beans all day will do that to you + this->actionFunc = EnMs_Wait; + this->actor.speedXZ = 0.0f; + this->actor.velocity.y = 0.0f; + this->actor.gravity = -1.0f; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Init.s") +void EnMs_Destroy(Actor* thisx, GlobalContext* globalCtx) { + EnMs* this = THIS; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Destroy.s") + Collider_DestroyCylinder(globalCtx, &this->collider); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_80952734.s") +void EnMs_Wait(EnMs* this, GlobalContext* globalCtx) { + s16 yawDiff = this->actor.yawTowardsPlayer - this->actor.shape.rot.y; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_809527F8.s") + if (gSaveContext.inventory.items[SLOT_MAGIC_BEANS] == ITEM_NONE) { + this->actor.textId = 0x92E; // "[...] You're the first customer [...]" + } else { + this->actor.textId = 0x932; // "[...] So you liked my Magic Beans [...]" + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_809529AC.s") + if (func_800B84D0(&this->actor, globalCtx) != 0) { + this->actionFunc = EnMs_Talk; + } else if ((this->actor.xzDistToPlayer < 90.0f) && (ABS_ALT(yawDiff) < 0x2000)) { + func_800B8614(&this->actor, globalCtx, 90.0f); + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/func_80952A1C.s") +void EnMs_Talk(EnMs* this, GlobalContext* globalCtx) { + switch (func_80152498(&globalCtx->msgCtx)) { + case 6: + if (func_80147624(globalCtx) != 0) { + this->actionFunc = EnMs_Wait; + } + break; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Update.s") + case 5: + if (func_80147624(globalCtx) != 0) { + func_801477B4(globalCtx); + func_800B8A1C(&this->actor, globalCtx, GI_MAGIC_BEANS, this->actor.xzDistToPlayer, + this->actor.playerHeightRel); + this->actionFunc = EnMs_Sell; + } + break; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Ms/EnMs_Draw.s") + case 4: + if (func_80147624(globalCtx) != 0) { + switch (globalCtx->msgCtx.choiceIndex) { + case 0: // yes + func_801477B4(globalCtx); + if (gSaveContext.rupees < 10) { + play_sound(NA_SE_SY_ERROR); + func_80151938(globalCtx, 0x935); // "[...] You don't have enough Rupees." + } else if (AMMO(ITEM_MAGIC_BEANS) >= 20) { + play_sound(NA_SE_SY_ERROR); + func_80151938(globalCtx, 0x937); // "[...] You can't carry anymore." + } else { + func_8019F208(); + func_800B8A1C(&this->actor, globalCtx, GI_MAGIC_BEANS, 90.0f, 10.0f); + func_801159EC(-10); + this->actionFunc = EnMs_Sell; + } + break; + + case 1: // no + default: + func_8019F230(); + func_80151938(globalCtx, 0x934); // "[...] Well, if your mood changes [...]" + break; + } + } + break; + default: + break; + } +} + +void EnMs_Sell(EnMs* this, GlobalContext* globalCtx) { + if (Actor_HasParent(&this->actor, globalCtx)) { + this->actor.textId = 0; + func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, 0); + this->actionFunc = EnMs_TalkAfterPurchase; + } else { + func_800B8A1C(&this->actor, globalCtx, GI_MAGIC_BEANS, this->actor.xzDistToPlayer, this->actor.playerHeightRel); + } +} + +void EnMs_TalkAfterPurchase(EnMs* this, GlobalContext* globalCtx) { + if (func_800B84D0(&this->actor, globalCtx)) { + func_80151938(globalCtx, 0x936); // "You can plant 'em whenever you want [...]" + this->actionFunc = EnMs_Talk; + } else { + func_800B8500(&this->actor, globalCtx, this->actor.xzDistToPlayer, this->actor.playerHeightRel, -1); + } +} + +void EnMs_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnMs* this = THIS; + + Actor_SetHeight(&this->actor, 20.0f); + this->actor.targetArrowOffset = 500.0f; + Actor_SetScale(&this->actor, 0.015f); + SkelAnime_Update(&this->skelAnime); + this->actionFunc(this, globalCtx); + Collider_UpdateCylinder(&this->actor, &this->collider); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); +} + +void EnMs_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnMs* this = THIS; + + func_8012C28C(globalCtx->state.gfxCtx); + SkelAnime_DrawFlexOpa(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, + NULL, NULL, &this->actor); +} diff --git a/src/overlays/actors/ovl_En_Ms/z_en_ms.h b/src/overlays/actors/ovl_En_Ms/z_en_ms.h index cfacb7f60..2efbdea45 100644 --- a/src/overlays/actors/ovl_En_Ms/z_en_ms.h +++ b/src/overlays/actors/ovl_En_Ms/z_en_ms.h @@ -8,10 +8,12 @@ struct EnMs; typedef void (*EnMsActionFunc)(struct EnMs*, GlobalContext*); typedef struct EnMs { - /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_144[0xB0]; - /* 0x01F4 */ EnMsActionFunc actionFunc; - /* 0x01F8 */ char unk_1F8[0x4C]; + /* 0x000 */ Actor actor; + /* 0x144 */ SkelAnime skelAnime; + /* 0x188 */ Vec3s jointTable[9]; + /* 0x1BE */ Vec3s morphTable[9]; + /* 0x1F4 */ EnMsActionFunc actionFunc; + /* 0x1F8 */ ColliderCylinder collider; } EnMs; // size = 0x244 extern const ActorInit En_Ms_InitVars; diff --git a/src/overlays/actors/ovl_En_Muto/z_en_muto.c b/src/overlays/actors/ovl_En_Muto/z_en_muto.c index e2fba4608..131fbebcc 100644 --- a/src/overlays/actors/ovl_En_Muto/z_en_muto.c +++ b/src/overlays/actors/ovl_En_Muto/z_en_muto.c @@ -144,7 +144,7 @@ void EnMuto_Idle(EnMuto* this, GlobalContext* globalCtx) { if (1) {} // Needed to match - if (!this->isInMayorsRoom && Player_GetMask(globalCtx) == PLAYER_MASK_KAFEI) { + if (!this->isInMayorsRoom && Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) { this->actor.textId = 0x2363; } diff --git a/src/overlays/actors/ovl_En_Pm/z_en_pm.c b/src/overlays/actors/ovl_En_Pm/z_en_pm.c index a1658c915..5cb68e3df 100644 --- a/src/overlays/actors/ovl_En_Pm/z_en_pm.c +++ b/src/overlays/actors/ovl_En_Pm/z_en_pm.c @@ -671,7 +671,7 @@ UNK_TYPE* func_80AF8540(EnPm* this, GlobalContext* globalCtx) { return D_80AFB650; default: - if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEI) { + if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) { return D_80AFB744; } diff --git a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c index 6c3afaa6f..07f3ca850 100644 --- a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c +++ b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.c @@ -15,7 +15,11 @@ void EnRecepgirl_Destroy(Actor* thisx, GlobalContext* globalCtx); void EnRecepgirl_Update(Actor* thisx, GlobalContext* globalCtx); void EnRecepgirl_Draw(Actor* thisx, GlobalContext* globalCtx); -#if 0 +void EnRecepgirl_SetupWait(EnRecepgirl* this); +void EnRecepgirl_Wait(EnRecepgirl* this, GlobalContext* globalCtx); +void EnRecepgirl_SetupTalk(EnRecepgirl* this); +void EnRecepgirl_Talk(EnRecepgirl* this, GlobalContext* globalCtx); + const ActorInit En_Recepgirl_InitVars = { ACTOR_EN_RECEPGIRL, ACTORCAT_NPC, @@ -28,38 +32,193 @@ const ActorInit En_Recepgirl_InitVars = { (ActorFunc)EnRecepgirl_Draw, }; -// static InitChainEntry sInitChain[] = { -static InitChainEntry D_80C106C0[] = { +extern TexturePtr D_0600F8F0; +extern TexturePtr D_0600FCF0; +extern TexturePtr D_060100F0; + +static TexturePtr sEyeTextures[] = { &D_0600F8F0, &D_0600FCF0, &D_060100F0, &D_0600FCF0 }; + +static InitChainEntry sInitChain[] = { ICHAIN_U8(targetMode, 6, ICHAIN_CONTINUE), ICHAIN_F32(targetArrowOffset, 1000, ICHAIN_STOP), }; -#endif +static s32 texturesDesegmented = false; -extern InitChainEntry D_80C106C0[]; +extern AnimationHeader D_06000968; +extern AnimationHeader D_06001384; +extern AnimationHeader D_06009890; +extern AnimationHeader D_0600A280; +extern AnimationHeader D_0600AD98; +extern FlexSkeletonHeader D_06011B60; -extern UNK_TYPE D_06001384; -extern UNK_TYPE D_06009890; -extern UNK_TYPE D_0600A280; +void EnRecepgirl_Init(Actor* thisx, GlobalContext* globalCtx) { + EnRecepgirl* this = THIS; + s32 i; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Init.s") + Actor_ProcessInitChain(&this->actor, sInitChain); + ActorShape_Init(&this->actor.shape, -60.0f, NULL, 0.0f); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &D_06011B60, &D_06009890, this->jointTable, this->morphTable, 24); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Destroy.s") + if (!texturesDesegmented) { + for (i = 0; i < ARRAY_COUNT(sEyeTextures); i++) { + sEyeTextures[i] = Lib_SegmentedToVirtual(sEyeTextures[i]); + } + texturesDesegmented = true; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C100DC.s") + this->eyeTexIndex = 2; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10148.s") + if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; // hear directions again? + } else { + this->actor.textId = 0x2AD9; // "Welcome..." + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C1019C.s") + EnRecepgirl_SetupWait(this); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10290.s") +void EnRecepgirl_Destroy(Actor* thisx, GlobalContext* globalCtx) { +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C102D4.s") +void EnRecepgirl_UpdateEyes(EnRecepgirl* this) { + if (this->eyeTexIndex != 0) { + this->eyeTexIndex++; + if (this->eyeTexIndex == 4) { + this->eyeTexIndex = 0; + } + } else if (Rand_ZeroOne() < 0.02f) { + this->eyeTexIndex++; + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Update.s") +void EnRecepgirl_SetupWait(EnRecepgirl* this) { + if (this->skelAnime.animation == &D_06001384) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } + this->actionFunc = EnRecepgirl_Wait; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10558.s") +void EnRecepgirl_Wait(EnRecepgirl* this, GlobalContext* globalCtx) { + if (SkelAnime_Update(&this->skelAnime) != 0) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 5.0f); + } else { + Animation_MorphToLoop(&this->skelAnime, &D_06009890, -4.0f); + } + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/func_80C10590.s") + if (func_800B84D0(&this->actor, globalCtx) != 0) { + EnRecepgirl_SetupTalk(this); + } else if (Actor_IsActorFacingLink(&this->actor, 0x2000)) { + func_800B8614(&this->actor, globalCtx, 60.0f); + if (Player_GetMask(globalCtx) == PLAYER_MASK_KAFEIS_MASK) { + this->actor.textId = 0x2367; // "... doesn't Kafei want to break off his engagement ... ?" + } else if (Flags_GetSwitch(globalCtx, this->actor.params)) { + this->actor.textId = 0x2ADC; // hear directions again? + } else { + this->actor.textId = 0x2AD9; // "Welcome..." + } + } +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_En_Recepgirl/EnRecepgirl_Draw.s") +void EnRecepgirl_SetupTalk(EnRecepgirl* this) { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + this->actionFunc = EnRecepgirl_Talk; +} + +void EnRecepgirl_Talk(EnRecepgirl* this, GlobalContext* globalCtx) { + u8 temp_v0_2; + + if (SkelAnime_Update(&this->skelAnime)) { + if (this->skelAnime.animation == &D_0600A280) { + Animation_PlayLoop(&this->skelAnime, &D_06001384); + } else if (this->skelAnime.animation == &D_0600AD98) { + if (this->actor.textId == 0x2ADA) { // Mayor's office is on the left (meeting ongoing) + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + } else { + Animation_MorphToLoop(&this->skelAnime, &D_06009890, 10.0f); + } + } else { + if (this->actor.textId == 0x2ADA) { // Mayor's office is on the left (meeting ongoing) + Animation_MorphToLoop(&this->skelAnime, &D_06009890, 10.0f); + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600A280, -4.0f); + } + } + } + + temp_v0_2 = func_80152498(&globalCtx->msgCtx); + if (temp_v0_2 == 2) { + this->actor.textId = 0x2ADC; // hear directions again? + EnRecepgirl_SetupWait(this); + } else if ((temp_v0_2 == 5) && (func_80147624(globalCtx) != 0)) { + if (this->actor.textId == 0x2AD9) { // "Welcome..." + Actor_SetSwitchFlag(globalCtx, this->actor.params); + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + + if (gSaveContext.weekEventReg[63] & 0x80) { // showed Couple's Mask to meeting + this->actor.textId = 0x2ADF; // Mayor's office is on the left (meeting ended) + } else { + this->actor.textId = 0x2ADA; // Mayor's office is on the left (meeting ongoing) + } + } else if (this->actor.textId == 0x2ADC) { // hear directions again? + Animation_MorphToPlayOnce(&this->skelAnime, &D_0600AD98, 10.0f); + this->actor.textId = 0x2ADD; // "So..." + } else { + Animation_MorphToPlayOnce(&this->skelAnime, &D_06000968, 10.0f); + + if (this->actor.textId == 0x2ADD) { // "So..." + this->actor.textId = 0x2ADE; // Mayor's office is on the left, drawing room on the right + } else if (this->actor.textId == 0x2ADA) { // Mayor's office is on the left (meeting ongoing) + this->actor.textId = 0x2ADB; // drawing room on the right + } else { + this->actor.textId = 0x2AE0; // drawing room on the right, don't go in without an appointment + } + } + func_80151938(globalCtx, this->actor.textId); + } +} + +void EnRecepgirl_Update(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + EnRecepgirl* this = THIS; + Vec3s sp30; + + this->actionFunc(this, globalCtx); + func_800E9250(globalCtx, &this->actor, &this->headRot, &sp30, this->actor.focus.pos); + EnRecepgirl_UpdateEyes(this); +} + +s32 EnRecepgirl_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot, + Actor* thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + rot->x += this->headRot.y; + } + return false; +} + +void EnRecepgirl_UnkLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Actor* thisx) { + EnRecepgirl* this = THIS; + + if (limbIndex == 5) { + Matrix_RotateY(0x400 - this->headRot.x, MTXMODE_APPLY); + Matrix_GetStateTranslationAndScaledX(500.0f, &this->actor.focus.pos); + } +} + +void EnRecepgirl_Draw(Actor* thisx, GlobalContext* globalCtx) { + EnRecepgirl* this = THIS; + + OPEN_DISPS(globalCtx->state.gfxCtx); + + func_8012C28C(globalCtx->state.gfxCtx); + gSPSegment(POLY_OPA_DISP++, 0x08, sEyeTextures[this->eyeTexIndex]); + + func_801343C0(globalCtx, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount, + EnRecepgirl_OverrideLimbDraw, NULL, EnRecepgirl_UnkLimbDraw, &this->actor); + + CLOSE_DISPS(globalCtx->state.gfxCtx); +} diff --git a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h index 0b7cbe073..a6b858192 100644 --- a/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h +++ b/src/overlays/actors/ovl_En_Recepgirl/z_en_recepgirl.h @@ -8,10 +8,13 @@ struct EnRecepgirl; typedef void (*EnRecepgirlActionFunc)(struct EnRecepgirl*, GlobalContext*); typedef struct EnRecepgirl { - /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_144[0x164]; - /* 0x02A8 */ EnRecepgirlActionFunc actionFunc; - /* 0x02AC */ char unk_2AC[0x8]; + /* 0x000 */ Actor actor; + /* 0x144 */ SkelAnime skelAnime; + /* 0x188 */ Vec3s jointTable[24]; + /* 0x218 */ Vec3s morphTable[24]; + /* 0x2A8 */ EnRecepgirlActionFunc actionFunc; + /* 0x2AC */ u8 eyeTexIndex; + /* 0x2AE */ Vec3s headRot; } EnRecepgirl; // size = 0x2B4 extern const ActorInit En_Recepgirl_InitVars; diff --git a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c index 53212d0bf..93504249e 100644 --- a/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c +++ b/src/overlays/actors/ovl_En_Sob1/z_en_sob1.c @@ -264,7 +264,7 @@ u16 EnSob1_GetWelcome(EnSob1* this, GlobalContext* globalCtx) { return 0x688; case PLAYER_MASK_BLAST: return 0x689; - case PLAYER_MASK_KAFEI: + case PLAYER_MASK_KAFEIS_MASK: return 0x68A; } } else if (this->shopType == ZORA_SHOP) { diff --git a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c index 6eedfd500..0ffa73331 100644 --- a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c +++ b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.c @@ -1,7 +1,7 @@ /* * File: z_obj_tree.c * Overlay: ovl_Obj_Tree - * Description: Single tree (e.g. North Clock Town) + * Description: Single branching tree (e.g. North Clock Town) */ #include "z_obj_tree.h" @@ -15,7 +15,10 @@ void ObjTree_Destroy(Actor* thisx, GlobalContext* globalCtx); void ObjTree_Update(Actor* thisx, GlobalContext* globalCtx); void ObjTree_Draw(Actor* thisx, GlobalContext* globalCtx); -#if 0 +void ObTree_DoNothing(ObjTree* this, GlobalContext* globalCtx); +void ObTree_SetupDoNothing(ObjTree* this); +void ObTree_Sway(ObjTree* this, GlobalContext* globalCtx); + const ActorInit Obj_Tree_InitVars = { ACTOR_OBJ_TREE, ACTORCAT_PROP, @@ -28,15 +31,27 @@ const ActorInit Obj_Tree_InitVars = { (ActorFunc)ObjTree_Draw, }; -// static ColliderCylinderInit sCylinderInit = { -static ColliderCylinderInit D_80B9A570 = { - { COLTYPE_TREE, AT_NONE, AC_ON | AC_TYPE_PLAYER, OC1_ON | OC1_TYPE_ALL, OC2_TYPE_1, COLSHAPE_CYLINDER, }, - { ELEMTYPE_UNK1, { 0x00000000, 0x00, 0x00 }, { 0x0100020A, 0x00, 0x00 }, TOUCH_NONE | TOUCH_SFX_NORMAL, BUMP_ON, OCELEM_ON, }, +static ColliderCylinderInit sCylinderInit = { + { + COLTYPE_TREE, + AT_NONE, + AC_ON | AC_TYPE_PLAYER, + OC1_ON | OC1_TYPE_ALL, + OC2_TYPE_1, + COLSHAPE_CYLINDER, + }, + { + ELEMTYPE_UNK1, + { 0x00000000, 0x00, 0x00 }, + { 0x0100020A, 0x00, 0x00 }, + TOUCH_NONE | TOUCH_SFX_NORMAL, + BUMP_ON, + OCELEM_ON, + }, { 28, 120, 0, { 0, 0, 0 } }, }; -// static DamageTable sDamageTable = { -static DamageTable D_80B9A59C = { +static DamageTable sDamageTable = { /* Deku Nut */ DMG_ENTRY(0, 0x0), /* Deku Stick */ DMG_ENTRY(0, 0xF), /* Horse trample */ DMG_ENTRY(0, 0x0), @@ -71,32 +86,115 @@ static DamageTable D_80B9A59C = { /* Powder Keg */ DMG_ENTRY(0, 0x0), }; -// sColChkInfoInit -static CollisionCheckInfoInit2 D_80B9A5BC = { 8, 0, 0, 0, MASS_HEAVY }; +static CollisionCheckInfoInit2 sColchkInfoInit = { 8, 0, 0, 0, MASS_HEAVY }; -#endif +extern Gfx D_06000680[]; +extern Gfx D_060007C8[]; +extern CollisionHeader D_06001B2C; -extern ColliderCylinderInit D_80B9A570; -extern DamageTable D_80B9A59C; -extern CollisionCheckInfoInit2 D_80B9A5BC; +void ObjTree_Init(Actor* thisx, GlobalContext* globalCtx) { + s32 pad; + ObjTree* this = THIS; + CollisionHeader* colHeader = NULL; -extern UNK_TYPE D_06000680; -extern UNK_TYPE D_06001B2C; + if (OBJTREE_ISLARGE(&this->dyna.actor)) { + Actor_SetScale(&this->dyna.actor, 0.15f); + this->dyna.actor.uncullZoneForward = 4000.0f; + } else { + Actor_SetScale(&this->dyna.actor, 0.1f); + DynaPolyActor_Init(&this->dyna, 1); + CollisionHeader_GetVirtual(&D_06001B2C, &colHeader); + this->dyna.bgId = DynaPoly_SetBgActor(globalCtx, &globalCtx->colCtx.dyna, &this->dyna.actor, colHeader); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Init.s") + Collider_InitCylinder(globalCtx, &this->collider); + Collider_SetCylinder(globalCtx, &this->collider, &this->dyna.actor, &sCylinderInit); + CollisionCheck_SetInfo2(&this->dyna.actor.colChkInfo, &sDamageTable, &sColchkInfoInit); -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Destroy.s") + if (OBJTREE_ISLARGE(&this->dyna.actor)) { + this->collider.dim.height = 220; + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A20C.s") + this->swayAmplitude = 0.0f; + this->swayAngle = 0; + this->swayVelocity = 0; + ObTree_SetupDoNothing(this); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A220.s") +void ObjTree_Destroy(Actor* thisx, GlobalContext* globalCtx) { + ObjTree* this = THIS; + s32 bgId; -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A230.s") + if (!OBJTREE_ISLARGE(&this->dyna.actor)) { + bgId = this->dyna.bgId; + DynaPoly_DeleteBgActor(globalCtx, &globalCtx->colCtx.dyna, bgId); + } -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A27C.s") + Collider_DestroyCylinder(globalCtx, &this->collider); +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/func_80B9A348.s") +void ObTree_SetupDoNothing(ObjTree* this) { + this->actionFunc = ObTree_DoNothing; +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Update.s") +void ObTree_DoNothing(ObjTree* this, GlobalContext* globalCtx) { +} -#pragma GLOBAL_ASM("asm/non_matchings/overlays/ovl_Obj_Tree/ObjTree_Draw.s") +void ObTree_SetupSway(ObjTree* this) { + this->timer = 0; + this->swayAmplitude = 546.0f; + this->swayVelocity = 35 * 0x10000 / 360; + Audio_PlayActorSound2(&this->dyna.actor, NA_SE_EV_TREE_SWING); + this->actionFunc = ObTree_Sway; +} + +void ObTree_Sway(ObjTree* this, GlobalContext* globalCtx) { + if (this->timer > 80) { + ObTree_SetupDoNothing(this); + return; + } + + Math_SmoothStepToF(&this->swayAmplitude, 0.0f, 0.1f, 91.0f, 18.0f); + this->swayVelocity += 1 * 0x10000 / 360; + this->swayAngle += this->swayVelocity; + this->dyna.actor.shape.rot.x = Math_SinS(this->swayAngle) * this->swayAmplitude; + this->dyna.actor.shape.rot.z = Math_CosS(this->swayAngle) * this->swayAmplitude; + this->timer++; +} + +void ObTree_UpdateCollision(ObjTree* this, GlobalContext* globalCtx) { + Collider_UpdateCylinder(&this->dyna.actor, &this->collider); + CollisionCheck_SetOC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + + if (this->dyna.actor.xzDistToPlayer < 600.0f) { + CollisionCheck_SetAC(globalCtx, &globalCtx->colChkCtx, &this->collider.base); + if (this->dyna.actor.home.rot.y == 1) { + this->dyna.actor.home.rot.y = 0; + ObTree_SetupSway(this); + } + } +} + +void ObjTree_Update(Actor* thisx, GlobalContext* globalCtx) { + ObjTree* this = THIS; + + this->actionFunc(this, globalCtx); + ObTree_UpdateCollision(this, globalCtx); +} + +void ObjTree_Draw(Actor* thisx, GlobalContext* globalCtx) { + s16 xRot = (f32)thisx->shape.rot.x; + s16 zRot = (f32)thisx->shape.rot.z; + + OPEN_DISPS(globalCtx->state.gfxCtx); + + func_8012C28C(globalCtx->state.gfxCtx); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, D_06000680); + + Matrix_InsertRotation(xRot, 0, zRot, MTXMODE_APPLY); + gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); + gSPDisplayList(POLY_OPA_DISP++, D_060007C8); + + CLOSE_DISPS(globalCtx->state.gfxCtx); +} diff --git a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h index 5c8f08ca0..b50e3eb40 100644 --- a/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h +++ b/src/overlays/actors/ovl_Obj_Tree/z_obj_tree.h @@ -7,11 +7,16 @@ struct ObjTree; typedef void (*ObjTreeActionFunc)(struct ObjTree*, GlobalContext*); +#define OBJTREE_ISLARGE(thisx) ((thisx)->params & 0x8000) + typedef struct ObjTree { - /* 0x0000 */ Actor actor; - /* 0x0144 */ char unk_144[0x64]; - /* 0x01A8 */ ObjTreeActionFunc actionFunc; - /* 0x01AC */ char unk_1AC[0xC]; + /* 0x000 */ DynaPolyActor dyna; + /* 0x15C */ ColliderCylinder collider; + /* 0x1A8 */ ObjTreeActionFunc actionFunc; + /* 0x1AC */ f32 swayAmplitude; + /* 0x1B0 */ s16 swayAngle; + /* 0x1B2 */ s16 swayVelocity; + /* 0x1B4 */ s16 timer; } ObjTree; // size = 0x1B8 extern const ActorInit Obj_Tree_InitVars; diff --git a/tools/actorfixer.py b/tools/actorfixer.py index e89303ba5..7f0b7bf5f 100755 --- a/tools/actorfixer.py +++ b/tools/actorfixer.py @@ -154,6 +154,154 @@ animdict = { "MainHeap_Init": "ZeldaArena_Init", "MainHeap_Cleanup": "ZeldaArena_Cleanup", "MainHeap_IsInitialized": "ZeldaArena_IsInitialized", + # "BgCheck_RelocateMeshHeader": "CollisionHeader_GetVirtual", + # "BgCheck_AddActorMesh": "DynaPoly_SetBgActor", + # "BgCheck_RemoveActorMesh": "DynaPoly_DeleteBgActor", + "BgCheck_PolygonLinkedListNodeInit": "SSNode_SetValue", + "BgCheck_PolygonLinkedListResetHead": "SSList_SetNull", + "BgCheck_ScenePolygonListsNodeInsert": "SSNodeList_SetSSListHead", + "BgCheck_PolygonLinkedListNodeInsert": "DynaSSNodeList_SetSSListHead", + "BgCheck_PolygonLinkedListInit": "DynaSSNodeList_Init", + "BgCheck_PolygonLinkedListAlloc": "DynaSSNodeList_Alloc", + "BgCheck_PolygonLinkedListReset": "DynaSSNodeList_ResetCount", + "BgCheck_AllocPolygonLinkedListNode": "DynaSSNodeList_GetNextNodeIdx", + "BgCheck_CreateVec3fFromVertex": "BgCheck_Vec3sToVec3f", + "BgCheck_CreateVertexFromVec3f": "BgCheck_Vec3fToVec3s", + "BgCheck_PolygonGetMinY": "CollisionPoly_GetMinY", + "BgCheck_PolygonGetNormal": "CollisionPoly_GetNormalF", + "func_800C01B8": "CollisionPoly_GetPointDistanceFromPlane", + "BgCheck_CreateTriNormFromPolygon": "CollisionPoly_GetVertices", + "func_800C02C0": "CollisionPoly_GetVerticesByBgId", + "BgCheck_PolygonCollidesWithSphere": "CollisionPoly_SphVsPoly", + "BgCheck_ScenePolygonListsInsertSorted": "StaticLookup_AddPolyToSSList", + "BgCheck_ScenePolygonListsInsert": "StaticLookup_AddPoly", + "BgCheck_GetPolyMinSubdivisions": "BgCheck_GetSubdivisionMinBounds", + "BgCheck_GetPolyMaxSubdivisions": "BgCheck_GetSubdivisionMaxBounds", + "BgCheck_GetPolyMinMaxSubdivisions": "BgCheck_GetPolySubdivisionBounds", + "func_800C2BE0": "BgCheck_PolyIntersectsSubdivision", + "BgCheck_SplitScenePolygonsIntoSubdivisions": "BgCheck_InitStaticLookup", + "BgCheck_GetIsDefaultSpecialScene": "BgCheck_IsSmallMemScene", + "BgCheck_GetSpecialSceneMaxMemory": "BgCheck_TryGetCustomMemsize", + "BgCheck_CalcSubdivisionSize": "BgCheck_SetSubdivisionDimension", + "BgCheck_Init(": "BgCheck_Allocate(", + "func_800C3C00": "BgCheck_SetContextFlags", + "func_800C3C14": "BgCheck_UnsetContextFlags", + "BgCheck_GetActorMeshHeader": "BgCheck_GetCollisionHeader", + "func_800C3D50": "BgCheck_RaycastFloorImpl", + "func_800C3F40": "BgCheck_CameraRaycastFloor1", + "func_800C3FA0": "BgCheck_EntityRaycastFloor1", + "func_800C4000": "BgCheck_EntityRaycastFloor2", + "func_800C4058": "BgCheck_EntityRaycastFloor2_1", + "func_800C40B4": "BgCheck_EntityRaycastFloor3", + "func_800C411C": "BgCheck_EntityRaycastFloor5", + "func_800C4188": "BgCheck_EntityRaycastFloor5_2", + "func_800C41E4": "BgCheck_EntityRaycastFloor5_3", + "func_800C4240": "BgCheck_EntityRaycastFloor6", + "func_800C42A8": "BgCheck_EntityRaycastFloor7", + "func_800C4314": "BgCheck_AnyRaycastFloor1", + "func_800C43CC": "BgCheck_AnyRaycastFloor2", + "func_800C4488": "BgCheck_CameraRaycastFloor2", + "func_800C44F0": "BgCheck_EntityRaycastFloor8", + "func_800C455C": "BgCheck_EntityRaycastFloor9", + "func_800C45C4": "BgCheck_CheckWallImpl", + "func_800C4C74": "BgCheck_EntitySphVsWall1", + "func_800C4CD8": "BgCheck_EntitySphVsWall2", + "func_800C4D3C": "BgCheck_EntitySphVsWall3", + "func_800C4DA4": "BgCheck_EntitySphVsWall4", + "func_800C4E10": "BgCheck_CheckCeilingImpl", + "func_800C4F38": "BgCheck_AnyCheckCeiling", + "func_800C4F84": "BgCheck_EntityCheckCeiling", + "func_800C54AC": "BgCheck_CameraLineTest1", + "func_800C5538": "BgCheck_CameraLineTest2", + "func_800C55C4": "BgCheck_EntityLineTest1", + "func_800C5650": "BgCheck_EntityLineTest2", + "func_800C56E0": "BgCheck_EntityLineTest3", + "func_800C576C": "BgCheck_ProjectileLineTest", + "func_800C57F8": "BgCheck_AnyLineTest1", + "func_800C583C": "BgCheck_AnyLineTest2", + "func_800C58C8": "BgCheck_AnyLineTest3", + "func_800C5954": "BgCheck_SphVsFirstPolyImpl", + "func_800C5A20": "BgCheck_SphVsFirstPoly", + "func_800C5A64": "BgCheck_SphVsFirstWall", + "BgCheck_ScenePolygonListsInit": "SSNodeList_Init", + "BgCheck_ScenePolygonListsAlloc": "SSNodeList_Alloc", + "func_800C5B80": "SSNodeList_GetNextNode", + "BgCheck_ScenePolygonListsReserveNode": "SSNodeList_GetNextNodeIdx", + "BgCheck_ActorMeshParamsInit": "ScaleRotPos_Init", + "BgCheck_SetActorMeshParams": "ScaleRotPos_SetValue", + "BgCheck_ActorMeshPolyListsHeadsInit": "DynaLookup_ResetLists", + "BgCheck_ActorMeshPolyListsInit": "DynaLookup_Reset", + "BgCheck_ActorMeshVerticesIndexInit": "DynaLookup_ResetVtxStartIndex", + "BgCheck_ActorMeshWaterboxesIndexInit": "DynaLookup_ResetWaterBoxStartIndex", + "BgCheck_ActorMeshInit": "BgActor_Init", + "BgCheck_ActorMeshInitFromActor": "BgActor_SetActor", + "BgCheck_HasActorMeshChanged": "BgActor_IsTransformUnchanged", + "BgCheck_PolygonsInit": "DynaPoly_NullPolyList", + "BgCheck_PolygonsAlloc": "DynaPoly_AllocPolyList", + "BgCheck_VerticesInit": "DynaPoly_NullVtxList", + "BgCheck_VerticesListAlloc": "DynaPoly_AllocVtxList", + "BgCheck_WaterboxListInit": "DynaPoly_InitWaterBoxList", + "BgCheck_WaterboxListAlloc": "DynaPoly_AllocWaterBoxList", + "BgCheck_ActorMeshUpdateParams": "DynaPoly_SetBgActorPrevTransform", + "BgCheck_IsActorMeshIndexValid": "DynaPoly_IsBgIdBgActor", + "BgCheck_DynaInit": "DynaPoly_Init", + "BgCheck_DynaAlloc": "DynaPoly_Alloc", + "BgCheck_AddActorMesh": "DynaPoly_SetBgActor", + "BgCheck_GetActorOfMesh": "DynaPoly_GetActor", + "BgCheck_RemoveActorMesh": "DynaPoly_DeleteBgActor", + "BgCheck_AddActorMeshToLists": "DynaPoly_ExpandSRT", + "BgCheck_Update": "DynaPoly_Setup", + "BgCheck_UpdateAllActorMeshes": "DynaPoly_UpdateBgActorTransforms", + "BgCheck_RelocateMeshHeaderPointers": "CollisionHeader_SegmentedToVirtual", + "BgCheck_RelocateMeshHeader": "CollisionHeader_GetVirtual", + "BgCheck_RelocateAllMeshHeaders": "BgCheck_InitCollisionHeaders", + "BgCheck_GetPolygonAttributes": "SurfaceType_GetData", + "func_800C9704": "SurfaceType_GetCamDataIndex", + "func_800C9924": "SurfaceType_GetCamPosData", + "func_800C99AC": "SurfaceType_GetSceneExitIndex", + "func_800C9B90": "SurfaceType_IsHorseBlocked", + "func_800C9BDC": "SurfaceType_GetSfx", + "func_800C9C74": "SurfaceType_GetSlope", + "func_800C9C9C": "SurfaceType_GetLightSettingIndex", + "func_800C9CC4": "SurfaceType_GetEcho", + "func_800C9CEC": "SurfaceType_IsHookshotSurface", + "func_800C9D14": "SurfaceType_IsIgnoredByEntities", + "func_800C9D50": "SurfaceType_IsIgnoredByProjectiles", + "func_800C9D8C": "SurfaceType_IsConveyor", + "func_800C9E18": "SurfaceType_GetConveyorSpeed", + "func_800C9E40": "SurfaceType_GetConveyorDirection", + "func_800C9E88": "SurfaceType_IsWallDamage", + "func_800C9EBC": "WaterBox_GetSurfaceImpl", + "func_800CA1AC": "WaterBox_GetSurface1", + "func_800CA1E8": "WaterBox_GetSurface1_2", + "func_800CA22C": "WaterBox_GetSurface2", + "func_800CA6D8": "WaterBox_GetLightSettingIndex", + "func_80179678": "Math3D_PlaneVsLineSegClosestPoint", + "Math3D_DistanceSquared": "Math3D_Vec3fDistSq", + "Math3D_NormalVector": "Math3D_SurfaceNorm", + "func_8017A954": "Math3D_PointRelativeToCubeFaces", + "func_8017AA0C": "Math3D_PointRelativeToCubeEdges", + "func_8017ABBC": "Math3D_PointRelativeToCubeVertices", + "func_8017AD38": "Math3D_LineVsCube", + "Math3D_NormalizedDistanceFromPlane": "Math3D_UDistPlaneToPos", + "Math3D_NormalizedSignedDistanceFromPlane": "Math3D_DistPlaneToPos", + "func_8017BAD0": "Math3D_TriChkPointParaYDist", + "func_8017BE30": "Math3D_TriChkPointParaYIntersectDist", + "func_8017BEE0": "Math3D_TriChkPointParaYIntersectInsideTri", + "func_8017C008": "Math3D_TriChkLineSegParaYIntersect", + "func_8017C494": "Math3D_TriChkPointParaYIntersectInsideTri2", + "func_8017C540": "Math3D_TriChkPointParaXDist", + "func_8017C850": "Math3D_TriChkPointParaXIntersect", + "func_8017C980": "Math3D_TriChkLineSegParaXIntersect", + "func_8017CB7C": "Math3D_TriChkLineSegParaZDist", + "func_8017CEF0": "Math3D_TriChkPointParaZIntersect", + "func_8017D020": "Math3D_TriChkLineSegParaZIntersect", + "Math3D_ColSphereLineSeg": "Math3D_LineVsSph", + "Math3D_ColSphereSphere(": "Math3D_SphVsSph(", + "func_8017F9C0": "Math3D_XZInSphere", + "func_8017FA34": "Math3D_XYInSphere", + "func_8017FAA8": "Math3D_YZInSphere", + "skelanime.unk03": "skelanime.taper", "skelanime.animCurrentSeg": "skelanime.animation", @@ -220,11 +368,25 @@ def replace_anim_all(repo): if(filename.endswith('.c')): file = subdir + os.sep + filename replace_anim(file) + for subdir, dirs, files in os.walk(repo + os.sep + 'asm'): + for filename in files: + if(filename.endswith('.s')): + file = subdir + os.sep + filename + replace_anim(file) + + for subdir, dirs, files in os.walk(repo + os.sep + 'data'): for filename in files: if(filename.endswith('.s')): file = subdir + os.sep + filename replace_anim(file) + + for subdir, dirs, files in os.walk(repo + os.sep + 'docs'): + for filename in files: + if(filename.endswith('.md')): + file = subdir + os.sep + filename + replace_anim(file) + for subdir, dirs, files in os.walk(repo + os.sep + 'tools' + os.sep + 'sizes'): for filename in files: if(filename.endswith('.csv')): diff --git a/tools/disasm/functions.txt b/tools/disasm/functions.txt index d2f0f432b..f4745004a 100644 --- a/tools/disasm/functions.txt +++ b/tools/disasm/functions.txt @@ -7631,10 +7631,10 @@ 0x80951748:("EnGm_Draw",), 0x80952620:("EnMs_Init",), 0x80952708:("EnMs_Destroy",), - 0x80952734:("func_80952734",), - 0x809527F8:("func_809527F8",), - 0x809529AC:("func_809529AC",), - 0x80952A1C:("func_80952A1C",), + 0x80952734:("EnMs_Wait",), + 0x809527F8:("EnMs_Talk",), + 0x809529AC:("EnMs_Sell",), + 0x80952A1C:("EnMs_TalkAfterPurchase",), 0x80952A8C:("EnMs_Update",), 0x80952B24:("EnMs_Draw",), 0x80952C50:("func_80952C50",), @@ -14941,11 +14941,11 @@ 0x80B99798:("EnZot_Draw",), 0x80B9A0B0:("ObjTree_Init",), 0x80B9A1BC:("ObjTree_Destroy",), - 0x80B9A20C:("func_80B9A20C",), - 0x80B9A220:("func_80B9A220",), - 0x80B9A230:("func_80B9A230",), - 0x80B9A27C:("func_80B9A27C",), - 0x80B9A348:("func_80B9A348",), + 0x80B9A20C:("ObTree_SetupDoNothing",), + 0x80B9A220:("ObTree_DoNothing",), + 0x80B9A230:("ObTree_SetupSway",), + 0x80B9A27C:("ObTree_Sway",), + 0x80B9A348:("ObTree_UpdateCollision",), 0x80B9A3E8:("ObjTree_Update",), 0x80B9A424:("ObjTree_Draw",), 0x80B9A650:("ObjY2lift_Init",), @@ -16738,14 +16738,14 @@ 0x80C0F758:("func_80C0F758",), 0x80C0FFD0:("EnRecepgirl_Init",), 0x80C100CC:("EnRecepgirl_Destroy",), - 0x80C100DC:("func_80C100DC",), - 0x80C10148:("func_80C10148",), - 0x80C1019C:("func_80C1019C",), - 0x80C10290:("func_80C10290",), - 0x80C102D4:("func_80C102D4",), + 0x80C100DC:("EnRecepgirl_UpdateEyes",), + 0x80C10148:("EnRecepgirl_SetupWait",), + 0x80C1019C:("EnRecepgirl_Wait",), + 0x80C10290:("EnRecepgirl_SetupTalk",), + 0x80C102D4:("EnRecepgirl_Talk",), 0x80C104E8:("EnRecepgirl_Update",), - 0x80C10558:("func_80C10558",), - 0x80C10590:("func_80C10590",), + 0x80C10558:("EnRecepgirl_OverrideLimbDraw",), + 0x80C10590:("EnRecepgirl_UnkLimbDraw",), 0x80C105EC:("EnRecepgirl_Draw",), 0x80C10770:("EnThiefbird_Init",), 0x80C10958:("EnThiefbird_Destroy",), diff --git a/tools/disasm/variables.txt b/tools/disasm/variables.txt index e5a3e6e46..39a9ab602 100644 --- a/tools/disasm/variables.txt +++ b/tools/disasm/variables.txt @@ -3691,7 +3691,7 @@ 0x801E0148:("D_801E0148","f32","",0x4), 0x801E014C:("D_801E014C","f32","",0x4), 0x801E0150:("Math3D_UnitNormalVector_min_length","f32","",0x4), - 0x801E0154:("Math3D_NormalizedDistanceFromPlane_min_length","f32","",0x4), + 0x801E0154:("Math3D_UDistPlaneToPos_min_length","f32","",0x4), 0x801E0158:("D_801E0158","f32","",0x4), 0x801E015C:("D_801E015C","f32","",0x4), 0x801E0160:("D_801E0160","f32","",0x4), @@ -4228,8 +4228,8 @@ 0x801FBC46:("D_801FBC46","UNK_TYPE1","",0x1), 0x801FBC48:("D_801FBC48","UNK_TYPE1","",0x1), 0x801FBC58:("D_801FBC58","UNK_TYPE1","",0x1), - 0x801FBC68:("Math3D_NormalVector_temp1","Vec3f","",0xc), - 0x801FBC78:("Math3D_NormalVector_temp2","Vec3f","",0xc), + 0x801FBC68:("Math3D_SurfaceNorm_temp1","Vec3f","",0xc), + 0x801FBC78:("Math3D_SurfaceNorm_temp2","Vec3f","",0xc), 0x801FBC8C:("D_801FBC8C","f32","",0x4), 0x801FBC90:("D_801FBC90","f32","",0x4), 0x801FBC98:("D_801FBC98","f32","",0x4), diff --git a/tools/sizes/code_functions.csv b/tools/sizes/code_functions.csv index fba05738e..1b7b3fbdc 100644 --- a/tools/sizes/code_functions.csv +++ b/tools/sizes/code_functions.csv @@ -413,33 +413,33 @@ asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_FaultPrint.s,ActorOverl asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_FaultAddrConv.s,ActorOverlayTable_FaultAddrConv,0x800BFA78,0x1C asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_Init.s,ActorOverlayTable_Init,0x800BFAE8,0x16 asm/non_matchings/code/z_actor_dlftbls/ActorOverlayTable_Cleanup.s,ActorOverlayTable_Cleanup,0x800BFB40,0x10 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListNodeInit.s,BgCheck_PolygonLinkedListNodeInit,0x800BFB80,0x7 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListResetHead.s,BgCheck_PolygonLinkedListResetHead,0x800BFB9C,0x4 -asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsNodeInsert.s,BgCheck_ScenePolygonListsNodeInsert,0x800BFBAC,0x16 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListNodeInsert.s,BgCheck_PolygonLinkedListNodeInsert,0x800BFC04,0x16 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListInit.s,BgCheck_PolygonLinkedListInit,0x800BFC5C,0x5 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListAlloc.s,BgCheck_PolygonLinkedListAlloc,0x800BFC70,0x14 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonLinkedListReset.s,BgCheck_PolygonLinkedListReset,0x800BFCC0,0x3 -asm/non_matchings/code/z_bgcheck/BgCheck_AllocPolygonLinkedListNode.s,BgCheck_AllocPolygonLinkedListNode,0x800BFCCC,0xC -asm/non_matchings/code/z_bgcheck/BgCheck_CreateVec3fFromVertex.s,BgCheck_CreateVec3fFromVertex,0x800BFCFC,0x11 -asm/non_matchings/code/z_bgcheck/BgCheck_CreateVertexFromVec3f.s,BgCheck_CreateVertexFromVec3f,0x800BFD40,0x11 +asm/non_matchings/code/z_bgcheck/SSNode_SetValue.s,SSNode_SetValue,0x800BFB80,0x7 +asm/non_matchings/code/z_bgcheck/SSList_SetNull.s,SSList_SetNull,0x800BFB9C,0x4 +asm/non_matchings/code/z_bgcheck/SSNodeList_SetSSListHead.s,SSNodeList_SetSSListHead,0x800BFBAC,0x16 +asm/non_matchings/code/z_bgcheck/DynaSSNodeList_SetSSListHead.s,DynaSSNodeList_SetSSListHead,0x800BFC04,0x16 +asm/non_matchings/code/z_bgcheck/DynaSSNodeList_Init.s,DynaSSNodeList_Init,0x800BFC5C,0x5 +asm/non_matchings/code/z_bgcheck/DynaSSNodeList_Alloc.s,DynaSSNodeList_Alloc,0x800BFC70,0x14 +asm/non_matchings/code/z_bgcheck/DynaSSNodeList_ResetCount.s,DynaSSNodeList_ResetCount,0x800BFCC0,0x3 +asm/non_matchings/code/z_bgcheck/DynaSSNodeList_GetNextNodeIdx.s,DynaSSNodeList_GetNextNodeIdx,0x800BFCCC,0xC +asm/non_matchings/code/z_bgcheck/BgCheck_Vec3sToVec3f.s,BgCheck_Vec3sToVec3f,0x800BFCFC,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_Vec3fToVec3s.s,BgCheck_Vec3fToVec3s,0x800BFD40,0x11 asm/non_matchings/code/z_bgcheck/func_800BFD84.s,func_800BFD84,0x800BFD84,0x1A asm/non_matchings/code/z_bgcheck/func_800BFDEC.s,func_800BFDEC,0x800BFDEC,0x76 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetMinY.s,BgCheck_PolygonGetMinY,0x800BFFC4,0x1E -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonGetNormal.s,BgCheck_PolygonGetNormal,0x800C003C,0x16 +asm/non_matchings/code/z_bgcheck/CollisionPoly_GetMinY.s,CollisionPoly_GetMinY,0x800BFFC4,0x1E +asm/non_matchings/code/z_bgcheck/CollisionPoly_GetNormalF.s,CollisionPoly_GetNormalF,0x800C003C,0x16 asm/non_matchings/code/z_bgcheck/func_800C0094.s,func_800C0094,0x800C0094,0x49 -asm/non_matchings/code/z_bgcheck/func_800C01B8.s,func_800C01B8,0x800C01B8,0x1A -asm/non_matchings/code/z_bgcheck/BgCheck_CreateTriNormFromPolygon.s,BgCheck_CreateTriNormFromPolygon,0x800C0220,0x28 -asm/non_matchings/code/z_bgcheck/func_800C02C0.s,func_800C02C0,0x800C02C0,0x20 +asm/non_matchings/code/z_bgcheck/CollisionPoly_GetPointDistanceFromPlane.s,CollisionPoly_GetPointDistanceFromPlane,0x800C01B8,0x1A +asm/non_matchings/code/z_bgcheck/CollisionPoly_GetVertices.s,CollisionPoly_GetVertices,0x800C0220,0x28 +asm/non_matchings/code/z_bgcheck/CollisionPoly_GetVerticesByBgId.s,CollisionPoly_GetVerticesByBgId,0x800C02C0,0x20 asm/non_matchings/code/z_bgcheck/func_800C0340.s,func_800C0340,0x800C0340,0x4D asm/non_matchings/code/z_bgcheck/func_800C0474.s,func_800C0474,0x800C0474,0x7D asm/non_matchings/code/z_bgcheck/func_800C0668.s,func_800C0668,0x800C0668,0x10 asm/non_matchings/code/z_bgcheck/func_800C06A8.s,func_800C06A8,0x800C06A8,0x29 asm/non_matchings/code/z_bgcheck/func_800C074C.s,func_800C074C,0x800C074C,0x29 asm/non_matchings/code/z_bgcheck/func_800C07F0.s,func_800C07F0,0x800C07F0,0xC0 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonCollidesWithSphere.s,BgCheck_PolygonCollidesWithSphere,0x800C0AF0,0x34 -asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsertSorted.s,BgCheck_ScenePolygonListsInsertSorted,0x800C0BC0,0x88 -asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInsert.s,BgCheck_ScenePolygonListsInsert,0x800C0DE0,0x25 +asm/non_matchings/code/z_bgcheck/CollisionPoly_SphVsPoly.s,CollisionPoly_SphVsPoly,0x800C0AF0,0x34 +asm/non_matchings/code/z_bgcheck/StaticLookup_AddPolyToSSList.s,StaticLookup_AddPolyToSSList,0x800C0BC0,0x88 +asm/non_matchings/code/z_bgcheck/StaticLookup_AddPoly.s,StaticLookup_AddPoly,0x800C0DE0,0x25 asm/non_matchings/code/z_bgcheck/func_800C0E74.s,func_800C0E74,0x800C0E74,0xA2 asm/non_matchings/code/z_bgcheck/func_800C10FC.s,func_800C10FC,0x800C10FC,0x4F asm/non_matchings/code/z_bgcheck/func_800C1238.s,func_800C1238,0x800C1238,0x1B @@ -452,98 +452,98 @@ asm/non_matchings/code/z_bgcheck/func_800C2310.s,func_800C2310,0x800C2310,0x54 asm/non_matchings/code/z_bgcheck/func_800C2460.s,func_800C2460,0x800C2460,0x2D asm/non_matchings/code/z_bgcheck/func_800C2514.s,func_800C2514,0x800C2514,0x33 asm/non_matchings/code/z_bgcheck/func_800C25E0.s,func_800C25E0,0x800C25E0,0x38 -asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinSubdivisions.s,BgCheck_GetPolyMinSubdivisions,0x800C26C0,0x69 -asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMaxSubdivisions.s,BgCheck_GetPolyMaxSubdivisions,0x800C2864,0x73 -asm/non_matchings/code/z_bgcheck/BgCheck_GetPolyMinMaxSubdivisions.s,BgCheck_GetPolyMinMaxSubdivisions,0x800C2A30,0x6C -asm/non_matchings/code/z_bgcheck/func_800C2BE0.s,func_800C2BE0,0x800C2BE0,0x1D5 -asm/non_matchings/code/z_bgcheck/BgCheck_SplitScenePolygonsIntoSubdivisions.s,BgCheck_SplitScenePolygonsIntoSubdivisions,0x800C3334,0x100 -asm/non_matchings/code/z_bgcheck/BgCheck_GetIsDefaultSpecialScene.s,BgCheck_GetIsDefaultSpecialScene,0x800C3734,0x11 -asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxMemory.s,BgCheck_GetSpecialSceneMaxMemory,0x800C3778,0x11 -asm/non_matchings/code/z_bgcheck/BgCheck_CalcSubdivisionSize.s,BgCheck_CalcSubdivisionSize,0x800C37BC,0x22 +asm/non_matchings/code/z_bgcheck/BgCheck_GetSubdivisionMinBounds.s,BgCheck_GetSubdivisionMinBounds,0x800C26C0,0x69 +asm/non_matchings/code/z_bgcheck/BgCheck_GetSubdivisionMaxBounds.s,BgCheck_GetSubdivisionMaxBounds,0x800C2864,0x73 +asm/non_matchings/code/z_bgcheck/BgCheck_GetPolySubdivisionBounds.s,BgCheck_GetPolySubdivisionBounds,0x800C2A30,0x6C +asm/non_matchings/code/z_bgcheck/BgCheck_PolyIntersectsSubdivision.s,BgCheck_PolyIntersectsSubdivision,0x800C2BE0,0x1D5 +asm/non_matchings/code/z_bgcheck/BgCheck_InitStaticLookup.s,BgCheck_InitStaticLookup,0x800C3334,0x100 +asm/non_matchings/code/z_bgcheck/BgCheck_IsSmallMemScene.s,BgCheck_IsSmallMemScene,0x800C3734,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_TryGetCustomMemsize.s,BgCheck_TryGetCustomMemsize,0x800C3778,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_SetSubdivisionDimension.s,BgCheck_SetSubdivisionDimension,0x800C37BC,0x22 asm/non_matchings/code/z_bgcheck/BgCheck_GetSpecialSceneMaxObjects.s,BgCheck_GetSpecialSceneMaxObjects,0x800C3844,0x16 asm/non_matchings/code/z_bgcheck/BgCheck_Init.s,BgCheck_Init,0x800C389C,0xD9 -asm/non_matchings/code/z_bgcheck/func_800C3C00.s,func_800C3C00,0x800C3C00,0x5 -asm/non_matchings/code/z_bgcheck/func_800C3C14.s,func_800C3C14,0x800C3C14,0x6 -asm/non_matchings/code/z_bgcheck/BgCheck_GetActorMeshHeader.s,BgCheck_GetActorMeshHeader,0x800C3C2C,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_SetContextFlags.s,BgCheck_SetContextFlags,0x800C3C00,0x5 +asm/non_matchings/code/z_bgcheck/BgCheck_UnsetContextFlags.s,BgCheck_UnsetContextFlags,0x800C3C14,0x6 +asm/non_matchings/code/z_bgcheck/BgCheck_GetCollisionHeader.s,BgCheck_GetCollisionHeader,0x800C3C2C,0x1A asm/non_matchings/code/z_bgcheck/func_800C3C94.s,func_800C3C94,0x800C3C94,0x2F -asm/non_matchings/code/z_bgcheck/func_800C3D50.s,func_800C3D50,0x800C3D50,0x7C -asm/non_matchings/code/z_bgcheck/func_800C3F40.s,func_800C3F40,0x800C3F40,0x18 -asm/non_matchings/code/z_bgcheck/func_800C3FA0.s,func_800C3FA0,0x800C3FA0,0x18 -asm/non_matchings/code/z_bgcheck/func_800C4000.s,func_800C4000,0x800C4000,0x16 -asm/non_matchings/code/z_bgcheck/func_800C4058.s,func_800C4058,0x800C4058,0x17 -asm/non_matchings/code/z_bgcheck/func_800C40B4.s,func_800C40B4,0x800C40B4,0x1A -asm/non_matchings/code/z_bgcheck/func_800C411C.s,func_800C411C,0x800C411C,0x1B -asm/non_matchings/code/z_bgcheck/func_800C4188.s,func_800C4188,0x800C4188,0x17 -asm/non_matchings/code/z_bgcheck/func_800C41E4.s,func_800C41E4,0x800C41E4,0x17 -asm/non_matchings/code/z_bgcheck/func_800C4240.s,func_800C4240,0x800C4240,0x1A -asm/non_matchings/code/z_bgcheck/func_800C42A8.s,func_800C42A8,0x800C42A8,0x1B -asm/non_matchings/code/z_bgcheck/func_800C4314.s,func_800C4314,0x800C4314,0x2E -asm/non_matchings/code/z_bgcheck/func_800C43CC.s,func_800C43CC,0x800C43CC,0x2F -asm/non_matchings/code/z_bgcheck/func_800C4488.s,func_800C4488,0x800C4488,0x1A -asm/non_matchings/code/z_bgcheck/func_800C44F0.s,func_800C44F0,0x800C44F0,0x1B -asm/non_matchings/code/z_bgcheck/func_800C455C.s,func_800C455C,0x800C455C,0x1A -asm/non_matchings/code/z_bgcheck/func_800C45C4.s,func_800C45C4,0x800C45C4,0x1AC -asm/non_matchings/code/z_bgcheck/func_800C4C74.s,func_800C4C74,0x800C4C74,0x19 -asm/non_matchings/code/z_bgcheck/func_800C4CD8.s,func_800C4CD8,0x800C4CD8,0x19 -asm/non_matchings/code/z_bgcheck/func_800C4D3C.s,func_800C4D3C,0x800C4D3C,0x1A -asm/non_matchings/code/z_bgcheck/func_800C4DA4.s,func_800C4DA4,0x800C4DA4,0x1B -asm/non_matchings/code/z_bgcheck/func_800C4E10.s,func_800C4E10,0x800C4E10,0x4A -asm/non_matchings/code/z_bgcheck/func_800C4F38.s,func_800C4F38,0x800C4F38,0x13 -asm/non_matchings/code/z_bgcheck/func_800C4F84.s,func_800C4F84,0x800C4F84,0x14 +asm/non_matchings/code/z_bgcheck/BgCheck_RaycastFloorImpl.s,BgCheck_RaycastFloorImpl,0x800C3D50,0x7C +asm/non_matchings/code/z_bgcheck/BgCheck_CameraRaycastFloor1.s,BgCheck_CameraRaycastFloor1,0x800C3F40,0x18 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor1.s,BgCheck_EntityRaycastFloor1,0x800C3FA0,0x18 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor2.s,BgCheck_EntityRaycastFloor2,0x800C4000,0x16 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor2_1.s,BgCheck_EntityRaycastFloor2_1,0x800C4058,0x17 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor3.s,BgCheck_EntityRaycastFloor3,0x800C40B4,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor5.s,BgCheck_EntityRaycastFloor5,0x800C411C,0x1B +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor5_2.s,BgCheck_EntityRaycastFloor5_2,0x800C4188,0x17 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor5_3.s,BgCheck_EntityRaycastFloor5_3,0x800C41E4,0x17 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor6.s,BgCheck_EntityRaycastFloor6,0x800C4240,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor7.s,BgCheck_EntityRaycastFloor7,0x800C42A8,0x1B +asm/non_matchings/code/z_bgcheck/BgCheck_AnyRaycastFloor1.s,BgCheck_AnyRaycastFloor1,0x800C4314,0x2E +asm/non_matchings/code/z_bgcheck/BgCheck_AnyRaycastFloor2.s,BgCheck_AnyRaycastFloor2,0x800C43CC,0x2F +asm/non_matchings/code/z_bgcheck/BgCheck_CameraRaycastFloor2.s,BgCheck_CameraRaycastFloor2,0x800C4488,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor8.s,BgCheck_EntityRaycastFloor8,0x800C44F0,0x1B +asm/non_matchings/code/z_bgcheck/BgCheck_EntityRaycastFloor9.s,BgCheck_EntityRaycastFloor9,0x800C455C,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_CheckWallImpl.s,BgCheck_CheckWallImpl,0x800C45C4,0x1AC +asm/non_matchings/code/z_bgcheck/BgCheck_EntitySphVsWall1.s,BgCheck_EntitySphVsWall1,0x800C4C74,0x19 +asm/non_matchings/code/z_bgcheck/BgCheck_EntitySphVsWall2.s,BgCheck_EntitySphVsWall2,0x800C4CD8,0x19 +asm/non_matchings/code/z_bgcheck/BgCheck_EntitySphVsWall3.s,BgCheck_EntitySphVsWall3,0x800C4D3C,0x1A +asm/non_matchings/code/z_bgcheck/BgCheck_EntitySphVsWall4.s,BgCheck_EntitySphVsWall4,0x800C4DA4,0x1B +asm/non_matchings/code/z_bgcheck/BgCheck_CheckCeilingImpl.s,BgCheck_CheckCeilingImpl,0x800C4E10,0x4A +asm/non_matchings/code/z_bgcheck/BgCheck_AnyCheckCeiling.s,BgCheck_AnyCheckCeiling,0x800C4F38,0x13 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityCheckCeiling.s,BgCheck_EntityCheckCeiling,0x800C4F84,0x14 asm/non_matchings/code/z_bgcheck/func_800C4FD4.s,func_800C4FD4,0x800C4FD4,0x124 asm/non_matchings/code/z_bgcheck/func_800C5464.s,func_800C5464,0x800C5464,0x12 -asm/non_matchings/code/z_bgcheck/func_800C54AC.s,func_800C54AC,0x800C54AC,0x23 -asm/non_matchings/code/z_bgcheck/func_800C5538.s,func_800C5538,0x800C5538,0x23 -asm/non_matchings/code/z_bgcheck/func_800C55C4.s,func_800C55C4,0x800C55C4,0x23 -asm/non_matchings/code/z_bgcheck/func_800C5650.s,func_800C5650,0x800C5650,0x24 -asm/non_matchings/code/z_bgcheck/func_800C56E0.s,func_800C56E0,0x800C56E0,0x23 -asm/non_matchings/code/z_bgcheck/func_800C576C.s,func_800C576C,0x800C576C,0x23 -asm/non_matchings/code/z_bgcheck/func_800C57F8.s,func_800C57F8,0x800C57F8,0x11 -asm/non_matchings/code/z_bgcheck/func_800C583C.s,func_800C583C,0x800C583C,0x23 -asm/non_matchings/code/z_bgcheck/func_800C58C8.s,func_800C58C8,0x800C58C8,0x23 -asm/non_matchings/code/z_bgcheck/func_800C5954.s,func_800C5954,0x800C5954,0x33 -asm/non_matchings/code/z_bgcheck/func_800C5A20.s,func_800C5A20,0x800C5A20,0x11 -asm/non_matchings/code/z_bgcheck/func_800C5A64.s,func_800C5A64,0x800C5A64,0x12 -asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsInit.s,BgCheck_ScenePolygonListsInit,0x800C5AAC,0x6 -asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsAlloc.s,BgCheck_ScenePolygonListsAlloc,0x800C5AC4,0x2F -asm/non_matchings/code/z_bgcheck/func_800C5B80.s,func_800C5B80,0x800C5B80,0xF -asm/non_matchings/code/z_bgcheck/BgCheck_ScenePolygonListsReserveNode.s,BgCheck_ScenePolygonListsReserveNode,0x800C5BBC,0x5 -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshParamsInit.s,BgCheck_ActorMeshParamsInit,0x800C5BD0,0xF -asm/non_matchings/code/z_bgcheck/BgCheck_SetActorMeshParams.s,BgCheck_SetActorMeshParams,0x800C5C0C,0x14 +asm/non_matchings/code/z_bgcheck/BgCheck_CameraLineTest1.s,BgCheck_CameraLineTest1,0x800C54AC,0x23 +asm/non_matchings/code/z_bgcheck/BgCheck_CameraLineTest2.s,BgCheck_CameraLineTest2,0x800C5538,0x23 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityLineTest1.s,BgCheck_EntityLineTest1,0x800C55C4,0x23 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityLineTest2.s,BgCheck_EntityLineTest2,0x800C5650,0x24 +asm/non_matchings/code/z_bgcheck/BgCheck_EntityLineTest3.s,BgCheck_EntityLineTest3,0x800C56E0,0x23 +asm/non_matchings/code/z_bgcheck/BgCheck_ProjectileLineTest.s,BgCheck_ProjectileLineTest,0x800C576C,0x23 +asm/non_matchings/code/z_bgcheck/BgCheck_AnyLineTest1.s,BgCheck_AnyLineTest1,0x800C57F8,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_AnyLineTest2.s,BgCheck_AnyLineTest2,0x800C583C,0x23 +asm/non_matchings/code/z_bgcheck/BgCheck_AnyLineTest3.s,BgCheck_AnyLineTest3,0x800C58C8,0x23 +asm/non_matchings/code/z_bgcheck/BgCheck_SphVsFirstPolyImpl.s,BgCheck_SphVsFirstPolyImpl,0x800C5954,0x33 +asm/non_matchings/code/z_bgcheck/BgCheck_SphVsFirstPoly.s,BgCheck_SphVsFirstPoly,0x800C5A20,0x11 +asm/non_matchings/code/z_bgcheck/BgCheck_SphVsFirstWall.s,BgCheck_SphVsFirstWall,0x800C5A64,0x12 +asm/non_matchings/code/z_bgcheck/SSNodeList_Init.s,SSNodeList_Init,0x800C5AAC,0x6 +asm/non_matchings/code/z_bgcheck/SSNodeList_Alloc.s,SSNodeList_Alloc,0x800C5AC4,0x2F +asm/non_matchings/code/z_bgcheck/SSNodeList_GetNextNode.s,SSNodeList_GetNextNode,0x800C5B80,0xF +asm/non_matchings/code/z_bgcheck/SSNodeList_GetNextNodeIdx.s,SSNodeList_GetNextNodeIdx,0x800C5BBC,0x5 +asm/non_matchings/code/z_bgcheck/ScaleRotPos_Init.s,ScaleRotPos_Init,0x800C5BD0,0xF +asm/non_matchings/code/z_bgcheck/ScaleRotPos_SetValue.s,ScaleRotPos_SetValue,0x800C5C0C,0x14 asm/non_matchings/code/z_bgcheck/BgCheck_AreActorMeshParamsEqual.s,BgCheck_AreActorMeshParamsEqual,0x800C5C5C,0x35 -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsHeadsInit.s,BgCheck_ActorMeshPolyListsHeadsInit,0x800C5D30,0x10 -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshPolyListsInit.s,BgCheck_ActorMeshPolyListsInit,0x800C5D70,0x8 -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshVerticesIndexInit.s,BgCheck_ActorMeshVerticesIndexInit,0x800C5D90,0x3 -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshWaterboxesIndexInit.s,BgCheck_ActorMeshWaterboxesIndexInit,0x800C5D9C,0x3 -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInit.s,BgCheck_ActorMeshInit,0x800C5DA8,0x1A -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshInitFromActor.s,BgCheck_ActorMeshInitFromActor,0x800C5E10,0x2E -asm/non_matchings/code/z_bgcheck/BgCheck_HasActorMeshChanged.s,BgCheck_HasActorMeshChanged,0x800C5EC8,0xA -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsInit.s,BgCheck_PolygonsInit,0x800C5EF0,0x3 -asm/non_matchings/code/z_bgcheck/BgCheck_PolygonsAlloc.s,BgCheck_PolygonsAlloc,0x800C5EFC,0xF -asm/non_matchings/code/z_bgcheck/BgCheck_VerticesInit.s,BgCheck_VerticesInit,0x800C5F38,0x3 -asm/non_matchings/code/z_bgcheck/BgCheck_VerticesListAlloc.s,BgCheck_VerticesListAlloc,0x800C5F44,0x12 -asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListInit.s,BgCheck_WaterboxListInit,0x800C5F8C,0x4 -asm/non_matchings/code/z_bgcheck/BgCheck_WaterboxListAlloc.s,BgCheck_WaterboxListAlloc,0x800C5F9C,0xF -asm/non_matchings/code/z_bgcheck/BgCheck_ActorMeshUpdateParams.s,BgCheck_ActorMeshUpdateParams,0x800C5FD8,0x13 -asm/non_matchings/code/z_bgcheck/BgCheck_IsActorMeshIndexValid.s,BgCheck_IsActorMeshIndexValid,0x800C6024,0x8 -asm/non_matchings/code/z_bgcheck/BgCheck_DynaInit.s,BgCheck_DynaInit,0x800C6044,0x15 -asm/non_matchings/code/z_bgcheck/BgCheck_DynaAlloc.s,BgCheck_DynaAlloc,0x800C6098,0x3C -asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMesh.s,BgCheck_AddActorMesh,0x800C6188,0x30 -asm/non_matchings/code/z_bgcheck/BgCheck_GetActorOfMesh.s,BgCheck_GetActorOfMesh,0x800C6248,0x1D +asm/non_matchings/code/z_bgcheck/DynaLookup_ResetLists.s,DynaLookup_ResetLists,0x800C5D30,0x10 +asm/non_matchings/code/z_bgcheck/DynaLookup_Reset.s,DynaLookup_Reset,0x800C5D70,0x8 +asm/non_matchings/code/z_bgcheck/DynaLookup_ResetVtxStartIndex.s,DynaLookup_ResetVtxStartIndex,0x800C5D90,0x3 +asm/non_matchings/code/z_bgcheck/DynaLookup_ResetWaterBoxStartIndex.s,DynaLookup_ResetWaterBoxStartIndex,0x800C5D9C,0x3 +asm/non_matchings/code/z_bgcheck/BgActor_Init.s,BgActor_Init,0x800C5DA8,0x1A +asm/non_matchings/code/z_bgcheck/BgActor_InitFromActor.s,BgActor_InitFromActor,0x800C5E10,0x2E +asm/non_matchings/code/z_bgcheck/BgActor_IsTransformUnchanged.s,BgActor_IsTransformUnchanged,0x800C5EC8,0xA +asm/non_matchings/code/z_bgcheck/DynaPoly_NullPolyList.s,DynaPoly_NullPolyList,0x800C5EF0,0x3 +asm/non_matchings/code/z_bgcheck/DynaPoly_AllocPolyList.s,DynaPoly_AllocPolyList,0x800C5EFC,0xF +asm/non_matchings/code/z_bgcheck/DynaPoly_NullVtxList.s,DynaPoly_NullVtxList,0x800C5F38,0x3 +asm/non_matchings/code/z_bgcheck/DynaPoly_AllocVtxList.s,DynaPoly_AllocVtxList,0x800C5F44,0x12 +asm/non_matchings/code/z_bgcheck/DynaPoly_InitWaterBoxList.s,DynaPoly_InitWaterBoxList,0x800C5F8C,0x4 +asm/non_matchings/code/z_bgcheck/DynaPoly_AllocWaterBoxList.s,DynaPoly_AllocWaterBoxList,0x800C5F9C,0xF +asm/non_matchings/code/z_bgcheck/DynaPoly_SetBgActorPrevTransform.s,DynaPoly_SetBgActorPrevTransform,0x800C5FD8,0x13 +asm/non_matchings/code/z_bgcheck/DynaPoly_IsBgIdBgActor.s,DynaPoly_IsBgIdBgActor,0x800C6024,0x8 +asm/non_matchings/code/z_bgcheck/DynaPoly_Init.s,DynaPoly_Init,0x800C6044,0x15 +asm/non_matchings/code/z_bgcheck/DynaPoly_Alloc.s,DynaPoly_Alloc,0x800C6098,0x3C +asm/non_matchings/code/z_bgcheck/DynaPoly_SetBgActor.s,DynaPoly_SetBgActor,0x800C6188,0x30 +asm/non_matchings/code/z_bgcheck/DynaPoly_GetActor.s,DynaPoly_GetActor,0x800C6248,0x1D asm/non_matchings/code/z_bgcheck/func_800C62BC.s,func_800C62BC,0x800C62BC,0x16 asm/non_matchings/code/z_bgcheck/func_800C6314.s,func_800C6314,0x800C6314,0x16 asm/non_matchings/code/z_bgcheck/func_800C636C.s,func_800C636C,0x800C636C,0x16 asm/non_matchings/code/z_bgcheck/func_800C63C4.s,func_800C63C4,0x800C63C4,0x16 asm/non_matchings/code/z_bgcheck/func_800C641C.s,func_800C641C,0x800C641C,0x16 asm/non_matchings/code/z_bgcheck/func_800C6474.s,func_800C6474,0x800C6474,0x16 -asm/non_matchings/code/z_bgcheck/BgCheck_RemoveActorMesh.s,BgCheck_RemoveActorMesh,0x800C64CC,0x22 +asm/non_matchings/code/z_bgcheck/DynaPoly_DeleteBgActor.s,DynaPoly_DeleteBgActor,0x800C64CC,0x22 asm/non_matchings/code/z_bgcheck/func_800C6554.s,func_800C6554,0x800C6554,0x6 asm/non_matchings/code/z_bgcheck/BgCheck_CalcWaterboxDimensions.s,BgCheck_CalcWaterboxDimensions,0x800C656C,0xB3 -asm/non_matchings/code/z_bgcheck/BgCheck_AddActorMeshToLists.s,BgCheck_AddActorMeshToLists,0x800C6838,0x2C5 +asm/non_matchings/code/z_bgcheck/DynaPoly_SetBgActorToLists.s,DynaPoly_SetBgActorToLists,0x800C6838,0x2C5 asm/non_matchings/code/z_bgcheck/BgCheck_ResetFlagsIfLoadedActor.s,BgCheck_ResetFlagsIfLoadedActor,0x800C734C,0x26 -asm/non_matchings/code/z_bgcheck/BgCheck_Update.s,BgCheck_Update,0x800C73E4,0x62 +asm/non_matchings/code/z_bgcheck/DynaPoly_Setup.s,DynaPoly_Setup,0x800C73E4,0x62 asm/non_matchings/code/z_bgcheck/func_800C756C.s,func_800C756C,0x800C756C,0x3C -asm/non_matchings/code/z_bgcheck/BgCheck_UpdateAllActorMeshes.s,BgCheck_UpdateAllActorMeshes,0x800C765C,0x24 +asm/non_matchings/code/z_bgcheck/DynaPoly_SetupAllActorMeshes.s,DynaPoly_SetupAllActorMeshes,0x800C765C,0x24 asm/non_matchings/code/z_bgcheck/func_800C76EC.s,func_800C76EC,0x800C76EC,0xA2 asm/non_matchings/code/z_bgcheck/func_800C7974.s,func_800C7974,0x800C7974,0x133 asm/non_matchings/code/z_bgcheck/func_800C7E40.s,func_800C7E40,0x800C7E40,0x1D0 @@ -556,19 +556,19 @@ asm/non_matchings/code/z_bgcheck/func_800C8EEC.s,func_800C8EEC,0x800C8EEC,0x70 asm/non_matchings/code/z_bgcheck/func_800C90AC.s,func_800C90AC,0x800C90AC,0x5C asm/non_matchings/code/z_bgcheck/func_800C921C.s,func_800C921C,0x800C921C,0x59 asm/non_matchings/code/z_bgcheck/func_800C9380.s,func_800C9380,0x800C9380,0x58 -asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeaderPointers.s,BgCheck_RelocateMeshHeaderPointers,0x800C94E0,0x21 -asm/non_matchings/code/z_bgcheck/BgCheck_RelocateMeshHeader.s,BgCheck_RelocateMeshHeader,0x800C9564,0xD -asm/non_matchings/code/z_bgcheck/BgCheck_RelocateAllMeshHeaders.s,BgCheck_RelocateAllMeshHeaders,0x800C9598,0x2A +asm/non_matchings/code/z_bgcheck/CollisionHeader_GetVirtualPointers.s,CollisionHeader_GetVirtualPointers,0x800C94E0,0x21 +asm/non_matchings/code/z_bgcheck/CollisionHeader_GetVirtual.s,CollisionHeader_GetVirtual,0x800C9564,0xD +asm/non_matchings/code/z_bgcheck/BgCheck_InitCollisionHeaders.s,BgCheck_InitCollisionHeaders,0x800C9598,0x2A asm/non_matchings/code/z_bgcheck/func_800C9640.s,func_800C9640,0x800C9640,0x15 -asm/non_matchings/code/z_bgcheck/BgCheck_GetPolygonAttributes.s,BgCheck_GetPolygonAttributes,0x800C9694,0x1C -asm/non_matchings/code/z_bgcheck/func_800C9704.s,func_800C9704,0x800C9704,0x9 +asm/non_matchings/code/z_bgcheck/SurfaceType_GetData.s,SurfaceType_GetData,0x800C9694,0x1C +asm/non_matchings/code/z_bgcheck/SurfaceType_GetCamDataIndex.s,SurfaceType_GetCamDataIndex,0x800C9704,0x9 asm/non_matchings/code/z_bgcheck/func_800C9728.s,func_800C9728,0x800C9728,0x12 asm/non_matchings/code/z_bgcheck/func_800C9770.s,func_800C9770,0x800C9770,0x22 asm/non_matchings/code/z_bgcheck/func_800C97F8.s,func_800C97F8,0x800C97F8,0x13 asm/non_matchings/code/z_bgcheck/func_800C9844.s,func_800C9844,0x800C9844,0x22 asm/non_matchings/code/z_bgcheck/func_800C98CC.s,func_800C98CC,0x800C98CC,0x16 -asm/non_matchings/code/z_bgcheck/func_800C9924.s,func_800C9924,0x800C9924,0x22 -asm/non_matchings/code/z_bgcheck/func_800C99AC.s,func_800C99AC,0x800C99AC,0xA +asm/non_matchings/code/z_bgcheck/SurfaceType_GetCamPosData.s,SurfaceType_GetCamPosData,0x800C9924,0x22 +asm/non_matchings/code/z_bgcheck/SurfaceType_GetSceneExitIndex.s,SurfaceType_GetSceneExitIndex,0x800C99AC,0xA asm/non_matchings/code/z_bgcheck/func_800C99D4.s,func_800C99D4,0x800C99D4,0xA asm/non_matchings/code/z_bgcheck/func_800C99FC.s,func_800C99FC,0x800C99FC,0xA asm/non_matchings/code/z_bgcheck/func_800C9A24.s,func_800C9A24,0x800C9A24,0xA @@ -579,30 +579,30 @@ asm/non_matchings/code/z_bgcheck/func_800C9AE4.s,func_800C9AE4,0x800C9AE4,0xD asm/non_matchings/code/z_bgcheck/func_800C9B18.s,func_800C9B18,0x800C9B18,0xA asm/non_matchings/code/z_bgcheck/func_800C9B40.s,func_800C9B40,0x800C9B40,0xA asm/non_matchings/code/z_bgcheck/func_800C9B68.s,func_800C9B68,0x800C9B68,0xA -asm/non_matchings/code/z_bgcheck/func_800C9B90.s,func_800C9B90,0x800C9B90,0xA +asm/non_matchings/code/z_bgcheck/SurfaceType_IsHorseBlocked.s,SurfaceType_IsHorseBlocked,0x800C9B90,0xA asm/non_matchings/code/z_bgcheck/func_800C9BB8.s,func_800C9BB8,0x800C9BB8,0x9 -asm/non_matchings/code/z_bgcheck/func_800C9BDC.s,func_800C9BDC,0x800C9BDC,0x12 +asm/non_matchings/code/z_bgcheck/SurfaceType_GetSfx.s,SurfaceType_GetSfx,0x800C9BDC,0x12 asm/non_matchings/code/z_bgcheck/func_800C9C24.s,func_800C9C24,0x800C9C24,0x14 -asm/non_matchings/code/z_bgcheck/func_800C9C74.s,func_800C9C74,0x800C9C74,0xA -asm/non_matchings/code/z_bgcheck/func_800C9C9C.s,func_800C9C9C,0x800C9C9C,0xA -asm/non_matchings/code/z_bgcheck/func_800C9CC4.s,func_800C9CC4,0x800C9CC4,0xA -asm/non_matchings/code/z_bgcheck/func_800C9CEC.s,func_800C9CEC,0x800C9CEC,0xA -asm/non_matchings/code/z_bgcheck/func_800C9D14.s,func_800C9D14,0x800C9D14,0xF -asm/non_matchings/code/z_bgcheck/func_800C9D50.s,func_800C9D50,0x800C9D50,0xF -asm/non_matchings/code/z_bgcheck/func_800C9D8C.s,func_800C9D8C,0x800C9D8C,0x14 +asm/non_matchings/code/z_bgcheck/SurfaceType_GetSlope.s,SurfaceType_GetSlope,0x800C9C74,0xA +asm/non_matchings/code/z_bgcheck/SurfaceType_GetLightSettingIndex.s,SurfaceType_GetLightSettingIndex,0x800C9C9C,0xA +asm/non_matchings/code/z_bgcheck/SurfaceType_GetEcho.s,SurfaceType_GetEcho,0x800C9CC4,0xA +asm/non_matchings/code/z_bgcheck/SurfaceType_IsHookshotSurface.s,SurfaceType_IsHookshotSurface,0x800C9CEC,0xA +asm/non_matchings/code/z_bgcheck/SurfaceType_IsIgnoredByEntities.s,SurfaceType_IsIgnoredByEntities,0x800C9D14,0xF +asm/non_matchings/code/z_bgcheck/SurfaceType_IsIgnoredByProjectiles.s,SurfaceType_IsIgnoredByProjectiles,0x800C9D50,0xF +asm/non_matchings/code/z_bgcheck/SurfaceType_IsConveyor.s,SurfaceType_IsConveyor,0x800C9D8C,0x14 asm/non_matchings/code/z_bgcheck/func_800C9DDC.s,func_800C9DDC,0x800C9DDC,0xF -asm/non_matchings/code/z_bgcheck/func_800C9E18.s,func_800C9E18,0x800C9E18,0xA -asm/non_matchings/code/z_bgcheck/func_800C9E40.s,func_800C9E40,0x800C9E40,0x12 -asm/non_matchings/code/z_bgcheck/func_800C9E88.s,func_800C9E88,0x800C9E88,0xD -asm/non_matchings/code/z_bgcheck/func_800C9EBC.s,func_800C9EBC,0x800C9EBC,0xBC -asm/non_matchings/code/z_bgcheck/func_800CA1AC.s,func_800CA1AC,0x800CA1AC,0xF -asm/non_matchings/code/z_bgcheck/func_800CA1E8.s,func_800CA1E8,0x800CA1E8,0x11 -asm/non_matchings/code/z_bgcheck/func_800CA22C.s,func_800CA22C,0x800CA22C,0xCF +asm/non_matchings/code/z_bgcheck/SurfaceType_GetConveyorSpeed.s,SurfaceType_GetConveyorSpeed,0x800C9E18,0xA +asm/non_matchings/code/z_bgcheck/SurfaceType_GetConveyorDirection.s,SurfaceType_GetConveyorDirection,0x800C9E40,0x12 +asm/non_matchings/code/z_bgcheck/SurfaceType_IsWallDamage.s,SurfaceType_IsWallDamage,0x800C9E88,0xD +asm/non_matchings/code/z_bgcheck/WaterBox_GetSurfaceImpl.s,WaterBox_GetSurfaceImpl,0x800C9EBC,0xBC +asm/non_matchings/code/z_bgcheck/WaterBox_GetSurface1.s,WaterBox_GetSurface1,0x800CA1AC,0xF +asm/non_matchings/code/z_bgcheck/WaterBox_GetSurface1_2.s,WaterBox_GetSurface1_2,0x800CA1E8,0x11 +asm/non_matchings/code/z_bgcheck/WaterBox_GetSurface2.s,WaterBox_GetSurface2,0x800CA22C,0xCF asm/non_matchings/code/z_bgcheck/func_800CA568.s,func_800CA568,0x800CA568,0x33 asm/non_matchings/code/z_bgcheck/func_800CA634.s,func_800CA634,0x800CA634,0x5 asm/non_matchings/code/z_bgcheck/func_800CA648.s,func_800CA648,0x800CA648,0x1C asm/non_matchings/code/z_bgcheck/func_800CA6B8.s,func_800CA6B8,0x800CA6B8,0x8 -asm/non_matchings/code/z_bgcheck/func_800CA6D8.s,func_800CA6D8,0x800CA6D8,0x6 +asm/non_matchings/code/z_bgcheck/WaterBox_GetLightSettingIndex.s,WaterBox_GetLightSettingIndex,0x800CA6D8,0x6 asm/non_matchings/code/z_bgcheck/func_800CA6F0.s,func_800CA6F0,0x800CA6F0,0xB8 asm/non_matchings/code/z_bgcheck/func_800CA9D0.s,func_800CA9D0,0x800CA9D0,0x11 asm/non_matchings/code/z_bgcheck/func_800CAA14.s,func_800CAA14,0x800CAA14,0x2F @@ -2770,7 +2770,7 @@ asm/non_matchings/code/sys_math/cos_rad.s,cos_rad,0x80179540,0x15 asm/non_matchings/code/sys_math/Rand_ZeroFloat.s,Rand_ZeroFloat,0x80179594,0xB asm/non_matchings/code/sys_math/randPlusMinusPoint5Scaled.s,randPlusMinusPoint5Scaled,0x801795C0,0xC asm/non_matchings/code/sys_math3d/Math3D_Normalize.s,Math3D_Normalize,0x801795F0,0x22 -asm/non_matchings/code/sys_math3d/func_80179678.s,func_80179678,0x80179678,0x48 +asm/non_matchings/code/sys_math3d/Math3D_PlaneVsLineSegClosestPoint.s,Math3D_PlaneVsLineSegClosestPoint,0x80179678,0x48 asm/non_matchings/code/sys_math3d/func_80179798.s,func_80179798,0x80179798,0xAB asm/non_matchings/code/sys_math3d/func_80179A44.s,func_80179A44,0x80179A44,0x3C asm/non_matchings/code/sys_math3d/func_80179B34.s,func_80179B34,0x80179B34,0x18 @@ -2792,46 +2792,46 @@ asm/non_matchings/code/sys_math3d/Math3D_XZDistanceSquared.s,Math3D_XZDistanceSq asm/non_matchings/code/sys_math3d/Math3D_XZDistance.s,Math3D_XZDistance,0x8017A678,0xC asm/non_matchings/code/sys_math3d/Math3D_LengthSquared.s,Math3D_LengthSquared,0x8017A6A8,0xB asm/non_matchings/code/sys_math3d/Math3D_Vec3fMagnitude.s,Math3D_Vec3fMagnitude,0x8017A6D4,0x9 -asm/non_matchings/code/sys_math3d/Math3D_DistanceSquared.s,Math3D_DistanceSquared,0x8017A6F8,0xA +asm/non_matchings/code/sys_math3d/Math3D_Vec3fDistSq.s,Math3D_Vec3fDistSq,0x8017A6F8,0xA asm/non_matchings/code/sys_math3d/Math3D_Distance.s,Math3D_Distance,0x8017A720,0x8 asm/non_matchings/code/sys_math3d/Math3D_DistanceS.s,Math3D_DistanceS,0x8017A740,0x1E asm/non_matchings/code/sys_math3d/func_8017A7B8.s,func_8017A7B8,0x8017A7B8,0x10 asm/non_matchings/code/sys_math3d/func_8017A7F8.s,func_8017A7F8,0x8017A7F8,0x10 asm/non_matchings/code/sys_math3d/func_8017A838.s,func_8017A838,0x8017A838,0x10 asm/non_matchings/code/sys_math3d/Math3D_CrossProduct.s,Math3D_CrossProduct,0x8017A878,0x1D -asm/non_matchings/code/sys_math3d/Math3D_NormalVector.s,Math3D_NormalVector,0x8017A8EC,0x1A -asm/non_matchings/code/sys_math3d/func_8017A954.s,func_8017A954,0x8017A954,0x2E -asm/non_matchings/code/sys_math3d/func_8017AA0C.s,func_8017AA0C,0x8017AA0C,0x6C -asm/non_matchings/code/sys_math3d/func_8017ABBC.s,func_8017ABBC,0x8017ABBC,0x5F -asm/non_matchings/code/sys_math3d/func_8017AD38.s,func_8017AD38,0x8017AD38,0x255 +asm/non_matchings/code/sys_math3d/Math3D_SurfaceNorm.s,Math3D_SurfaceNorm,0x8017A8EC,0x1A +asm/non_matchings/code/sys_math3d/Math3D_PointRelativeToCubeFaces.s,Math3D_PointRelativeToCubeFaces,0x8017A954,0x2E +asm/non_matchings/code/sys_math3d/Math3D_PointRelativeToCubeEdges.s,Math3D_PointRelativeToCubeEdges,0x8017AA0C,0x6C +asm/non_matchings/code/sys_math3d/Math3D_PointRelativeToCubeVertices.s,Math3D_PointRelativeToCubeVertices,0x8017ABBC,0x5F +asm/non_matchings/code/sys_math3d/Math3D_LineVsCube.s,Math3D_LineVsCube,0x8017AD38,0x255 asm/non_matchings/code/sys_math3d/func_8017B68C.s,func_8017B68C,0x8017B68C,0x5B asm/non_matchings/code/sys_math3d/func_8017B7F8.s,func_8017B7F8,0x8017B7F8,0x23 asm/non_matchings/code/sys_math3d/Math3D_UnitNormalVector.s,Math3D_UnitNormalVector,0x8017B884,0x45 asm/non_matchings/code/sys_math3d/Math3D_SignedDistanceFromPlane.s,Math3D_SignedDistanceFromPlane,0x8017B998,0x10 asm/non_matchings/code/sys_math3d/func_8017B9D8.s,func_8017B9D8,0x8017B9D8,0xF -asm/non_matchings/code/sys_math3d/Math3D_NormalizedDistanceFromPlane.s,Math3D_NormalizedDistanceFromPlane,0x8017BA14,0xE -asm/non_matchings/code/sys_math3d/Math3D_NormalizedSignedDistanceFromPlane.s,Math3D_NormalizedSignedDistanceFromPlane,0x8017BA4C,0x21 -asm/non_matchings/code/sys_math3d/func_8017BAD0.s,func_8017BAD0,0x8017BAD0,0xB2 +asm/non_matchings/code/sys_math3d/Math3D_UDistPlaneToPos.s,Math3D_UDistPlaneToPos,0x8017BA14,0xE +asm/non_matchings/code/sys_math3d/Math3D_DistPlaneToPos.s,Math3D_DistPlaneToPos,0x8017BA4C,0x21 +asm/non_matchings/code/sys_math3d/Math3D_TriChkPointParaYDist.s,Math3D_TriChkPointParaYDist,0x8017BAD0,0xB2 asm/non_matchings/code/sys_math3d/func_8017BD98.s,func_8017BD98,0x8017BD98,0x12 asm/non_matchings/code/sys_math3d/func_8017BDE0.s,func_8017BDE0,0x8017BDE0,0x14 -asm/non_matchings/code/sys_math3d/func_8017BE30.s,func_8017BE30,0x8017BE30,0x2C -asm/non_matchings/code/sys_math3d/func_8017BEE0.s,func_8017BEE0,0x8017BEE0,0x2B +asm/non_matchings/code/sys_math3d/Math3D_TriChkPointParaYIntersectDist.s,Math3D_TriChkPointParaYIntersectDist,0x8017BE30,0x2C +asm/non_matchings/code/sys_math3d/Math3D_TriChkPointParaYIntersectInsideTri.s,Math3D_TriChkPointParaYIntersectInsideTri,0x8017BEE0,0x2B asm/non_matchings/code/sys_math3d/func_8017BF8C.s,func_8017BF8C,0x8017BF8C,0x1F -asm/non_matchings/code/sys_math3d/func_8017C008.s,func_8017C008,0x8017C008,0x5D +asm/non_matchings/code/sys_math3d/Math3D_TriChkLineSegParaYIntersect.s,Math3D_TriChkLineSegParaYIntersect,0x8017C008,0x5D asm/non_matchings/code/sys_math3d/func_8017C17C.s,func_8017C17C,0x8017C17C,0x1D asm/non_matchings/code/sys_math3d/func_8017C1F0.s,func_8017C1F0,0x8017C1F0,0xA9 -asm/non_matchings/code/sys_math3d/func_8017C494.s,func_8017C494,0x8017C494,0x2B -asm/non_matchings/code/sys_math3d/func_8017C540.s,func_8017C540,0x8017C540,0xB2 +asm/non_matchings/code/sys_math3d/Math3D_TriChkPointParaYIntersectInsideTri2.s,Math3D_TriChkPointParaYIntersectInsideTri2,0x8017C494,0x2B +asm/non_matchings/code/sys_math3d/Math3D_TriChkPointParaXDist.s,Math3D_TriChkPointParaXDist,0x8017C540,0xB2 asm/non_matchings/code/sys_math3d/func_8017C808.s,func_8017C808,0x8017C808,0x12 -asm/non_matchings/code/sys_math3d/func_8017C850.s,func_8017C850,0x8017C850,0x2D +asm/non_matchings/code/sys_math3d/Math3D_TriChkPointParaXIntersect.s,Math3D_TriChkPointParaXIntersect,0x8017C850,0x2D asm/non_matchings/code/sys_math3d/func_8017C904.s,func_8017C904,0x8017C904,0x1F -asm/non_matchings/code/sys_math3d/func_8017C980.s,func_8017C980,0x8017C980,0x62 +asm/non_matchings/code/sys_math3d/Math3D_TriChkLineSegParaXIntersect.s,Math3D_TriChkLineSegParaXIntersect,0x8017C980,0x62 asm/non_matchings/code/sys_math3d/func_8017CB08.s,func_8017CB08,0x8017CB08,0x1D -asm/non_matchings/code/sys_math3d/func_8017CB7C.s,func_8017CB7C,0x8017CB7C,0xCB +asm/non_matchings/code/sys_math3d/Math3D_TriChkLineSegParaZDist.s,Math3D_TriChkLineSegParaZDist,0x8017CB7C,0xCB asm/non_matchings/code/sys_math3d/func_8017CEA8.s,func_8017CEA8,0x8017CEA8,0x12 -asm/non_matchings/code/sys_math3d/func_8017CEF0.s,func_8017CEF0,0x8017CEF0,0x2D +asm/non_matchings/code/sys_math3d/Math3D_TriChkPointParaZIntersect.s,Math3D_TriChkPointParaZIntersect,0x8017CEF0,0x2D asm/non_matchings/code/sys_math3d/func_8017CFA4.s,func_8017CFA4,0x8017CFA4,0x1F -asm/non_matchings/code/sys_math3d/func_8017D020.s,func_8017D020,0x8017D020,0x63 +asm/non_matchings/code/sys_math3d/Math3D_TriChkLineSegParaZIntersect.s,Math3D_TriChkLineSegParaZIntersect,0x8017D020,0x63 asm/non_matchings/code/sys_math3d/func_8017D1AC.s,func_8017D1AC,0x8017D1AC,0x1D asm/non_matchings/code/sys_math3d/func_8017D220.s,func_8017D220,0x8017D220,0x37 asm/non_matchings/code/sys_math3d/func_8017D2FC.s,func_8017D2FC,0x8017D2FC,0x42 @@ -2843,7 +2843,7 @@ asm/non_matchings/code/sys_math3d/func_8017D7C0.s,func_8017D7C0,0x8017D7C0,0x15 asm/non_matchings/code/sys_math3d/func_8017D814.s,func_8017D814,0x8017D814,0x42 asm/non_matchings/code/sys_math3d/func_8017D91C.s,func_8017D91C,0x8017D91C,0x42 asm/non_matchings/code/sys_math3d/func_8017DA24.s,func_8017DA24,0x8017DA24,0x42 -asm/non_matchings/code/sys_math3d/Math3D_ColSphereLineSeg.s,Math3D_ColSphereLineSeg,0x8017DB2C,0x82 +asm/non_matchings/code/sys_math3d/Math3D_LineVsSph.s,Math3D_LineVsSph,0x8017DB2C,0x82 asm/non_matchings/code/sys_math3d/func_8017DD34.s,func_8017DD34,0x8017DD34,0x50 asm/non_matchings/code/sys_math3d/Math3D_ColSphereTri.s,Math3D_ColSphereTri,0x8017DE74,0x108 asm/non_matchings/code/sys_math3d/func_8017E294.s,func_8017E294,0x8017E294,0x2F @@ -2858,9 +2858,9 @@ asm/non_matchings/code/sys_math3d/Math3D_ColSphereCylinderDistanceAndAmount.s,Ma asm/non_matchings/code/sys_math3d/Math3D_ColCylinderCylinderAmount.s,Math3D_ColCylinderCylinderAmount,0x8017F45C,0x8 asm/non_matchings/code/sys_math3d/Math3D_ColCylinderCylinderAmountAndDistance.s,Math3D_ColCylinderCylinderAmountAndDistance,0x8017F47C,0x74 asm/non_matchings/code/sys_math3d/Math3d_ColTriTri.s,Math3d_ColTriTri,0x8017F64C,0xDD -asm/non_matchings/code/sys_math3d/func_8017F9C0.s,func_8017F9C0,0x8017F9C0,0x1D -asm/non_matchings/code/sys_math3d/func_8017FA34.s,func_8017FA34,0x8017FA34,0x1D -asm/non_matchings/code/sys_math3d/func_8017FAA8.s,func_8017FAA8,0x8017FAA8,0x1D +asm/non_matchings/code/sys_math3d/Math3D_XZInSphere.s,Math3D_XZInSphere,0x8017F9C0,0x1D +asm/non_matchings/code/sys_math3d/Math3D_XYInSphere.s,Math3D_XYInSphere,0x8017FA34,0x1D +asm/non_matchings/code/sys_math3d/Math3D_YZInSphere.s,Math3D_YZInSphere,0x8017FAA8,0x1D asm/non_matchings/code/sys_math3d/func_8017FB1C.s,func_8017FB1C,0x8017FB1C,0x8A asm/non_matchings/code/sys_math3d/func_8017FD44.s,func_8017FD44,0x8017FD44,0x5B asm/non_matchings/code/sys_math_atan/Math_GetAtan2Tbl.s,Math_GetAtan2Tbl,0x8017FEB0,0xD diff --git a/undefined_syms.txt b/undefined_syms.txt index e3cb90acd..0d60359e1 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -3444,6 +3444,9 @@ D_06001384 = 0x06001384; D_06009890 = 0x06009890; D_0600A280 = 0x0600A280; D_0600AD98 = 0x0600AD98; +D_0600F8F0 = 0x0600F8F0; +D_0600FCF0 = 0x0600FCF0; +D_060100F0 = 0x060100F0; D_06011B60 = 0x06011B60; // ovl_En_Rg