mirror of
https://github.com/zeldaret/tww.git
synced 2026-08-21 22:10:59 -04:00
Add enum for player's equipped item
This commit is contained in:
@@ -802,6 +802,21 @@ public:
|
||||
ModeFlg_PARRY = 0x80000000,
|
||||
};
|
||||
|
||||
enum {
|
||||
daPyItem_NONE_e = 0x100,
|
||||
daPyItem_BOKO_e = 0x101,
|
||||
daPyItem_UNK102_e = 0x102,
|
||||
daPyItem_SWORD_e = 0x103,
|
||||
daPyItem_UNK104_e = 0x104,
|
||||
daPyItem_DRINK_BOTTLE_e = 0x105,
|
||||
daPyItem_OPEN_BOTTLE_e = 0x106,
|
||||
daPyItem_ESA_e = 0x107,
|
||||
daPyItem_BOW_e = 0x108,
|
||||
daPyItem_PHOTOBOX_e = 0x109,
|
||||
daPyItem_UNK10A_e = 0x10A,
|
||||
daPyItem_UNK10B_e = 0x10B,
|
||||
};
|
||||
|
||||
typedef BOOL (daPy_lk_c::*ProcFunc)();
|
||||
|
||||
void seStartOnlyReverb(u32);
|
||||
@@ -1846,7 +1861,7 @@ public:
|
||||
/* 0x2E84 */ J3DModel* mpHbootsModels[2];
|
||||
/* 0x2E8C */ J3DModel* mpPringModel;
|
||||
/* 0x2E90 */ JKRSolidHeap* mpItemHeaps[2];
|
||||
/* 0x2E98 */ J3DModel* mpHeldItemModel;
|
||||
/* 0x2E98 */ J3DModel* mpEquipItemModel;
|
||||
/* 0x2E9C */ mDoExt_bckAnm mSwordAnim;
|
||||
/* 0x2EAC */ mDoExt_McaMorf* mpParachuteFanMorf;
|
||||
/* 0x2EB0 */ J3DAnmTevRegKey* mpBombBrk;
|
||||
@@ -1858,9 +1873,9 @@ public:
|
||||
/* 0x2EC8 */ J3DAnmTextureSRTKey* mpGicer01Btk;
|
||||
/* 0x2ECC */ JKRSolidHeap* mpItemAnimeHeap;
|
||||
/* 0x2ED0 */ void* m_item_bck_buffer;
|
||||
/* 0x2ED4 */ J3DAnmTextureSRTKey* mpHeldItemBtk;
|
||||
/* 0x2ED4 */ J3DAnmTextureSRTKey* mpEquipItemBtk;
|
||||
/* 0x2ED8 */ J3DAnmTextureSRTKey* mpSwordBtk;
|
||||
/* 0x2EDC */ J3DAnmTevRegKey* mpHeldItemBrk;
|
||||
/* 0x2EDC */ J3DAnmTevRegKey* mpEquipItemBrk;
|
||||
/* 0x2EE0 */ J3DModel* mpBottleContentsModel;
|
||||
/* 0x2EE4 */ J3DModel* mpBottleCapModel;
|
||||
/* 0x2EE8 */ J3DModel* mpSwordModel1;
|
||||
@@ -1942,7 +1957,7 @@ public:
|
||||
/* 0x34BA */ u8 m34BA;
|
||||
/* 0x34BB */ u8 mCurrItemHeapIdx;
|
||||
/* 0x34BC */ u8 m34BC;
|
||||
/* 0x34BD */ u8 mLastUsedItemButtonIdx;
|
||||
/* 0x34BD */ u8 mReadyItemIdx; // Which of the three item buttons the player last used.
|
||||
/* 0x34BE */ u8 m34BE;
|
||||
/* 0x34BF */ s8 mReverb;
|
||||
/* 0x34C0 */ u8 mLeftHandIdx;
|
||||
@@ -2025,14 +2040,14 @@ public:
|
||||
/* 0x354C */ s16 mTinkleHoverTimer;
|
||||
/* 0x354E */ s16 mTinkleShieldTimer;
|
||||
/* 0x3550 */ s16 m3550;
|
||||
/* 0x3552 */ u16 mKeepItemType;
|
||||
/* 0x3552 */ u16 mKeepItem; // The item Link was previously holding in his hand, and is now temporarily put away.
|
||||
/* 0x3554 */ s16 m3554;
|
||||
/* 0x3556 */ u8 m3556[0x3558 - 0x3556];
|
||||
/* 0x3558 */ s16 m3558;
|
||||
/* 0x355A */ s16 m355A;
|
||||
/* 0x355C */ s16 m355C;
|
||||
/* 0x355E */ s16 m355E;
|
||||
/* 0x3560 */ u16 mHeldItemType;
|
||||
/* 0x3560 */ u16 mEquipItem; // The item Link is currently holding in his hand.
|
||||
/* 0x3562 */ u16 m3562;
|
||||
/* 0x3564 */ s16 m3564;
|
||||
/* 0x3566 */ s16 m3566;
|
||||
|
||||
@@ -20,7 +20,7 @@ void daPy_lk_c::getDemoLookActor() {
|
||||
/* 8012CDD4-8012CE2C .text setTinkleCeiverModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setTinkleCeiverModel() {
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
initModel(&mpHeldItemModel, LINK_BDL_TCEIVER, 0x13000022);
|
||||
initModel(&mpEquipItemModel, LINK_BDL_TCEIVER, 0x13000022);
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
}
|
||||
|
||||
|
||||
@@ -94,9 +94,9 @@ void daPy_lk_c::setParachuteFanModel(f32 f31) {
|
||||
);
|
||||
if (mpParachuteFanMorf == NULL || mpParachuteFanMorf->getModel() == NULL) { JUT_ASSERT(323, 0); }
|
||||
|
||||
mpHeldItemModel = mpParachuteFanMorf->getModel();
|
||||
mpEquipItemModel = mpParachuteFanMorf->getModel();
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
mpHeldItemModel->setUserArea(reinterpret_cast<u32>(this));
|
||||
mpEquipItemModel->setUserArea(reinterpret_cast<u32>(this));
|
||||
modelData->getJointNodePointer(0x01)->setCallBack(daPy_parachuteJointCallback); // skeleton_root_Lroot joint
|
||||
modelData->getJointNodePointer(0x07)->setCallBack(daPy_parachuteJointCallback); // skeleton_root_Rroot joint
|
||||
modelData->getJointNodePointer(0x03)->setCallBack(daPy_parachuteJointCallback); // skeleton_root_LarmB joint
|
||||
|
||||
@@ -19,13 +19,13 @@
|
||||
|
||||
/* 80154334-801543A0 .text setHyoiModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setHyoiModel() {
|
||||
if (mHeldItemType == dItem_HYOI_PEAR_e) {
|
||||
if (mEquipItem == dItem_HYOI_PEAR_e) {
|
||||
return;
|
||||
}
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
initModel(&mpHeldItemModel, LINK_BDL_HYOINOMI, 0x13000022);
|
||||
initModel(&mpEquipItemModel, LINK_BDL_HYOINOMI, 0x13000022);
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
mHeldItemType = dItem_HYOI_PEAR_e;
|
||||
mEquipItem = dItem_HYOI_PEAR_e;
|
||||
}
|
||||
|
||||
/* 801543A0-801546F4 .text procFoodThrow_init__9daPy_lk_cFv */
|
||||
@@ -140,7 +140,7 @@ BOOL daPy_lk_c::procFoodThrow() {
|
||||
dComIfGs_setReserveBaitEmpty(2);
|
||||
}
|
||||
} else {
|
||||
dComIfGs_setReserveBaitEmpty(mLastUsedItemButtonIdx);
|
||||
dComIfGs_setReserveBaitEmpty(mReadyItemIdx);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -151,7 +151,7 @@ BOOL daPy_lk_c::procFoodThrow() {
|
||||
BOOL daPy_lk_c::procFoodSet_init() {
|
||||
if (mCurProc == daPyProc_FOOD_SET_e) {
|
||||
if (mDemo.getParam0() == 1) {
|
||||
if (mHeldItemType == dItem_HYOI_PEAR_e) {
|
||||
if (mEquipItem == dItem_HYOI_PEAR_e) {
|
||||
u8 btnIdx = dComIfGp_event_getTalkXYBtn();
|
||||
if (btnIdx == 1) {
|
||||
dComIfGs_setEquipBottleItemEmpty(0);
|
||||
|
||||
+101
-101
@@ -311,9 +311,9 @@ void daPy_lk_c::voiceStart(u32 param_1) {
|
||||
|
||||
/* 801031A4-801031DC .text itemButton__9daPy_lk_cCFv */
|
||||
BOOL daPy_lk_c::itemButton() const {
|
||||
if (mLastUsedItemButtonIdx == 0) {
|
||||
if (mReadyItemIdx == 0) {
|
||||
return m34C9 & 0x04;
|
||||
} else if (mLastUsedItemButtonIdx == 1) {
|
||||
} else if (mReadyItemIdx == 1) {
|
||||
return m34C9 & 0x08;
|
||||
} else {
|
||||
return m34C9 & 0x10;
|
||||
@@ -322,9 +322,9 @@ BOOL daPy_lk_c::itemButton() const {
|
||||
|
||||
/* 801031DC-80103214 .text itemTrigger__9daPy_lk_cCFv */
|
||||
BOOL daPy_lk_c::itemTrigger() const {
|
||||
if (mLastUsedItemButtonIdx == 0) {
|
||||
if (mReadyItemIdx == 0) {
|
||||
return mPressedButtons & 0x04;
|
||||
} else if (mLastUsedItemButtonIdx == 1) {
|
||||
} else if (mReadyItemIdx == 1) {
|
||||
return mPressedButtons & 0x08;
|
||||
} else {
|
||||
return mPressedButtons & 0x10;
|
||||
@@ -333,9 +333,9 @@ BOOL daPy_lk_c::itemTrigger() const {
|
||||
|
||||
/* 80103214-80103258 .text getReadyItem__9daPy_lk_cFv */
|
||||
u8 daPy_lk_c::getReadyItem() {
|
||||
if (mLastUsedItemButtonIdx == 0) {
|
||||
if (mReadyItemIdx == 0) {
|
||||
return dComIfGp_getSelectItem(0);
|
||||
} else if (mLastUsedItemButtonIdx == 1) {
|
||||
} else if (mReadyItemIdx == 1) {
|
||||
return dComIfGp_getSelectItem(1);
|
||||
} else {
|
||||
return dComIfGp_getSelectItem(2);
|
||||
@@ -363,15 +363,15 @@ BOOL daPy_lk_c::checkGroupItem(int param_1, int itemNo) {
|
||||
BOOL daPy_lk_c::checkSetItemTrigger(int param_1, int param_2) {
|
||||
if (param_2 == 0 || !daPy_dmEcallBack_c::checkCurse()) {
|
||||
if (mPressedButtons & 0x04 && checkGroupItem(param_1, dComIfGp_getSelectItem(0))) {
|
||||
mLastUsedItemButtonIdx = 0;
|
||||
mReadyItemIdx = 0;
|
||||
return TRUE;
|
||||
}
|
||||
if (mPressedButtons & 0x08 && checkGroupItem(param_1, dComIfGp_getSelectItem(1))) {
|
||||
mLastUsedItemButtonIdx = 1;
|
||||
mReadyItemIdx = 1;
|
||||
return TRUE;
|
||||
}
|
||||
if (mPressedButtons & 0x10 && checkGroupItem(param_1, dComIfGp_getSelectItem(2))) {
|
||||
mLastUsedItemButtonIdx = 2;
|
||||
mReadyItemIdx = 2;
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -1023,15 +1023,15 @@ BOOL daPy_lk_c::draw() {
|
||||
if (mpBottleContentsModel != NULL) {
|
||||
updateDLSetLight(mpBottleContentsModel, 0);
|
||||
}
|
||||
if (mpHeldItemModel && !checkCaughtShapeHide() && !checkDemoSwordNoDraw(0)) {
|
||||
if (!checkBowItem(mHeldItemType) || !checkPlayerGuard()) {
|
||||
if (mHeldItemType == dItem_HOOKSHOT_e) {
|
||||
if (mpEquipItemModel && !checkCaughtShapeHide() && !checkDemoSwordNoDraw(0)) {
|
||||
if (!checkBowItem(mEquipItem) || !checkPlayerGuard()) {
|
||||
if (mEquipItem == dItem_HOOKSHOT_e) {
|
||||
if (mActorKeepEquip.getActor()) {
|
||||
daHookshot_c* hookshot = (daHookshot_c*)mActorKeepEquip.getActor();
|
||||
mpHeldItemModel->setAnmMtx(4, hookshot->getMtxTop());
|
||||
mpEquipItemModel->setAnmMtx(4, hookshot->getMtxTop());
|
||||
}
|
||||
}
|
||||
entryDLSetLight(mpHeldItemModel, mNoResetFlg1 & daPyFlg1_FREEZE_STATE);
|
||||
entryDLSetLight(mpEquipItemModel, mNoResetFlg1 & daPyFlg1_FREEZE_STATE);
|
||||
if (mpSwordModel1 != NULL) {
|
||||
if (checkChanceMode() || checkNoResetFlg1(daPyFlg1_UNK8000) || dComIfGs_getSelectEquip(0) == MASTER_SWORD_EX) {
|
||||
updateDLSetLight(mpSwordModel1, 0);
|
||||
@@ -1118,11 +1118,11 @@ void daPy_lk_c::setActorPointer() {
|
||||
mActorKeepThrow.setActor();
|
||||
mActorKeepEquip.setActor();
|
||||
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
fopAc_ac_c* actor = mActorKeepEquip.getActor();
|
||||
if (actor == NULL || !fopAcM_checkCarryNow(actor)) {
|
||||
mActorKeepEquip.clearData();
|
||||
mHeldItemType = 0x100;
|
||||
mEquipItem = daPyItem_NONE_e;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1363,17 +1363,17 @@ BOOL daPy_lk_c::checkEquipAnime() const {
|
||||
void daPy_lk_c::deleteEquipItem(BOOL param_1) {
|
||||
fopAc_ac_c* equipActor = mActorKeepEquip.getActor();
|
||||
|
||||
if (param_1 && (mHeldItemType != 0x100 && mHeldItemType != 0x101)) {
|
||||
if (mHeldItemType == 0x103) {
|
||||
if (param_1 && (mEquipItem != daPyItem_NONE_e && mEquipItem != daPyItem_BOKO_e)) {
|
||||
if (mEquipItem == daPyItem_SWORD_e) {
|
||||
seStartOnlyReverb(JA_SE_LK_SW_PUTIN_S);
|
||||
} else {
|
||||
seStartOnlyReverb(JA_SE_LK_ITEM_TAKEOUT);
|
||||
}
|
||||
}
|
||||
|
||||
if (mHeldItemType == 0x103) {
|
||||
if (mEquipItem == daPyItem_SWORD_e) {
|
||||
mDoAud_bgmSetSwordUsing(0);
|
||||
} else if (mHeldItemType == 0x101) {
|
||||
} else if (mEquipItem == daPyItem_BOKO_e) {
|
||||
if (equipActor != NULL) {
|
||||
fopAcM_cancelCarryNow(equipActor);
|
||||
}
|
||||
@@ -1381,25 +1381,25 @@ void daPy_lk_c::deleteEquipItem(BOOL param_1) {
|
||||
fopAcM_delete(equipActor);
|
||||
}
|
||||
|
||||
if ((mHeldItemType == dItem_GRAPPLING_HOOK_e && checkRopeAnime()) ||
|
||||
(mHeldItemType == dItem_BOOMERANG_e && checkBoomerangAnime()) ||
|
||||
(mHeldItemType == dItem_HOOKSHOT_e && checkHookshotReadyAnime()) ||
|
||||
(checkBowItem(mHeldItemType) && checkBowAnime())
|
||||
if ((mEquipItem == dItem_GRAPPLING_HOOK_e && checkRopeAnime()) ||
|
||||
(mEquipItem == dItem_BOOMERANG_e && checkBoomerangAnime()) ||
|
||||
(mEquipItem == dItem_HOOKSHOT_e && checkHookshotReadyAnime()) ||
|
||||
(checkBowItem(mEquipItem) && checkBowAnime())
|
||||
) {
|
||||
resetActAnimeUpper(UPPER_MOVE2_e, -1.0f);
|
||||
}
|
||||
|
||||
mActorKeepEquip.clearData();
|
||||
mHeldItemType = 0x100;
|
||||
mpHeldItemModel = NULL;
|
||||
mEquipItem = daPyItem_NONE_e;
|
||||
mpEquipItemModel = NULL;
|
||||
if (mSwordAnim.getBckAnm() != NULL) {
|
||||
mSwordAnim.changeBckOnly(NULL);
|
||||
}
|
||||
mpParachuteFanMorf = NULL;
|
||||
mpHeldItemBtk = NULL;
|
||||
mpEquipItemBtk = NULL;
|
||||
mpBottleContentsModel = NULL;
|
||||
mpBottleCapModel = NULL;
|
||||
mpHeldItemBrk = NULL;
|
||||
mpEquipItemBrk = NULL;
|
||||
mpSwordBtk = NULL;
|
||||
mpSwordModel1 = NULL;
|
||||
m3454.end();
|
||||
@@ -1418,31 +1418,31 @@ void daPy_lk_c::setFallVoice() {
|
||||
/* 8010C7F4-8010C854 .text keepItemData__9daPy_lk_cFv */
|
||||
/* Saves which item the player was holding in their hand so it can be restored later. */
|
||||
void daPy_lk_c::keepItemData() {
|
||||
mKeepItemType = mHeldItemType;
|
||||
mKeepItem = mEquipItem;
|
||||
|
||||
deleteEquipItem(FALSE);
|
||||
|
||||
if (mKeepItemType == 0x101) {
|
||||
mKeepItemType = 0x100;
|
||||
} else if (mKeepItemType == 0x100) {
|
||||
mKeepItemType = 0x10B;
|
||||
if (mKeepItem == daPyItem_BOKO_e) {
|
||||
mKeepItem = daPyItem_NONE_e;
|
||||
} else if (mKeepItem == daPyItem_NONE_e) {
|
||||
mKeepItem = daPyItem_UNK10B_e;
|
||||
}
|
||||
}
|
||||
|
||||
/* 8010C854-8010C8D4 .text returnKeepItemData__9daPy_lk_cFv */
|
||||
/* Restores which item the player was holding in their hand. */
|
||||
void daPy_lk_c::returnKeepItemData() {
|
||||
if (mKeepItemType == 0x100) {
|
||||
if (mKeepItem == daPyItem_NONE_e) {
|
||||
return;
|
||||
}
|
||||
|
||||
deleteEquipItem(FALSE);
|
||||
mHeldItemType = mKeepItemType;
|
||||
mKeepItemType = 0x100;
|
||||
mEquipItem = mKeepItem;
|
||||
mKeepItem = daPyItem_NONE_e;
|
||||
|
||||
if (mHeldItemType == 0x10B) {
|
||||
mHeldItemType = 0x100;
|
||||
} else if (mHeldItemType == 0x103) {
|
||||
if (mEquipItem == daPyItem_UNK10B_e) {
|
||||
mEquipItem = daPyItem_NONE_e;
|
||||
} else if (mEquipItem == daPyItem_SWORD_e) {
|
||||
setSwordModel(TRUE);
|
||||
} else {
|
||||
makeItemType();
|
||||
@@ -1451,21 +1451,21 @@ void daPy_lk_c::returnKeepItemData() {
|
||||
|
||||
/* 8010C8D4-8010CB70 .text makeItemType__9daPy_lk_cFv */
|
||||
void daPy_lk_c::makeItemType() {
|
||||
if (mHeldItemType == dItem_GRAPPLING_HOOK_e) {
|
||||
if (mEquipItem == dItem_GRAPPLING_HOOK_e) {
|
||||
fopAc_ac_c* rope = (fopAc_ac_c*)fopAcM_fastCreate(PROC_HIMO2, 0, ¤t.pos);
|
||||
mActorKeepEquip.setData(rope);
|
||||
} else if (mHeldItemType == dItem_HOOKSHOT_e) {
|
||||
} else if (mEquipItem == dItem_HOOKSHOT_e) {
|
||||
fopAc_ac_c* hookshot = (fopAc_ac_c*)fopAcM_fastCreate(PROC_HOOKSHOT, 0, ¤t.pos);
|
||||
mActorKeepEquip.setData(hookshot);
|
||||
setHookshotModel();
|
||||
} else if (mHeldItemType == dItem_BOOMERANG_e) {
|
||||
} else if (mEquipItem == dItem_BOOMERANG_e) {
|
||||
fopAc_ac_c* boomerang = (fopAc_ac_c*)fopAcM_fastCreate(PROC_BOOMERANG, 0, ¤t.pos);
|
||||
mActorKeepEquip.setData(boomerang);
|
||||
return;
|
||||
} else if (mHeldItemType == BOMB_BAG) {
|
||||
} else if (mEquipItem == BOMB_BAG) {
|
||||
fopAc_ac_c* bomb = (fopAc_ac_c*)fopAcM_fastCreate(PROC_BOMB, daBomb_c::prm_make(daBomb_c::STATE_3, false, false), ¤t.pos);
|
||||
mActorKeepGrab.setData(bomb);
|
||||
mHeldItemType = 0x100;
|
||||
mEquipItem = daPyItem_NONE_e;
|
||||
if (mActorKeepGrab.getActor() != NULL) {
|
||||
setActAnimeUpper(LKANM_BCK_GRABWAIT, UPPER_MOVE2_e, 0.0f, 0.0f, -1, 5.0f);
|
||||
mActivePlayerBombs++;
|
||||
@@ -1474,37 +1474,37 @@ void daPy_lk_c::makeItemType() {
|
||||
m35C8 = 17.0f;
|
||||
}
|
||||
return;
|
||||
} else if (checkBowItem(mHeldItemType)) {
|
||||
} else if (checkBowItem(mEquipItem)) {
|
||||
setBowModel();
|
||||
return;
|
||||
} else if (mHeldItemType == dItem_TELESCOPE_e) {
|
||||
} else if (mEquipItem == dItem_TELESCOPE_e) {
|
||||
setScopeModel();
|
||||
return;
|
||||
} else if (checkPhotoBoxItem(mHeldItemType)) {
|
||||
} else if (checkPhotoBoxItem(mEquipItem)) {
|
||||
setPhotoBoxModel();
|
||||
return;
|
||||
} else if (mHeldItemType == dItem_TINGLE_TUNER_e) {
|
||||
} else if (mEquipItem == dItem_TINGLE_TUNER_e) {
|
||||
setTinkleCeiverModel();
|
||||
return;
|
||||
} else if (mHeldItemType == dItem_DEKU_LEAF_e) {
|
||||
} else if (mEquipItem == dItem_DEKU_LEAF_e) {
|
||||
setSmallFanModel();
|
||||
return;
|
||||
} else if (mHeldItemType == dItem_WIND_WAKER_e) {
|
||||
mHeldItemType = dItem_NONE_e;
|
||||
} else if (mEquipItem == dItem_WIND_WAKER_e) {
|
||||
mEquipItem = dItem_NONE_e;
|
||||
setTactModel();
|
||||
return;
|
||||
} else if (mHeldItemType == dItem_SKULL_HAMMER_e) {
|
||||
} else if (mEquipItem == dItem_SKULL_HAMMER_e) {
|
||||
setHammerModel();
|
||||
return;
|
||||
} else if (mHeldItemType == EMPTY_BOTTLE) {
|
||||
setBottleModel(mHeldItemType);
|
||||
} else if (mEquipItem == EMPTY_BOTTLE) {
|
||||
setBottleModel(mEquipItem);
|
||||
return;
|
||||
} else {
|
||||
return;
|
||||
}
|
||||
|
||||
if (mActorKeepEquip.getActor() == NULL) {
|
||||
mHeldItemType = 0x100;
|
||||
mEquipItem = daPyItem_NONE_e;
|
||||
offResetFlg0(daPyRFlg0_UNK80);
|
||||
}
|
||||
}
|
||||
@@ -1512,19 +1512,19 @@ void daPy_lk_c::makeItemType() {
|
||||
/* 8010CB70-8010CBC8 .text setScopeModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setScopeModel() {
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
initModel(&mpHeldItemModel, LINK_BDL_TELESCOPE, 0x37221222);
|
||||
initModel(&mpEquipItemModel, LINK_BDL_TELESCOPE, 0x37221222);
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
}
|
||||
|
||||
/* 8010CBC8-8010CC78 .text setPhotoBoxModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setPhotoBoxModel() {
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
initModel(&mpHeldItemModel, LINK_BDL_CAMERA, 0x37221222);
|
||||
initModel(&mpEquipItemModel, LINK_BDL_CAMERA, 0x37221222);
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
if (mHeldItemType == CAMERA) {
|
||||
mpHeldItemModel->getModelData()->getJointNodePointer(0x02)->getMesh()->getShape()->hide();
|
||||
if (mEquipItem == CAMERA) {
|
||||
mpEquipItemModel->getModelData()->getJointNodePointer(0x02)->getMesh()->getShape()->hide();
|
||||
} else {
|
||||
mpHeldItemModel->getModelData()->getJointNodePointer(0x02)->getMesh()->getShape()->show();
|
||||
mpEquipItemModel->getModelData()->getJointNodePointer(0x02)->getMesh()->getShape()->show();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1546,21 +1546,21 @@ BOOL daPy_lk_c::checkItemChangeFromButton() {
|
||||
!checkPlayerGuard()
|
||||
) {
|
||||
if (!daPy_dmEcallBack_c::checkCurse()) {
|
||||
if (mPressedButtons & 0x02 && checkSwordEquip() && mHeldItemType != 0x103) {
|
||||
if (mPressedButtons & 0x02 && checkSwordEquip() && mEquipItem != daPyItem_SWORD_e) {
|
||||
setAnimeEquipSword(1);
|
||||
} else if (mPressedButtons & 0x04) {
|
||||
if (checkNewItemChange(0)) {
|
||||
mLastUsedItemButtonIdx = 0;
|
||||
mReadyItemIdx = 0;
|
||||
return TRUE;
|
||||
}
|
||||
} else if (mPressedButtons & 0x08) {
|
||||
if (checkNewItemChange(1)) {
|
||||
mLastUsedItemButtonIdx = 1;
|
||||
mReadyItemIdx = 1;
|
||||
return TRUE;
|
||||
}
|
||||
} else if (mPressedButtons & 0x10) {
|
||||
if (checkNewItemChange(2)) {
|
||||
mLastUsedItemButtonIdx = 2;
|
||||
mReadyItemIdx = 2;
|
||||
return TRUE;
|
||||
}
|
||||
} else if (mPressedButtons & 0x01) {
|
||||
@@ -1574,8 +1574,8 @@ BOOL daPy_lk_c::checkItemChangeFromButton() {
|
||||
} else if (mAcch.ChkGroundHit() && !daPy_lk_c::checkPlayerFly()) {
|
||||
if (checkEquipHeavyBoots() && checkSetItemTrigger(dItem_IRON_BOOTS_e, 0)) {
|
||||
return procBootsEquip_init(dItem_IRON_BOOTS_e);
|
||||
} else if (checkSetItemTrigger(0x105, 0)) {
|
||||
return procBottleDrink_init(dComIfGp_getSelectItem(mLastUsedItemButtonIdx));
|
||||
} else if (checkSetItemTrigger(daPyItem_DRINK_BOTTLE_e, 0)) {
|
||||
return procBottleDrink_init(dComIfGp_getSelectItem(mReadyItemIdx));
|
||||
} else if (checkSetItemTrigger(FAIRY_BOTTLE, 0)) {
|
||||
return procBottleOpen_init(FAIRY_BOTTLE);
|
||||
} else if (mPressedButtons & 0x01) {
|
||||
@@ -1853,7 +1853,7 @@ BOOL daPy_lk_c::changeDamageProc() {
|
||||
freeHookshotItem();
|
||||
|
||||
if (!checkSuccessGuard(r27)) {
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
deleteEquipItem(FALSE);
|
||||
}
|
||||
|
||||
@@ -1910,7 +1910,7 @@ BOOL daPy_lk_c::changeDamageProc() {
|
||||
}
|
||||
} else if (r30) {
|
||||
changePlayer(this);
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
deleteEquipItem(FALSE);
|
||||
}
|
||||
setDamagePoint(-damage);
|
||||
@@ -2055,14 +2055,14 @@ BOOL daPy_lk_c::commonProcInit(daPy_PROC proc) {
|
||||
mActorKeepRope.clearData();
|
||||
} else if (mCurProc == daPyProc_DEMO_TALISMAN_WAIT_e) {
|
||||
seStartOnlyReverb(JA_SE_LK_ITEM_TAKEOUT);
|
||||
mpHeldItemModel = NULL;
|
||||
mpEquipItemModel = NULL;
|
||||
} else if (mCurProc == daPyProc_FAN_SWING_e) {
|
||||
setSmallFanModel();
|
||||
} else if (mCurProc == daPyProc_FAN_GLIDE_e) {
|
||||
deleteEquipItem(FALSE);
|
||||
maxFallSpeed = daPy_HIO_autoJump_c0::m.field_0x10;
|
||||
setSmallFanModel();
|
||||
mHeldItemType = dItem_DEKU_LEAF_e;
|
||||
mEquipItem = dItem_DEKU_LEAF_e;
|
||||
m35F0 = m3688.y;
|
||||
m3730 = cXyz::Zero;
|
||||
m34E0 = 0;
|
||||
@@ -2192,9 +2192,9 @@ BOOL daPy_lk_c::commonProcInit(daPy_PROC proc) {
|
||||
|
||||
m35EC = 0.0f;
|
||||
|
||||
if (mHeldItemType == dItem_SKULL_HAMMER_e) {
|
||||
if (mEquipItem == dItem_SKULL_HAMMER_e) {
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(0x97));
|
||||
} else if (checkBowItem(mHeldItemType) && !checkBowAnime()) {
|
||||
} else if (checkBowItem(mEquipItem) && !checkBowAnime()) {
|
||||
mSwordAnim.changeBckOnly(getItemAnimeResource(0xD));
|
||||
}
|
||||
|
||||
@@ -2245,7 +2245,7 @@ BOOL daPy_lk_c::procCall_init() {
|
||||
daPy_matAnm_c::setMabaTimer(1);
|
||||
setSingleMoveAnime(ANM_YOBU, 1.0f, 0.0f, -1, daPy_HIO_basic_c0::m.field_0xC);
|
||||
current.angle.y = shape_angle.y;
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
deleteEquipItem(FALSE);
|
||||
}
|
||||
voiceStart(0x2A);
|
||||
@@ -2849,7 +2849,7 @@ f32 daPy_lk_c::getBlurTopRate() {
|
||||
return 0.0f;
|
||||
}
|
||||
|
||||
if (mHeldItemType == 0x103) {
|
||||
if (mEquipItem == daPyItem_SWORD_e) {
|
||||
if (checkNormalSwordEquip()) {
|
||||
return 0.5f;
|
||||
} else {
|
||||
@@ -2857,7 +2857,7 @@ f32 daPy_lk_c::getBlurTopRate() {
|
||||
}
|
||||
}
|
||||
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
if (mActorKeepEquip.getActor() == NULL) {
|
||||
return 0.0f;
|
||||
} else {
|
||||
@@ -3186,7 +3186,7 @@ BOOL daPy_lk_c::execute() {
|
||||
|
||||
if (dComIfGp_event_runCheck()) {
|
||||
mStaffIdx = dComIfGp_evmng_getMyStaffId("Link", this);
|
||||
if (eventInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(0x4) && mHeldItemType == 0x101) {
|
||||
if (eventInfo.checkCommandDoor() && !dComIfGp_event_chkEventFlag(0x4) && mEquipItem == daPyItem_BOKO_e) {
|
||||
fopAc_ac_c* equipActor = mActorKeepEquip.getActor();
|
||||
if (equipActor) {
|
||||
s16 angle = shape_angle.y + 0x8000;
|
||||
@@ -3226,7 +3226,7 @@ BOOL daPy_lk_c::execute() {
|
||||
dComIfGp_setDoStatus(0);
|
||||
dComIfGp_setRStatus(0);
|
||||
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
dComIfGp_setAStatus(0x2F);
|
||||
} else if (checkSwordEquip()) {
|
||||
dComIfGp_setAStatus(0x35);
|
||||
@@ -3277,7 +3277,7 @@ BOOL daPy_lk_c::execute() {
|
||||
freeGrabItem();
|
||||
}
|
||||
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
if (equipActor == NULL || !fopAcM_checkCarryNow(equipActor)) {
|
||||
deleteEquipItem(FALSE);
|
||||
}
|
||||
@@ -3295,7 +3295,7 @@ BOOL daPy_lk_c::execute() {
|
||||
setDemoData();
|
||||
setStickData();
|
||||
|
||||
if (mHeldItemType == dItem_GRAPPLING_HOOK_e &&
|
||||
if (mEquipItem == dItem_GRAPPLING_HOOK_e &&
|
||||
(mCurProc == daPyProc_ROPE_SUBJECT_e || mCurProc == daPyProc_ROPE_MOVE_e) &&
|
||||
mActorKeepEquip.getActor() != NULL && fopAcM_GetParam(mActorKeepEquip.getActor()) == 2
|
||||
) {
|
||||
@@ -3316,7 +3316,7 @@ BOOL daPy_lk_c::execute() {
|
||||
|
||||
checkItemAction();
|
||||
|
||||
if (mHeldItemType == 0x103 && (m34C4 == 2 || m34C4 == 3)) {
|
||||
if (mEquipItem == daPyItem_SWORD_e && (m34C4 == 2 || m34C4 == 3)) {
|
||||
if (mAtCps[0].ChkAtHit() || mAtCps[1].ChkAtHit() || mAtCps[2].ChkAtHit()) {
|
||||
m34C4 += 2;
|
||||
}
|
||||
@@ -3536,9 +3536,9 @@ BOOL daPy_lk_c::execute() {
|
||||
|
||||
if (mCurProc == daPyProc_CUT_F_e || mCurProc == daPyProc_BT_VERTICAL_JUMP_CUT_e) {
|
||||
if (checkNormalSwordEquip()) {
|
||||
mpSwordTipStabModel->setBaseTRMtx(mpHeldItemModel->getAnmMtx(0x03));
|
||||
mpSwordTipStabModel->setBaseTRMtx(mpEquipItemModel->getAnmMtx(0x03));
|
||||
} else {
|
||||
mpSwordTipStabModel->setBaseTRMtx(mpHeldItemModel->getAnmMtx(0x04));
|
||||
mpSwordTipStabModel->setBaseTRMtx(mpEquipItemModel->getAnmMtx(0x04));
|
||||
}
|
||||
}
|
||||
|
||||
@@ -3547,24 +3547,24 @@ BOOL daPy_lk_c::execute() {
|
||||
m36D0 = mSwordTopPos;
|
||||
m36DC = m36C4;
|
||||
|
||||
if (mHeldItemType == 0x101 && mActorKeepEquip.getActor()) {
|
||||
if (mEquipItem == daPyItem_BOKO_e && mActorKeepEquip.getActor()) {
|
||||
daBoko_c* boko = static_cast<daBoko_c*>(mActorKeepEquip.getActor());
|
||||
boko->getTopPos(&mSwordTopPos);
|
||||
boko->getBlurRootPos(&m36C4);
|
||||
} else if (mHeldItemType == dItem_SKULL_HAMMER_e) {
|
||||
cMtx_multVec(mpHeldItemModel->getBaseTRMtx(), &hammer_top, &mSwordTopPos);
|
||||
cMtx_multVec(mpHeldItemModel->getBaseTRMtx(), &hammer_root, &m36C4);
|
||||
} else if (mHeldItemType == 0x103) {
|
||||
} else if (mEquipItem == dItem_SKULL_HAMMER_e) {
|
||||
cMtx_multVec(mpEquipItemModel->getBaseTRMtx(), &hammer_top, &mSwordTopPos);
|
||||
cMtx_multVec(mpEquipItemModel->getBaseTRMtx(), &hammer_root, &m36C4);
|
||||
} else if (mEquipItem == daPyItem_SWORD_e) {
|
||||
if (checkNormalSwordEquip()) {
|
||||
cMtx_multVec(mpHeldItemModel->getAnmMtx(0x01), &nsword_top, &mSwordTopPos);
|
||||
mDoMtx_multVecZero(mpHeldItemModel->getAnmMtx(0x02), &m36C4);
|
||||
cMtx_multVec(mpEquipItemModel->getAnmMtx(0x01), &nsword_top, &mSwordTopPos);
|
||||
mDoMtx_multVecZero(mpEquipItemModel->getAnmMtx(0x02), &m36C4);
|
||||
} else {
|
||||
mDoMtx_multVecZero(mpHeldItemModel->getAnmMtx(0x01), &m36C4);
|
||||
cMtx_multVec(mpHeldItemModel->getAnmMtx(0x01), &msword_top, &mSwordTopPos);
|
||||
mDoMtx_multVecZero(mpEquipItemModel->getAnmMtx(0x01), &m36C4);
|
||||
cMtx_multVec(mpEquipItemModel->getAnmMtx(0x01), &msword_top, &mSwordTopPos);
|
||||
}
|
||||
} else if (mCurProc == daPyProc_FAN_SWING_e) {
|
||||
mDoMtx_multVecZero(mpHeldItemModel->getBaseTRMtx(), &m36C4);
|
||||
cMtx_multVec(mpHeldItemModel->getAnmMtx(0x06), &fan_top, &mSwordTopPos);
|
||||
mDoMtx_multVecZero(mpEquipItemModel->getBaseTRMtx(), &m36C4);
|
||||
cMtx_multVec(mpEquipItemModel->getAnmMtx(0x06), &fan_top, &mSwordTopPos);
|
||||
} else {
|
||||
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x0D), &m36C4);
|
||||
mDoMtx_multVecZero(mpCLModel->getAnmMtx(0x0D), &mSwordTopPos);
|
||||
@@ -4119,8 +4119,8 @@ void daPy_lk_c::playerInit() {
|
||||
mAcchCir[2].SetWall(125.0f, 35.0f);
|
||||
mHeadTopPos.setall(0.0f);
|
||||
mHeight = 125.0f;
|
||||
mHeldItemType = 0x100;
|
||||
mKeepItemType = 0x100;
|
||||
mEquipItem = daPyItem_NONE_e;
|
||||
mKeepItem = daPyItem_NONE_e;
|
||||
mCameraInfoIdx = dComIfGp_getPlayerCameraID(0);
|
||||
mpAttention = &dComIfGp_getAttention();
|
||||
|
||||
@@ -4558,19 +4558,19 @@ void daPy_lk_c::setHandModel(daPy_ANM anmIdx) {
|
||||
|
||||
/* 801288A0-8012894C .text getAnmData__9daPy_lk_cCFQ29daPy_lk_c8daPy_ANM */
|
||||
const daPy_anmIndex_c* daPy_lk_c::getAnmData(daPy_ANM anm) const {
|
||||
if (mHeldItemType == 0x103) {
|
||||
if (mEquipItem == daPyItem_SWORD_e) {
|
||||
if (anm < (s32)ARRAY_SIZE(mSwordAnmIndexTable)) {
|
||||
return &mSwordAnmIndexTable[anm];
|
||||
}
|
||||
} else if (mHeldItemType == 0x101) {
|
||||
} else if (mEquipItem == daPyItem_BOKO_e) {
|
||||
if (anm < (s32)ARRAY_SIZE(mBokoAnmIndexTable)) {
|
||||
return &mBokoAnmIndexTable[anm];
|
||||
}
|
||||
} else if (mHeldItemType == dItem_SKULL_HAMMER_e) {
|
||||
} else if (mEquipItem == dItem_SKULL_HAMMER_e) {
|
||||
if (anm < (s32)ARRAY_SIZE(mHammerAnmIndexTable)) {
|
||||
return &mHammerAnmIndexTable[anm];
|
||||
}
|
||||
} else if (mHeldItemType == dItem_BOOMERANG_e || mHeldItemType == dItem_DEKU_LEAF_e || mHeldItemType == dItem_TELESCOPE_e) {
|
||||
} else if (mEquipItem == dItem_BOOMERANG_e || mEquipItem == dItem_DEKU_LEAF_e || mEquipItem == dItem_TELESCOPE_e) {
|
||||
if (anm == ANM_DASH) {
|
||||
return &mSwordAnmIndexTable[anm];
|
||||
}
|
||||
@@ -4580,7 +4580,7 @@ const daPy_anmIndex_c* daPy_lk_c::getAnmData(daPy_ANM anm) const {
|
||||
|
||||
/* 8012894C-80128988 .text checkGrabWeapon__9daPy_lk_cFi */
|
||||
BOOL daPy_lk_c::checkGrabWeapon(int r4) {
|
||||
if (mHeldItemType == 0x101 && mActorKeepEquip.getActor() != NULL) {
|
||||
if (mEquipItem == daPyItem_BOKO_e && mActorKeepEquip.getActor() != NULL) {
|
||||
daBoko_c* boko = (daBoko_c*)mActorKeepEquip.getActor();
|
||||
if (r4 == 6 || fopAcM_GetParam(boko) == r4) {
|
||||
return TRUE;
|
||||
@@ -4650,7 +4650,7 @@ void daPy_lk_c::endDemoMode() {
|
||||
|
||||
/* 80128F8C-8012901C .text getBokoFlamePos__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::getBokoFlamePos(cXyz* outPos) {
|
||||
if (mHeldItemType == 0x101) {
|
||||
if (mEquipItem == daPyItem_BOKO_e) {
|
||||
daBoko_c* boko = (daBoko_c*)fopAcM_SearchByID(mActorKeepEquip.getID());
|
||||
if (boko && boko->m2C4 != 0) { // maybe daBoko_c::getFlameTimer inline
|
||||
*outPos = mSwordTopPos;
|
||||
|
||||
@@ -54,21 +54,21 @@ void daPy_lk_c::setSwordModel(BOOL r28) {
|
||||
|
||||
J3DAnmTransform* bck = checkNormalSwordEquip() ? getItemAnimeResource(LKANM_BCK_CUTAA) : getItemAnimeResource(LKANM_BCK_CUTAMS);
|
||||
|
||||
mHeldItemType = 0x103;
|
||||
mEquipItem = daPyItem_SWORD_e;
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
|
||||
const sword_model_tbl_s& model_tbl = checkNormalSwordEquip() ? sword_model_tbl[0] : sword_model_tbl[1];
|
||||
J3DModelData* modelData = initModel(&mpHeldItemModel, model_tbl.bladeModel, 0x37221222);
|
||||
J3DModelData* modelData = initModel(&mpEquipItemModel, model_tbl.bladeModel, 0x37221222);
|
||||
BOOL ret = mSwordAnim.init(modelData, bck, false, J3DFrameCtrl::LOOP_REPEAT_e, 1.0f, 0, -1, false);
|
||||
if (!ret) { JUT_ASSERT(86, 0); }
|
||||
|
||||
if (!checkNormalSwordEquip()) {
|
||||
buffer = new(0x20) u8[0x400];
|
||||
JKRReadIdxResource(buffer, 0x400, LKANM_BTK_TSWMS, dComIfGp_getAnmArchive());
|
||||
mpHeldItemBtk = static_cast<J3DAnmTextureSRTKey*>(J3DAnmLoaderDataBase::load(buffer));
|
||||
mpHeldItemBtk->setFrame(0.0f);
|
||||
mpHeldItemBtk->searchUpdateMaterialID(modelData);
|
||||
modelData->entryTexMtxAnimator(mpHeldItemBtk);
|
||||
mpEquipItemBtk = static_cast<J3DAnmTextureSRTKey*>(J3DAnmLoaderDataBase::load(buffer));
|
||||
mpEquipItemBtk->setFrame(0.0f);
|
||||
mpEquipItemBtk->searchUpdateMaterialID(modelData);
|
||||
modelData->entryTexMtxAnimator(mpEquipItemBtk);
|
||||
}
|
||||
|
||||
mSwBlur.mpPosBuffer = new(0x20) u8[0x4800];
|
||||
@@ -83,10 +83,10 @@ void daPy_lk_c::setSwordModel(BOOL r28) {
|
||||
|
||||
buffer = new(0x20) u8[0x400];
|
||||
JKRReadIdxResource(buffer, 0x400, model_tbl.glowBrk, dComIfGp_getAnmArchive());
|
||||
mpHeldItemBrk = static_cast<J3DAnmTevRegKey*>(J3DAnmLoaderDataBase::load(buffer));
|
||||
mpHeldItemBrk->setFrame(0.0f);
|
||||
mpHeldItemBrk->searchUpdateMaterialID(modelData);
|
||||
modelData->entryTevRegAnimator(mpHeldItemBrk);
|
||||
mpEquipItemBrk = static_cast<J3DAnmTevRegKey*>(J3DAnmLoaderDataBase::load(buffer));
|
||||
mpEquipItemBrk->setFrame(0.0f);
|
||||
mpEquipItemBrk->searchUpdateMaterialID(modelData);
|
||||
modelData->entryTevRegAnimator(mpEquipItemBrk);
|
||||
|
||||
modelData = initModel(&mpSwordTipStabModel, model_tbl.tipStabModel, 0x13000223);
|
||||
|
||||
@@ -220,7 +220,7 @@ void daPy_lk_c::setExtraFinishCutAtParam(u8 cutType) {
|
||||
/* 8015585C-80155970 .text setJumpCutAtParam__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setJumpCutAtParam() {
|
||||
mCutCount = 0;
|
||||
if (mHeldItemType == 0x103) {
|
||||
if (mEquipItem == daPyItem_SWORD_e) {
|
||||
int atp;
|
||||
f32 radius;
|
||||
if (checkNormalSwordEquip()) {
|
||||
@@ -233,7 +233,7 @@ void daPy_lk_c::setJumpCutAtParam() {
|
||||
m35FC = daPy_HIO_cut_c0::m.field_0x58;
|
||||
}
|
||||
setAtParam(AT_TYPE_SWORD, atp, dCcG_At_Spl_UNK1, dCcD_SE_UNK1, G_AT_MARK_BIG_HIT, 0xA, radius);
|
||||
} else if (mHeldItemType == dItem_SKULL_HAMMER_e) {
|
||||
} else if (mEquipItem == dItem_SKULL_HAMMER_e) {
|
||||
setAtParam(AT_TYPE_SKULL_HAMMER, 4, dCcG_At_Spl_UNK1, dCcD_SE_UNK5, G_AT_MARK_NORMAL_HIT, 0x13, 50.0f);
|
||||
} else if (mActorKeepEquip.getActor()) {
|
||||
setEnemyWeaponAtParam(TRUE);
|
||||
|
||||
@@ -30,20 +30,20 @@ u32 daPy_lk_c::getDayNightParamData() {
|
||||
|
||||
/* 8014D7D4-8014D8AC .text setTactModel__9daPy_lk_cFv */
|
||||
void daPy_lk_c::setTactModel() {
|
||||
if (mHeldItemType == dItem_WIND_WAKER_e)
|
||||
if (mEquipItem == dItem_WIND_WAKER_e)
|
||||
return;
|
||||
|
||||
deleteEquipItem(FALSE);
|
||||
mHeldItemType = dItem_WIND_WAKER_e;
|
||||
mEquipItem = dItem_WIND_WAKER_e;
|
||||
JKRHeap* oldHeap = setItemHeap();
|
||||
|
||||
J3DModelData* modelData = initModel(&mpHeldItemModel, LINK_BDL_TAKT, 0x37221222);
|
||||
J3DModelData* modelData = initModel(&mpEquipItemModel, LINK_BDL_TAKT, 0x37221222);
|
||||
u8* buffer = new(0x20) u8[0x400];
|
||||
dComIfGp_getAnmArchive()->readIdxResource(buffer, 0x400, LKANM_BRK_TTAKT);
|
||||
mpHeldItemBrk = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(buffer);
|
||||
mpHeldItemBrk->setFrame(0.0f);
|
||||
mpHeldItemBrk->searchUpdateMaterialID(modelData);
|
||||
modelData->entryTevRegAnimator(mpHeldItemBrk);
|
||||
mpEquipItemBrk = (J3DAnmTevRegKey*)J3DAnmLoaderDataBase::load(buffer);
|
||||
mpEquipItemBrk->setFrame(0.0f);
|
||||
mpEquipItemBrk->searchUpdateMaterialID(modelData);
|
||||
modelData->entryTevRegAnimator(mpEquipItemBrk);
|
||||
|
||||
mDoExt_setCurrentHeap(oldHeap);
|
||||
}
|
||||
@@ -124,10 +124,10 @@ void daPy_lk_c::setTactZev(uint tactZevPartnerPID, int r30, char* r31) {
|
||||
|
||||
/* 8014DA78-8014DACC .text getTactTopPos__9daPy_lk_cFP4cXyz */
|
||||
BOOL daPy_lk_c::getTactTopPos(cXyz* out) {
|
||||
if (mHeldItemType != dItem_WIND_WAKER_e || mpHeldItemModel == NULL) {
|
||||
if (mEquipItem != dItem_WIND_WAKER_e || mpEquipItemModel == NULL) {
|
||||
return FALSE;
|
||||
} else {
|
||||
MTXMultVec(mpHeldItemModel->getBaseTRMtx(), &l_tact_top, out);
|
||||
MTXMultVec(mpEquipItemModel->getBaseTRMtx(), &l_tact_top, out);
|
||||
return TRUE;
|
||||
}
|
||||
}
|
||||
@@ -275,7 +275,7 @@ BOOL daPy_lk_c::procTactWait_init(int r30) {
|
||||
initShipRideUseItem(r31, 2);
|
||||
|
||||
m34D2 = -1;
|
||||
m32E4.makeEmitter(0x50, mpHeldItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(0x50, mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m3570 = r30;
|
||||
m34D8 = 0;
|
||||
m3574 = -1;
|
||||
@@ -348,7 +348,7 @@ BOOL daPy_lk_c::procTactPlay_init(s32 r27, int r30, int r31) {
|
||||
}
|
||||
}
|
||||
|
||||
m32E4.makeEmitter(0x51, mpHeldItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(0x51, mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m34D0 = 0;
|
||||
m3574 = r30;
|
||||
m3624 = 0;
|
||||
@@ -488,7 +488,7 @@ BOOL daPy_lk_c::procTactPlayOriginal_init() {
|
||||
mDoAud_tact_setStickPos(m3570, m3574);
|
||||
mDoAud_tact_playArmSwing(m3570, m3574);
|
||||
setTactModel();
|
||||
m32E4.makeEmitter(0x51, mpHeldItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m32E4.makeEmitter(0x51, mpEquipItemModel->getBaseTRMtx(), ¤t.pos, NULL);
|
||||
m34D6 = 0xF;
|
||||
m34DA = 0;
|
||||
mDoAud_taktModeMute();
|
||||
|
||||
Reference in New Issue
Block a user