diff options
| author | Carco_21 <144170194+carter-ktb21@users.noreply.github.com> | 2025-07-18 18:38:03 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2025-07-19 01:38:03 +0300 |
| commit | 4df9e0ca12859e2a35744885ccbdfe04a97c10eb (patch) | |
| tree | f71e1150edd102d40018b9f19d82a63cd960a0f4 /include | |
| parent | 9f65aa92a7b670384cd471abd7b2b8dfdea3bc96 (diff) | |
d_a_e_ymb work (#2538)
* initial work
* functions over halfway decompiled
* ymb almost equivalent
* PR cleanup
Diffstat (limited to 'include')
| -rw-r--r-- | include/d/actor/d_a_e_ymb.h | 122 | ||||
| -rw-r--r-- | include/d/actor/d_a_obj_drop.h | 2 |
2 files changed, 108 insertions, 16 deletions
diff --git a/include/d/actor/d_a_e_ymb.h b/include/d/actor/d_a_e_ymb.h index 18a0151f18..f72d4e1567 100644 --- a/include/d/actor/d_a_e_ymb.h +++ b/include/d/actor/d_a_e_ymb.h @@ -1,7 +1,10 @@ #ifndef D_A_E_YMB_H #define D_A_E_YMB_H +#include "d/d_cc_d.h" +#include "d/d_cc_uty.h" #include "f_op/f_op_actor_mng.h" +#include "d/d_bg_w.h" /** * @ingroup actors-enemies @@ -13,11 +16,11 @@ */ class daE_YMB_c : public fopEn_enemy_c { public: - /* 8081615C */ void ctrlJoint(J3DJoint*, J3DModel*); - /* 808164F0 */ void JointCallBack(J3DJoint*, int); - /* 80816554 */ void draw(); + /* 8081615C */ int ctrlJoint(J3DJoint*, J3DModel*); + /* 808164F0 */ static int JointCallBack(J3DJoint*, int); + /* 80816554 */ int draw(); /* 8081697C */ void setBck(int, u8, f32, f32); - /* 80816A20 */ void checkBck(int); + /* 80816A20 */ BOOL checkBck(int); /* 80816A7C */ void setActionMode(int, int); /* 80816A88 */ void setLastDamage(); /* 80816B7C */ void damage_check(); @@ -41,7 +44,7 @@ public: /* 80818328 */ void setBitePos(int); /* 80818370 */ void setInclination(); /* 80818518 */ void setBodyAngle(); - /* 80818930 */ void checkWolfLockIn(); + /* 80818930 */ bool checkWolfLockIn(); /* 80818AE8 */ void executeFly(); /* 80819610 */ void executeFlyAttack(); /* 80819FD0 */ void executeRunAway(); @@ -59,36 +62,123 @@ public: /* 8081D4D8 */ void setCreateDrop(); /* 8081D594 */ void executeDeath(); /* 8081DBD0 */ void demo_skip(int); - /* 8081DDE0 */ void DemoSkipCallBack(void*, int); + /* 8081DDE0 */ static int DemoSkipCallBack(void*, int); /* 8081DE14 */ void calcLakeDemoPlayerPos(); /* 8081DE84 */ void executeLakeDemo(); /* 8081E5B4 */ void executeStartDemo(); - /* 8081F140 */ void checkStartBattleDemo(); + /* 8081F140 */ bool checkStartBattleDemo(); /* 8081F2E0 */ void executeBattleDemo(); /* 8081FAC8 */ void action(); /* 8081FF88 */ void mtx_set(); /* 808200A0 */ void getBellyBitePos(cXyz*); - /* 80820128 */ void getDownLockPoint(); + /* 80820128 */ int getDownLockPoint(); /* 808203D8 */ void setAttentionPos(); /* 80820668 */ void cc_set(); - /* 808207AC */ void execute(); - /* 80820A40 */ void _delete(); - /* 80820AF0 */ void CreateHeap(); - /* 80820DD0 */ void create(); + /* 808207AC */ int execute(); + /* 80820A40 */ int _delete(); + /* 80820AF0 */ int CreateHeap(); + /* 80820DD0 */ cPhs__Step create(); int getMaxLockAttack() { return 6; } u8 getSwitchBit() { return mSwitchBit; } - /* 0x5AC */ u8 field_0x5ac[0x6C0 - 0x5ac]; - /* 0x6C0 */ u8 mSwitchBit; - /* 0x6C1 */ u8 field_0x6c1[0x1524 - 0x6C1]; + /* 0x05AC */ request_of_phase_process_class mPhase; + /* 0x05B4 */ mDoExt_invisibleModel mInvisModel; + /* 0x05BC */ mDoExt_McaMorfSO* mpModelMorf; + /* 0x05C0 */ mDoExt_brkAnm* mpBrkAnm; + /* 0x05C4 */ Z2CreatureEnemy mSound; + /* 0x0668 */ f32 field_0x668[6]; + /* 0x0680 */ int field_0x680[6]; + /* 0x0698 */ int field_0x698; + /* 0x069C */ cXyz field_0x69c; + /* 0x06A8 */ cXyz field_0x6a8; + /* 0x06B4 */ int mAction; + /* 0x06B8 */ int mMode; + /* 0x06BC */ u32 mShadowKey; + /* 0x06C0 */ u8 mSwitchBit; + /* 0x06C1 */ u8 field_0x6c1; + /* 0x06C4 */ f32 field_0x6c4; + /* 0x06C8 */ f32 field_0x6c8; + /* 0x06CC */ f32 field_0x6cc; + /* 0x06D0 */ f32 field_0x6d0; + /* 0x06D4 */ f32 field_0x6d4; + /* 0x06D8 */ f32 field_0x6d8; + /* 0x06DC */ f32 field_0x6dc; + /* 0x06E0 */ f32 field_0x6e0; + /* 0x06E4 */ s16 field_0x6e4; + /* 0x06E6 */ s16 field_0x6e6; + /* 0x06E8 */ s16 field_0x6e8; + /* 0x06EA */ s16 field_0x6ea; + /* 0x06EC */ int field_0x6ec; + /* 0x06F0 */ int field_0x6f0; + /* 0x06F4 */ int field_0x6f4; + /* 0x06F8 */ int field_0x6f8; + /* 0x06FC */ int field_0x6fc; + /* 0x0700 */ int field_0x700; + /* 0x0704 */ int field_0x704; + /* 0x0708 */ int field_0x708; + /* 0x070C */ int field_0x70c; + /* 0x0710 */ u8 field_0x710; + /* 0x0711 */ u8 field_0x711; + /* 0x0712 */ u8 field_0x712; + /* 0x0713 */ u8 field_0x713; + /* 0x0714 */ u8 field_0x714; + /* 0x0715 */ u8 field_0x715; + /* 0x0716 */ u8 field_0x716; + /* 0x0717 */ u8 field_0x717; + /* 0x0718 */ u8 field_0x718; + /* 0x0719 */ u8 field_0x719[0x71f - 0x719]; + /* 0x071F */ u8 field_0x71f; + /* 0x0720 */ u8 field_0x720; + /* 0x0721 */ u8 field_0x721; + /* 0x0722 */ u8 field_0x722; + /* 0x0723 */ u8 field_0x723; + /* 0x0724 */ u8 field_0x724; + /* 0x0725 */ u8 field_0x725; + /* 0x0728 */ cXyz mDemoCamEye; + /* 0x0734 */ cXyz mDemoCamCenter; + /* 0x0740 */ cXyz field_0x740; + /* 0x074C */ cXyz field_0x74c; + /* 0x0758 */ f32 mDemoCamFovy; + /* 0x075C */ f32 field_0x75c; + /* 0x0760 */ s16 field_0x760; + /* 0x0762 */ s16 field_0x762; + /* 0x0764 */ u8 field_0x764; + /* 0x0765 */ u8 field_0x765; + /* 0x0768 */ Mtx field_0x768; + /* 0x0798 */ dBgW* mpBgW; + /* 0x079C */ dBgS_GndChk mGndChk; + /* 0x07F0 */ dCcD_Stts mStts; + /* 0x082C */ dCcD_Sph field_0x82c[2]; + /* 0x0A9C */ dCcD_Sph field_0xa9c; + /* 0x0BD4 */ dCcD_Sph field_0xbd4[6]; + /* 0x1324 */ dCcD_Sph field_0x1324; + /* 0x145C */ dCcU_AtInfo mAtInfo; + /* 0x1480 */ u32 mElecParticles[4]; + /* 0x1490 */ u32 mMidnaBindParticles[3]; + /* 0x149C */ u8 field_0x149c[0x14d8 - 0x149c]; + /* 0x14D8 */ u32 mWaterParticles1[6]; + /* 0x14F0 */ u32 mWaterParticles2[7]; + /* 0x150C */ u32 mDownHamonParticles[2]; + /* 0x1514 */ u32 mBlurParticles[2]; + /* 0x151C */ u32 mDamageParticle; + /* 0x1520 */ u8 field_0x1520; }; STATIC_ASSERT(sizeof(daE_YMB_c) == 0x1524); struct daE_YMB_HIO_c { +public: /* 8081610C */ daE_YMB_HIO_c(); - /* 80821460 */ ~daE_YMB_HIO_c(); + /* 80821460 */ virtual ~daE_YMB_HIO_c() {} + + /* 0x04 */ s8 field_0x4; + /* 0x08 */ f32 model_size; // モデルサイズ (Model Size) + /* 0x0C */ f32 fly_movement_speed; // 飛行移動速度 (Fly Movement Speed) + /* 0x10 */ f32 swim_attack_speed; // 泳ぎ攻撃速度 (Swim Attack Speed) + /* 0x14 */ f32 fly_attack_speed; // 飛行攻撃速度 (Fly Attack Speed) + /* 0x18 */ f32 rollover_time; // ひっくり返り時間 (Rollover Time) + /* 0x1C */ f32 fly_height_adjust; // 飛行高度-加減値 (Fly Height Adjust) }; #endif /* D_A_E_YMB_H */ diff --git a/include/d/actor/d_a_obj_drop.h b/include/d/actor/d_a_obj_drop.h index 5d4f904ede..5a961c125d 100644 --- a/include/d/actor/d_a_obj_drop.h +++ b/include/d/actor/d_a_obj_drop.h @@ -55,8 +55,10 @@ public: u8 getYmSwbit() { return fopAcM_GetParamBit(this, 8, 8); } u8 getSave() { return fopAcM_GetParamBit(this, 0, 6); } + void setPos(cXyz i_pos) { current.pos = i_pos; } void setDemoMode(u8 i_mode) { mDemoMode = i_mode; } void setMode(u8 i_mode) { mMode = i_mode; } + void setAppear() { mAppear = 1; } u8 chkDemoMode() { return mDemoMode; } /* 0x568 */ cXyz mLinePos[3]; |
