summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
-rw-r--r--config/SOUE01/rels/d_a_e_ksNP/symbols.txt4
-rw-r--r--configure.py2
-rw-r--r--include/d/t/d_t_ks.h26
-rw-r--r--src/REL/d/a/e/d_a_e_ks.cpp11
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);