From ca1ece683b3eae1a9dcf4fe9ba971d2eb82b64ae Mon Sep 17 00:00:00 2001 From: TakaRikka <38417346+TakaRikka@users.noreply.github.com> Date: Fri, 12 Jul 2024 23:24:50 -0700 Subject: Lv5key / Iceblock done (#2177) * obj_lv5key * obj_iceblock done * remove asm --- include/d/a/d_a_alink.h | 4 +++- include/d/bg/d_bg_s.h | 2 +- include/d/bg/d_bg_w_base.h | 10 ++++++++-- 3 files changed, 12 insertions(+), 4 deletions(-) (limited to 'include/d') diff --git a/include/d/a/d_a_alink.h b/include/d/a/d_a_alink.h index 5087638ad4..a409cb4df3 100644 --- a/include/d/a/d_a_alink.h +++ b/include/d/a/d_a_alink.h @@ -1994,7 +1994,7 @@ public: /* 800E7EE4 */ int getWallGrabStatus(); /* 800E7EF4 */ BOOL wallGrabTrigger(); /* 800E7F18 */ BOOL wallGrabButton(); - /* 800E7F3C */ void setPushPullKeepData(dBgW_Base::PushPullLabel, int); + /* 800E7F3C */ int setPushPullKeepData(dBgW_Base::PushPullLabel, int); /* 800E80A4 */ void checkPushPullTurnBlock(); /* 800E8148 */ void checkPullBehindWall(); /* 800E8298 */ void offGoatStopGame(); @@ -3288,6 +3288,8 @@ public: bool checkWolfDashMode() const { return checkNoResetFlg1(FLG1_DASH_MODE); } bool checkWolfLieWaterIn() const { return mWaterY > current.pos.y + 20.5f; } + BOOL checkPowerGloveGet() { return false; } + J3DModel* initModel(J3DModelData* p_modelData, u32 param_1) { return initModel(p_modelData, 0x80000, param_1); } diff --git a/include/d/bg/d_bg_s.h b/include/d/bg/d_bg_s.h index e20cc4ad60..510a452406 100644 --- a/include/d/bg/d_bg_s.h +++ b/include/d/bg/d_bg_s.h @@ -105,7 +105,7 @@ public: void MoveBgMatrixCrrPos(cBgS_PolyInfo const&, bool, cXyz*, csXyz*, csXyz*); void RideCallBack(cBgS_PolyInfo const&, fopAc_ac_c*); void ArrowStickCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, cXyz&); - bool PushPullCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel); + fopAc_ac_c* PushPullCallBack(cBgS_PolyInfo const&, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel); bool WaterChk(dBgS_SplGrpChk* chk) { return SplGrpChk(chk); } u32 GetMtrlSndId(cBgS_PolyInfo* param_0) { return dKy_pol_sound_get(param_0); } diff --git a/include/d/bg/d_bg_w_base.h b/include/d/bg/d_bg_w_base.h index 12f5ddddc9..3d7174c8a1 100644 --- a/include/d/bg/d_bg_w_base.h +++ b/include/d/bg/d_bg_w_base.h @@ -18,14 +18,18 @@ class fopAc_ac_c; class dBgW_Base : public cBgW_BgId { public: enum PushPullLabel { - PUSHPULL_LABEL1 = 1, + PPLABEL_NONE = 0, + PPLABEL_PUSH = 1, + PPLABEL_PULL = 2, + PPLABEL_4 = 4, + PPLABEL_HEAVY = 8, }; enum PRIORITY { PRIORITY_0, }; - typedef bool (*PushPull_CallBack)(fopAc_ac_c*, fopAc_ac_c*, s16, + typedef fopAc_ac_c* (*PushPull_CallBack)(fopAc_ac_c*, fopAc_ac_c*, s16, dBgW_Base::PushPullLabel); /* 8007E5A8 */ dBgW_Base(); @@ -103,6 +107,8 @@ public: void SetPriority(PRIORITY priority) { m_priority = priority; } void onStickWall() { field_0xb |= 1; } void onStickRoof() { field_0xb |= 2; } + void OnPushPullOk() { m_pushPull_Ok = true; } + void OffPushPullOk() { m_pushPull_Ok = false; } private: /* 0x08 */ u8 m_priority; -- cgit v1.2.3