diff options
| -rw-r--r-- | config/SOUE01/rels/d_a_e_ksNP/symbols.txt | 4 | ||||
| -rw-r--r-- | configure.py | 2 | ||||
| -rw-r--r-- | include/d/t/d_t_ks.h | 26 | ||||
| -rw-r--r-- | src/REL/d/a/e/d_a_e_ks.cpp | 11 |
4 files changed, 35 insertions, 8 deletions
diff --git a/config/SOUE01/rels/d_a_e_ksNP/symbols.txt b/config/SOUE01/rels/d_a_e_ksNP/symbols.txt index 1065fcf7..0ff7baa8 100644 --- a/config/SOUE01/rels/d_a_e_ksNP/symbols.txt +++ b/config/SOUE01/rels/d_a_e_ksNP/symbols.txt @@ -198,7 +198,7 @@ StateID_Damage__8dAcEKs_c = .bss:0x00000298; // type:object size:0x30 data:4byte StateID_Stun__8dAcEKs_c = .bss:0x000002D8; // type:object size:0x30 data:4byte StateID_WindBlow__8dAcEKs_c = .bss:0x00000318; // type:object size:0x30 data:4byte StateID_PathMove__8dAcEKs_c = .bss:0x00000358; // type:object size:0x30 data:4byte -lbl_155_bss_388 = .bss:0x00000388; // type:object size:0x1 data:byte -lbl_155_bss_389 = .bss:0x00000389; // type:object size:0x1 data:byte +lbl_155_bss_388__8dAcEKs_c = .bss:0x00000388; // type:object size:0x1 data:byte +lbl_155_bss_389__8dAcEKs_c = .bss:0x00000389; // type:object size:0x1 data:byte lbl_155_bss_38A = .bss:0x0000038A; // type:object size:0x1 data:byte lbl_155_bss_38C = .bss:0x0000038C; // type:object size:0x1C align:4 data:float diff --git a/configure.py b/configure.py index 3358aed1..332b7d83 100644 --- a/configure.py +++ b/configure.py @@ -2118,7 +2118,7 @@ config.libs = [ Rel(NonMatching, "d_a_e_hp", "REL/d/a/e/d_a_e_hp.cpp"), Rel(NonMatching, "d_a_e_hydra", "REL/d/a/e/d_a_e_hydra.cpp"), Rel(NonMatching, "d_a_e_kg", "REL/d/a/e/d_a_e_kg.cpp"), - Rel(NonMatching, "d_a_e_ks", "REL/d/a/e/d_a_e_ks.cpp"), + Rel(Matching, "d_a_e_ks", "REL/d/a/e/d_a_e_ks.cpp"), Rel(NonMatching, "d_a_e_kumite_gira", "REL/d/a/e/d_a_e_kumite_gira.cpp"), Rel(NonMatching, "d_a_e_lizarufos", "REL/d/a/e/d_a_e_lizarufos.cpp"), Rel(NonMatching, "d_a_e_liza_tail", "REL/d/a/e/d_a_e_liza_tail.cpp"), diff --git a/include/d/t/d_t_ks.h b/include/d/t/d_t_ks.h index c676ff32..aedcf9dd 100644 --- a/include/d/t/d_t_ks.h +++ b/include/d/t/d_t_ks.h @@ -43,33 +43,48 @@ private: /* 0x25C */ TimeAreaStruct mTimeArea; /* 0x268 */ mMtx_c field_0x268; + /* 0x298 */ u8 _0x298[0x31C - 0x298]; + /* 0x31C */ mVec3_c field_0x31C; /* 0x328 */ mVec3_c field_0x328; /* 0x334 */ mVec3_c field_0x334; /* 0x340 */ mVec3_c field_0x340; /* 0x34C */ mVec3_c field_0x34C; + /* 0x358 */ u8 _0x358[0x37C - 0x358]; + /* 0x37C */ mVec3_c mTargetPosition; /* 0x388 */ mVec3_c mSpawnKsPosition; + /* 0x394 */ u8 _0x394[0x3A0 - 0x394]; + /* 0x3A0 */ mAng3_c mSpawnKsAngle; /* 0x3A8 */ mAng3_c field_0x3A8; /* 0x3AC */ mAng field_0x3AC; // pitch /* 0x3AE */ mAng field_0x3AE; // yaw + /* 0x3B0 */ u8 _0x3B0[0x3B4 - 0x3B0]; + /* 0x3B4 */ f32 field_0x3B4; /* 0x3B8 */ f32 field_0x3B8; // Y pos offset /* 0x3BC */ f32 field_0x3BC; // X/Z scale /* 0x3C0 */ f32 field_0x3C0; // Y scale + /* 0x3C4 */ u8 _0x3C4[0x3D8 - 0x3C4]; + /* 0x3D8 */ f32 field_0x3D8; // Y scale /* 0x3DC */ f32 field_0x3DC; // X/Z scale + /* 0x3E0 */ u8 _0x3E0[0x3EC - 0x3E0]; + /* 0x3EC */ mVec3_c field_0x3EC; - /* 0x44C */ s16 field_0x448; + /* 0x3F8 */ u8 _0x3F8[0x448 - 0x3F8]; + + /* 0x448 */ s16 field_0x448; // Related to Control? + /* 0x44A */ s16 mNumKsControl; /* 0x44C */ s16 field_0x44C; /* 0x44E */ s16 field_0x44E; /* 0x450 */ s16 field_0x450; @@ -86,14 +101,19 @@ private: /* 0x460 */ s16 field_0x460; /* 0x462 */ s16 mMaxKsToLink; - /* 0x468 */ s16 field_0x468; + /* 0x464 */ u8 _0x464[0x468 - 0x464]; + /* 0x468 */ s16 field_0x468; + /* 0x46A */ s16 field_0x46A; /* 0x46C */ s16 mNumKsAlive; /* 0x46E */ s16 field435_0x46e; - /* 0x44A */ s16 mNumKsControl; + /* 0x470 */ u8 _0x470[0x474 - 0x470]; /* 0x474 */ bool field_0x474; + + /* 0x475 */ u8 _0x475[0x47A - 0x475]; + /* 0x47A */ bool field_0x47A; /* 0x47E */ bool mbAllKsActive; diff --git a/src/REL/d/a/e/d_a_e_ks.cpp b/src/REL/d/a/e/d_a_e_ks.cpp index a601f5b8..baee6dfc 100644 --- a/src/REL/d/a/e/d_a_e_ks.cpp +++ b/src/REL/d/a/e/d_a_e_ks.cpp @@ -122,7 +122,15 @@ const dAcEKs_HIO_c dAcEKs_HIO_c::sInstance = { SPECIAL_ACTOR_PROFILE(E_KS, dAcEKs_c, fProfile::E_KS, 0xFE, 0, 4099); -static dCcD_SrcSph sSrcSph = {{0x400}}; +static dCcD_SrcSph sSrcSph = { + { + /* mObjAt */ {AT_TYPE_DAMAGE, 0x1D, {0, 0, 0}, 2, 0, 0, 0, 0, 0}, + /* mObjTg */ + {~AT_TYPE_COMMON0, 0x200303, {0, 1, 0x40F}, 8, 0}, + /* mObjCo*/ {0xE5}, + }, + {35.f} +}; STATE_DEFINE(dAcEKs_c, Wait); STATE_DEFINE(dAcEKs_c, WakeUp); @@ -1804,7 +1812,6 @@ void dAcEKs_c::initializeState_Wait() { setStartingPosition(mPosition); } -// NONMATCHING void dAcEKs_c::executeState_Wait() { mMdl.play(); u16 flag = getFromParams(14, 0xFF); |
