mirror of https://github.com/zeldaret/tp
d_a_e_mk debug work + documentation (#2913)
* initial work * documentation
This commit is contained in:
parent
4e4d89eab6
commit
e6b1f3a4f2
|
|
@ -15,7 +15,8 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
*/
|
||||
|
||||
class e_mk_class {
|
||||
public:
|
||||
enum e_mk_ACTION {
|
||||
|
|
@ -30,98 +31,102 @@ public:
|
|||
ACT_R04_DEMO = 35,
|
||||
};
|
||||
|
||||
/* 0x000 */ fopEn_enemy_c enemy;
|
||||
/* 0x5AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x5B4 */ s16 mMode;
|
||||
/* 0x5B6 */ u8 mParam;
|
||||
/* 0x5B7 */ u8 field_0x5b7;
|
||||
/* 0x5B8 */ cXyz field_0x5b8;
|
||||
enum Demo_Mode {
|
||||
/* 0x0 */ DEMO_MODE_NONE,
|
||||
/* 0x1 */ DEMO_MODE_START,
|
||||
/* 0x2 */ DEMO_MODE_END,
|
||||
/* 0x3 */ DEMO_MODE_R04,
|
||||
/* 0x4 */ DEMO_MODE_BOHIT,
|
||||
/* 0xA */ DEMO_MODE_FINISH = 0xA,
|
||||
};
|
||||
|
||||
/* 0x000 */ fopEn_enemy_c actor;
|
||||
/* 0x5AC */ request_of_phase_process_class phase;
|
||||
/* 0x5B4 */ s16 mode;
|
||||
/* 0x5B6 */ u8 arg0;
|
||||
/* 0x5B8 */ cXyz posTarget;
|
||||
/* 0x5C4 */ u8 field_0x5c4[0x5c8 - 0x5c4];
|
||||
/* 0x5C8 */ mDoExt_McaMorfSO* mpModelMorf;
|
||||
/* 0x5CC */ int mAnm;
|
||||
/* 0x5D0 */ mDoExt_btpAnm* mBtp;
|
||||
/* 0x5C8 */ mDoExt_McaMorfSO* anmP;
|
||||
/* 0x5CC */ int anmNo;
|
||||
/* 0x5D0 */ mDoExt_btpAnm* btpP;
|
||||
/* 0x5D4 */ s16 field_0x5d4;
|
||||
/* 0x5D8 */ f32 field_0x5d8;
|
||||
/* 0x5DC */ mDoExt_McaMorf* mpCrownModelMorf;
|
||||
/* 0x5E0 */ s8 field_0x5e0;
|
||||
/* 0x5E4 */ cXyz field_0x5e4;
|
||||
/* 0x5F0 */ csXyz field_0x5f0;
|
||||
/* 0x5F6 */ u8 field_0x5f6[0x5fc - 0x5f6];
|
||||
/* 0x5D8 */ f32 btpFrame;
|
||||
/* 0x5DC */ mDoExt_McaMorf* crownAnmP;
|
||||
/* 0x5E0 */ s8 unkFlag1;
|
||||
/* 0x5E4 */ cXyz crownPos;
|
||||
/* 0x5F0 */ csXyz unkRotation;
|
||||
/* 0x5F6 */ csXyz field_0x5f6;
|
||||
/* 0x5FC */ f32 field_0x5fc;
|
||||
/* 0x600 */ f32 field_0x600;
|
||||
/* 0x604 */ f32 field_0x604;
|
||||
/* 0x608 */ J3DModel* mpBoomerangModel;
|
||||
/* 0x60C */ s8 field_0x60c;
|
||||
/* 0x60D */ s8 field_0x60d;
|
||||
/* 0x60E */ s8 field_0x60e;
|
||||
/* 0x60F */ u8 field_0x60f;
|
||||
/* 0x610 */ Z2CreatureEnemy mSound;
|
||||
/* 0x608 */ J3DModel* boomerangModelP;
|
||||
/* 0x60C */ s8 crownStatus;
|
||||
/* 0x60D */ s8 boomerangStatus;
|
||||
/* 0x60E */ s8 btpFrameFlag;
|
||||
/* 0x610 */ Z2CreatureEnemy sound;
|
||||
/* 0x6B4 */ s16 field_0x6b4;
|
||||
/* 0x6B6 */ s16 mAction;
|
||||
/* 0x6B8 */ f32 mDistToPlayer;
|
||||
/* 0x6BC */ s16 mAngleToPlayer;
|
||||
/* 0x6BE */ s8 field_0x6be;
|
||||
/* 0x6BF */ u8 field_0x6bf;
|
||||
/* 0x6C0 */ cXyz field_0x6c0;
|
||||
/* 0x6CC */ cXyz field_0x6cc;
|
||||
/* 0x6D8 */ f32 field_0x6d8;
|
||||
/* 0x6DC */ cXyz field_0x6dc;
|
||||
/* 0x6E8 */ daPillar_c* mPillar;
|
||||
/* 0x6EC */ daPillar_c* mHasira;
|
||||
/* 0x6F0 */ u32 mShadowKey1;
|
||||
/* 0x6F4 */ u32 mShadowKey2;
|
||||
/* 0x6F8 */ s8 field_0x6f8;
|
||||
/* 0x6F9 */ u8 field_0x6f9;
|
||||
/* 0x6FA */ s16 field_0x6fa;
|
||||
/* 0x6FC */ s16 field_0x6fc[4];
|
||||
/* 0x704 */ s16 field_0x704;
|
||||
/* 0x706 */ s8 field_0x706;
|
||||
/* 0x707 */ s8 field_0x707;
|
||||
/* 0x708 */ fpc_ProcID field_0x708;
|
||||
/* 0x70C */ e_db_class* field_0x70c;
|
||||
/* 0x710 */ fpc_ProcID mBabaChildID;
|
||||
/* 0x714 */ fpc_ProcID mBabaChildID2;
|
||||
/* 0x718 */ s8 field_0x718;
|
||||
/* 0x719 */ s8 field_0x719;
|
||||
/* 0x71A */ s8 field_0x71a;
|
||||
/* 0x71B */ s8 field_0x71b;
|
||||
/* 0x71C */ s8 field_0x71c;
|
||||
/* 0x71D */ s8 field_0x71d;
|
||||
/* 0x71E */ s8 field_0x71e;
|
||||
/* 0x71F */ u8 field_0x71f;
|
||||
/* 0x720 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x760 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x938 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x95C */ dCcD_Stts field_0x95c;
|
||||
/* 0x998 */ dCcD_Sph field_0x998;
|
||||
/* 0xAD0 */ dCcD_Sph field_0xad0;
|
||||
/* 0x6B6 */ s16 action;
|
||||
/* 0x6B8 */ f32 distToPl;
|
||||
/* 0x6BC */ s16 angleToPl;
|
||||
/* 0x6BE */ s8 unkFlag2;
|
||||
/* 0x6C0 */ cXyz prevPos;
|
||||
/* 0x6CC */ cXyz prevPosTarget;
|
||||
/* 0x6D8 */ f32 PosYTransOffset;
|
||||
/* 0x6DC */ cXyz posTargetStep;
|
||||
/* 0x6E8 */ daPillar_c* prevHasira;
|
||||
/* 0x6EC */ daPillar_c* hasira;
|
||||
/* 0x6F0 */ u32 shadowKey1;
|
||||
/* 0x6F4 */ u32 shadowKey2;
|
||||
/* 0x6F8 */ s8 unkFlag3;
|
||||
/* 0x6FA */ s16 unkCounter1;
|
||||
/* 0x6FC */ s16 timer[4];
|
||||
/* 0x704 */ s16 invulnerabilityTimer;
|
||||
/* 0x706 */ s8 tubaTimer;
|
||||
/* 0x707 */ s8 unkFlag4;
|
||||
/* 0x708 */ fpc_ProcID boomerangId;
|
||||
/* 0x70C */ e_db_class* db;
|
||||
/* 0x710 */ fpc_ProcID dbId1;
|
||||
/* 0x714 */ fpc_ProcID dbId2;
|
||||
/* 0x718 */ s8 unkFlag5;
|
||||
/* 0x719 */ s8 unkCounter2;
|
||||
/* 0x71A */ s8 unkTimer1;
|
||||
/* 0x71B */ s8 setSmokeFlag;
|
||||
/* 0x71C */ s8 unkCounter3;
|
||||
/* 0x71D */ s8 firstHasiraFlag;
|
||||
/* 0x71E */ s8 demoHasiraFlag;
|
||||
/* 0x720 */ dBgS_AcchCir acchcir;
|
||||
/* 0x760 */ dBgS_ObjAcch acch;
|
||||
/* 0x938 */ dCcU_AtInfo atInfo;
|
||||
/* 0x95C */ dCcD_Stts stts;
|
||||
/* 0x998 */ dCcD_Sph sph;
|
||||
/* 0xAD0 */ dCcD_Sph tgSph;
|
||||
/* 0xC08 */ u32 field_0xc08;
|
||||
/* 0xC0C */ u32 field_0xc0c;
|
||||
/* 0xC10 */ u32 field_0xc10;
|
||||
/* 0xC14 */ u32 field_0xc14;
|
||||
/* 0xC18 */ u32 field_0xc18[2];
|
||||
/* 0xC20 */ u32 field_0xc20[4];
|
||||
/* 0xC30 */ s16 field_0xc30;
|
||||
/* 0xC32 */ s16 mDemoMode;
|
||||
/* 0xC34 */ s16 mDemoCamTimer;
|
||||
/* 0xC38 */ cXyz mCamEye;
|
||||
/* 0xC44 */ cXyz mCamCenter;
|
||||
/* 0xC50 */ cXyz field_0xc50;
|
||||
/* 0xC5C */ cXyz field_0xc5c;
|
||||
/* 0xC68 */ cXyz field_0xc68;
|
||||
/* 0xC74 */ cXyz field_0xc74;
|
||||
/* 0xC80 */ f32 mDemoCamFovy;
|
||||
/* 0xC84 */ f32 field_0xc84;
|
||||
/* 0xC88 */ f32 field_0xc88;
|
||||
/* 0xC18 */ u32 boEno1Prtcls[2];
|
||||
/* 0xC20 */ u32 boEno0Prtcls[4];
|
||||
/* 0xC30 */ s16 demoMode;
|
||||
/* 0xC32 */ s16 demoSubMode;
|
||||
/* 0xC34 */ s16 demoCamCounter;
|
||||
/* 0xC38 */ cXyz camEye;
|
||||
/* 0xC44 */ cXyz camCenter;
|
||||
/* 0xC50 */ cXyz camEyeTarget;
|
||||
/* 0xC5C */ cXyz camCenterTarget;
|
||||
/* 0xC68 */ cXyz distToCamEyeTarget;
|
||||
/* 0xC74 */ cXyz distToCamCenterTarget;
|
||||
/* 0xC80 */ f32 demoCamFovy;
|
||||
/* 0xC84 */ f32 camStepScale1;
|
||||
/* 0xC88 */ f32 camStepScale2;
|
||||
/* 0xC8C */ f32 field_0xc8c;
|
||||
/* 0xC90 */ f32 field_0xc90;
|
||||
/* 0xC94 */ u8 field_0xc94[0xc98 - 0xc94];
|
||||
/* 0xC98 */ f32 field_0xc98;
|
||||
/* 0xC9C */ f32 field_0xc9c;
|
||||
/* 0xCA0 */ s16 field_0xca0;
|
||||
/* 0xCA4 */ dMsgFlow_c mMsgFlow;
|
||||
/* 0xCA0 */ s16 prevPlShapeAngle;
|
||||
/* 0xCA4 */ dMsgFlow_c msgFlow;
|
||||
/* 0xCF0 */ u8 field_0xcf0[0xcf5 - 0xcf0];
|
||||
/* 0xCF5 */ u8 field_0xcf5;
|
||||
/* 0xCF5 */ u8 hioInit;
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(e_mk_class) == 0xcf8);
|
||||
|
|
|
|||
|
|
@ -12,7 +12,8 @@
|
|||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
*/
|
||||
|
||||
class e_mk_bo_class {
|
||||
public:
|
||||
/* 0x000 */ fopEn_enemy_c enemy;
|
||||
|
|
@ -21,7 +22,7 @@ public:
|
|||
/* 0x5B8 */ Z2SoundObjSimple sound;
|
||||
/* 0x5D8 */ s16 counter;
|
||||
/* 0x5DA */ s16 action;
|
||||
/* 0x5DC */ s16 field_0x5dc;
|
||||
/* 0x5DC */ s16 mode;
|
||||
/* 0x5E0 */ cXyz field_0x5e0;
|
||||
/* 0x5EC */ s16 field_0x5ec;
|
||||
/* 0x5EE */ s16 field_0x5ee;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -46,7 +46,7 @@ static void hit_check(e_mk_bo_class* i_this) {
|
|||
e_mk_class* e_mk = (e_mk_class*)a_parent;
|
||||
cXyz sp24;
|
||||
|
||||
if (i_this->ccAtSph.ChkTgHit() || i_this->acch.ChkGroundHit() || i_this->acch.ChkWallHit() || (e_mk != NULL && e_mk->field_0xc30 == 1 && i_this->ccAtSph.ChkAtHit()) || i_this->ccAtSph.ChkAtShieldHit()) {
|
||||
if (i_this->ccAtSph.ChkTgHit() || i_this->acch.ChkGroundHit() || i_this->acch.ChkWallHit() || (e_mk != NULL && e_mk->demoMode == e_mk_class::DEMO_MODE_START && i_this->ccAtSph.ChkAtHit()) || i_this->ccAtSph.ChkAtShieldHit()) {
|
||||
i_this->field_0x5f8 = 20;
|
||||
OS_REPORT("E_MK_BO HIT \n");
|
||||
|
||||
|
|
@ -66,8 +66,8 @@ static void hit_check(e_mk_bo_class* i_this) {
|
|||
i_this->field_0x998 = 2;
|
||||
}
|
||||
|
||||
if (i_this->field_0x5dc <= 2) {
|
||||
i_this->field_0x5dc = 3;
|
||||
if (i_this->mode <= 2) {
|
||||
i_this->mode = 3;
|
||||
i_this->field_0x5e0 = a_parent->current.pos;
|
||||
i_this->field_0x5e0.y += 100.0f;
|
||||
|
||||
|
|
@ -95,17 +95,17 @@ static s8 e_mk_bo_shot(e_mk_bo_class* i_this) {
|
|||
fopAc_ac_c* player = (fopAc_ac_c*)dComIfGp_getPlayer(0);
|
||||
cXyz sp3C;
|
||||
|
||||
switch (i_this->field_0x5dc) {
|
||||
switch (i_this->mode) {
|
||||
case 0:
|
||||
if (e_mk->field_0x70c != 0) {
|
||||
i_this->field_0x5e0 = e_mk->field_0x70c->enemy.current.pos;
|
||||
if (e_mk->db != NULL) {
|
||||
i_this->field_0x5e0 = e_mk->db->enemy.current.pos;
|
||||
i_this->field_0x5e0.y += 100.0f;
|
||||
} else {
|
||||
i_this->field_0x5e0 = player->current.pos;
|
||||
i_this->field_0x5e0.y += 100.0f;
|
||||
}
|
||||
|
||||
i_this->field_0x5dc = 1;
|
||||
i_this->mode = 1;
|
||||
|
||||
sp3C = i_this->field_0x5e0 - actor->current.pos;
|
||||
actor->current.angle.y = cM_atan2s(sp3C.x, sp3C.z);
|
||||
|
|
@ -116,7 +116,7 @@ static s8 e_mk_bo_shot(e_mk_bo_class* i_this) {
|
|||
case 1:
|
||||
sp3C = i_this->field_0x5e0 - actor->current.pos;
|
||||
if (sp3C.abs() < 300.0f + TREG_F(18)) {
|
||||
i_this->field_0x5dc = 2;
|
||||
i_this->mode = 2;
|
||||
i_this->timers[0] = 30;
|
||||
}
|
||||
break;
|
||||
|
|
@ -136,17 +136,17 @@ static s8 e_mk_bo_shot(e_mk_bo_class* i_this) {
|
|||
cLib_addCalcAngleS2(&i_this->field_0x5ee, 0x2000, 1, 4);
|
||||
|
||||
f32 temp_f31 = sp3C.abs();
|
||||
if (e_mk->mDemoMode != 0 || (e_mk->mAction == 2 && e_mk->mMode >= 20)) {
|
||||
if (e_mk->demoSubMode != 0 || (e_mk->action == e_mk_class::ACT_SHOOT && e_mk->mode >= 20)) {
|
||||
if (temp_f31 < 350.0f + YREG_F(18)) {
|
||||
i_this->field_0x600 = 1;
|
||||
e_mk->field_0x707 = 3;
|
||||
e_mk->unkFlag4 = 3;
|
||||
} else if (temp_f31 < 600.0f + YREG_F(17)) {
|
||||
e_mk->field_0x707 = 2;
|
||||
e_mk->unkFlag4 = 2;
|
||||
}
|
||||
} else if (e_mk->mAction == 3 && temp_f31 < 120.0f + YREG_F(19)) {
|
||||
e_mk->field_0x707 = 4;
|
||||
} else if (e_mk->action == e_mk_class::ACT_YORO && temp_f31 < 120.0f + YREG_F(19)) {
|
||||
e_mk->unkFlag4 = 4;
|
||||
i_this->action = 1;
|
||||
i_this->field_0x5dc = 0;
|
||||
i_this->mode = 0;
|
||||
dComIfGp_setHitMark(3, actor, &actor->current.pos, &actor->shape_angle, NULL, 0);
|
||||
actor->speed.y = 30.0f;
|
||||
i_this->timers[0] = 40;
|
||||
|
|
@ -170,7 +170,7 @@ static s8 e_mk_bo_shot(e_mk_bo_class* i_this) {
|
|||
cCcD_Obj* at_hit_obj = i_this->ccAtSph.GetAtHitObj();
|
||||
if (fopAcM_GetName(dCc_GetAc(at_hit_obj->GetAc())) == PROC_ALINK) {
|
||||
OS_REPORT("E_MK_BO PL HIT !!!!\n");
|
||||
e_mk->field_0x707 = 5;
|
||||
e_mk->unkFlag4 = 5;
|
||||
i_this->field_0x5f8 = 10;
|
||||
}
|
||||
}
|
||||
|
|
@ -193,11 +193,11 @@ static s8 e_mk_bo_start(e_mk_bo_class* i_this) {
|
|||
cXyz sp38;
|
||||
|
||||
f32 temp_f31;
|
||||
switch (i_this->field_0x5dc) {
|
||||
switch (i_this->mode) {
|
||||
case 0:
|
||||
i_this->field_0x998 = 1;
|
||||
i_this->field_0x5e0.set(0.0f, 5000.0f + JREG_F(18), -3900.0f);
|
||||
i_this->field_0x5dc = 1;
|
||||
i_this->mode = 1;
|
||||
|
||||
sp38 = i_this->field_0x5e0 - actor->current.pos;
|
||||
actor->current.angle.y = cM_atan2s(sp38.x, sp38.z);
|
||||
|
|
@ -208,7 +208,7 @@ static s8 e_mk_bo_start(e_mk_bo_class* i_this) {
|
|||
case 1:
|
||||
sp38 = i_this->field_0x5e0 - actor->current.pos;
|
||||
if (sp38.abs() < 200.0f + TREG_F(18)) {
|
||||
i_this->field_0x5dc = 2;
|
||||
i_this->mode = 2;
|
||||
i_this->timers[0] = 30;
|
||||
}
|
||||
break;
|
||||
|
|
@ -228,12 +228,12 @@ static s8 e_mk_bo_start(e_mk_bo_class* i_this) {
|
|||
cLib_addCalcAngleS2(&i_this->field_0x5ee, 0x2000, 1, 4);
|
||||
|
||||
temp_f31 = sp38.abs();
|
||||
if (e_mk->mDemoMode != 0 || (e_mk->mAction == 2 && e_mk->mMode >= 20)) {
|
||||
if (e_mk->demoSubMode != 0 || (e_mk->action == e_mk_class::ACT_SHOOT && e_mk->mode >= 20)) {
|
||||
if (temp_f31 < 350.0f + YREG_F(18)) {
|
||||
i_this->field_0x600 = 1;
|
||||
e_mk->field_0x707 = 3;
|
||||
e_mk->unkFlag4 = 3;
|
||||
} else if (temp_f31 < 600.0f + YREG_F(17)) {
|
||||
e_mk->field_0x707 = 2;
|
||||
e_mk->unkFlag4 = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
@ -267,10 +267,10 @@ static s8 e_mk_bo_r04(e_mk_bo_class* i_this) {
|
|||
cXyz sp1C;
|
||||
|
||||
f32 temp_f31;
|
||||
switch (i_this->field_0x5dc) {
|
||||
switch (i_this->mode) {
|
||||
case 0:
|
||||
i_this->field_0x998 = 1;
|
||||
i_this->field_0x5dc = 1;
|
||||
i_this->mode = 1;
|
||||
|
||||
actor->current.angle.y = a_parent->shape_angle.y + (VREG_S(7) - 0x3000);
|
||||
i_this->field_0x5fa = actor->current.angle.y;
|
||||
|
|
@ -295,9 +295,9 @@ static s8 e_mk_bo_r04(e_mk_bo_class* i_this) {
|
|||
temp_f31 = sp1C.abs();
|
||||
if (i_this->timers[1] == 0 && temp_f31 < 350.0f + YREG_F(18)) {
|
||||
i_this->field_0x600 = 1;
|
||||
e_mk->field_0x707 = 3;
|
||||
e_mk->unkFlag4 = 3;
|
||||
} else if (temp_f31 < 600.0f + YREG_F(17)) {
|
||||
e_mk->field_0x707 = 2;
|
||||
e_mk->unkFlag4 = 2;
|
||||
}
|
||||
}
|
||||
break;
|
||||
|
|
@ -323,21 +323,21 @@ static void e_mk_bo_hasira(e_mk_bo_class* i_this) {
|
|||
|
||||
if (a_parent != NULL) {
|
||||
e_mk_class* e_mk = (e_mk_class*)a_parent;
|
||||
if (e_mk->field_0xc30 == 2) {
|
||||
i_this->action = 2;
|
||||
if (e_mk->demoMode == e_mk_class::DEMO_MODE_END) {
|
||||
i_this->action = e_mk_class::ACT_SHOOT;
|
||||
i_this->field_0x998 = 1;
|
||||
return;
|
||||
}
|
||||
|
||||
cXyz sp24;
|
||||
cXyz sp18;
|
||||
if (e_mk->mHasira != NULL) {
|
||||
daPillar_c* pillar = e_mk->mHasira;
|
||||
if (e_mk->hasira != NULL) {
|
||||
daPillar_c* pillar = e_mk->hasira;
|
||||
cXyz spC;
|
||||
|
||||
mDoMtx_stack_c::transS(e_mk->mHasira->current.pos.x, e_mk->mHasira->current.pos.y, e_mk->mHasira->current.pos.z);
|
||||
mDoMtx_stack_c::transS(e_mk->hasira->current.pos.x, e_mk->hasira->current.pos.y, e_mk->hasira->current.pos.z);
|
||||
mDoMtx_stack_c::YrotM(pillar->mRotY);
|
||||
mDoMtx_stack_c::XrotM(e_mk->mHasira->shape_angle.x);
|
||||
mDoMtx_stack_c::XrotM(e_mk->hasira->shape_angle.x);
|
||||
mDoMtx_stack_c::YrotM(-pillar->mRotY);
|
||||
mDoMtx_stack_c::transM(0.0f, 500.0f, 0.0f);
|
||||
mDoMtx_multVecZero(mDoMtx_stack_c::get(), &spC);
|
||||
|
|
@ -356,17 +356,17 @@ static void e_mk_bo_hasira(e_mk_bo_class* i_this) {
|
|||
|
||||
if (actor->current.pos.y <= 7.0f + spC.y) {
|
||||
actor->current.pos.y = 7.0f + spC.y;
|
||||
if (i_this->field_0x5dc <= 3) {
|
||||
if (i_this->mode <= 3) {
|
||||
actor->speed.y *= -0.4f;
|
||||
} else {
|
||||
actor->speed.y = 0.0f;
|
||||
}
|
||||
|
||||
if (i_this->field_0x5dc <= 1) {
|
||||
if (i_this->mode <= 1) {
|
||||
i_this->timers[0] = 20;
|
||||
}
|
||||
|
||||
i_this->field_0x5dc++;
|
||||
i_this->mode++;
|
||||
}
|
||||
|
||||
if (pillar->checkRollAttack()) {
|
||||
|
|
@ -391,7 +391,7 @@ static void e_mk_bo_demo_ground(e_mk_bo_class* i_this) {
|
|||
if (actor->health != 0) {
|
||||
actor->health = 0;
|
||||
i_this->action = 3;
|
||||
i_this->field_0x5dc = 0;
|
||||
i_this->mode = 0;
|
||||
actor->home.pos.y = actor->current.pos.y;
|
||||
}
|
||||
|
||||
|
|
@ -406,12 +406,12 @@ static void e_mk_bo_demo_spin(e_mk_bo_class* i_this) {
|
|||
cXyz sp28;
|
||||
f32 var_f31 = 0.0f;
|
||||
|
||||
switch (i_this->field_0x5dc) {
|
||||
switch (i_this->mode) {
|
||||
case 4:
|
||||
break;
|
||||
case 0:
|
||||
actor->speed.y = 0.0f;
|
||||
i_this->field_0x5dc = 1;
|
||||
i_this->mode = 1;
|
||||
actor->home.pos = actor->current.pos;
|
||||
i_this->timers[0] = 20;
|
||||
actor->speedF = 0.0f;
|
||||
|
|
@ -443,7 +443,7 @@ static void e_mk_bo_demo_spin(e_mk_bo_class* i_this) {
|
|||
actor->current.angle.y = fopAcM_searchPlayerAngleY(actor) + 0x8000;
|
||||
i_this->field_0x5ec = 0;
|
||||
i_this->timers[0] = 40;
|
||||
i_this->field_0x5dc = 2;
|
||||
i_this->mode = 2;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
|
|
@ -458,7 +458,7 @@ static void e_mk_bo_demo_spin(e_mk_bo_class* i_this) {
|
|||
|
||||
s16 sp8 = (actor->current.angle.y - fopAcM_searchPlayerAngleY(actor));
|
||||
if (sp8 <= 0x400 && sp8 > -0x400) {
|
||||
i_this->field_0x5dc = 3;
|
||||
i_this->mode = 3;
|
||||
}
|
||||
|
||||
cLib_addCalcAngleS2(&actor->shape_angle.z, -0x1200, 2, 0x200);
|
||||
|
|
@ -475,8 +475,8 @@ static void e_mk_bo_demo_spin(e_mk_bo_class* i_this) {
|
|||
|
||||
if (fopAcM_searchPlayerDistanceXZ(actor) < 50.0f) {
|
||||
e_mk_class* e_mk = (e_mk_class*)fopAcM_SearchByID(actor->parentActorID);
|
||||
e_mk->mDemoMode++;
|
||||
i_this->field_0x5dc = 4;
|
||||
e_mk->demoSubMode++;
|
||||
i_this->mode = 4;
|
||||
i_this->field_0x600 = 1;
|
||||
}
|
||||
break;
|
||||
|
|
@ -507,9 +507,9 @@ static void action(e_mk_bo_class* i_this) {
|
|||
|
||||
switch (i_this->action) {
|
||||
case 0:
|
||||
if (e_mk->field_0xc30 == 1) {
|
||||
if (e_mk->demoMode == e_mk_class::DEMO_MODE_START) {
|
||||
var_r28 = e_mk_bo_start(i_this);
|
||||
} else if (e_mk->field_0xc30 == 3 || fopAcM_GetRoomNo(actor) == 4) {
|
||||
} else if (e_mk->demoMode == e_mk_class::DEMO_MODE_R04 || fopAcM_GetRoomNo(actor) == 4) {
|
||||
var_r28 = e_mk_bo_r04(i_this);
|
||||
} else {
|
||||
var_r28 = e_mk_bo_shot(i_this);
|
||||
|
|
@ -606,8 +606,8 @@ static int daE_MK_BO_Execute(e_mk_bo_class* i_this) {
|
|||
i_this->model->setBaseTRMtx(mDoMtx_stack_c::get());
|
||||
|
||||
e_mk_class* e_mk = (e_mk_class*)a_parent;
|
||||
if (e_mk->field_0x707 == 6) {
|
||||
e_mk->field_0x707 = 0;
|
||||
if (e_mk->unkFlag4 == 6) {
|
||||
e_mk->unkFlag4 = 0;
|
||||
fopAcM_delete(actor);
|
||||
}
|
||||
|
||||
|
|
@ -643,15 +643,15 @@ static int daE_MK_BO_Execute(e_mk_bo_class* i_this) {
|
|||
for (int i = 0; i < eff_num; i++) {
|
||||
if (i_this->action >= 2) {
|
||||
if (i < 2) {
|
||||
e_mk->field_0xc18[i] = dComIfGp_particle_set(e_mk->field_0xc18[i], bo_eno_2[i], &actor->current.pos, NULL, NULL);
|
||||
emt = dComIfGp_particle_getEmitter(e_mk->field_0xc18[i]);
|
||||
e_mk->boEno1Prtcls[i] = dComIfGp_particle_set(e_mk->boEno1Prtcls[i], bo_eno_2[i], &actor->current.pos, NULL, NULL);
|
||||
emt = dComIfGp_particle_getEmitter(e_mk->boEno1Prtcls[i]);
|
||||
} else {
|
||||
i_this->field_0x99c[i - 2] = dComIfGp_particle_set(i_this->field_0x99c[i - 2], bo_eno_2[i], &actor->current.pos, NULL, NULL);
|
||||
emt = dComIfGp_particle_getEmitter(i_this->field_0x99c[i - 2]);
|
||||
}
|
||||
} else if (i < 2) {
|
||||
e_mk->field_0xc18[i] = dComIfGp_particle_set(e_mk->field_0xc18[i], bo_eno_1[i], &actor->current.pos, NULL, NULL);
|
||||
emt = dComIfGp_particle_getEmitter(e_mk->field_0xc18[i]);
|
||||
e_mk->boEno1Prtcls[i] = dComIfGp_particle_set(e_mk->boEno1Prtcls[i], bo_eno_1[i], &actor->current.pos, NULL, NULL);
|
||||
emt = dComIfGp_particle_getEmitter(e_mk->boEno1Prtcls[i]);
|
||||
} else {
|
||||
i_this->field_0x99c[i - 2] = dComIfGp_particle_set(i_this->field_0x99c[i - 2], bo_eno_1[i], &actor->current.pos, NULL, NULL);
|
||||
emt = dComIfGp_particle_getEmitter(i_this->field_0x99c[i - 2]);
|
||||
|
|
|
|||
Loading…
Reference in New Issue