diff options
Diffstat (limited to 'src/d/actor/d_a_obj_kago.cpp')
| -rw-r--r-- | src/d/actor/d_a_obj_kago.cpp | 58 |
1 files changed, 42 insertions, 16 deletions
diff --git a/src/d/actor/d_a_obj_kago.cpp b/src/d/actor/d_a_obj_kago.cpp index 6f25e54dd2..bbe15d1baf 100644 --- a/src/d/actor/d_a_obj_kago.cpp +++ b/src/d/actor/d_a_obj_kago.cpp @@ -14,7 +14,7 @@ #include "d/d_com_inf_game.h" #include "f_op/f_op_actor_mng.h" -daObj_Kago_Param_c::Data const daObj_Kago_Param_c::m = { +daObj_Kago_HIOParam const daObj_Kago_Param_c::m = { 0.0f, -5.0f, 1.0f, @@ -61,12 +61,34 @@ static dCcD_SrcCyl l_ccDCyl = { } }; +static OBJ_KAGO_HIO_CLASS l_HIO; + +#if DEBUG +daObj_Kago_HIO_c::daObj_Kago_HIO_c() { + m = daObj_Kago_Param_c::m; +} + +void daObj_Kago_HIO_c::listenPropertyEvent(const JORPropertyEvent* event) { + // NONMATCHING +} + +void daObj_Kago_HIO_c::genMessage(JORMContext* ctx) { + // NONMATCHING +} +#endif + daObj_Kago_c::~daObj_Kago_c() { OS_REPORT("|%06d:%x|daObj_Kago_c -> デストラクト\n", g_Counter.mCounter0, this); if (mType == 0 && daNpcT_chkTmpBit(7)) { daNpcT_onEvtBit(0x92); } +#if DEBUG + if (mpHIO != NULL) { + mpHIO->removeHIO(); + } +#endif + dComIfG_resDelete(&mPhase, l_resNameList[l_bmdData[0][1]]); } @@ -94,6 +116,12 @@ cPhs__Step daObj_Kago_c::create() { fopAcM_SetMtx(this, field_0x574->getBaseTRMtx()); fopAcM_setCullSizeBox(this, -100.0f, -50.0f, -100.0f, 100.0f, 100.0f, 100.0f); + +#if DEBUG + mpHIO = &l_HIO; + mpHIO->entryHIO("ウ-リのかご"); +#endif + reset(); if (mType == 0) { @@ -101,11 +129,11 @@ cPhs__Step daObj_Kago_c::create() { health = 1; } - mAcchCir.SetWall(daObj_Kago_Param_c::m.mWallH, daObj_Kago_Param_c::m.mWallR); + mAcchCir.SetWall(mpHIO->m.mWallH, mpHIO->m.mWallR); mObjAcch.Set(fopAcM_GetPosition_p(this), fopAcM_GetOldPosition_p(this), this, 1, &mAcchCir, fopAcM_GetSpeed_p(this), fopAcM_GetAngle_p(this), fopAcM_GetShapeAngle_p(this)); - mStts.Init(daObj_Kago_Param_c::m.mWeight, 0, this); - + mStts.Init(mpHIO->m.mWeight, 0, this); + field_0x808[0].Set(l_ccDCyl); field_0x808[0].SetStts(&mStts); field_0x808[1].Set(l_ccDCyl); @@ -154,26 +182,26 @@ int daObj_Kago_c::Delete() { int daObj_Kago_c::Execute() { int iVar1 = 0; f32 fVar1; - f32 reg_f30 = daObj_Kago_Param_c::m.field_0x28; + f32 reg_f30 = mpHIO->m.field_0x28; s16 sp_0xc = 0; s16 sVar2 = 0; int iVar3; s16 sp_0x8; - scale.set(daObj_Kago_Param_c::m.field_0x08 * field_0xb0c, daObj_Kago_Param_c::m.field_0x08 * field_0xb0c, daObj_Kago_Param_c::m.field_0x08 * field_0xb0c); + scale.set(mpHIO->m.field_0x08 * field_0xb0c, mpHIO->m.field_0x08 * field_0xb0c, mpHIO->m.field_0x08 * field_0xb0c); attention_info.flags = 0; fopAcM_OffCarryType(this, fopAcM_CARRY_CHICKEN); attention_info.distances[4] = 13; if (mType == 0) { - mStts.SetWeight(daObj_Kago_Param_c::m.mWeight); - mAcchCir.SetWall(daObj_Kago_Param_c::m.mWallH, 50.0f); + mStts.SetWeight(mpHIO->m.mWeight); + mAcchCir.SetWall(mpHIO->m.mWallH, 50.0f); } else { mStts.SetWeight(0xFF); - mAcchCir.SetWall(daObj_Kago_Param_c::m.mWallH, daObj_Kago_Param_c::m.mWallR); + mAcchCir.SetWall(mpHIO->m.mWallH, mpHIO->m.mWallR); } - gravity = daObj_Kago_Param_c::m.mGravity; + gravity = mpHIO->m.mGravity; iVar1 = 0; if ((fopAcM_checkCarryNow(this) != 0 || fopAcM_checkHawkCarryNow(this) != 0) || field_0xba2 != 0) { iVar1 = 1; @@ -218,7 +246,7 @@ int daObj_Kago_c::Execute() { mObjAcch.ClrGrndNone(); if (field_0xba0 != 0 && cM3d_IsZero(speedF) == 0) { - popup(daObj_Kago_Param_c::m.field_0x20, daObj_Kago_Param_c::m.field_0x24, NULL); + popup(mpHIO->m.field_0x20, mpHIO->m.field_0x24, NULL); if (fopAcM_carryOffRevise(this) != 0) { speed.setall(0.0f); } @@ -454,8 +482,8 @@ int daObj_Kago_c::Execute() { dComIfG_Ccsp()->Set(&field_0x808[1]); } else { field_0x808[0].ClrCoHit(); - field_0x808[0].SetR(daObj_Kago_Param_c::m.mWallR); - field_0x808[0].SetH(daObj_Kago_Param_c::m.field_0x14); + field_0x808[0].SetR(mpHIO->m.mWallR); + field_0x808[0].SetH(mpHIO->m.field_0x14); field_0x808[0].SetC(current.pos); dComIfG_Ccsp()->Set(&field_0x808[0]); } @@ -486,7 +514,7 @@ int daObj_Kago_c::Draw() { model = field_0x574; } else if (mGroundH != -G_CM3D_F_INF) { field_0xb78 = dComIfGd_setShadow(field_0xb78, 1, field_0x574, ¤t.pos, - daObj_Kago_Param_c::m.field_0x0c, 20.0f, + mpHIO->m.field_0x0c, 20.0f, current.pos.y, mGroundH, field_0x7cc, &tevStr, 0, 1.0f, dDlst_shadowControl_c::getSimpleTex()); } @@ -578,8 +606,6 @@ int daObj_Kago_c::getWallAngle(s16 param_1, s16* param_2) { return 1; } -static daObj_Kago_Param_c l_HIO; - void daObj_Kago_c::setGoalPosAndAngle() { static cXyz pos(1593.0f, 659.0f, -334.0f); static s16 angle = 0x471C; |
