diff --git a/assets/xml/objects/object_dog.xml b/assets/xml/objects/object_dog.xml index 151a208f3..ef00442b6 100644 --- a/assets/xml/objects/object_dog.xml +++ b/assets/xml/objects/object_dog.xml @@ -1,41 +1,41 @@  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_kz.xml b/assets/xml/objects/object_kz.xml index fe9ac5c06..20aeec4d9 100644 --- a/assets/xml/objects/object_kz.xml +++ b/assets/xml/objects/object_kz.xml @@ -1,43 +1,45 @@  - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + - - - - + + + + diff --git a/assets/xml/objects/object_link_boy.xml b/assets/xml/objects/object_link_boy.xml new file mode 100644 index 000000000..82642a7ba --- /dev/null +++ b/assets/xml/objects/object_link_boy.xml @@ -0,0 +1,271 @@ + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + \ No newline at end of file diff --git a/assets/xml/objects/object_link_child.xml b/assets/xml/objects/object_link_child.xml index 0e0bd8be3..97f324648 100644 --- a/assets/xml/objects/object_link_child.xml +++ b/assets/xml/objects/object_link_child.xml @@ -7,60 +7,60 @@ - - - - - - + + + + + + - - - - + + + + - - - - - - + + + + + + - - - - + + + + - + - - - - - - - - - + + + + + + + + + - - + + - - + + @@ -91,12 +91,12 @@ - + - - + + @@ -120,105 +120,105 @@ - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + - - - + + + - - - - - + + + + + - - - - - + + + + + - - - - + + + + - - - - + + + + - - - + + + - - - - - + + + + + - - - - - - - - + + + + + + + + - - - - + + + + - + - + - + - + - + - + diff --git a/include/variables.h b/include/variables.h index d1be04324..24bac8021 100644 --- a/include/variables.h +++ b/include/variables.h @@ -5,14 +5,6 @@ #include "segment_symbols.h" extern Mtx D_01000000; -extern Gfx D_06025218[]; -extern Gfx D_060252D8[]; -extern Gfx D_06025438[]; -extern Gfx D_06025598[]; -extern Gfx D_06025658[]; -extern Gfx D_060257B8[]; -extern Gfx D_0602A738[]; -extern Gfx D_0602CB48[]; extern u32 osTvType; extern u32 osRomBase; diff --git a/spec b/spec index 8ab510439..b1d7b628c 100644 --- a/spec +++ b/spec @@ -3396,7 +3396,7 @@ endseg beginseg name "object_link_boy" romalign 0x1000 - include "build/baserom/object_link_boy.o" + include "build/assets/objects/object_link_boy/object_link_boy.o" number 6 endseg diff --git a/src/code/z_player_lib.c b/src/code/z_player_lib.c index 7392222b8..7db5569dc 100644 --- a/src/code/z_player_lib.c +++ b/src/code/z_player_lib.c @@ -1,5 +1,6 @@ #include "global.h" #include "objects/gameplay_keep/gameplay_keep.h" +#include "objects/object_link_boy/object_link_boy.h" #include "objects/object_link_child/object_link_child.h" typedef struct { @@ -12,7 +13,7 @@ typedef struct { /* 0x04 */ Vec3f pos; } BowStringData; // size = 0x10 -FlexSkeletonHeader* gPlayerSkelHeaders[] = { 0x060377F4, &gLinkChildSkel }; +FlexSkeletonHeader* gPlayerSkelHeaders[] = { &gLinkAdultSkel, &gLinkChildSkel }; s16 sBootData[PLAYER_BOOTS_MAX][17] = { { 200, 1000, 300, 700, 550, 270, 600, 350, 800, 600, -100, 600, 590, 750, 125, 200, 130 }, @@ -45,21 +46,33 @@ u8 gPlayerModelTypes[][5] = { }; Gfx* D_80125CE8[] = { - 0x060226E0, gLinkChildRightHandClosedNearDL, 0x06027690, gLinkChildRightHandClosedFarDL, - 0x060226E0, gLinkChildRightFistAndDekuShieldNearDL, 0x06027690, gLinkChildRightFistAndDekuShieldFarDL, - 0x06022970, gLinkChildRightHandClosedNearDL, 0x06027918, gLinkChildRightHandClosedFarDL, - 0x060241C0, gLinkChildRightHandClosedNearDL, 0x06028B40, gLinkChildRightHandClosedFarDL, + gLinkAdultRightHandClosedNearDL, + gLinkChildRightHandClosedNearDL, + gLinkAdultRightHandClosedFarDL, + gLinkChildRightHandClosedFarDL, + gLinkAdultRightHandClosedNearDL, + gLinkChildRightFistAndDekuShieldNearDL, + gLinkAdultRightHandClosedFarDL, + gLinkChildRightFistAndDekuShieldFarDL, + gLinkAdultRightHandHoldingHylianShieldNearDL, + gLinkChildRightHandClosedNearDL, + gLinkAdultRightHandHoldingHylianShieldFarDL, + gLinkChildRightHandClosedFarDL, + gLinkAdultRightHandHoldingMirrorShieldNearDL, + gLinkChildRightHandClosedNearDL, + gLinkAdultRightHandHoldingMirrorShieldFarDL, + gLinkChildRightHandClosedFarDL, }; Gfx* D_80125D28[] = { - 0x06023160, gLinkChildSwordAndSheathNearDL, - 0x06027F00, gLinkChildSwordAndSheathFarDL, - 0x06023160, gLinkChildDekuShieldSwordAndSheathNearDL, - 0x06027F00, gLinkChildDekuShieldSwordAndSheathFarDL, - 0x06020A78, gLinkChildHylianShieldSwordAndSheathNearDL, - 0x06025FB8, gLinkChildHylianShieldSwordAndSheathFarDL, - 0x060211B8, gLinkChildSwordAndSheathNearDL, - 0x060264F0, gLinkChildSwordAndSheathFarDL, + gLinkAdultMasterSwordAndSheathNearDL, gLinkChildSwordAndSheathNearDL, + gLinkAdultMasterSwordAndSheathFarDL, gLinkChildSwordAndSheathFarDL, + gLinkAdultMasterSwordAndSheathNearDL, gLinkChildDekuShieldSwordAndSheathNearDL, + gLinkAdultMasterSwordAndSheathFarDL, gLinkChildDekuShieldSwordAndSheathFarDL, + gLinkAdultHylianShieldSwordAndSheathNearDL, gLinkChildHylianShieldSwordAndSheathNearDL, + gLinkAdultHylianShieldSwordAndSheathFarDL, gLinkChildHylianShieldSwordAndSheathFarDL, + gLinkAdultMirrorShieldSwordAndSheathNearDL, gLinkChildSwordAndSheathNearDL, + gLinkAdultMirrorShieldSwordAndSheathFarDL, gLinkChildSwordAndSheathFarDL, }; Gfx* D_80125D68[] = { @@ -67,166 +80,180 @@ Gfx* D_80125D68[] = { }; Gfx* D_80125D88[] = { - 0x060249D8, gLinkChildSheathNearDL, - 0x06028150, gLinkChildSheathFarDL, - 0x060249D8, gLinkChildDekuShieldAndSheathNearDL, - 0x06028150, gLinkChildDekuShieldAndSheathFarDL, - 0x06020E70, gLinkChildHylianShieldAndSheathNearDL, - 0x060262B8, gLinkChildHylianShieldAndSheathFarDL, - 0x060216B0, gLinkChildSheathNearDL, - 0x06026910, gLinkChildSheathFarDL, - NULL, NULL, - NULL, NULL, - 0x060249D8, gLinkChildDekuShieldWithMatrixDL, - 0x060249D8, gLinkChildDekuShieldWithMatrixDL, + gLinkAdultSheathNearDL, + gLinkChildSheathNearDL, + gLinkAdultSheathFarDL, + gLinkChildSheathFarDL, + gLinkAdultSheathNearDL, + gLinkChildDekuShieldAndSheathNearDL, + gLinkAdultSheathFarDL, + gLinkChildDekuShieldAndSheathFarDL, + gLinkAdultHylianShieldAndSheathNearDL, + gLinkChildHylianShieldAndSheathNearDL, + gLinkAdultHylianShieldAndSheathFarDL, + gLinkChildHylianShieldAndSheathFarDL, + gLinkAdultMirrorShieldAndSheathNearDL, + gLinkChildSheathNearDL, + gLinkAdultMirrorShieldAndSheathFarDL, + gLinkChildSheathFarDL, + NULL, + NULL, + NULL, + NULL, + gLinkAdultSheathNearDL, + gLinkChildDekuShieldWithMatrixDL, + gLinkAdultSheathNearDL, + gLinkChildDekuShieldWithMatrixDL, }; Gfx* D_80125DE8[] = { - 0x060238C8, gLinkChildLeftHandHoldingMasterSwordDL, 0x060286B8, gLinkChildLeftHandHoldingMasterSwordDL, - 0x06023D50, gLinkChildLeftHandHoldingMasterSwordDL, 0x060291E8, gLinkChildLeftHandHoldingMasterSwordDL, + gLinkAdultLeftHandHoldingBgsNearDL, gLinkChildLeftHandHoldingMasterSwordDL, + gLinkAdultLeftHandHoldingBgsFarDL, gLinkChildLeftHandHoldingMasterSwordDL, + gLinkAdultHandHoldingBrokenGiantsKnifeDL, gLinkChildLeftHandHoldingMasterSwordDL, + gLinkAdultHandHoldingBrokenGiantsKnifeFarDL, gLinkChildLeftHandHoldingMasterSwordDL, }; Gfx* D_80125E08[] = { - 0x06021AA8, + gLinkAdultLeftHandNearDL, gLinkChildLeftHandNearDL, - 0x06026C58, + gLinkAdultLeftHandFarDL, gLinkChildLeftHandFarDL, }; Gfx* D_80125E18[] = { - 0x06021CE8, + gLinkAdultLeftHandClosedNearDL, gLinkChildLeftFistNearDL, - 0x06026DF0, + gLinkAdultLeftHandClosedFarDL, gLinkChildLeftFistFarDL, }; Gfx* D_80125E28[] = { - 0x06021F78, + gLinkAdultLeftHandHoldingMasterSwordNearDL, gLinkChildLeftFistAndKokiriSwordNearDL, - 0x06027078, + gLinkAdultLeftHandHoldingMasterSwordFarDL, gLinkChildLeftFistAndKokiriSwordFarDL, }; Gfx* D_80125E38[] = { - 0x06021F78, + gLinkAdultLeftHandHoldingMasterSwordNearDL, gLinkChildLeftFistAndKokiriSwordNearDL, - 0x06027078, + gLinkAdultLeftHandHoldingMasterSwordFarDL, gLinkChildLeftFistAndKokiriSwordFarDL, }; Gfx* D_80125E48[] = { - 0x06022498, + gLinkAdultRightHandNearDL, gLinkChildRightHandNearDL, - 0x060274F8, + gLinkAdultRightHandFarDL, gLinkChildRightHandFarDL, }; Gfx* D_80125E58[] = { - 0x060226E0, + gLinkAdultRightHandClosedNearDL, gLinkChildRightHandClosedNearDL, - 0x06027690, + gLinkAdultRightHandClosedFarDL, gLinkChildRightHandClosedFarDL, }; Gfx* D_80125E68[] = { - 0x06022DA8, - gLinkChildRightHandHoldingFairySlingshotNearDL, - 0x06027B88, - gLinkChildRightHandHoldingFairySlingshotFarDL, + gLinkAdultRightHandHoldingBowNearDL, + gLinkChildRightHandHoldingSlingshotNearDL, + gLinkAdultRightHandHoldingBowFarDL, + gLinkChildRightHandHoldingSlingshotFarDL, }; Gfx* D_80125E78[] = { - 0x06023160, + gLinkAdultMasterSwordAndSheathNearDL, gLinkChildSwordAndSheathNearDL, - 0x06027F00, + gLinkAdultMasterSwordAndSheathFarDL, gLinkChildSwordAndSheathFarDL, }; Gfx* D_80125E88[] = { - 0x060249D8, + gLinkAdultSheathNearDL, gLinkChildSheathNearDL, - 0x06028150, + gLinkAdultSheathFarDL, gLinkChildSheathFarDL, }; Gfx* D_80125E98[] = { - 0x06035330, + gLinkAdultWaistNearDL, gLinkChildWaistNearDL, - 0x0602F530, + gLinkAdultWaistFarDL, gLinkChildWaistFarDL, }; Gfx* D_80125EA8[] = { - 0x06022DA8, - gLinkChildRightHandHoldingFairySlingshotNearDL, - 0x06027B88, - gLinkChildRightHandHoldingFairySlingshotFarDL, + gLinkAdultRightHandHoldingBowNearDL, + gLinkChildRightHandHoldingSlingshotNearDL, + gLinkAdultRightHandHoldingBowFarDL, + gLinkChildRightHandHoldingSlingshotFarDL, }; Gfx* D_80125EB8[] = { - 0x06024698, + gLinkAdultRightHandHoldingOotNearDL, gLinkChildRightHandHoldingFairyOcarinaNearDL, - 0x06028F58, + gLinkAdultRightHandHoldingOotFarDL, gLinkChildRightHandHoldingFairyOcarinaFarDL, }; Gfx* D_80125EC8[] = { - 0x06024698, - gLinkChildRightHandAndOOTNearDL, - 0x06028F58, + gLinkAdultRightHandHoldingOotNearDL, + gLinkChildRightHandAndOotNearDL, + gLinkAdultRightHandHoldingOotFarDL, gLinkChildRightHandHoldingOOTFarDL, }; Gfx* D_80125ED8[] = { - 0x06024D70, + gLinkAdultRightHandHoldingHookshotNearDL, gLinkChildRightHandNearDL, - 0x06024D70, + gLinkAdultRightHandHoldingHookshotNearDL, // The 'far' display list exists but is not used gLinkChildRightHandFarDL, }; Gfx* D_80125EE8[] = { - 0x060233E0, + gLinkAdultLeftHandHoldingHammerNearDL, gLinkChildLeftHandNearDL, - 0x06028288, + gLinkAdultLeftHandHoldingHammerFarDL, gLinkChildLeftHandFarDL, }; Gfx* D_80125EF8[] = { - 0x06021AA8, + gLinkAdultLeftHandNearDL, gLinkChildLeftFistAndBoomerangNearDL, - 0x06026C58, + gLinkAdultLeftHandFarDL, gLinkChildLeftFistAndBoomerangFarDL, }; Gfx* D_80125F08[] = { - 0x06024B58, + gLinkAdultLeftHandOutNearDL, gLinkChildLeftHandUpNearDL, - 0x06024B58, + gLinkAdultLeftHandOutNearDL, gLinkChildLeftHandUpNearDL, }; -Gfx* D_80125F18[] = { - 0x06029918, +Gfx* sArmOutDLs[] = { + gLinkAdultRightArmOutNearDL, NULL, }; -Gfx* D_80125F20[] = { - 0x06029C20, +Gfx* sHandOutDLs[] = { + gLinkAdultRightHandOutNearDL, NULL, }; -Gfx* D_80125F28[] = { - 0x06036E58, - gLinkChildLeftShoulderNearDL, +Gfx* sRightShoulderNearDLs[] = { + gLinkAdultRightShoulderNearDL, + gLinkChildRightShoulderNearDL, }; Gfx* D_80125F30[] = { - 0x06029FA0, + gLinkAdultLeftArmOutNearDL, NULL, }; -Gfx* D_80125F38[] = { - 0x0602A248, +Gfx* sHoldingFirstPersonWeaponDLs[] = { + gLinkAdultRightHandHoldingBowFirstPersonDL, gLinkChildRightArmStretchedSlingshotDL, }; @@ -625,14 +652,15 @@ u8 sEyeMouthIndexes[][2] = { * from adult Link's object are used here. */ void* sEyeTextures[] = { - 0x06000000, 0x06000800, 0x06001000, 0x06001800, 0x06002000, 0x06002800, 0x06003000, 0x06003800, + gLinkAdultEyesOpenTex, gLinkAdultEyesHalfTex, gLinkAdultEyesClosedfTex, gLinkAdultEyesRollLeftTex, + gLinkAdultEyesRollRightTex, gLinkAdultEyesShockTex, gLinkAdultEyesUnk1Tex, gLinkAdultEyesUnk2Tex, }; void* sMouthTextures[] = { - 0x06004000, - 0x06004400, - 0x06004800, - 0x06004C00, + gLinkAdultMouth1Tex, + gLinkAdultMouth2Tex, + gLinkAdultMouth3Tex, + gLinkAdultMouth4Tex, }; Color_RGB8 sTunicColors[] = { @@ -647,8 +675,8 @@ Color_RGB8 sGauntletColors[] = { }; Gfx* sBootDListGroups[][2] = { - { 0x06025918, 0x06025A60 }, - { 0x06025BA8, 0x06025DB0 }, + { gLinkAdultLeftIronBootDL, gLinkAdultRightIronBootDL }, + { gLinkAdultLeftHoverBootDL, gLinkAdultRightHoverBootDL }, }; void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, s32 dListCount, s32 lod, s32 tunic, @@ -689,10 +717,12 @@ void func_8008F470(GlobalContext* globalCtx, void** skeleton, Vec3s* jointTable, color = &sGauntletColors[strengthUpgrade - 2]; gDPSetEnvColor(POLY_OPA_DISP++, color->r, color->g, color->b, 0); - gSPDisplayList(POLY_OPA_DISP++, D_06025218); - gSPDisplayList(POLY_OPA_DISP++, D_06025598); - gSPDisplayList(POLY_OPA_DISP++, (D_80160014 == 0) ? D_060252D8 : D_06025438); - gSPDisplayList(POLY_OPA_DISP++, (D_80160018 == 8) ? D_06025658 : D_060257B8); + gSPDisplayList(POLY_OPA_DISP++, gLinkAdultLeftGauntletPlate1DL); + gSPDisplayList(POLY_OPA_DISP++, gLinkAdultRightGauntletPlate1DL); + gSPDisplayList(POLY_OPA_DISP++, + (D_80160014 == 0) ? gLinkAdultLeftGauntletPlate2DL : gLinkAdultLeftGauntletPlate3DL); + gSPDisplayList(POLY_OPA_DISP++, + (D_80160018 == 8) ? gLinkAdultRightGauntletPlate2DL : gLinkAdultRightGauntletPlate3DL); } if (boots != 0) { @@ -943,15 +973,16 @@ s32 func_800902F0(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3f* p if (this->unk_6AD != 2) { *dList = NULL; } else if (limbIndex == PLAYER_LIMB_L_FOREARM) { - *dList = D_80125F18[(void)0, gSaveContext.linkAge]; + *dList = sArmOutDLs[(void)0, gSaveContext.linkAge]; } else if (limbIndex == PLAYER_LIMB_L_HAND) { - *dList = D_80125F20[(void)0, gSaveContext.linkAge]; + *dList = sHandOutDLs[(void)0, gSaveContext.linkAge]; } else if (limbIndex == PLAYER_LIMB_R_SHOULDER) { - *dList = D_80125F28[(void)0, gSaveContext.linkAge]; + *dList = sRightShoulderNearDLs[(void)0, gSaveContext.linkAge]; } else if (limbIndex == PLAYER_LIMB_R_FOREARM) { *dList = D_80125F30[(void)0, gSaveContext.linkAge]; } else if (limbIndex == PLAYER_LIMB_R_HAND) { - *dList = Player_HoldsHookshot(this) ? D_0602A738 : D_80125F38[(void)0, gSaveContext.linkAge]; + *dList = Player_HoldsHookshot(this) ? gLinkAdultRightHandHoldingHookshotFarDL + : sHoldingFirstPersonWeaponDLs[(void)0, gSaveContext.linkAge]; } else { *dList = NULL; } @@ -1093,7 +1124,7 @@ void func_80090A28(Player* this, Vec3f* vecs) { Matrix_MultVec3f(&D_80126098, &vecs[2]); } -void func_80090AFC(GlobalContext* globalCtx, Player* this, f32 arg2) { +void Player_DrawHookshotReticle(GlobalContext* globalCtx, Player* this, f32 arg2) { static Vec3f D_801260C8 = { -500.0f, -100.0f, 0.0f }; CollisionPoly* sp9C; s32 bgId; @@ -1126,7 +1157,7 @@ void func_80090AFC(GlobalContext* globalCtx, Player* this, f32 arg2) { gSPMatrix(OVERLAY_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_player_lib.c", 2587), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); gSPSegment(OVERLAY_DISP++, 0x06, globalCtx->objectCtx.status[this->actor.objBankIndex].segment); - gSPDisplayList(OVERLAY_DISP++, D_0602CB48); + gSPDisplayList(OVERLAY_DISP++, gLinkAdultHookshotReticleDL); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_player_lib.c", 2592); } @@ -1138,7 +1169,7 @@ f32 sSwordLengths[] = { 0.0f, 4000.0f, 3000.0f, 5500.0f, 0.0f, 2500.0f, }; -Gfx* sBottleDLists[] = { 0x0602AD58, gLinkChildBottleDL }; +Gfx* sBottleDLists[] = { gLinkAdultBottleDL, gLinkChildBottleDL }; Color_RGB8 sBottleColors[] = { { 255, 255, 255 }, { 80, 80, 255 }, { 255, 100, 255 }, { 0, 0, 255 }, { 255, 0, 255 }, @@ -1149,8 +1180,8 @@ Color_RGB8 sBottleColors[] = { Vec3f D_80126128 = { 398.0f, 1419.0f, 244.0f }; BowStringData sBowStringData[] = { - { 0x0602B108, { 0.0f, -360.4f, 0.0f } }, // bow - { 0x060221A8, { 606.0f, 236.0f, 0.0f } }, // slingshot + { gLinkAdultBowStringDL, { 0.0f, -360.4f, 0.0f } }, // bow + { gLinkChildSlinghotStringDL, { 606.0f, 236.0f, 0.0f } }, // slingshot }; Vec3f D_80126154[] = { @@ -1332,8 +1363,8 @@ void func_80090D20(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec3s* if (func_8002DD78(this) != 0) { Matrix_Translate(500.0f, 300.0f, 0.0f, MTXMODE_APPLY); - func_80090AFC(globalCtx, this, - (this->heldItemActionParam == PLAYER_AP_HOOKSHOT) ? 38600.0f : 77600.0f); + Player_DrawHookshotReticle( + globalCtx, this, (this->heldItemActionParam == PLAYER_AP_HOOKSHOT) ? 38600.0f : 77600.0f); } } } diff --git a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c index ab79b9f1b..bb85a9416 100644 --- a/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c +++ b/src/overlays/actors/ovl_Arms_Hook/z_arms_hook.c @@ -1,4 +1,5 @@ #include "z_arms_hook.h" +#include "objects/object_link_boy/object_link_boy.h" #define FLAGS (ACTOR_FLAG_4 | ACTOR_FLAG_5) @@ -57,9 +58,6 @@ static Vec3f D_80865B94 = { 0.0f, -500.0f, -3000.0f }; static Vec3f D_80865BA0 = { 0.0f, 500.0f, 1200.0f }; static Vec3f D_80865BAC = { 0.0f, -500.0f, 1200.0f }; -extern Gfx D_0602B288[]; -extern Gfx D_0602AFF0[]; - void ArmsHook_SetupAction(ArmsHook* this, ArmsHookActionFunc actionFunc) { this->actionFunc = actionFunc; } @@ -324,7 +322,7 @@ void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) { func_80093D18(globalCtx->state.gfxCtx); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 895), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, D_0602B288); + gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHookshotTipDL); Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW); Math_Vec3f_Diff(&player->unk_3C8, &this->actor.world.pos, &sp78); sp58 = SQ(sp78.x) + SQ(sp78.z); @@ -334,7 +332,7 @@ void ArmsHook_Draw(Actor* thisx, GlobalContext* globalCtx) { Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY); gSPMatrix(POLY_OPA_DISP++, Matrix_NewMtx(globalCtx->state.gfxCtx, "../z_arms_hook.c", 910), G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW); - gSPDisplayList(POLY_OPA_DISP++, D_0602AFF0); + gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHookshotChainDL); CLOSE_DISPS(globalCtx->state.gfxCtx, "../z_arms_hook.c", 913); } diff --git a/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c b/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c index 6845dd9b6..96b3f1aed 100644 --- a/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c +++ b/src/overlays/actors/ovl_Demo_Ec/z_demo_ec.c @@ -774,7 +774,7 @@ void DemoEc_DrawDancingZora(DemoEc* this, GlobalContext* globalCtx) { void DemoEc_InitKingZora(DemoEc* this, GlobalContext* globalCtx) { DemoEc_UseDrawObject(this, globalCtx); - DemoEc_InitSkelAnime(this, globalCtx, &object_kz_Skel_0086D0); + DemoEc_InitSkelAnime(this, globalCtx, &gKzSkel); DemoEc_UseAnimationObject(this, globalCtx); DemoEc_ChangeAnimation(this, &gDemoEcKingZoraAnim, 0, 0.0f, false); func_8096D5D4(this, globalCtx); @@ -850,7 +850,7 @@ void func_8096F3D4(DemoEc* this, GlobalContext* globalCtx) { } void DemoEc_DrawKingZora(DemoEc* this, GlobalContext* globalCtx) { - static void* eyeTextures[] = { 0x06001470, 0x06001870, 0x06001C70, 0x06002070 }; + static void* eyeTextures[] = { gKzEyeOpenTex, gKzEyeHalfTex, gKzEyeClosedTex, gKzEyeOpen2Tex }; s32 eyeTexIndex = this->eyeTexIndex; void* eyeTexture = eyeTextures[eyeTexIndex]; diff --git a/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/src/overlays/actors/ovl_En_Dog/z_en_dog.c index 9c4a5c804..1bf036413 100644 --- a/src/overlays/actors/ovl_En_Dog/z_en_dog.c +++ b/src/overlays/actors/ovl_En_Dog/z_en_dog.c @@ -16,7 +16,7 @@ void EnDog_Draw(Actor* thisx, GlobalContext* globalCtx); void EnDog_FollowPath(EnDog* this, GlobalContext* globalCtx); void EnDog_ChooseMovement(EnDog* this, GlobalContext* globalCtx); -void EnDog_FollowLink(EnDog* this, GlobalContext* globalCtx); +void EnDog_FollowPlayer(EnDog* this, GlobalContext* globalCtx); void EnDog_RunAway(EnDog* this, GlobalContext* globalCtx); void EnDog_FaceLink(EnDog* this, GlobalContext* globalCtx); void EnDog_Wait(EnDog* this, GlobalContext* globalCtx); @@ -56,14 +56,14 @@ static ColliderCylinderInit sCylinderInit = { static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, 50 }; static struct_80034EC0_Entry sAnimations[] = { - { &object_dog_Anim_001368, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, 0.0f }, - { &object_dog_Anim_001368, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, - { &object_dog_Anim_000D78, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, - { &object_dog_Anim_000278, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, - { &object_dog_Anim_001150, 1.0f, 0.0f, 4.0f, ANIMMODE_ONCE, -6.0f }, - { &object_dog_Anim_001150, 1.0f, 5.0f, 25.0f, ANIMMODE_LOOP_PARTIAL, -6.0f }, - { &object_dog_Anim_000928, 1.0f, 0.0f, 6.0f, ANIMMODE_ONCE, -6.0f }, - { &object_dog_Anim_000C28, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, + { &gDogWalkAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, 0.0f }, + { &gDogWalkAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, + { &gDogRunAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, + { &gDogBarkAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, + { &gDogSitAnim, 1.0f, 0.0f, 4.0f, ANIMMODE_ONCE, -6.0f }, + { &gDogSitAnim, 1.0f, 5.0f, 25.0f, ANIMMODE_LOOP_PARTIAL, -6.0f }, + { &gDogBowAnim, 1.0f, 0.0f, 6.0f, ANIMMODE_ONCE, -6.0f }, + { &gDogBow2Anim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -6.0f }, }; typedef enum { @@ -77,7 +77,7 @@ typedef enum { } DogBehavior; void EnDog_PlayWalkSFX(EnDog* this) { - AnimationHeader* walk = &object_dog_Anim_001368; + AnimationHeader* walk = &gDogWalkAnim; if (this->skelAnime.animation == walk) { if ((this->skelAnime.curFrame == 1.0f) || (this->skelAnime.curFrame == 7.0f)) { @@ -87,7 +87,7 @@ void EnDog_PlayWalkSFX(EnDog* this) { } void EnDog_PlayRunSFX(EnDog* this) { - AnimationHeader* run = &object_dog_Anim_000D78; + AnimationHeader* run = &gDogRunAnim; if (this->skelAnime.animation == run) { if ((this->skelAnime.curFrame == 2.0f) || (this->skelAnime.curFrame == 4.0f)) { @@ -97,7 +97,7 @@ void EnDog_PlayRunSFX(EnDog* this) { } void EnDog_PlayBarkSFX(EnDog* this) { - AnimationHeader* bark = &object_dog_Anim_000278; + AnimationHeader* bark = &gDogBarkAnim; if (this->skelAnime.animation == bark) { if ((this->skelAnime.curFrame == 13.0f) || (this->skelAnime.curFrame == 19.0f)) { @@ -140,13 +140,13 @@ s32 EnDog_PlayAnimAndSFX(EnDog* this) { switch (this->behavior) { case DOG_SIT: - if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) != 0) { + if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { func_80034EC0(&this->skelAnime, sAnimations, 5); this->behavior = this->nextBehavior = DOG_SIT_2; } break; case DOG_BOW: - if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame) != 0) { + if (Animation_OnFrame(&this->skelAnime, this->skelAnime.endFrame)) { func_80034EC0(&this->skelAnime, sAnimations, 7); this->behavior = this->nextBehavior = DOG_BOW_2; } @@ -159,7 +159,6 @@ s32 EnDog_PlayAnimAndSFX(EnDog* this) { break; case DOG_BARK: EnDog_PlayBarkSFX(this); - if (this) {} // needed for regalloc break; } return 0; @@ -235,8 +234,7 @@ void EnDog_Init(Actor* thisx, GlobalContext* globalCtx) { s32 pad; ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, 24.0f); - SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_dog_Skel_007290, NULL, this->jointTable, this->morphTable, - 13); + SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gDogSkel, NULL, this->jointTable, this->morphTable, 13); func_80034EC0(&this->skelAnime, sAnimations, 0); if ((this->actor.params & 0x8000) == 0) { @@ -264,7 +262,7 @@ void EnDog_Init(Actor* thisx, GlobalContext* globalCtx) { } break; case SCENE_IMPA: // Richard's Home - if ((u32)(this->actor.params & 0x8000) == 0) { + if (!(this->actor.params & 0x8000)) { if (!gSaveContext.dogIsLost) { this->nextBehavior = DOG_SIT; this->actionFunc = EnDog_Wait; @@ -278,9 +276,9 @@ void EnDog_Init(Actor* thisx, GlobalContext* globalCtx) { break; } - if ((u32)(this->actor.params & 0x8000) != 0) { + if (this->actor.params & 0x8000) { this->nextBehavior = DOG_WALK; - this->actionFunc = EnDog_FollowLink; + this->actionFunc = EnDog_FollowPlayer; } else { this->nextBehavior = DOG_SIT; this->actionFunc = EnDog_ChooseMovement; @@ -299,7 +297,7 @@ void EnDog_FollowPath(EnDog* this, GlobalContext* globalCtx) { s32 frame; if (EnDog_CanFollow(this, globalCtx) == 1) { - this->actionFunc = EnDog_FollowLink; + this->actionFunc = EnDog_FollowPlayer; } if (DECR(this->behaviorTimer) != 0) { @@ -332,7 +330,7 @@ void EnDog_FollowPath(EnDog* this, GlobalContext* globalCtx) { void EnDog_ChooseMovement(EnDog* this, GlobalContext* globalCtx) { if (EnDog_CanFollow(this, globalCtx) == 1) { - this->actionFunc = EnDog_FollowLink; + this->actionFunc = EnDog_FollowPlayer; } if (DECR(this->behaviorTimer) == 0) { @@ -351,7 +349,7 @@ void EnDog_ChooseMovement(EnDog* this, GlobalContext* globalCtx) { Math_SmoothStepToF(&this->actor.speedXZ, 0.0f, 0.4f, 1.0f, 0.0f); } -void EnDog_FollowLink(EnDog* this, GlobalContext* globalCtx) { +void EnDog_FollowPlayer(EnDog* this, GlobalContext* globalCtx) { f32 speed; if (gSaveContext.dogParams == 0) { diff --git a/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/src/overlays/actors/ovl_En_Kz/z_en_kz.c index f9a262e71..6d6c98bf2 100644 --- a/src/overlays/actors/ovl_En_Kz/z_en_kz.c +++ b/src/overlays/actors/ovl_En_Kz/z_en_kz.c @@ -57,9 +57,9 @@ static ColliderCylinderInit sCylinderInit = { static CollisionCheckInfoInit2 sColChkInfoInit = { 0, 0, 0, 0, MASS_IMMOVABLE }; static struct_80034EC0_Entry sAnimations[] = { - { &object_kz_Anim_00075C, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, 0.0f }, - { &object_kz_Anim_00075C, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f }, - { &object_kz_Anim_00046C, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f }, + { &gKzIdleAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, 0.0f }, + { &gKzIdleAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f }, + { &gKzMweepAnim, 1.0f, 0.0f, -1.0f, ANIMMODE_LOOP, -10.0f }, }; u16 EnKz_GetTextNoMaskChild(GlobalContext* globalCtx, EnKz* this) { @@ -313,7 +313,7 @@ void EnKz_Init(Actor* thisx, GlobalContext* globalCtx) { EnKz* this = (EnKz*)thisx; s32 pad; - SkelAnime_InitFlex(globalCtx, &this->skelanime, &object_kz_Skel_0086D0, NULL, this->jointTable, this->morphTable, + SkelAnime_InitFlex(globalCtx, &this->skelanime, &gKzSkel, NULL, this->jointTable, this->morphTable, 12); ActorShape_Init(&this->actor.shape, 0.0, NULL, 0.0); Collider_InitCylinder(globalCtx, &this->collider); @@ -484,9 +484,9 @@ void EnKz_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** dList, Vec void EnKz_Draw(Actor* thisx, GlobalContext* globalCtx) { static void* sEyeSegments[] = { - object_kz_Tex_001470, - object_kz_Tex_001870, - object_kz_Tex_001C70, + gKzEyeOpenTex, + gKzEyeHalfTex, + gKzEyeClosedTex, }; EnKz* this = (EnKz*)thisx; diff --git a/src/overlays/actors/ovl_player_actor/z_player.c b/src/overlays/actors/ovl_player_actor/z_player.c index 15036bee5..1c831e8aa 100644 --- a/src/overlays/actors/ovl_player_actor/z_player.c +++ b/src/overlays/actors/ovl_player_actor/z_player.c @@ -9024,7 +9024,6 @@ void Player_InitCommon(Player* this, GlobalContext* globalCtx, FlexSkeletonHeade Effect_Add(globalCtx, &this->swordEffectIndex, EFFECT_BLURE2, 0, 0, &D_8085470C); ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawFeet, this->ageProperties->unk_04); this->unk_46C = SUBCAM_NONE; - Collider_InitCylinder(globalCtx, &this->cylinder); Collider_SetCylinder(globalCtx, &this->cylinder, &this->actor, &D_80854624); Collider_InitQuad(globalCtx, &this->swordQuads[0]); diff --git a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c index ccdea4668..3c57312fd 100644 --- a/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c +++ b/src/overlays/effects/ovl_Effect_Ss_Stick/z_eff_ss_stick.c @@ -5,6 +5,8 @@ */ #include "z_eff_ss_stick.h" +#include "objects/object_link_boy/object_link_boy.h" +#include "objects/object_link_child/object_link_child.h" #define rObjBankIdx regs[0] #define rYaw regs[1] @@ -25,8 +27,8 @@ typedef struct { u32 EffectSsStick_Init(GlobalContext* globalCtx, u32 index, EffectSs* this, void* initParamsx) { StickDrawInfo drawInfo[] = { - { OBJECT_LINK_BOY, 0x0602BA38 }, // adult, broken sword - { OBJECT_LINK_CHILD, 0x06006CC0 }, // child, broken stick + { OBJECT_LINK_BOY, gLinkAdultBrokenGiantsKnifeBladeDL }, // adult, broken sword + { OBJECT_LINK_CHILD, gLinkChildLinkDekuStickDL }, // child, broken stick }; StickDrawInfo* ageInfoEntry = gSaveContext.linkAge + drawInfo; EffectSsStickInitParams* initParams = (EffectSsStickInitParams*)initParamsx; diff --git a/undefined_syms.txt b/undefined_syms.txt index 9dd0496ea..432ecc381 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -58,23 +58,9 @@ object_ahg_Skel_0000F0 = 0x060000F0; object_bji_Skel_0000F0 = 0x060000F0; object_boj_Skel_0000F0 = 0x060000F0; -// z_player_lib -D_06025218 = 0x06025218; -D_060252D8 = 0x060252D8; -D_06025438 = 0x06025438; -D_06025598 = 0x06025598; -D_06025658 = 0x06025658; -D_060257B8 = 0x060257B8; -D_0602A738 = 0x0602A738; -D_0602CB48 = 0x0602CB48; - // z_kankyo, z_demo_kankyo, z_en_viewer, z_object_kankyo, z_eff_ss_dead_dd D_01000000 = 0x01000000; -// z_arms_hook -D_0602B288 = 0x0602B288; -D_0602AFF0 = 0x0602AFF0; - // code_800AD920 D_0E000000 = 0x0E000000;