diff options
| author | louist103 <35883445+louist103@users.noreply.github.com> | 2021-12-27 08:08:26 -0500 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-12-27 08:08:26 -0500 |
| commit | a862411f00c536770850f2c4e9e9b2edfea8947b (patch) | |
| tree | 2e9b15bb99b251558050c419ffc38f9ba958e0a6 /src/code | |
| parent | 6213fe3bbd0bfcad695640d30d0b0bc8f9faffbe (diff) | |
Objects4 (#1057)
* remove fake match
* merge master
* animations
* dog limbs
* textures
* KZ limbs and DL
* a few KZ textures and make a file for link_boy
* the rest of KZ
* Far Limb DLs
* near DLs and limbs
* small fix to child
* boots and some sword and more child clean ups
* a bunch of DLs
* fix boy
* fix link child for real this time
* adult should be good now
* progress
* all undefined symbols done
* progress
* done (for now)
* restore makefile
* child -> adult
* child -> adult
* dog fixes
* KZ fixes
* more player fixes
* remove unneeded enum in dog
* rename hookshot stuff
* Update z_player_lib.c
* revert model group stuff
* move comment
* fix mirror shield upper
* remove useless 2
* OOT -> Oot
* gauntlet plate 2 fix
* fix
Co-authored-by: Louis <louist103@pop-os.localdomain>
Diffstat (limited to 'src/code')
| -rw-r--r-- | src/code/z_player_lib.c | 227 |
1 files changed, 129 insertions, 98 deletions
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); } } } |
