mirror of
https://github.com/HarbourMasters/Shipwright.git
synced 2025-02-16 15:20:11 -05:00
Added Hookshot Tip&Chain and more edge cases
This commit is contained in:
parent
5ef87d3ab0
commit
7fb9b54185
@ -616,6 +616,9 @@ void Player_SetModelsForHoldingShield(Player* this) {
|
||||
if ((CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) && LINK_IS_CHILD &&
|
||||
gSaveContext.equips.buttonItems[0] != ITEM_SWORD_KOKIRI) {
|
||||
this->sheathDLists = &sPlayerDListGroups[this->sheathType][0];
|
||||
} else if ((CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0)) && LINK_IS_ADULT &&
|
||||
gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KOKIRI) {
|
||||
this->sheathDLists = &sPlayerDListGroups[this->sheathType][1];
|
||||
}
|
||||
this->modelAnimType = PLAYER_ANIMTYPE_2;
|
||||
this->itemAction = -1;
|
||||
@ -675,7 +678,8 @@ void Player_SetModels(Player* this, s32 modelGroup) {
|
||||
} else if (LINK_IS_CHILD && this->currentShield == PLAYER_SHIELD_MIRROR && gSaveContext.equips.buttonItems[0] == ITEM_SWORD_KOKIRI &&
|
||||
this->sheathType == PLAYER_MODELTYPE_SHEATH_18) {
|
||||
this->sheathDLists = &sPlayerDListGroups[this->sheathType][0];
|
||||
} else if (LINK_IS_ADULT && this->currentShield == PLAYER_SHIELD_DEKU) {
|
||||
} else if (LINK_IS_ADULT && (this->currentShield == PLAYER_SHIELD_DEKU && gSaveContext.equips.buttonItems[0] != ITEM_SWORD_MASTER) ||
|
||||
(gSaveContext.equips.buttonItems[0] == ITEM_SWORD_MASTER && this->sheathType == PLAYER_MODELTYPE_SHEATH_18 && this->currentShield == PLAYER_SHIELD_DEKU)) {
|
||||
this->sheathDLists = &sPlayerDListGroups[this->sheathType][1];
|
||||
} else if (LINK_IS_CHILD && this->sheathType == PLAYER_MODELTYPE_SHEATH_17 &&
|
||||
((gSaveContext.equips.buttonItems[0] == ITEM_SWORD_MASTER) || (gSaveContext.equips.buttonItems[0] == ITEM_SWORD_BGS))) {
|
||||
|
@ -324,6 +324,10 @@ void ArmsHook_Draw(Actor* thisx, PlayState* play) {
|
||||
|
||||
func_80090480(play, &this->collider, &this->hookInfo, &sp6C, &sp60);
|
||||
Gfx_SetupDL_25Opa(play->state.gfxCtx);
|
||||
if (CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0) &&
|
||||
CVarGetInteger("gEnhancements.ScaleAdultEquimentAsChild", 0) && LINK_IS_CHILD) {
|
||||
Matrix_Scale(0.8, 0.8, 0.8, MTXMODE_APPLY);
|
||||
}
|
||||
gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHookshotTipDL);
|
||||
@ -333,7 +337,12 @@ void ArmsHook_Draw(Actor* thisx, PlayState* play) {
|
||||
sp5C = sqrtf(sp58);
|
||||
Matrix_RotateY(Math_FAtan2F(sp78.x, sp78.z), MTXMODE_APPLY);
|
||||
Matrix_RotateX(Math_FAtan2F(-sp78.y, sp5C), MTXMODE_APPLY);
|
||||
Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY);
|
||||
if (CVarGetInteger("gEnhancements.EquimentAlwaysVisible", 0) &&
|
||||
CVarGetInteger("gEnhancements.ScaleAdultEquimentAsChild", 0) && LINK_IS_CHILD) {
|
||||
Matrix_Scale(0.012f, 0.012f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY);
|
||||
} else {
|
||||
Matrix_Scale(0.015f, 0.015f, sqrtf(SQ(sp78.y) + sp58) * 0.01f, MTXMODE_APPLY);
|
||||
}
|
||||
gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx),
|
||||
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
|
||||
gSPDisplayList(POLY_OPA_DISP++, gLinkAdultHookshotChainDL);
|
||||
|
Loading…
Reference in New Issue
Block a user