diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2023-12-08 15:02:34 -0500 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2023-12-08 15:02:34 -0500 |
| commit | 009b4fb35e5a1d010fcf98590dfbcc7071fc28f8 (patch) | |
| tree | 9bfe43176d1a4ed528aac99f600f9694e0c9077e /src | |
| parent | 46ffaf283912a736ce6dc6922a4fb31b17cbe708 (diff) | |
d_a_player_food done
Diffstat (limited to 'src')
| -rw-r--r-- | src/d/actor/d_a_player_food.inc | 32 | ||||
| -rw-r--r-- | src/d/actor/d_a_player_main.cpp | 32 |
2 files changed, 47 insertions, 17 deletions
diff --git a/src/d/actor/d_a_player_food.inc b/src/d/actor/d_a_player_food.inc index 15b734fe..c633943a 100644 --- a/src/d/actor/d_a_player_food.inc +++ b/src/d/actor/d_a_player_food.inc @@ -112,7 +112,37 @@ BOOL daPy_lk_c::procFoodThrow_init() { /* 801546F4-80154880 .text procFoodThrow__9daPy_lk_cFv */ BOOL daPy_lk_c::procFoodThrow() { - /* Nonmatching */ + J3DFrameCtrl& frameCtrl = mFrameCtrlUnder[0]; + setShipRidePosUseItem(); + if (frameCtrl.getRate() < 0.01f) { + if (mDemo.getDemoType() != 5) { + dComIfGp_evmng_cutEnd(mStaffIdx); + } else { + dComIfGp_event_reset(); + u32 playerPID = fopAcM_GetID(this); + dCam_getBody()->EndEventCamera(playerPID); + endDemoMode(); + } + } else if (frameCtrl.checkPass(9.0f)) { + seStartOnlyReverb(JA_SE_LK_ESA_THROW); + void* esa = fopAcM_fastCreate(PROC_ESA, 0xFFFF0014, &field_0x2d4, fopAcM_GetRoomNo(this), &shape_angle); + if (esa) { + m3630 = fopAcM_GetID(esa); + if (mDemo.getDemoType() != 5) { + u8 btnIdx = dComIfGp_event_getTalkXYBtn(); + if (btnIdx == 1) { + dComIfGs_setReserveBaitEmpty(0); + } else if (btnIdx == 2) { + dComIfGs_setReserveBaitEmpty(1); + } else { + dComIfGs_setReserveBaitEmpty(2); + } + } else { + dComIfGs_setReserveBaitEmpty(mLastUsedItemButtonIdx); + } + } + } + return TRUE; } /* 80154880-80154A48 .text procFoodSet_init__9daPy_lk_cFv */ diff --git a/src/d/actor/d_a_player_main.cpp b/src/d/actor/d_a_player_main.cpp index 5a8809d0..ba19f140 100644 --- a/src/d/actor/d_a_player_main.cpp +++ b/src/d/actor/d_a_player_main.cpp @@ -2405,9 +2405,9 @@ void daPy_lk_c::voiceStart(u32 param_1) { /* 801031A4-801031DC .text itemButton__9daPy_lk_cCFv */ BOOL daPy_lk_c::itemButton() const { - if (mLastUsedEquipItem == 0) { + if (mLastUsedItemButtonIdx == 0) { return m34C9 & 0x04; - } else if (mLastUsedEquipItem == 1) { + } else if (mLastUsedItemButtonIdx == 1) { return m34C9 & 0x08; } else { return m34C9 & 0x10; @@ -2416,9 +2416,9 @@ BOOL daPy_lk_c::itemButton() const { /* 801031DC-80103214 .text itemTrigger__9daPy_lk_cCFv */ BOOL daPy_lk_c::itemTrigger() const { - if (mLastUsedEquipItem == 0) { + if (mLastUsedItemButtonIdx == 0) { return mPressedButtonsBitfield & 0x04; - } else if (mLastUsedEquipItem == 1) { + } else if (mLastUsedItemButtonIdx == 1) { return mPressedButtonsBitfield & 0x08; } else { return mPressedButtonsBitfield & 0x10; @@ -2449,17 +2449,17 @@ BOOL daPy_lk_c::checkGroupItem(int param_1, int itemNo) { /* 801032E4-801033E4 .text checkSetItemTrigger__9daPy_lk_cFii */ BOOL daPy_lk_c::checkSetItemTrigger(int param_1, int param_2) { - if (param_2 == 0 || daPy_dmEcallBack_c::m_type != 1) { + if (param_2 == 0 || !daPy_dmEcallBack_c::checkCurse()) { if (mPressedButtonsBitfield & 0x04 && checkGroupItem(param_1, dComIfGp_getSelectItem(0))) { - mLastUsedEquipItem = 0; + mLastUsedItemButtonIdx = 0; return TRUE; } if (mPressedButtonsBitfield & 0x08 && checkGroupItem(param_1, dComIfGp_getSelectItem(1))) { - mLastUsedEquipItem = 1; + mLastUsedItemButtonIdx = 1; return TRUE; } if (mPressedButtonsBitfield & 0x10 && checkGroupItem(param_1, dComIfGp_getSelectItem(2))) { - mLastUsedEquipItem = 2; + mLastUsedItemButtonIdx = 2; return TRUE; } } @@ -4320,7 +4320,7 @@ BOOL daPy_lk_c::playerDelete() { mDoAud_seDeleteObject(&mSwordTopPos); mDoAud_seDeleteObject(&mRopePos); mDoAud_seDeleteObject(&m338C.field_0x08); - mDoAud_seDeleteObject(&mFanWindCps1.GetEndP()); + mDoAud_seDeleteObject(&mFanWindCps.GetEndP()); for (i = 0; i < (int)ARRAY_SIZE(m_anm_heap_under); i++) { mDoExt_destroySolidHeap(m_anm_heap_under[i].mpAnimeHeap); @@ -4636,15 +4636,15 @@ void daPy_lk_c::playerInit() { mAtCps[2].SetStts(&mStts); mAtCyl.Set(l_at_cyl_src); mAtCyl.SetStts(&mStts); - mFanWindCps1.Set(l_fan_wind_cps_src); - mFanWindCps1.SetR(70.0f); - mFanWindCps1.SetStts(&mStts); + mFanWindCps.Set(l_fan_wind_cps_src); + mFanWindCps.SetR(70.0f); + mFanWindCps.SetStts(&mStts); mFanWindSph.Set(l_fan_wind_sph_src); mFanWindSph.SetStts(&mStts); - mFanWindCps2.Set(l_fan_wind_cps_src); - mFanWindCps2.SetStts(&mStts); - mFanWindCps2.SetAtType(AT_TYPE_LIGHT); - mFanWindCps2.SetR(20.0f); + mFanLightCps.Set(l_fan_wind_cps_src); + mFanLightCps.SetStts(&mStts); + mFanLightCps.SetAtType(AT_TYPE_LIGHT); + mFanLightCps.SetR(20.0f); for (int i = 0; i < (int)ARRAY_SIZE(m_anm_heap_under); i++) { createAnimeHeap(&m_anm_heap_under[i].mpAnimeHeap, HEAP_TYPE_UNDER_UPPER_e); |
