diff options
| author | TakaRikka <38417346+TakaRikka@users.noreply.github.com> | 2025-05-04 07:52:18 -0700 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-05-04 17:52:18 +0300 |
| commit | 6637765454bdcf65bfbe9808ee8cf2cf2892aa61 (patch) | |
| tree | 080ec7bc0be83f898ed6006a4fc9547e9ac8de14 /include | |
| parent | 211e5f13c78e3a6653b341312b115d390ac847a6 (diff) | |
e_md / coach2D done (#2418)
* e_md / coach2D done
* Update d_a_e_md.cpp
---------
Co-authored-by: hatal175 <hatal175@users.noreply.github.com>
Diffstat (limited to 'include')
| -rw-r--r-- | include/JSystem/J2DGraph/J2DPane.h | 5 | ||||
| -rw-r--r-- | include/d/actor/d_a_coach_2D.h | 143 | ||||
| -rw-r--r-- | include/d/actor/d_a_e_md.h | 45 |
3 files changed, 172 insertions, 21 deletions
diff --git a/include/JSystem/J2DGraph/J2DPane.h b/include/JSystem/J2DGraph/J2DPane.h index 00724f14a3..2ef48562d0 100644 --- a/include/JSystem/J2DGraph/J2DPane.h +++ b/include/JSystem/J2DGraph/J2DPane.h @@ -160,6 +160,11 @@ public: calcMtx(); } + void rotateY(f32 rotate) { + mRotateY = rotate; + calcMtx(); + } + int getKind() const { return mKind; } bool isVisible() const { return mVisible; } diff --git a/include/d/actor/d_a_coach_2D.h b/include/d/actor/d_a_coach_2D.h index 998b7a1204..aa281afaab 100644 --- a/include/d/actor/d_a_coach_2D.h +++ b/include/d/actor/d_a_coach_2D.h @@ -1,8 +1,10 @@ #ifndef D_A_COACH_2D_H #define D_A_COACH_2D_H -#include "dolphin/types.h" #include "f_op/f_op_actor_mng.h" +#include "d/d_pane_class.h" +#include "d/d_msg_scrn_light.h" +#include "d/d_drawlist.h" /** * @ingroup actors-unsorted @@ -12,33 +14,144 @@ * @details * */ -class daCoach2D_c : public fopAc_ac_c { +class daCoach2D_c : public fopAc_ac_c, public request_of_phase_process_class { public: - struct c_list { - /* 806569CC */ void draw(); - /* 806577DC */ ~c_list(); + class c_list : public dDlst_base_c { + public: + c_list() { mpCoach2D = NULL; } + + /* 806569CC */ virtual void draw(); + /* 806577DC */ virtual ~c_list() {} + + void set(daCoach2D_c* i_coach2D) { + mpCoach2D = i_coach2D; + } + + /* 0x4 */ daCoach2D_c* mpCoach2D; }; - /* 80656A38 */ void createHeap(); - /* 80656D18 */ void create(); - /* 80656D94 */ void destroy(); - /* 80656DE4 */ void draw(); - /* 80656E94 */ void execute(); + /* 80656A38 */ int createHeap(); + /* 80656D18 */ int create(); + /* 80656D94 */ int destroy(); + /* 80656DE4 */ int draw(); + /* 80656E94 */ int execute(); /* 80656ED0 */ void drawMeter(); /* 8065722C */ void initiate(); /* 80657260 */ void update(); /* 80657490 */ void setBrkAnime(bool); - /* 80657824 */ ~daCoach2D_c(); -private: - /* 0x568 */ u8 field_0x568[0x784 - 0x568]; + daCoach2D_c() { initiate(); } + /* 80657824 */ virtual ~daCoach2D_c() {} + + void show() { mIsVisible = true; } + void hide() { mIsVisible = false; } + bool isVisible() { return mIsVisible ? true : false; } + + /* 0x574 */ J2DScreen* mpScrn; + /* 0x578 */ J2DAnmTevRegKey* mpFireIconBrk; + /* 0x57C */ dMsgScrnLight_c* mMsgLight; + /* 0x580 */ CPaneMgr* mpPaneAll; + /* 0x584 */ CPaneMgr* mpPaneBasha; + /* 0x588 */ CPaneMgr* mpPaneFire; + /* 0x58C */ CPaneMgr* mpPaneFireB; + struct { + /* 0x00 */ f32 pos_x; + /* 0x04 */ f32 pos_y; + /* 0x08 */ f32 pikari_pos_x; + /* 0x0C */ f32 pikari_pos_y; + /* 0x10 */ f32 pikari_anm_frame; + /* 0x14 */ u8 field_0x14; + /* 0x15 */ u8 field_0x15; + } + /* 0x590 */ mIconInfo[20]; + /* 0x770 */ c_list mList; + /* 0x778 */ f32 mBrkFrame; + /* 0x77C */ f32 mBrkSpeed; + /* 0x780 */ u8 mHitCount; + /* 0x781 */ u8 mMaxHitCount; + /* 0x782 */ u8 mIsVisible; }; STATIC_ASSERT(sizeof(daCoach2D_c) == 0x784); -class daCoach2D_HIO_c { +class daCoach2D_HIO_c : public mDoHIO_entry_c { public: - /* 80657738 */ ~daCoach2D_HIO_c(); + struct Param { + /* 0x00 */ f32 pos_x; + /* 0x04 */ f32 pos_y; + /* 0x08 */ f32 size; + /* 0x0C */ f32 alpha; + /* 0x10 */ f32 icon_space_x; + /* 0x14 */ f32 icon_pos_x; + /* 0x18 */ f32 icon_pos_y; + /* 0x1C */ f32 icon_size; + /* 0x20 */ f32 icon_alpha; + /* 0x24 */ f32 coach_pos_x; + /* 0x28 */ f32 coach_pos_y; + /* 0x2C */ f32 coach_size; + /* 0x30 */ f32 coach_alpha; + /* 0x34 */ f32 blink_speed_min; + /* 0x38 */ f32 blink_speed_max; + /* 0x3C */ f32 pikari_scale; + /* 0x40 */ f32 pikari_anim_speed; + /* 0x44 */ u8 pikari_moyaR0_R; + /* 0x45 */ u8 pikari_moyaR0_G; + /* 0x46 */ u8 pikari_moyaR0_B; + /* 0x47 */ u8 pikari_moyaR0_A; + /* 0x48 */ u8 pikari_moyaR1_R; + /* 0x49 */ u8 pikari_moyaR1_G; + /* 0x4A */ u8 pikari_moyaR1_B; + /* 0x4B */ u8 pikari_moyaR1_A; + /* 0x4C */ u8 unk_0x4C; + /* 0x4D */ u8 unk_0x4D; + /* 0x4E */ u8 unk_0x4E; + /* 0x4F */ u8 unk_0x4F; + /* 0x50 */ u8 unk_0x50; + /* 0x51 */ u8 unk_0x51; + /* 0x52 */ u8 unk_0x52; + /* 0x53 */ u8 unk_0x53; + /* 0x54 */ u8 debug_ON; + /* 0x55 */ u8 max_damage_num; + /* 0x56 */ u8 now_damage_num; + /* 0x57 */ u8 reverse_flag; + }; + + daCoach2D_HIO_c() { + static Param aParam = { + 45.0f, + -15.0f, + 1.0f, + 1.0f, + 7.5f, + -6.5f, + 0.0f, + 0.5f, + 1.0f, + 0.0f, + 0.0f, + 1.0f, + 1.0f, + 1.0f, + 5.0f, + 3.0f, + 8.0f, + 0xFF, 0xFF, 0xFF, 0xB9, + 0x00, 0x9B, 0x00, 0x00, + 0xFF, 0xFF, 0xFF, 0x57, + 0x00, 0x73, 0x00, 0x00, + false, + 20, + 0, + 1, + }; + + memcpy(¶m, &aParam, sizeof(Param)); + } + + /* 80657738 */ virtual ~daCoach2D_HIO_c() {} + void genMessage(JORMContext*) {} + + /* 0x4 */ Param param; }; #endif /* D_A_COACH_2D_H */ diff --git a/include/d/actor/d_a_e_md.h b/include/d/actor/d_a_e_md.h index e78651edf7..d43a9199ea 100644 --- a/include/d/actor/d_a_e_md.h +++ b/include/d/actor/d_a_e_md.h @@ -1,6 +1,10 @@ #ifndef D_A_E_MD_H #define D_A_E_MD_H + #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_s_acch.h" +#include "d/d_cc_d.h" +#include "d/d_cc_uty.h" /** * @ingroup actors-enemies @@ -11,6 +15,7 @@ * */ class daE_MD_c : public fopEn_enemy_c { +public: /* 80708DF8 */ void initCcCylinder(); /* 80708E70 */ void setCcCylinder(f32); /* 807091F0 */ void SetAnm(mDoExt_McaMorfSO*, int, int, f32, f32); @@ -18,16 +23,44 @@ class daE_MD_c : public fopEn_enemy_c { /* 80709378 */ void CheckHit(); /* 8070992C */ void WaitAction(); /* 8070994C */ void HalfBreakAction(); - /* 80709A04 */ void VibAction(); + /* 80709A04 */ bool VibAction(); /* 80709ABC */ void DummyAction(); /* 80709BB4 */ void RealAction(); /* 80709C3C */ void Action(); - /* 80709CFC */ void Execute(); - /* 80709D58 */ void Delete(); + /* 80709CFC */ int Execute(); + /* 80709D58 */ int Delete(); /* 80709DA8 */ void setBaseMtx(); - /* 8070A044 */ void create(); -private: - /* 0x5ac */ u8 field_0x5ac[0xa50 - 0x5ac]; + /* 8070A044 */ int create(); + + inline int CreateHeap(); + inline int Draw(); + + /* 0x5AC */ int mAction; + /* 0x5B0 */ int mType; + /* 0x5B4 */ int mInvulnerabilityTimer; + /* 0x5B8 */ int mAnm; + /* 0x5BC */ f32 field_0x5bc; + /* 0x5C0 */ u8 field_0x5C0[0x5C8 - 0x5C0]; + /* 0x5C8 */ s16 field_0x5c8; + /* 0x5CA */ s16 field_0x5ca; + /* 0x5CC */ s16 field_0x5cc; + /* 0x5CE */ s16 field_0x5ce; + /* 0x5D0 */ u8 mSwbit; + /* 0x5D4 */ int mBreakTimer; + /* 0x5D8 */ u8 mHalfBreakMode; + /* 0x5D9 */ u8 mCanCreateBu; + /* 0x5DC */ request_of_phase_process_class mPhase; + /* 0x5E4 */ Z2CreatureEnemy mSound; + /* 0x688 */ u32 mShadowId; + /* 0x68C */ mDoExt_McaMorfSO* mpModelMorf; + /* 0x690 */ mDoExt_McaMorfSO* mpYariModelMorf; + /* 0x694 */ J3DModel* mpTbModel; + /* 0x698 */ dBgS_AcchCir mAcchCir; + /* 0x6D8 */ dBgS_ObjAcch mAcch; + /* 0x8B0 */ dCcD_Stts mCcStts; + /* 0x8EC */ dCcD_Cyl mCyl; + /* 0xA28 */ dCcU_AtInfo mAtInfo; + /* 0xA4C */ u8 field_0xa4c[0xA50 - 0xA4C]; }; STATIC_ASSERT(sizeof(daE_MD_c) == 0xa50); |
