summaryrefslogtreecommitdiff
path: root/src/d/actor/d_a_obj_tks.cpp
diff options
context:
space:
mode:
Diffstat (limited to 'src/d/actor/d_a_obj_tks.cpp')
-rw-r--r--src/d/actor/d_a_obj_tks.cpp82
1 files changed, 52 insertions, 30 deletions
diff --git a/src/d/actor/d_a_obj_tks.cpp b/src/d/actor/d_a_obj_tks.cpp
index 92ebccbca1..c921014d4d 100644
--- a/src/d/actor/d_a_obj_tks.cpp
+++ b/src/d/actor/d_a_obj_tks.cpp
@@ -51,6 +51,12 @@ daObjTks_c::~daObjTks_c() {
if (parentActorID != fpcM_ERROR_PROCESS_ID_e) {
fopAcM_delete(parentActorID);
}
+
+#if DEBUG
+ if (mpHIO != NULL) {
+ mpHIO->removeHIO();
+ }
+#endif
}
const daObjTks_HIOParam daObjTks_Param_c::m = {
@@ -94,6 +100,18 @@ const daObjTks_HIOParam daObjTks_Param_c::m = {
0.8f,
};
+static OBJ_TKS_HIO_CLASS l_HIO;
+
+#if DEBUG
+daObjTks_HIO_c::daObjTks_HIO_c() {
+ m = daObjTks_Param_c::m;
+}
+
+void daObjTks_HIO_c::genMessage(JORMContext* ctx) {
+ // NONMATCHING
+}
+#endif
+
int daObjTks_c::Create() {
fopAcM_ct(this, daObjTks_c);
@@ -109,12 +127,18 @@ int daObjTks_c::Create() {
mSound.init(&current.pos, &eyePos, 3, 1);
- mAcchCir.SetWall(daObjTks_Param_c::m.common.width, daObjTks_Param_c::m.common.knee_length);
- mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this));
+#if DEBUG
+ mpHIO = &l_HIO;
+ mpHIO->entryHIO("おばちゃんアイテム");
+#endif
+
+ mAcchCir.SetWall(mpHIO->m.common.width, mpHIO->m.common.knee_length);
+ mAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir,
+ fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this));
mAcch.OffClrSpeedY();
mAcch.SetWallNone();
- mCcStts.Init(daObjTks_Param_c::m.common.weight, 0, this);
+ mCcStts.Init(mpHIO->m.common.weight, 0, this);
mCcCyl.Set(mCcDCyl);
mCcCyl.SetStts(&mCcStts);
mCcCyl.SetTgType(0);
@@ -122,8 +146,8 @@ int daObjTks_c::Create() {
mCcCyl.SetCoIGrp(8);
mCcCyl.SetCoVsGrp(0x40);
- mCcCyl.SetH(daObjTks_Param_c::m.common.height);
- mCcCyl.SetR(daObjTks_Param_c::m.common.width);
+ mCcCyl.SetH(mpHIO->m.common.height);
+ mCcCyl.SetR(mpHIO->m.common.width);
mAcch.CrrPos(dComIfG_Bgsp());
@@ -209,7 +233,7 @@ int daObjTks_c::Draw() {
}
mAnm_p->getModel()->getModelData()->getMaterialNodePointer(2)->setMaterialAnm(mpMatAnm);
- draw(FALSE, FALSE, daObjTks_Param_c::m.common.real_shadow_size, NULL, FALSE);
+ draw(FALSE, FALSE, mpHIO->m.common.real_shadow_size, NULL, FALSE);
return 1;
}
@@ -234,7 +258,7 @@ int daObjTks_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) {
case 15:
case 16:
case 17:
- setLookatMtx(jnt_no, spC, daObjTks_Param_c::m.common.neck_rotation_ratio);
+ setLookatMtx(jnt_no, spC, mpHIO->m.common.neck_rotation_ratio);
break;
}
@@ -369,7 +393,7 @@ void daObjTks_c::reset() {
daPy_py_c* player = daPy_getPlayerActorClass();
mDoMtx_stack_c::transS(*fopAcM_GetPosition_p(player));
mDoMtx_stack_c::YrotM(fopAcM_GetAngle_p(player)->y);
- mDoMtx_stack_c::transM(daObjTks_Param_c::m.offset_x, daObjTks_Param_c::m.offset_y, daObjTks_Param_c::m.offset_z);
+ mDoMtx_stack_c::transM(mpHIO->m.offset_x, mpHIO->m.offset_y, mpHIO->m.offset_z);
mDoMtx_stack_c::multVecZero(&home.pos);
old.pos = home.pos;
current.pos = home.pos;
@@ -432,10 +456,10 @@ void daObjTks_c::setExpression(int i_expression, f32 i_morf) {
}
void daObjTks_c::playExpression() {
- daNpcF_anmPlayData anm0_phase1 = {1, daObjTks_Param_c::m.common.morf_frame, 0};
+ daNpcF_anmPlayData anm0_phase1 = {1, mpHIO->m.common.morf_frame, 0};
daNpcF_anmPlayData* anm0_m[] = {&anm0_phase1};
- daNpcF_anmPlayData anm1_phase1 = {0, daObjTks_Param_c::m.common.morf_frame, 0};
+ daNpcF_anmPlayData anm1_phase1 = {0, mpHIO->m.common.morf_frame, 0};
daNpcF_anmPlayData* anm1_m[] = {&anm1_phase1};
daNpcF_anmPlayData** anmData_p[] = {anm0_m, anm1_m};
@@ -446,16 +470,16 @@ void daObjTks_c::playExpression() {
}
void daObjTks_c::playMotion() {
- daNpcF_anmPlayData anm0_phase1 = {2, daObjTks_Param_c::m.common.morf_frame, 0};
+ daNpcF_anmPlayData anm0_phase1 = {2, mpHIO->m.common.morf_frame, 0};
daNpcF_anmPlayData* anm0_m[] = {&anm0_phase1};
- daNpcF_anmPlayData anm1_phase1 = {3, daObjTks_Param_c::m.common.morf_frame, 1};
+ daNpcF_anmPlayData anm1_phase1 = {3, mpHIO->m.common.morf_frame, 1};
daNpcF_anmPlayData* anm1_m[] = {&anm1_phase1, NULL};
- daNpcF_anmPlayData anm2_phase1 = {4, daObjTks_Param_c::m.common.morf_frame, 0};
+ daNpcF_anmPlayData anm2_phase1 = {4, mpHIO->m.common.morf_frame, 0};
daNpcF_anmPlayData* anm2_m[] = {&anm2_phase1};
- daNpcF_anmPlayData anm3_phase1 = {5, daObjTks_Param_c::m.common.morf_frame, 1};
+ daNpcF_anmPlayData anm3_phase1 = {5, mpHIO->m.common.morf_frame, 1};
daNpcF_anmPlayData* anm3_m[] = {&anm3_phase1, NULL};
daNpcF_anmPlayData** anmData_p[] = {anm0_m, anm1_m, anm2_m, anm3_m};
@@ -470,14 +494,14 @@ void daObjTks_c::lookat() {
J3DModel* model_p = mAnm_p->getModel();
int var_r28 = 0;
- f32 body_angleX_min = daObjTks_Param_c::m.common.body_angleX_min;
- f32 body_angleX_max = daObjTks_Param_c::m.common.body_angleX_max;
- f32 body_angleY_min = daObjTks_Param_c::m.common.body_angleY_min;
- f32 body_angleY_max = daObjTks_Param_c::m.common.body_angleY_max;
- f32 head_angleX_min = daObjTks_Param_c::m.common.head_angleX_min;
- f32 head_angleX_max = daObjTks_Param_c::m.common.head_angleX_max;
- f32 head_angleY_min = daObjTks_Param_c::m.common.head_angleY_min;
- f32 head_angleY_max = daObjTks_Param_c::m.common.head_angleY_max;
+ f32 body_angleX_min = mpHIO->m.common.body_angleX_min;
+ f32 body_angleX_max = mpHIO->m.common.body_angleX_max;
+ f32 body_angleY_min = mpHIO->m.common.body_angleY_min;
+ f32 body_angleY_max = mpHIO->m.common.body_angleY_max;
+ f32 head_angleX_min = mpHIO->m.common.head_angleX_min;
+ f32 head_angleX_max = mpHIO->m.common.head_angleX_max;
+ f32 head_angleY_min = mpHIO->m.common.head_angleY_min;
+ f32 head_angleY_max = mpHIO->m.common.head_angleY_max;
s16 temp_r26 = mCurAngle.y - mOldAngle.y;
cXyz sp30[] = {mLookatPos[0], mLookatPos[1], mLookatPos[2]};
@@ -723,7 +747,7 @@ void daObjTks_c::warp() {
if (eventMgr.getIsAddvance(staff_id)) {
switch (*(u32*)cut_name) {
case '0002':
- gravity = daObjTks_Param_c::m.common.gravity;
+ gravity = mpHIO->m.common.gravity;
break;
case '0001':
JUT_ASSERT(1419, FALSE);
@@ -790,8 +814,8 @@ void daObjTks_c::setParam() {
scale.setall(field_0xdcc);
#if DEBUG
- mAcchCir.SetWallR(daObjTks_Param_c::m.common.width);
- mAcchCir.SetWallH(daObjTks_Param_c::m.common.height);
+ mAcchCir.SetWallR(mpHIO->m.common.width);
+ mAcchCir.SetWallH(mpHIO->m.common.height);
#endif
}
@@ -854,13 +878,13 @@ void daObjTks_c::setAttnPos() {
mEyeAngle.x = 0;
}
- attention_info.position.set(current.pos.x, current.pos.y + daObjTks_Param_c::m.common.attention_offset, current.pos.z);
+ attention_info.position.set(current.pos.x, current.pos.y + mpHIO->m.common.attention_offset, current.pos.z);
if (!fopAcM_checkCarryNow(this)) {
mCcCyl.SetC(current.pos);
#if DEBUG
- mCcCyl.SetH(daObjTks_Param_c::m.common.height);
- mCcCyl.SetR(daObjTks_Param_c::m.common.width);
+ mCcCyl.SetH(mpHIO->m.common.height);
+ mCcCyl.SetR(mpHIO->m.common.width);
#endif
dComIfG_Ccsp()->Set(&mCcCyl);
}
@@ -872,8 +896,6 @@ BOOL daObjTks_c::drawDbgInfo() {
void daObjTks_c::drawOtherMdls() {}
-static daObjTks_Param_c l_HIO;
-
static actor_method_class daObjTks_MethodTable = {
(process_method_func)daObjTks_Create,
(process_method_func)daObjTks_Delete,