diff options
| author | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-05-22 15:50:17 -0400 |
|---|---|---|
| committer | LagoLunatic <LagoLunatic@users.noreply.github.com> | 2026-05-22 15:50:17 -0400 |
| commit | 6a1073e7052cbd0d498510d2490c5d5e9434b48e (patch) | |
| tree | 00b01d4079db0ce5843865d4c55b85b9915f1847 /src/d/actor/d_a_npc_md.cpp | |
| parent | 638d76a959681373f18b47f110d95583728d90cf (diff) | |
Fix d_a_npc_md weak func order, clean up order fakematches from d_a_player main
closes #226
Diffstat (limited to 'src/d/actor/d_a_npc_md.cpp')
| -rw-r--r-- | src/d/actor/d_a_npc_md.cpp | 183 |
1 files changed, 181 insertions, 2 deletions
diff --git a/src/d/actor/d_a_npc_md.cpp b/src/d/actor/d_a_npc_md.cpp index ec44dde9..c05af1d5 100644 --- a/src/d/actor/d_a_npc_md.cpp +++ b/src/d/actor/d_a_npc_md.cpp @@ -19,6 +19,181 @@ #include "d/d_camera.h" #include "d/d_detect.h" +class daNpc_Md_HIO2_c { +public: + daNpc_Md_HIO2_c(); + virtual ~daNpc_Md_HIO2_c() {} + +public: + /* 0x04 */ f32 m04; + /* 0x08 */ f32 m08; + /* 0x0C */ f32 m0C; + /* 0x10 */ f32 m10; + /* 0x14 */ f32 m14; + /* 0x18 */ f32 m18; + /* 0x1C */ f32 m1C; + /* 0x20 */ s16 m20; + /* 0x22 */ s16 m22; + /* 0x24 */ s16 m24; +#if VERSION > VERSION_DEMO + /* 0x26 */ s16 m26; + /* 0x28 */ s16 m28; + /* 0x2A */ s16 m2A; +#endif +}; + +class daNpc_Md_HIO3_c { +public: + daNpc_Md_HIO3_c(); + virtual ~daNpc_Md_HIO3_c() {} + +public: + /* 0x04 */ f32 m04; + /* 0x08 */ f32 m08; + /* 0x0C */ f32 m0C; + /* 0x10 */ f32 m10; + /* 0x14 */ f32 m14; + /* 0x18 */ s16 m18; + /* 0x1A */ s16 m1A; + /* 0x1C */ s16 m1C; + /* 0x1E */ s16 m1E; + /* 0x20 */ s16 m20; + /* 0x22 */ s16 m22; + /* 0x24 */ s16 m24; + /* 0x26 */ u8 field_26[0x28 - 0x26]; +}; + +class daNpc_Md_HIO4_c { +public: + daNpc_Md_HIO4_c(); + virtual ~daNpc_Md_HIO4_c() {} + +public: + /* 0x4 */ f32 m4; + /* 0x8 */ s16 m8; + /* 0xA */ u8 field_A[0xC - 0xA]; +}; + +class daNpc_Md_HIO5_c { +public: + daNpc_Md_HIO5_c(); + virtual ~daNpc_Md_HIO5_c() {} + +public: + /* 0x4 */ f32 m4; + /* 0x8 */ f32 m8; +}; + +class daNpc_Md_HIO6_c { +public: + daNpc_Md_HIO6_c(); + virtual ~daNpc_Md_HIO6_c() {} + +public: + /* 0x04 */ f32 m04; + /* 0x08 */ s16 m08; + /* 0x0A */ s16 m0A; + /* 0x0C */ s16 m0C; + /* 0x0E */ s16 m0E; + /* 0x10 */ s16 m10; + /* 0x12 */ s16 m12; + /* 0x14 */ s16 m14; + /* 0x16 */ s16 m16; +}; + +class daNpc_Md_HIO_c : public JORReflexible { +public: + daNpc_Md_HIO_c(); + virtual ~daNpc_Md_HIO_c() {} + + void genMessage(JORMContext* ctx) {} + +public: + /* 0x004 */ s8 mNo; + /* 0x008 */ daNpc_Md_HIO2_c m008; + /* 0x034 */ daNpc_Md_HIO3_c m034; + /* 0x05C */ daNpc_Md_HIO4_c m05C; + /* 0x068 */ daNpc_Md_HIO5_c m068; + /* 0x074 */ daNpc_Md_HIO6_c m074; + /* 0x08C */ dNpc_HIO_c mNpc; + /* 0x0B4 */ fopAc_ac_c* mpActor; + /* 0x0B8 */ f32 m0B8; + /* 0x0BC */ f32 m0BC; + /* 0x0C0 */ f32 m0C0; + /* 0x0C4 */ f32 m0C4; + /* 0x0C8 */ f32 m0C8; + /* 0x0CC */ f32 m0CC; + /* 0x0D0 */ f32 m0D0; + /* 0x0D4 */ f32 m0D4; + /* 0x0D8 */ f32 m0D8; + /* 0x0DC */ f32 m0DC; + /* 0x0E0 */ f32 m0E0; + /* 0x0E4 */ f32 m0E4; + /* 0x0E8 */ f32 m0E8; + /* 0x0EC */ f32 m0EC; + /* 0x0F0 */ f32 m0F0; + /* 0x0F4 */ f32 m0F4; + /* 0x0F8 */ f32 m0F8; + /* 0x0FC */ f32 m0FC; + /* 0x100 */ f32 m100; + /* 0x104 */ f32 m104; + /* 0x108 */ f32 m108; + /* 0x10C */ f32 m10C; + /* 0x110 */ f32 m110; + /* 0x114 */ f32 m114; + /* 0x118 */ f32 m118; + /* 0x11C */ f32 m11C; + /* 0x120 */ f32 m120; + /* 0x124 */ f32 m124; + /* 0x128 */ f32 m128; + /* 0x12C */ f32 m12C; + /* 0x130 */ f32 m130; + /* 0x134 */ f32 m134; + /* 0x138 */ f32 m138; + /* 0x13C */ f32 m13C; + /* 0x140 */ f32 m140; + /* 0x144 */ f32 m144; + /* 0x148 */ f32 m148; + /* 0x14C */ f32 m14C; + /* 0x150 */ f32 m150; + /* 0x154 */ f32 m154; + /* 0x158 */ f32 m158; + /* 0x15C */ f32 m15C; + /* 0x160 */ f32 m160; + /* 0x164 */ f32 m164; + /* 0x168 */ f32 m168; + /* 0x16C */ f32 m16C; + /* 0x170 */ f32 m170; + /* 0x174 */ f32 m174; + /* 0x178 */ f32 m178; + /* 0x17C */ f32 m17C; + /* 0x180 */ f32 m180; + /* 0x184 */ f32 m184; + /* 0x188 */ f32 m188; + /* 0x18C */ f32 m18C; + /* 0x190 */ f32 m190; + /* 0x194 */ f32 m194; + /* 0x198 */ f32 m198; + /* 0x19C */ f32 m19C; + /* 0x1A0 */ f32 m1A0; + /* 0x1A4 */ f32 m1A4; + /* 0x1A8 */ f32 m1A8; + /* 0x1AC */ f32 m1AC; + /* 0x1B0 */ f32 m1B0; + /* 0x1B4 */ s16 m1B4; + /* 0x1B6 */ s16 m1B6; + /* 0x1B8 */ u16 m1B8; + /* 0x1BA */ s16 m1BA; + /* 0x1BC */ s16 m1BC; + /* 0x1BE */ s16 m1BE; + /* 0x1C0 */ s16 m1C0; + /* 0x1C2 */ u16 m1C2; + /* 0x1C4 */ s16 m1C4; + /* 0x1C6 */ u8 m1C6; + /* 0x1C7 */ u8 m1C7; + /* 0x1C8 */ u8 m1C8; +}; + static daNpc_Md_HIO_c l_HIO; static cXyz l_ms_light_local_vec(0.0f, 0.0f, -10000.0f); @@ -1339,7 +1514,7 @@ BOOL daNpc_Md_c::waitNpcAction(void*) { maxFallSpeed = -100.0f; gravity = l_HIO.m0F4; clearStatus(daMdStts_UNK1 | daMdStts_UNK2 | daMdStts_FLY); -#if VERSION == VERSION_DEMO +#if VERSION <= VERSION_JPN setBitStatus(daMdStts_UNK4); #else if (!isTypeSea()) { @@ -3607,7 +3782,11 @@ BOOL daNpc_Md_c::actionLandingEvent(int) { /* 0000B9E0-0000B9F8 .text initialWalkEvent__10daNpc_Md_cFi */ void daNpc_Md_c::initialWalkEvent(int) { speedF = 0.0f; - m3118 = DEMO_SELECT(1800, 20 * 30); +#if VERSION <= VERSION_JPN + m3118 = 60 * 30; +#else + m3118 = 20 * 30; +#endif } /* 0000B9F8-0000BCC4 .text actionWalkEvent__10daNpc_Md_cFi */ |
