mirror of https://github.com/zeldaret/tp.git
Anm enum work (#2511)
* Added enums for b_gg, b_gos, and b_mgn * Added enum for d_a_b_tn (might have more work for it) * b_yo and b_zant enum work * more enum work * fixed mgn match break
This commit is contained in:
parent
aff8180fce
commit
844a554a3b
|
|
@ -135,12 +135,12 @@ public:
|
|||
private:
|
||||
/* 0x05AC */ request_of_phase_process_class mPhaseReq1;
|
||||
/* 0x05B4 */ request_of_phase_process_class mPhaseReq2;
|
||||
/* 0x05BC */ J3DModel* mpModels[16];
|
||||
/* 0x05BC */ J3DModel* mpPartModels[16];
|
||||
/* 0x05FC */ mDoExt_McaMorfSO* mpModelMorf1;
|
||||
/* 0x0600 */ mDoExt_McaMorfSO* mpModelMorf2;
|
||||
/* 0x0604 */ mDoExt_brkAnm* mpBrkAnms[16];
|
||||
/* 0x0644 */ mDoExt_brkAnm* mpBrkAnm;
|
||||
/* 0x0648 */ J3DModel* mpModel;
|
||||
/* 0x0648 */ J3DModel* swordEffectModel;
|
||||
/* 0x064C */ Z2CreatureEnemy mSound;
|
||||
/* 0x06F0 */ int mActionMode1;
|
||||
/* 0x06F4 */ int mActionMode2;
|
||||
|
|
|
|||
|
|
@ -142,7 +142,7 @@ public:
|
|||
/* 0x05BC */ J3DModel* mpSwordRModel;
|
||||
/* 0x05C0 */ J3DModel* mpMahojinModel;
|
||||
/* 0x05C4 */ J3DModel* mpMahojinModel2;
|
||||
/* 0x05C8 */ mDoExt_brkAnm* mpMahojinBrk;
|
||||
/* 0x05C8 */ mDoExt_brkAnm* mpMahojinEndBrk;
|
||||
/* 0x05CC */ mDoExt_btkAnm* mpMahojinBtk;
|
||||
/* 0x05D0 */ mDoExt_btkAnm* mpMahojinStartBtk;
|
||||
/* 0x05D4 */ mDoExt_brkAnm* mpMahojinBrk2;
|
||||
|
|
@ -240,6 +240,91 @@ public:
|
|||
/* 0x38AC */ u32 field_0x38ac[2];
|
||||
/* 0x38B4 */ u32 field_0x38b4;
|
||||
/* 0x38B8 */ u8 mInitHIO;
|
||||
|
||||
enum B_ZAN_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x07 */ BCK_ZAN_DAMAGEL_A = 7,
|
||||
/* 0x08 */ BCK_ZAN_DAMAGER_A,
|
||||
/* 0x09 */ BCK_ZAN_DIE_DEMO,
|
||||
/* 0x0A */ BCK_ZAN_FAINT,
|
||||
/* 0x0B */ BCK_ZAN_FALL,
|
||||
/* 0x0C */ BCK_ZAN_FLOAT_APPEAR,
|
||||
/* 0x0D */ BCK_ZAN_FLOAT_APPEARSHORT,
|
||||
/* 0x0E */ BCK_ZAN_FLOAT_APPEARWAIT,
|
||||
/* 0x0F */ BCK_ZAN_FLOAT_DAMAGEL,
|
||||
/* 0x10 */ BCK_ZAN_FLOAT_DAMAGER,
|
||||
/* 0x11 */ BCK_ZAN_FLOAT_REACTION,
|
||||
/* 0x12 */ BCK_ZAN_FLOAT_WAIT,
|
||||
/* 0x13 */ BCK_ZAN_FLOAT_WAITRETURN,
|
||||
/* 0x14 */ BCK_ZAN_GROUND_REACTION,
|
||||
/* 0x15 */ BCK_ZAN_HOOK_HIT,
|
||||
/* 0x16 */ BCK_ZAN_HOOK_RELEASE,
|
||||
/* 0x17 */ BCK_ZAN_HOOK_WAIT,
|
||||
/* 0x18 */ BCK_ZAN_HUGE,
|
||||
/* 0x19 */ BCK_ZAN_HUGE_LANDING,
|
||||
/* 0x1A */ BCK_ZAN_JUMP_A,
|
||||
/* 0x1B */ BCK_ZAN_JUMP_B,
|
||||
/* 0x1C */ BCK_ZAN_LANDING,
|
||||
/* 0x1D */ BCK_ZAN_LANDING_DAMAGE,
|
||||
/* 0x1E */ BCK_ZAN_LANDING_WAIT,
|
||||
/* 0x1F */ BCK_ZAN_LAST_DEMO,
|
||||
/* 0x20 */ BCK_ZAN_LV1_FATIGUE,
|
||||
/* 0x21 */ BCK_ZAN_LV1_JUMP_A,
|
||||
/* 0x22 */ BCK_ZAN_LV1_JUMP_B,
|
||||
/* 0x23 */ BCK_ZAN_MAGICSHOOTA_A,
|
||||
/* 0x24 */ BCK_ZAN_MAGICSHOOTA_B,
|
||||
/* 0x25 */ BCK_ZAN_MAGICSHOOTA_B_A,
|
||||
/* 0x26 */ BCK_ZAN_MAGICSHOOTA_B_B,
|
||||
/* 0x27 */ BCK_ZAN_MAGICSHOOTA_B_C,
|
||||
/* 0x28 */ BCK_ZAN_MAGICSHOOTA_C,
|
||||
/* 0x29 */ BCK_ZAN_MAGICSHOOTA_D,
|
||||
/* 0x2A */ BCK_ZAN_OP_1,
|
||||
/* 0x2B */ BCK_ZAN_OP_2,
|
||||
/* 0x2C */ BCK_ZAN_OP_3,
|
||||
/* 0x2D */ BCK_ZAN_OP_RISE,
|
||||
/* 0x2E */ BCK_ZAN_SHIND_L,
|
||||
/* 0x2F */ BCK_ZAN_SHIND_R,
|
||||
/* 0x30 */ BCK_ZAN_SPIN,
|
||||
/* 0x31 */ BCK_ZAN_SWAMP_FALL_A,
|
||||
/* 0x32 */ BCK_ZAN_SWAMP_FALL_B,
|
||||
/* 0x33 */ BCK_ZAN_SWAMP_FALL_LOOP,
|
||||
/* 0x34 */ BCK_ZAN_SWAMP_LANDING,
|
||||
/* 0x35 */ BCK_ZAN_SWIM,
|
||||
/* 0x36 */ BCK_ZAN_SW_ATTACK,
|
||||
/* 0x37 */ BCK_ZAN_SW_ATTACKB,
|
||||
/* 0x38 */ BCK_ZAN_SW_DAMAGEL,
|
||||
/* 0x39 */ BCK_ZAN_SW_DAMAGER,
|
||||
/* 0x3A */ BCK_ZAN_SW_FATIGUE,
|
||||
/* 0x3B */ BCK_ZAN_SW_WAIT,
|
||||
/* 0x3C */ BCK_ZAN_SW_WALK,
|
||||
/* 0x3D */ BCK_ZAN_TRAMPLEA,
|
||||
/* 0x3E */ BCK_ZAN_TRAMPLEB,
|
||||
/* 0x3F */ BCK_ZAN_TRAMPLEC,
|
||||
/* 0x40 */ BCK_ZAN_TRAMPLED,
|
||||
/* 0x41 */ BCK_ZAN_WAIT,
|
||||
/* 0x42 */ BCK_ZZ_APPEARANCE,
|
||||
/* 0x43 */ BCK_ZZ_CLOSE,
|
||||
/* 0x44 */ BCK_ZZ_OPEN,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x47 */ BMDR_EF_TK2BALL = 0x47,
|
||||
/* 0x48 */ BMDR_ZAN,
|
||||
/* 0x49 */ BMDR_ZAN_MAHOJIN,
|
||||
/* 0x4A */ BMDR_ZAN_SWORD_L,
|
||||
/* 0x4B */ BMDR_ZAN_SWORD_R,
|
||||
/* 0x4C */ BMDR_ZZ,
|
||||
|
||||
/* BRK */
|
||||
/* 0x4F */ BRK_ZAN_MAHOJIN_END = 0x4F,
|
||||
/* 0x50 */ BRK_ZZ,
|
||||
|
||||
/* BTK */
|
||||
/* 0x53 */ BTK_ZAN_MAHOJIN = 0x53,
|
||||
/* 0x54 */ BTK_ZAN_MAHOJIN_START,
|
||||
|
||||
/* DZB */
|
||||
/* 0x57 */ DZB_ZZ = 0x57,
|
||||
};
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(daB_ZANT_c) == 0x38BC);
|
||||
|
|
|
|||
|
|
@ -67,6 +67,29 @@ class daNpc_Jagar_Param_c {
|
|||
|
||||
class daNpc_Jagar_c : public daNpcT_c {
|
||||
public:
|
||||
enum JAGAR2_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x05 */ BCK_JAGA_F_SURPRISE = 5,
|
||||
/* 0x06 */ BCK_JAGA_F_SURPRISE_WAIT,
|
||||
/* 0x07 */ BCK_JAGA_F_WORRY_TALK,
|
||||
/* 0x08 */ BCK_JAGA_RUN_A,
|
||||
/* 0x09 */ BCK_JAGA_SURPRISE,
|
||||
/* 0x0A */ BCK_JAGA_SURPRISE_WAIT,
|
||||
/* 0x0B */ BCK_JAGA_UNADUKI,
|
||||
/* 0x0C */ BCK_JAGA_WORRY_TALK,
|
||||
/* 0x0D */ BCK_JAGA_WORRY_WAIT,
|
||||
/* 0x0E */ BCK_JAGA_WORRY_WALK,
|
||||
|
||||
/* BTP */
|
||||
/* 0x11 */ BTP_JAGA_BLINK = 0x11,
|
||||
/* 0x12 */ BTP_JAGA_F_SURPRISE,
|
||||
/* 0x13 */ BTP_JAGA_F_SURPRISE_WAIT,
|
||||
/* 0x14 */ BTP_JAGA_F_WORRY_TALK,
|
||||
|
||||
/* EVT */
|
||||
/* 0x17 */ EVT_EVENT_LIST = 0x17,
|
||||
};
|
||||
|
||||
typedef int (daNpc_Jagar_c::*cutFunc)(int);
|
||||
typedef int (daNpc_Jagar_c::*actionFunc)(void*);
|
||||
|
||||
|
|
|
|||
|
|
@ -54,6 +54,21 @@ public:
|
|||
/* 0x600 */ Z2SoundObjSimple mSound;
|
||||
/* 0x620 */ ms_chain_s mChains[4];
|
||||
/* 0x8A0 */ u8 field_0x8a0;
|
||||
|
||||
enum MAGNESIMA_RES_FILE_ID {
|
||||
/* BMDR */
|
||||
/* 0x06 */ BMDR_KUSARI = 6,
|
||||
/* 0x07 */ BMDR_S_MAGNE_SIMA,
|
||||
|
||||
/* BRK */
|
||||
/* 0x0A */ BRK_S_MAGNE_SIMA = 0xA,
|
||||
|
||||
/* BTK */
|
||||
/* 0x0D */ BTK_S_MAGNE_SIMA = 0xD,
|
||||
|
||||
/* DZB */
|
||||
/* 0x10 */ DZB_S_MAGNE_SIMA = 0x10,
|
||||
};
|
||||
};
|
||||
|
||||
STATIC_ASSERT(sizeof(obj_msima_class) == 0x8a4);
|
||||
|
|
|
|||
|
|
@ -5,8 +5,7 @@
|
|||
|
||||
#include "d/actor/d_a_alink.h"
|
||||
|
||||
/* 800E3760-800E3770 0DE0A0 0010+00 0/0 0/0 7/7 .text getBombExplodeTime__9daAlink_cCFv
|
||||
*/
|
||||
/* 800E3760-800E3770 0DE0A0 0010+00 0/0 0/0 7/7 .text getBombExplodeTime__9daAlink_cCFv */
|
||||
s16 daAlink_c::getBombExplodeTime() const {
|
||||
return daAlinkHIO_bomb_c0::m.mExplodeTime;
|
||||
}
|
||||
|
|
@ -16,8 +15,7 @@ f32 daAlink_c::getBombGravity() const {
|
|||
return daAlinkHIO_bomb_c0::m.mGravity;
|
||||
}
|
||||
|
||||
/* 800E3780-800E3790 0DE0C0 0010+00 0/0 0/0 2/2 .text getBombMaxFallSpeed__9daAlink_cCFv
|
||||
*/
|
||||
/* 800E3780-800E3790 0DE0C0 0010+00 0/0 0/0 2/2 .text getBombMaxFallSpeed__9daAlink_cCFv */
|
||||
f32 daAlink_c::getBombMaxFallSpeed() const {
|
||||
return daAlinkHIO_bomb_c0::m.mMaxFallSpeed;
|
||||
}
|
||||
|
|
@ -47,30 +45,27 @@ f32 daAlink_c::getBombAtR() const {
|
|||
return daAlinkHIO_bomb_c0::m.mAttackRadius;
|
||||
}
|
||||
|
||||
/* 800E37E0-800E37F0 0DE120 0010+00 0/0 0/0 1/1 .text getEnemyBombColorR__9daAlink_cCFv
|
||||
*/
|
||||
/* 800E37E0-800E37F0 0DE120 0010+00 0/0 0/0 1/1 .text getEnemyBombColorR__9daAlink_cCFv */
|
||||
s16 daAlink_c::getEnemyBombColorR() const {
|
||||
return daAlinkHIO_bomb_c0::m.mEnemyBombColorR;
|
||||
}
|
||||
|
||||
/* 800E37F0-800E3800 0DE130 0010+00 0/0 0/0 2/2 .text getBombWaterGravity__9daAlink_cCFv
|
||||
*/
|
||||
/* 800E37F0-800E3800 0DE130 0010+00 0/0 0/0 2/2 .text getBombWaterGravity__9daAlink_cCFv */
|
||||
f32 daAlink_c::getBombWaterGravity() const {
|
||||
return daAlinkHIO_bomb_c0::m.mWaterGravity;
|
||||
}
|
||||
|
||||
/* 800E3800-800E3810 0DE140 0010+00 0/0 0/0 2/2 .text getBombWaterMaxFallSpeed__9daAlink_cCFv */
|
||||
/* 800E3800-800E3810 0DE140 0010+00 0/0 0/0 2/2 .text getBombWaterMaxFallSpeed__9daAlink_cCFv */
|
||||
f32 daAlink_c::getBombWaterMaxFallSpeed() const {
|
||||
return daAlinkHIO_bomb_c0::m.mWaterMaxFallSpeed;
|
||||
}
|
||||
|
||||
/* 800E3810-800E3820 0DE150 0010+00 0/0 0/0 1/1 .text
|
||||
* getBombExplodeWaterEffectLimit__9daAlink_cCFv */
|
||||
/* 800E3810-800E3820 0DE150 0010+00 0/0 0/0 1/1 .text getBombExplodeWaterEffectLimit__9daAlink_cCFv */
|
||||
f32 daAlink_c::getBombExplodeWaterEffectLimit() const {
|
||||
return daAlinkHIO_bomb_c0::m.mExplodeWaterEffectLimit;
|
||||
}
|
||||
|
||||
/* 800E3820-800E3830 0DE160 0010+00 0/0 0/0 1/1 .text getBombInsectLimitAngle__9daAlink_cCFv */
|
||||
/* 800E3820-800E3830 0DE160 0010+00 0/0 0/0 1/1 .text getBombInsectLimitAngle__9daAlink_cCFv */
|
||||
s16 daAlink_c::getBombInsectLimitAngle() const {
|
||||
return daAlinkHIO_bomb_c0::m.mBombInsectLimitAngle;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -22,16 +22,26 @@
|
|||
#define ACTION_B_DOWN 23
|
||||
#define ACTION_START 50
|
||||
|
||||
#define ANM_ATTACK 5
|
||||
#define ANM_ATTACK_WAIT 6
|
||||
#define ANM_DAMAGE 7
|
||||
#define ANM_EAT 8
|
||||
#define ANM_EAT_WAIT 9
|
||||
#define ANM_NO_DAMAGE 10
|
||||
#define ANM_ROUT 11
|
||||
#define ANM_WAIT 12
|
||||
#define ANM_WAIT01 13
|
||||
#define ANM_WAIT02 14
|
||||
enum B_BH_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x05 */ BCK_BH_ATTACK = 5,
|
||||
/* 0x06 */ BCK_BH_ATTACKWAIT,
|
||||
/* 0x07 */ BCK_BH_DAMAGE,
|
||||
/* 0x08 */ BCK_BH_EAT,
|
||||
/* 0x09 */ BCK_BH_EATWAIT,
|
||||
/* 0x0A */ BCK_BH_NODAMAGE,
|
||||
/* 0x0B */ BCK_BH_ROUT,
|
||||
/* 0x0C */ BCK_BH_WAIT,
|
||||
/* 0x0D */ BCK_BH_WAIT01,
|
||||
/* 0x0E */ BCK_BH_WAIT02,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x11 */ BMDR_BH_KUKI = 0x11,
|
||||
/* 0x12 */ BMDR_BH_LEAF,
|
||||
|
||||
/* BMDV */
|
||||
/* 0x15 */ BMDV_BH = 0x15,
|
||||
};
|
||||
|
||||
/* 805AE26C-805AE2A4 0000EC 0038+00 1/1 0/0 0/0 .text __ct__12daB_BH_HIO_cFv */
|
||||
daB_BH_HIO_c::daB_BH_HIO_c() {
|
||||
|
|
@ -122,7 +132,7 @@ static void b_bh_wait(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_WAIT, 10.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_WAIT, 10.0f, 2, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
if (a_this->health <= 1) {
|
||||
i_this->mTimers[1] = ((f32)l_HIO.attack_freq_a / 2) + cM_rndF((f32)l_HIO.attack_freq_a / 2);
|
||||
|
|
@ -209,7 +219,7 @@ static void b_bh_attack_1(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_ATTACK_WAIT, 5.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_ATTACKWAIT, 5.0f, 2, 1.0f);
|
||||
i_this->mMode = 2;
|
||||
i_this->mTimers[0] = NREG_S(0) + 35;
|
||||
|
||||
|
|
@ -221,7 +231,7 @@ static void b_bh_attack_1(b_bh_class* i_this) {
|
|||
break;
|
||||
case 2:
|
||||
if (i_this->mTimers[0] == NREG_S(4) + 8) {
|
||||
anm_init(i_this, ANM_ATTACK, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_ATTACK, 3.0f, 0, 1.0f);
|
||||
}
|
||||
|
||||
a_this->current.angle.y = i_this->field_0x684;
|
||||
|
|
@ -279,8 +289,8 @@ static void b_bh_attack_1(b_bh_class* i_this) {
|
|||
break;
|
||||
}
|
||||
|
||||
if (i_this->mAnm == ANM_ATTACK && i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, ANM_WAIT02, 5.0f, 2, 1.0f);
|
||||
if (i_this->mAnm == BCK_BH_ATTACK && i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, BCK_BH_WAIT02, 5.0f, 2, 1.0f);
|
||||
}
|
||||
|
||||
cLib_addCalc2(&a_this->speedF, target_speed, 1.0f, var_f30);
|
||||
|
|
@ -299,7 +309,7 @@ static void b_bh_bombeat(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_EAT, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_EAT, 3.0f, 0, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_BH_V_EAT, -1);
|
||||
|
||||
|
|
@ -313,7 +323,7 @@ static void b_bh_bombeat(b_bh_class* i_this) {
|
|||
break;
|
||||
case 1:
|
||||
if (i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, ANM_EAT_WAIT, 1.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_EATWAIT, 1.0f, 2, 1.0f);
|
||||
i_this->mMode = 2;
|
||||
i_this->mTimers[0] = 40;
|
||||
}
|
||||
|
|
@ -321,7 +331,7 @@ static void b_bh_bombeat(b_bh_class* i_this) {
|
|||
case 2:
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mMode = 3;
|
||||
anm_init(i_this, ANM_DAMAGE, 1.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_DAMAGE, 1.0f, 0, 1.0f);
|
||||
i_this->field_0x90c = 2;
|
||||
i_this->field_0xf22 = 1;
|
||||
|
||||
|
|
@ -356,7 +366,7 @@ static s8 b_bh_down(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_ROUT, 1.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_ROUT, 1.0f, 2, 1.0f);
|
||||
i_this->field_0x690 = 0.0f;
|
||||
i_this->mMode = 1;
|
||||
i_this->mTimers[0] = 200;
|
||||
|
|
@ -416,7 +426,7 @@ static s8 b_bh_down(b_bh_class* i_this) {
|
|||
a_this->current.pos.z = i_this->mBasePos.z;
|
||||
a_this->health = 3;
|
||||
|
||||
anm_init(i_this, ANM_WAIT, 10.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_WAIT, 10.0f, 2, 1.0f);
|
||||
i_this->mAction = ACTION_B_WAIT;
|
||||
i_this->mMode = 1;
|
||||
|
||||
|
|
@ -473,7 +483,7 @@ static void b_bh_b_wait(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_WAIT, 10.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_WAIT, 10.0f, 2, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
i_this->mTimers[1] = l_HIO.attack_freq_b + cM_rndF(l_HIO.attack_freq_b);
|
||||
break;
|
||||
|
|
@ -540,14 +550,14 @@ static void b_bh_b_attack_1(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_ATTACK_WAIT, 5.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_ATTACKWAIT, 5.0f, 2, 1.0f);
|
||||
i_this->mMode = 2;
|
||||
i_this->mTimers[0] = NREG_S(0) + 35;
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_BH_V_ATTACK, -1);
|
||||
break;
|
||||
case 2:
|
||||
if (i_this->mTimers[0] == NREG_S(4) + 8) {
|
||||
anm_init(i_this, ANM_ATTACK, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_ATTACK, 3.0f, 0, 1.0f);
|
||||
}
|
||||
|
||||
a_this->current.angle.y = i_this->field_0x684;
|
||||
|
|
@ -600,8 +610,8 @@ static void b_bh_b_attack_1(b_bh_class* i_this) {
|
|||
break;
|
||||
}
|
||||
|
||||
if (i_this->mAnm == ANM_ATTACK && i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, ANM_WAIT02, 5.0f, 2, 1.0f);
|
||||
if (i_this->mAnm == BCK_BH_ATTACK && i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, BCK_BH_WAIT02, 5.0f, 2, 1.0f);
|
||||
}
|
||||
|
||||
cLib_addCalc2(&a_this->speedF, target_speed, 1.0f, speed_step);
|
||||
|
|
@ -619,13 +629,13 @@ static void b_bh_b_bombeat(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_EAT, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_EAT, 3.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_BH_V_EAT, -1);
|
||||
i_this->mMode = 1;
|
||||
break;
|
||||
case 1:
|
||||
if (i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, ANM_EAT_WAIT, 1.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_EATWAIT, 1.0f, 2, 1.0f);
|
||||
i_this->mMode = 2;
|
||||
i_this->mTimers[0] = 60;
|
||||
}
|
||||
|
|
@ -633,7 +643,7 @@ static void b_bh_b_bombeat(b_bh_class* i_this) {
|
|||
case 2:
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mMode = 3;
|
||||
anm_init(i_this, ANM_DAMAGE, 1.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_DAMAGE, 1.0f, 0, 1.0f);
|
||||
i_this->field_0x90c = 2;
|
||||
i_this->field_0xf22 = 1;
|
||||
i_this->mTimers[0] = 20;
|
||||
|
|
@ -667,7 +677,7 @@ static s8 b_bh_b_down(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_ROUT, 1.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_ROUT, 1.0f, 2, 1.0f);
|
||||
i_this->field_0x690 = 0.0f;
|
||||
i_this->mMode = 1;
|
||||
i_this->mTimers[0] = 200;
|
||||
|
|
@ -735,7 +745,7 @@ static void b_bh_start(b_bh_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, ANM_WAIT, 10.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_BH_WAIT, 10.0f, 2, 1.0f);
|
||||
if (i_this->mID != 0) {
|
||||
i_this->mpModelMorf->setFrame(10.0f);
|
||||
}
|
||||
|
|
@ -959,7 +969,7 @@ static void damage_check(b_bh_class* i_this) {
|
|||
i_this->mMode = 1;
|
||||
i_this->mTimers[1] = l_HIO.attack_freq_a + cM_rndF(l_HIO.attack_freq_a);
|
||||
i_this->mTimers[0] = 0;
|
||||
anm_init(i_this, ANM_NO_DAMAGE, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_NODAMAGE, 3.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_BH_V_NODAMAGE, -1);
|
||||
dComIfGp_getVibration().StartShock(VIBMODE_S_POWER8, 0x1F, cXyz(0.0f, 1.0f, 0.0f));
|
||||
} else {
|
||||
|
|
@ -1015,13 +1025,13 @@ static void damage_check(b_bh_class* i_this) {
|
|||
def_se_set(&i_this->mSound, i_this->mAtInfo.mpCollider, 0x2D, NULL);
|
||||
|
||||
if (i_this->mAction != ACTION_BOMB_EAT && i_this->mAction != ACTION_B_BOMB_EAT) {
|
||||
anm_init(i_this, ANM_NO_DAMAGE, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_BH_NODAMAGE, 3.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_BH_V_NODAMAGE, -1);
|
||||
}
|
||||
}
|
||||
|
||||
if (i_this->mAnm == ANM_NO_DAMAGE && i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, ANM_WAIT, 10.0f, 2, 1.0f);
|
||||
if (i_this->mAnm == BCK_BH_NODAMAGE && i_this->mpModelMorf->isStop()) {
|
||||
anm_init(i_this, BCK_BH_WAIT, 10.0f, 2, 1.0f);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1207,7 +1217,7 @@ static void anm_se_set(b_bh_class* i_this) {
|
|||
fopAc_ac_c* a_this = (fopAc_ac_c*)i_this;
|
||||
|
||||
f32 particle_target_size = 0.0f;
|
||||
if (i_this->mAnm == ANM_WAIT && a_this->current.pos.y > 50.0f) {
|
||||
if (i_this->mAnm == BCK_BH_WAIT && a_this->current.pos.y > 50.0f) {
|
||||
particle_target_size = 1.0f;
|
||||
}
|
||||
|
||||
|
|
@ -1446,12 +1456,12 @@ static int daB_BH_Delete(b_bh_class* i_this) {
|
|||
static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
b_bh_class* a_this = (b_bh_class*)i_this;
|
||||
|
||||
a_this->mpModelMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("B_BH", 0x15), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_BH", 12), 2, 1.0f, 0, -1, &a_this->mSound, 0, 0x11000084);
|
||||
a_this->mpModelMorf = new mDoExt_McaMorfSO((J3DModelData*)dComIfG_getObjectRes("B_BH", BMDV_BH), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_BH", 12), 2, 1.0f, 0, -1, &a_this->mSound, 0, 0x11000084);
|
||||
if (a_this->mpModelMorf == NULL || a_this->mpModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
void* modelData = dComIfG_getObjectRes("B_BH", 0x11);
|
||||
void* modelData = dComIfG_getObjectRes("B_BH", BMDR_BH_KUKI);
|
||||
JUT_ASSERT(2475, modelData != 0);
|
||||
|
||||
for (int i = 0; i < 17; i++) {
|
||||
|
|
@ -1463,7 +1473,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
a_this->field_0x88c[i] = 1.0f;
|
||||
}
|
||||
|
||||
modelData = dComIfG_getObjectRes("B_BH", 0x12);
|
||||
modelData = dComIfG_getObjectRes("B_BH", BMDR_BH_LEAF);
|
||||
JUT_ASSERT(2491, modelData != 0);
|
||||
|
||||
for (int i = 0; i < 17; i++) {
|
||||
|
|
|
|||
|
|
@ -194,23 +194,7 @@ enum daB_BQ_JNT {
|
|||
JNT_SLEAF_UR2,
|
||||
};
|
||||
|
||||
/* 805BA874-805BA880 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 805BA880-805BA894 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
UNK_REL_DATA;
|
||||
|
||||
/* 805B356C-805B35A0 0000EC 0034+00 1/1 0/0 0/0 .text __ct__12daB_BQ_HIO_cFv */
|
||||
daB_BQ_HIO_c::daB_BQ_HIO_c() {
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -8,7 +8,22 @@
|
|||
#include "d/d_com_inf_game.h"
|
||||
#include "d/actor/d_a_b_go.h"
|
||||
|
||||
enum Action {
|
||||
/* 0x00 */ ACTION_WAIT,
|
||||
/* 0x01 */ ACTION_WALK,
|
||||
/* 0x02 */ ACTION_BALL,
|
||||
/* 0x03 */ ACTION_STICK,
|
||||
};
|
||||
|
||||
enum B_GOS_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x04 */ BCK_GRA_WAIT_AGRA_RUN_A = 4,
|
||||
/* 0x05 */ BCK_GRA_WAIT_AGRA_TO_STONE_NORMAL,
|
||||
/* 0x06 */ BCK_GRA_WAIT_AGRA_WAIT_A,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x09 */ BMDR_GRA_A = 9,
|
||||
};
|
||||
|
||||
/* 8060541C-80605514 000000 00F8+00 1/1 0/0 0/0 .data j_info */
|
||||
static b_gos_j_info j_info[] = {
|
||||
|
|
@ -61,13 +76,13 @@ static void wait(b_gos_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 6, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f);
|
||||
anm_init(i_this, BCK_GRA_WAIT_AGRA_WAIT_A, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
i_this->mTimers[0] = cM_rndF(30) + 30.0f;
|
||||
break;
|
||||
case 1:
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mAction = 1;
|
||||
i_this->mAction = ACTION_WALK;
|
||||
i_this->mMode = 0;
|
||||
}
|
||||
break;
|
||||
|
|
@ -89,7 +104,7 @@ static void walk(b_gos_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 4, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f);
|
||||
anm_init(i_this, BCK_GRA_WAIT_AGRA_RUN_A, 5.0f, J3DFrameCtrl::EMode_LOOP, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
i_this->mTimers[0] = cM_rndF(60) + 60.0f;
|
||||
i_this->mWalkDirection = cM_rndF(0x10000);
|
||||
|
|
@ -97,7 +112,7 @@ static void walk(b_gos_class* i_this) {
|
|||
case 1:
|
||||
speed = l_HIO.mNormalSpeed;
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mAction = 0;
|
||||
i_this->mAction = ACTION_WAIT;
|
||||
i_this->mMode = 0;
|
||||
}
|
||||
break;
|
||||
|
|
@ -116,14 +131,14 @@ static void ball(b_gos_class* i_this) {
|
|||
// fallthrough
|
||||
case 1:
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
anm_init(i_this, 5, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f);
|
||||
anm_init(i_this, BCK_GRA_WAIT_AGRA_TO_STONE_NORMAL, 5.0f, J3DFrameCtrl::EMode_NONE, 1.0f);
|
||||
i_this->mMode = 2;
|
||||
i_this->mTimers[0] = cM_rndF(30) + 60.0f;
|
||||
}
|
||||
break;
|
||||
case 2:
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mAction = 3;
|
||||
i_this->mAction = ACTION_STICK;
|
||||
i_this->mMode = 0;
|
||||
}
|
||||
break;
|
||||
|
|
@ -197,17 +212,17 @@ static void action(b_gos_class* i_this) {
|
|||
var_r29 = 0;
|
||||
|
||||
switch (i_this->mAction) {
|
||||
case 0:
|
||||
case ACTION_WAIT:
|
||||
wait(i_this);
|
||||
break;
|
||||
case 1:
|
||||
case ACTION_WALK:
|
||||
walk(i_this);
|
||||
break;
|
||||
case 2:
|
||||
case ACTION_BALL:
|
||||
ball(i_this);
|
||||
var_r29 = 1;
|
||||
break;
|
||||
case 3:
|
||||
case ACTION_STICK:
|
||||
stick(i_this);
|
||||
on_cyl_co = false;
|
||||
update_pos = false;
|
||||
|
|
@ -252,7 +267,7 @@ static void action(b_gos_class* i_this) {
|
|||
}
|
||||
|
||||
if (boss->field_0x692 == 1) {
|
||||
i_this->mAction = 0;
|
||||
i_this->mAction = ACTION_WAIT;
|
||||
i_this->mMode = 0;
|
||||
i_this->speedF = cM_rndF(10);
|
||||
i_this->speed.y = cM_rndF(10);
|
||||
|
|
@ -262,7 +277,7 @@ static void action(b_gos_class* i_this) {
|
|||
cLib_addCalc0(&i_this->field_0x69c, 1.0f, 2.5f);
|
||||
|
||||
if (boss->field_0x692 == 2) {
|
||||
i_this->mAction = 2;
|
||||
i_this->mAction = ACTION_BALL;
|
||||
i_this->mMode = 0;
|
||||
i_this->speedF = 0.0f;
|
||||
}
|
||||
|
|
@ -383,7 +398,7 @@ static int daB_GOS_Create(fopAc_ac_c* i_this) {
|
|||
a_this->mAtInfo.mpSound = &a_this->mSound;
|
||||
|
||||
a_this->gravity = -7.0f;
|
||||
a_this->mAction = 0;
|
||||
a_this->mAction = ACTION_WAIT;
|
||||
|
||||
static dCcD_SrcCyl cc_cyl_src = {
|
||||
{
|
||||
|
|
|
|||
|
|
@ -10,8 +10,163 @@
|
|||
#include "m_Do/m_Do_graphic.h"
|
||||
|
||||
UNK_REL_DATA;
|
||||
|
||||
#include "f_op/f_op_actor_enemy.h"
|
||||
|
||||
enum B_MGN_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x06 */ BCK_MGN_APPROACH = 6,
|
||||
/* 0x07 */ BCK_MGN_BACKJUMP,
|
||||
/* 0x08 */ BCK_MGN_BLOW,
|
||||
/* 0x09 */ BCK_MGN_DASH,
|
||||
/* 0x0A */ BCK_MGN_DASH_JUMP,
|
||||
/* 0x0B */ BCK_MGN_DOWNL,
|
||||
/* 0x0C */ BCK_MGN_DOWNL_DAMAGE,
|
||||
/* 0x0D */ BCK_MGN_DOWNL_LOOP,
|
||||
/* 0x0E */ BCK_MGN_DOWNL_UP,
|
||||
/* 0x0F */ BCK_MGN_DOWNL_UPA,
|
||||
/* 0x10 */ BCK_MGN_DOWNL_UPB,
|
||||
/* 0x11 */ BCK_MGN_DOWNL_WAIT,
|
||||
/* 0x12 */ BCK_MGN_DOWNR,
|
||||
/* 0x13 */ BCK_MGN_DOWNR_DAMAGE,
|
||||
/* 0x14 */ BCK_MGN_DOWNR_LOOP,
|
||||
/* 0x15 */ BCK_MGN_DOWNR_UPA,
|
||||
/* 0x16 */ BCK_MGN_DOWNR_UPB,
|
||||
/* 0x17 */ BCK_MGN_DOWNR_WAIT,
|
||||
/* 0x18 */ BCK_MGN_DROP,
|
||||
/* 0x19 */ BCK_MGN_DROP_POSE,
|
||||
/* 0x1A */ BCK_MGN_END_DEMO,
|
||||
/* 0x1B */ BCK_MGN_MDCATCHED,
|
||||
/* 0x1C */ BCK_MGN_MDCATCHST,
|
||||
/* 0x1D */ BCK_MGN_MDTHROWLED,
|
||||
/* 0x1E */ BCK_MGN_MDTHROWLST,
|
||||
/* 0x1F */ BCK_MGN_MDTHROWRED,
|
||||
/* 0x20 */ BCK_MGN_MDTHROWRST,
|
||||
/* 0x21 */ BCK_MGN_OP,
|
||||
/* 0x22 */ BCK_MGN_SIDESLIPL,
|
||||
/* 0x23 */ BCK_MGN_SIDESLIPR,
|
||||
/* 0x24 */ BCK_MGN_STEP,
|
||||
/* 0x25 */ BCK_MGN_WAIT,
|
||||
/* 0x26 */ BCK_MGN_WAIT2,
|
||||
/* 0x27 */ BCK_WL_MGNCATCHED,
|
||||
/* 0x28 */ BCK_WL_MGNCATCHST,
|
||||
/* 0x29 */ BCK_WL_MGNTHROWLED,
|
||||
/* 0x2A */ BCK_WL_MGNTHROWLST,
|
||||
/* 0x2B */ BCK_WL_MGNTHROWRED,
|
||||
/* 0x2C */ BCK_WL_MGNTHROWRST,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x2F */ BMDR_MGN = 0x2F,
|
||||
/* 0X30 */ BMDR_MGN_TAIEKI,
|
||||
|
||||
/* BRK */
|
||||
/* 0x33 */ BRK_MGN_CORE = 0x33,
|
||||
/* 0x34 */ BRK_MGN_CORE_BEAT,
|
||||
/* 0x35 */ BRK_MGN_END_DEMO,
|
||||
/* 0x36 */ BRK_MGN_OP_DEMO,
|
||||
|
||||
/* BTK */
|
||||
/* 0x39 */ BTK_MGN_DASH_JUMP = 0x39,
|
||||
/* 0x3A */ BTK_MGN_DROP,
|
||||
/* 0x3B */ BTK_MGN_END_DEMO,
|
||||
/* 0x3C */ BTK_MGN_ENTER,
|
||||
/* 0x3D */ BTK_MGN_EXIT,
|
||||
};
|
||||
|
||||
enum B_MGNE_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x06 */ BCK_EF_GDGATE_START = 6,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x09 */ BMDR_EF_GDGATE = 9,
|
||||
|
||||
/* BRK */
|
||||
/* 0x0C */ BRK_EF_GDGATE_APPEAR = 12,
|
||||
/* 0x0D */ BRK_EF_GDGATE_START,
|
||||
|
||||
/* BTK */
|
||||
/* 0x10 */ BTK_EF_GDGATE = 16,
|
||||
};
|
||||
|
||||
enum Joint {
|
||||
/* 0x00 */ JNT_WORLD_ROOT,
|
||||
/* 0x01 */ JNT_BACKBONE1,
|
||||
/* 0x02 */ JNT_BACKBONE2,
|
||||
/* 0x03 */ JNT_HAIRA1,
|
||||
/* 0x04 */ JNT_HAIRA2,
|
||||
/* 0x05 */ JNT_HAIRBL1,
|
||||
/* 0x06 */ JNT_HAIRBL2,
|
||||
/* 0x07 */ JNT_HAIRBR1,
|
||||
/* 0x08 */ JNT_HAIRBR2,
|
||||
/* 0x09 */ JNT_HAIRCL1,
|
||||
/* 0x0A */ JNT_HAIRCL2,
|
||||
/* 0x0B */ JNT_HAIRCR1,
|
||||
/* 0x0C */ JNT_HAIRCR2,
|
||||
/* 0x0D */ JNT_HAIRDL1,
|
||||
/* 0x0E */ JNT_HAIRDL2,
|
||||
/* 0x0F */ JNT_HAIRDL3,
|
||||
/* 0x10 */ JNT_HAIRDR1,
|
||||
/* 0x11 */ JNT_HAIRDR2,
|
||||
/* 0x12 */ JNT_HAIRDR3,
|
||||
/* 0x13 */ JNT_HAIREL1,
|
||||
/* 0x14 */ JNT_HAIREL2,
|
||||
/* 0x15 */ JNT_HAIREL3,
|
||||
/* 0x16 */ JNT_HAIRER1,
|
||||
/* 0x17 */ JNT_HAIRER2,
|
||||
/* 0x18 */ JNT_HAIRER3,
|
||||
/* 0x19 */ JNT_NECK,
|
||||
/* 0x1A */ JNT_BEARD,
|
||||
/* 0x1B */ JNT_HEAD,
|
||||
/* 0x1C */ JNT_CHIN,
|
||||
/* 0x1D */ JNT_TANGE,
|
||||
/* 0x1E */ JNT_EARL,
|
||||
/* 0x1F */ JNT_EARR,
|
||||
/* 0x20 */ JNT_NOSE,
|
||||
/* 0x21 */ JNT_SHOULDEL,
|
||||
/* 0x22 */ JNT_ARML1,
|
||||
/* 0x23 */ JNT_ARML2,
|
||||
/* 0x24 */ JNT_FURL,
|
||||
/* 0x25 */ JNT_HANDL,
|
||||
/* 0x26 */ JNT_FINGAL1,
|
||||
/* 0x27 */ JNT_FINGAL2,
|
||||
/* 0x28 */ JNT_FINGBL1,
|
||||
/* 0x29 */ JNT_FINGBL2,
|
||||
/* 0x2A */ JNT_FINGCL1,
|
||||
/* 0x2B */ JNT_FINGCL2,
|
||||
/* 0x2C */ JNT_FINGDL1,
|
||||
/* 0x2D */ JNT_FINGDL2,
|
||||
/* 0x2E */ JNT_FINGEL1,
|
||||
/* 0x2F */ JNT_FINGEL2,
|
||||
/* 0x30 */ JNT_SHOULDER,
|
||||
/* 0x31 */ JNT_ARMR1,
|
||||
/* 0x32 */ JNT_ARMR2,
|
||||
/* 0x33 */ JNT_FURR,
|
||||
/* 0x34 */ JNT_HANDR,
|
||||
/* 0x35 */ JNT_FINGAR1,
|
||||
/* 0x36 */ JNT_FINGAR2,
|
||||
/* 0x37 */ JNT_FINGBR1,
|
||||
/* 0x38 */ JNT_FINGBR2,
|
||||
/* 0x39 */ JNT_FINGCR1,
|
||||
/* 0x3A */ JNT_FINGCR2,
|
||||
/* 0x3B */ JNT_FINGDR1,
|
||||
/* 0x3C */ JNT_FINGDR2,
|
||||
/* 0x3D */ JNT_FINGER1,
|
||||
/* 0x3E */ JNT_FINGER2,
|
||||
/* 0x3F */ JNT_WAIST,
|
||||
/* 0x40 */ JNT_LEGL1,
|
||||
/* 0x41 */ JNT_LEGL2,
|
||||
/* 0x42 */ JNT_LEGL3,
|
||||
/* 0x43 */ JNT_FOOTL,
|
||||
/* 0x44 */ JNT_LEGR1,
|
||||
/* 0x45 */ JNT_LEGR2,
|
||||
/* 0x46 */ JNT_LEGR3,
|
||||
/* 0x47 */ JNT_FOOTR,
|
||||
/* 0x48 */ JNT_TAIL1,
|
||||
/* 0x49 */ JNT_TAIL2,
|
||||
/* 0x4A */ JNT_TAIL3,
|
||||
/* 0x4B */ JNT_TAIL4,
|
||||
};
|
||||
|
||||
namespace {
|
||||
/* 806100CC-8061010C 000038 0040+00 0/1 0/0 0/0 .data cc_sph_src__23@unnamed@d_a_b_mgn_cpp@ */
|
||||
static dCcD_SrcSph cc_sph_src = {
|
||||
|
|
@ -75,9 +230,9 @@ int daB_MGN_c::ctrlJoint(J3DJoint* i_joint, J3DModel* i_model) {
|
|||
int jntNo = i_joint->getJntNo();
|
||||
mDoMtx_stack_c::copy(i_model->getAnmMtx(jntNo));
|
||||
|
||||
if (jntNo == 1) {
|
||||
if (jntNo == JNT_BACKBONE1) {
|
||||
mDoMtx_stack_c::YrotM(shape_angle.y - field_0xb16);
|
||||
} else if (jntNo == 25) {
|
||||
} else if (jntNo == JNT_NECK) {
|
||||
mDoMtx_stack_c::YrotM(field_0xb16 - field_0xb14);
|
||||
}
|
||||
|
||||
|
|
@ -201,25 +356,25 @@ void daB_MGN_c::setDashSmokeEffect() {
|
|||
int var_r28 = 0;
|
||||
int var_r27;
|
||||
|
||||
if (checkBck(21) || checkBck(15)) {
|
||||
if (checkBck(BCK_MGN_DOWNR_UPA) || checkBck(BCK_MGN_DOWNL_UPA)) {
|
||||
var_r28 = 4;
|
||||
}
|
||||
|
||||
if (mpMgnModelMorf->checkFrame(foot_rand_frame[var_r28])) {
|
||||
jnt_no = 0x34;
|
||||
jnt_no = JNT_HANDR;
|
||||
dComIfGp_getVibration().StartShock(2, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mSound.startCreatureSound(Z2SE_EN_MGN_FOOTNOTE, 0, -1);
|
||||
var_r27 = 0;
|
||||
} else if (mpMgnModelMorf->checkFrame(foot_rand_frame[var_r28 + 1])) {
|
||||
jnt_no = 0x25;
|
||||
jnt_no = JNT_HANDL;
|
||||
dComIfGp_getVibration().StartShock(2, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mSound.startCreatureSound(Z2SE_EN_MGN_FOOTNOTE, 0, -1);
|
||||
var_r27 = 1;
|
||||
} else if (mpMgnModelMorf->checkFrame(foot_rand_frame[var_r28 + 2])) {
|
||||
jnt_no = 0x47;
|
||||
jnt_no = JNT_FOOTR;
|
||||
var_r27 = 2;
|
||||
} else if (mpMgnModelMorf->checkFrame(foot_rand_frame[var_r28 + 3])) {
|
||||
jnt_no = 0x43;
|
||||
jnt_no = JNT_FOOTL;
|
||||
var_r27 = 3;
|
||||
}
|
||||
|
||||
|
|
@ -246,22 +401,22 @@ void daB_MGN_c::setBackJumpEffect() {
|
|||
int var_r27;
|
||||
|
||||
if (mpMgnModelMorf->checkFrame(40.0f)) {
|
||||
jnt_no = 0x34;
|
||||
jnt_no = JNT_HANDR;
|
||||
dComIfGp_getVibration().StartShock(2, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mSound.startCreatureSound(Z2SE_EN_MGN_FOOTNOTE, 0, -1);
|
||||
var_r27 = 0;
|
||||
} else if (mpMgnModelMorf->checkFrame(37.0f)) {
|
||||
jnt_no = 0x25;
|
||||
jnt_no = JNT_HANDL;
|
||||
dComIfGp_getVibration().StartShock(2, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mSound.startCreatureSound(Z2SE_EN_MGN_FOOTNOTE, 0, -1);
|
||||
var_r27 = 1;
|
||||
} else if (mpMgnModelMorf->checkFrame(35.0f)) {
|
||||
jnt_no = 0x47;
|
||||
jnt_no = JNT_FOOTR;
|
||||
dComIfGp_getVibration().StartShock(2, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
mSound.startCreatureSound(Z2SE_EN_MGN_FOOTNOTE, 0, -1);
|
||||
var_r27 = 2;
|
||||
} else if (mpMgnModelMorf->checkFrame(36.0f)) {
|
||||
jnt_no = 0x43;
|
||||
jnt_no = JNT_FOOTL;
|
||||
var_r27 = 3;
|
||||
}
|
||||
|
||||
|
|
@ -282,15 +437,14 @@ void daB_MGN_c::setBackJumpEffect() {
|
|||
}
|
||||
}
|
||||
|
||||
/* 806062C0-80606424 000C80 0164+00 1/1 0/0 0/0 .text setSlideSmokeEffect__9daB_MGN_cFv
|
||||
*/
|
||||
/* 806062C0-80606424 000C80 0164+00 1/1 0/0 0/0 .text setSlideSmokeEffect__9daB_MGN_cFv */
|
||||
void daB_MGN_c::setSlideSmokeEffect() {
|
||||
dBgS_GndChk gndchk;
|
||||
cXyz effpos;
|
||||
mSound.startCreatureSoundLevel(Z2SE_EN_MGN_SLIP, 0, -1);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
static int foot_jnt[4] = {0x34, 0x25, 0x47, 0x43};
|
||||
static int foot_jnt[4] = {JNT_HANDR, JNT_HANDL, JNT_FOOTR, JNT_FOOTL};
|
||||
mDoMtx_stack_c::copy(mpMgnModelMorf->getModel()->getAnmMtx(foot_jnt[i]));
|
||||
mDoMtx_stack_c::multVecZero(&effpos);
|
||||
|
||||
|
|
@ -366,7 +520,7 @@ void daB_MGN_c::setStepEffect() {
|
|||
for (int i = 0; i < 2; i++) {
|
||||
J3DModel* model = mpMgnModelMorf->getModel();
|
||||
|
||||
static int foot_jnt[2] = {0x34, 0x25};
|
||||
static int foot_jnt[2] = {JNT_HANDR, JNT_HANDL};
|
||||
mDoMtx_stack_c::copy(mpMgnModelMorf->getModel()->getAnmMtx(foot_jnt[i]));
|
||||
mDoMtx_stack_c::multVecZero(&effpos);
|
||||
effpos.y += 100.0f;
|
||||
|
|
@ -381,8 +535,7 @@ void daB_MGN_c::setStepEffect() {
|
|||
}
|
||||
}
|
||||
|
||||
/* 8060688C-80606A10 00124C 0184+00 2/2 0/0 0/0 .text setFallAttackEffect__9daB_MGN_cFv
|
||||
*/
|
||||
/* 8060688C-80606A10 00124C 0184+00 2/2 0/0 0/0 .text setFallAttackEffect__9daB_MGN_cFv */
|
||||
void daB_MGN_c::setFallAttackEffect() {
|
||||
dBgS_GndChk gndchk;
|
||||
cXyz effpos;
|
||||
|
|
@ -543,8 +696,7 @@ void daB_MGN_c::calcHideSmokeEffect() {
|
|||
}
|
||||
}
|
||||
|
||||
/* 806071C4-8060729C 001B84 00D8+00 1/1 0/0 0/0 .text drawHideSmokeEffect__9daB_MGN_cFv
|
||||
*/
|
||||
/* 806071C4-8060729C 001B84 00D8+00 1/1 0/0 0/0 .text drawHideSmokeEffect__9daB_MGN_cFv */
|
||||
void daB_MGN_c::drawHideSmokeEffect() {
|
||||
J3DModel* model = mpMgnModelMorf->getModel();
|
||||
J3DModelData* modelData;
|
||||
|
|
@ -1040,10 +1192,10 @@ void daB_MGN_c::executeCircle() {
|
|||
mMoveMode = 1;
|
||||
}
|
||||
case 0:
|
||||
if (checkBck(6)) {
|
||||
setBck(9, 2, 0.0f, l_HIO.dash_anim);
|
||||
} else if (!checkBck(0x13) && !checkBck(12)) {
|
||||
setBck(9, 2, 3.0f, l_HIO.dash_anim);
|
||||
if (checkBck(BCK_MGN_APPROACH)) {
|
||||
setBck(BCK_MGN_DASH, 2, 0.0f, l_HIO.dash_anim);
|
||||
} else if (!checkBck(BCK_MGN_DOWNR_DAMAGE) && !checkBck(BCK_MGN_DOWNL_DAMAGE)) {
|
||||
setBck(BCK_MGN_DASH, 2, 3.0f, l_HIO.dash_anim);
|
||||
}
|
||||
|
||||
field_0xa90 = var_r27;
|
||||
|
|
@ -1067,8 +1219,8 @@ void daB_MGN_c::executeCircle() {
|
|||
setDashSmokeEffect();
|
||||
setBloodEffect();
|
||||
case 4:
|
||||
if (mpMgnModelMorf->isStop() && (checkBck(0x13) || checkBck(12))) {
|
||||
setBck(9, 2, 3.0f, 1.0f);
|
||||
if (mpMgnModelMorf->isStop() && (checkBck(BCK_MGN_DOWNR_DAMAGE) || checkBck(BCK_MGN_DOWNL_DAMAGE))) {
|
||||
setBck(BCK_MGN_DASH, 2, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
if (abs((s16)(field_0xa90 - var_r27)) < 0x800) {
|
||||
|
|
@ -1092,9 +1244,9 @@ void daB_MGN_c::executeCircle() {
|
|||
mAtSph.OffAtSetBit();
|
||||
|
||||
if (field_0xa92 > 0) {
|
||||
setBck(0x23, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_SIDESLIPR, 2, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(0x22, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_SIDESLIPL, 2, 3.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
} else if (mMoveMode == 3) {
|
||||
|
|
@ -1138,7 +1290,7 @@ void daB_MGN_c::executeCircle() {
|
|||
|
||||
cLib_chaseF(&speedF, 0.0f, 1.5f);
|
||||
if (!speedF) {
|
||||
setBck(0x25, 2, 30.0f, 1.0f);
|
||||
setBck(BCK_MGN_WAIT, 2, 30.0f, 1.0f);
|
||||
field_0xa9c = 30;
|
||||
mMoveMode = 6;
|
||||
}
|
||||
|
|
@ -1195,7 +1347,7 @@ void daB_MGN_c::executeDash() {
|
|||
attention_info.flags = 0;
|
||||
mMoveMode = 12;
|
||||
field_0xa9c = 20;
|
||||
setBck(0x25, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_WAIT, 2, 3.0f, 1.0f);
|
||||
} else {
|
||||
speedF = 0.0f;
|
||||
if (((cM_rnd() < 0.3f && mGdgateNum >= 3) || mGdgateNum >= 10) &&
|
||||
|
|
@ -1206,7 +1358,7 @@ void daB_MGN_c::executeDash() {
|
|||
attention_info.flags = 0;
|
||||
mMoveMode = 12;
|
||||
field_0xa9c = 60;
|
||||
setBck(0x25, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_WAIT, 2, 3.0f, 1.0f);
|
||||
|
||||
shape_angle.y = fopAcM_searchPlayerAngleY(this);
|
||||
current.angle.y = shape_angle.y;
|
||||
|
|
@ -1275,7 +1427,7 @@ void daB_MGN_c::executeDash() {
|
|||
break;
|
||||
case 0:
|
||||
mSound.startCreatureVoice(Z2SE_EN_MGN_V_GROWL, -1);
|
||||
setBck(6, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_APPROACH, 0, 3.0f, 1.0f);
|
||||
mMoveMode = 1;
|
||||
mJewelColorMode = 2;
|
||||
case 1:
|
||||
|
|
@ -1295,10 +1447,10 @@ void daB_MGN_c::executeDash() {
|
|||
gravity = -5.0f;
|
||||
}
|
||||
|
||||
if (checkBck(6)) {
|
||||
setBck(9, 2, 0.0f, l_HIO.dash_anim);
|
||||
if (checkBck(BCK_MGN_APPROACH)) {
|
||||
setBck(BCK_MGN_DASH, 2, 0.0f, l_HIO.dash_anim);
|
||||
} else {
|
||||
setBck(9, 2, 3.0f, l_HIO.dash_anim);
|
||||
setBck(BCK_MGN_DASH, 2, 3.0f, l_HIO.dash_anim);
|
||||
}
|
||||
|
||||
mMoveMode = 3;
|
||||
|
|
@ -1438,7 +1590,7 @@ void daB_MGN_c::executeDash() {
|
|||
}
|
||||
break;
|
||||
case 5:
|
||||
setBck(9, 2, 3.0f, l_HIO.dash_anim);
|
||||
setBck(BCK_MGN_DASH, 2, 3.0f, l_HIO.dash_anim);
|
||||
mMoveMode = 6;
|
||||
field_0x20f4[0].OnTgSetBit();
|
||||
mAtSph.OnAtSetBit();
|
||||
|
|
@ -1497,7 +1649,7 @@ void daB_MGN_c::executeThrown() {
|
|||
dComIfGs_onOneZoneSwitch(2, fopAcM_GetRoomNo(this));
|
||||
}
|
||||
|
||||
setBck(0x1c, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_MDCATCHST, 0, 3.0f, 1.0f);
|
||||
|
||||
speedF = 0.0f;
|
||||
mMoveMode = 2;
|
||||
|
|
@ -1521,7 +1673,7 @@ void daB_MGN_c::executeThrown() {
|
|||
cLib_chasePos(¤t.pos, sp4C, 100.0f);
|
||||
|
||||
if (mpMgnModelMorf->isStop()) {
|
||||
setBck(0x1b, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_MDCATCHED, 2, 3.0f, 1.0f);
|
||||
mMoveMode = 3;
|
||||
field_0xa9c = 30;
|
||||
}
|
||||
|
|
@ -1542,7 +1694,7 @@ void daB_MGN_c::executeThrown() {
|
|||
dComIfGp_getVibration().StopQuake(0x1f);
|
||||
|
||||
offThrowMode(0x10);
|
||||
setBck(0x20, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_MDTHROWRST, 0, 3.0f, 1.0f);
|
||||
|
||||
field_0xafc = 1;
|
||||
mMoveMode = 5;
|
||||
|
|
@ -1551,7 +1703,7 @@ void daB_MGN_c::executeThrown() {
|
|||
dComIfGp_getVibration().StopQuake(0x1f);
|
||||
|
||||
offThrowMode(8);
|
||||
setBck(0x1e, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_MDTHROWLST, 0, 3.0f, 1.0f);
|
||||
|
||||
field_0xafc = 0;
|
||||
mMoveMode = 5;
|
||||
|
|
@ -1564,7 +1716,7 @@ void daB_MGN_c::executeThrown() {
|
|||
offThrowMode(4);
|
||||
mSound.startCreatureVoice(Z2SE_EN_MGN_V_MIDNA_RELEASE, -1);
|
||||
|
||||
setBck(8, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_BLOW, 0, 3.0f, 1.0f);
|
||||
mMoveMode = 10;
|
||||
speedF = 0.0f;
|
||||
}
|
||||
|
|
@ -1579,14 +1731,14 @@ void daB_MGN_c::executeThrown() {
|
|||
gravity = -5.0f;
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(0x1d, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_MDTHROWLED, 0, 3.0f, 1.0f);
|
||||
|
||||
current.angle.y = shape_angle.y + -0x2800;
|
||||
|
||||
field_0xa90 = shape_angle.y + -0x1000;
|
||||
field_0xa92 = 0x200;
|
||||
} else {
|
||||
setBck(0x1f, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_MDTHROWRED, 0, 3.0f, 1.0f);
|
||||
|
||||
current.angle.y = shape_angle.y + 0x2800;
|
||||
|
||||
|
|
@ -1632,9 +1784,9 @@ void daB_MGN_c::executeThrown() {
|
|||
dComIfGp_getVibration().StartQuake(3, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(20, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_LOOP, 2, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(13, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_LOOP, 2, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
dComIfGs_offOneZoneSwitch(11, fopAcM_GetRoomNo(this));
|
||||
|
|
@ -1703,10 +1855,10 @@ void daB_MGN_c::setDownEnd() {
|
|||
attention_info.flags = 0;
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(0x16, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_UPB, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
} else {
|
||||
setBck(0x10, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_UPB, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + 0x4000;
|
||||
}
|
||||
|
||||
|
|
@ -1725,9 +1877,9 @@ void daB_MGN_c::executeDown() {
|
|||
field_0xafc = mMoveMode;
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(0x12, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(11, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL, 0, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
field_0xb01 = 1;
|
||||
|
|
@ -1754,9 +1906,9 @@ void daB_MGN_c::executeDown() {
|
|||
dComIfGp_getVibration().StartQuake(3, 0x1f, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(20, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_LOOP, 2, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(13, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_LOOP, 2, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
mMoveMode = 3;
|
||||
|
|
@ -1803,9 +1955,9 @@ void daB_MGN_c::executeDown() {
|
|||
break;
|
||||
case 5:
|
||||
if (field_0xafc == 0) {
|
||||
setBck(0x17, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_WAIT, 2, 10.0f, 1.0f);
|
||||
} else {
|
||||
setBck(0x11, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_WAIT, 2, 10.0f, 1.0f);
|
||||
}
|
||||
mMoveMode = 6;
|
||||
case 6:
|
||||
|
|
@ -1829,7 +1981,7 @@ void daB_MGN_c::executeDown() {
|
|||
|
||||
if (mpMgnModelMorf->isStop()) {
|
||||
mSound.startCreatureVoice(Z2SE_EN_MGN_V_GROWL, -1);
|
||||
setBck(6, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_APPROACH, 0, 3.0f, 1.0f);
|
||||
mMoveMode = 8;
|
||||
}
|
||||
break;
|
||||
|
|
@ -1876,10 +2028,10 @@ void daB_MGN_c::executeDownDamage() {
|
|||
field_0xb07 = 0;
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(21, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_UPA, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
} else {
|
||||
setBck(15, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_UPA, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + 0x4000;
|
||||
}
|
||||
|
||||
|
|
@ -1902,9 +2054,9 @@ void daB_MGN_c::executeDownDamage() {
|
|||
}
|
||||
} else {
|
||||
if (field_0xafc == 0) {
|
||||
setBck(19, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_DAMAGE, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(12, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_DAMAGE, 0, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
mMoveMode = 1;
|
||||
|
|
@ -1977,9 +2129,9 @@ void daB_MGN_c::executeDownBiteDamage() {
|
|||
mSound.startCollisionSE(Z2SE_HIT_WOLFBITE, 0x1f);
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(19, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_DAMAGE, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(12, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_DAMAGE, 0, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
mMoveMode = 1;
|
||||
|
|
@ -2009,10 +2161,10 @@ void daB_MGN_c::executeDownBiteDamage() {
|
|||
onBodyCo();
|
||||
|
||||
if (field_0xafc == 0) {
|
||||
setBck(21, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_UPA, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
} else {
|
||||
setBck(15, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_UPA, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + 0x4000;
|
||||
}
|
||||
|
||||
|
|
@ -2033,9 +2185,9 @@ void daB_MGN_c::executeDownBiteDamage() {
|
|||
}
|
||||
} else {
|
||||
if (field_0xafc == 0) {
|
||||
setBck(19, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNR_DAMAGE, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(12, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DOWNL_DAMAGE, 0, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
mSound.startCollisionSE(Z2SE_HIT_WOLFBITE, 0x1e);
|
||||
|
|
@ -2135,7 +2287,7 @@ void daB_MGN_c::executeFall() {
|
|||
mMoveMode = 1;
|
||||
field_0xa9c = 60;
|
||||
|
||||
setBck(0x19, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_DROP_POSE, 2, 3.0f, 1.0f);
|
||||
|
||||
mpMgnBtk->init(mpMgnModelMorf->getModel()->getModelData(),
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_mgn", 0x3a), 1, 0, 0.0f, 0,
|
||||
|
|
@ -2163,7 +2315,7 @@ void daB_MGN_c::executeFall() {
|
|||
break;
|
||||
case 4:
|
||||
if (current.pos.y < 1000.0f) {
|
||||
setBck(0x18, 0, 10.0f, 0.0f);
|
||||
setBck(BCK_MGN_DROP, 0, 10.0f, 0.0f);
|
||||
mMoveMode = 5;
|
||||
}
|
||||
case 5:
|
||||
|
|
@ -2201,7 +2353,7 @@ void daB_MGN_c::executeFall() {
|
|||
if (mpMgnModelMorf->isStop()) {
|
||||
mMoveMode = 10;
|
||||
mSound.startCreatureVoice(Z2SE_EN_MGN_V_GROWL, -1);
|
||||
setBck(7, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_BACKJUMP, 0, 3.0f, 1.0f);
|
||||
}
|
||||
break;
|
||||
case 7:
|
||||
|
|
@ -2212,7 +2364,7 @@ void daB_MGN_c::executeFall() {
|
|||
if (mpMgnModelMorf->isStop()) {
|
||||
mMoveMode = 8;
|
||||
mSound.startCreatureVoice(Z2SE_EN_MGN_V_TURN, -1);
|
||||
setBck(0x24, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_STEP, 0, 3.0f, 1.0f);
|
||||
}
|
||||
break;
|
||||
case 8:
|
||||
|
|
@ -2241,7 +2393,7 @@ void daB_MGN_c::executeFall() {
|
|||
if (mpMgnModelMorf->isStop()) {
|
||||
mMoveMode = 10;
|
||||
mSound.startCreatureVoice(Z2SE_EN_MGN_V_GROWL, -1);
|
||||
setBck(7, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_BACKJUMP, 0, 3.0f, 1.0f);
|
||||
}
|
||||
break;
|
||||
case 10:
|
||||
|
|
@ -2274,7 +2426,7 @@ void daB_MGN_c::executeFall() {
|
|||
cLib_addCalcAngleS(&shape_angle.y, fopAcM_searchPlayerAngleY(this), 0x10, 0x400, 0x80);
|
||||
|
||||
if (mpMgnModelMorf->isStop()) {
|
||||
setBck(0x25, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_WAIT, 2, 3.0f, 1.0f);
|
||||
field_0xa9c = 30;
|
||||
mMoveMode = 13;
|
||||
mJewelColorMode = 2;
|
||||
|
|
@ -2384,7 +2536,7 @@ void daB_MGN_c::executeOpening() {
|
|||
shape_angle.y = current.angle.y = -0x8000;
|
||||
field_0xb16 = field_0xb14 = shape_angle.y;
|
||||
|
||||
setBck(0x21, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_OP, 0, 3.0f, 1.0f);
|
||||
|
||||
mpMgnCoreBrk->remove(modelData);
|
||||
|
||||
|
|
@ -2518,7 +2670,7 @@ void daB_MGN_c::executeOpening() {
|
|||
|
||||
if (mpMgnModelMorf->isStop()) {
|
||||
mSound.startCreatureVoice(Z2SE_EN_MGN_V_GROWL, -1);
|
||||
setBck(7, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_BACKJUMP, 0, 3.0f, 1.0f);
|
||||
mMoveMode = 5;
|
||||
}
|
||||
|
||||
|
|
@ -2571,7 +2723,7 @@ void daB_MGN_c::executeOpening() {
|
|||
cLib_addCalcPos2(&mDemoCamCenter, spAC, 0.5f, 200.0f);
|
||||
|
||||
if (mpMgnModelMorf->isStop()) {
|
||||
setBck(0x25, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_WAIT, 2, 3.0f, 1.0f);
|
||||
field_0xa9c = 30;
|
||||
mMoveMode = 8;
|
||||
}
|
||||
|
|
@ -2583,7 +2735,7 @@ void daB_MGN_c::executeOpening() {
|
|||
cLib_addCalcPos2(&mDemoCamCenter, spAC, 0.5f, 200.0f);
|
||||
|
||||
if (field_0xa9c == 0) {
|
||||
setBck(0x26, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_WAIT2, 0, 3.0f, 1.0f);
|
||||
mMoveMode = 10;
|
||||
field_0xad8 = 0.0f;
|
||||
}
|
||||
|
|
@ -2599,7 +2751,7 @@ void daB_MGN_c::executeOpening() {
|
|||
cLib_addCalcPos2(&mDemoCamEye, spAC, 0.1f, field_0xad8);
|
||||
|
||||
if (mpMgnModelMorf->isStop()) {
|
||||
setBck(0x25, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_WAIT, 2, 3.0f, 1.0f);
|
||||
field_0xa9c = 30;
|
||||
mMoveMode = 11;
|
||||
}
|
||||
|
|
@ -2659,7 +2811,7 @@ void daB_MGN_c::executeDeath() {
|
|||
|
||||
mKankyoColMode = 2;
|
||||
mKankyoBlend = 0.0f;
|
||||
setBck(0x1a, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_MGN_END_DEMO, 0, 3.0f, 1.0f);
|
||||
|
||||
J3DModelData* model = mpMgnModelMorf->getModel()->getModelData();
|
||||
mpMgnCoreBrk->remove(model);
|
||||
|
|
@ -2805,7 +2957,7 @@ void daB_MGN_c::executeJump() {
|
|||
mAtSph.OffAtSetBit();
|
||||
field_0x20f4[0].OffTgSetBit();
|
||||
|
||||
setBck(10, 0, 5.0f, 1.0f);
|
||||
setBck(BCK_MGN_DASH_JUMP, 0, 5.0f, 1.0f);
|
||||
|
||||
mpMgnBtk->init(mpMgnModelMorf->getModel()->getModelData(),
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_mgn", 0x39), 1, 0, 1.1f, 0,
|
||||
|
|
@ -3178,10 +3330,10 @@ static int daB_MGN_Delete(daB_MGN_c* i_this) {
|
|||
|
||||
/* 8060EAE0-8060F068 0094A0 0588+00 1/1 0/0 0/0 .text CreateHeap__9daB_MGN_cFv */
|
||||
int daB_MGN_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("B_mgn", 0x2f);
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("B_mgn", BMDR_MGN);
|
||||
JUT_ASSERT(4010, modelData != 0);
|
||||
mpMgnModelMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_mgn", 0x25), 2,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_mgn", BCK_MGN_WAIT), 2,
|
||||
1.0f, 0, -1, &mSound, 0x80000, 0x11000284);
|
||||
if (mpMgnModelMorf == NULL || mpMgnModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
|
|
@ -3201,7 +3353,7 @@ int daB_MGN_c::CreateHeap() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!mpMgnCoreBrk->init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_mgn", 0x33),
|
||||
if (!mpMgnCoreBrk->init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_mgn", BRK_MGN_CORE),
|
||||
1, 2, 0.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -3213,13 +3365,13 @@ int daB_MGN_c::CreateHeap() {
|
|||
}
|
||||
|
||||
if (!mpMgnBtk->init(mpMgnModelMorf->getModel()->getModelData(),
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_mgn", 0x3d), 1, 0,
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_mgn", BTK_MGN_EXIT), 1, 0,
|
||||
0.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_mgn", 0x30);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_mgn", BMDR_MGN_TAIEKI);
|
||||
JUT_ASSERT(4068, modelData != 0);
|
||||
|
||||
for (int i = 0; i < 20; i++) {
|
||||
|
|
@ -3229,12 +3381,12 @@ int daB_MGN_c::CreateHeap() {
|
|||
}
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_mgne", 9);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_mgne", BMDR_EF_GDGATE);
|
||||
JUT_ASSERT(4084, modelData != 0);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mpGdgateModelMorf[i] = new mDoExt_McaMorfSO(modelData, NULL, NULL,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_mgne", 6),
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_mgne", BCK_EF_GDGATE_START),
|
||||
0, 0.0f, 0, -1, &mSound, 0x80000, 0x11000284);
|
||||
if (mpGdgateModelMorf[i] == NULL || mpGdgateModelMorf[i]->getModel() == NULL) {
|
||||
return 0;
|
||||
|
|
@ -3246,7 +3398,7 @@ int daB_MGN_c::CreateHeap() {
|
|||
}
|
||||
|
||||
if (!mpGdgateStartBrk[i]->init(modelData,
|
||||
(J3DAnmTevRegKey*)dComIfG_getObjectRes("B_mgne", 13), 1, 0,
|
||||
(J3DAnmTevRegKey*)dComIfG_getObjectRes("B_mgne", BRK_EF_GDGATE_START), 1, 0,
|
||||
1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -3258,7 +3410,7 @@ int daB_MGN_c::CreateHeap() {
|
|||
}
|
||||
|
||||
if (!mpGdgateAppearBrk[i]->init(modelData,
|
||||
(J3DAnmTevRegKey*)dComIfG_getObjectRes("B_mgne", 12), 1, 0,
|
||||
(J3DAnmTevRegKey*)dComIfG_getObjectRes("B_mgne", BRK_EF_GDGATE_APPEAR), 1, 0,
|
||||
1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -3270,7 +3422,7 @@ int daB_MGN_c::CreateHeap() {
|
|||
}
|
||||
|
||||
if (!mpGdgateBtk[i]->init(mpMgnModelMorf->getModel()->getModelData(),
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_mgne", 16),
|
||||
(J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_mgne", BTK_EF_GDGATE),
|
||||
1, 2, 1.0f, 0, -1))
|
||||
{
|
||||
return 0;
|
||||
|
|
|
|||
|
|
@ -11,312 +11,15 @@
|
|||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "m_Do/m_Do_controller_pad.h"
|
||||
#include "m_Do/m_Do_graphic.h"
|
||||
#include "d/actor/d_a_b_oh.h"
|
||||
#include "d/actor/d_a_obj_lv3WaterB.h"
|
||||
#include "d/actor/d_a_obj_ystone.h"
|
||||
#include "Z2AudioLib/Z2Instances.h"
|
||||
|
||||
//
|
||||
// Types:
|
||||
//
|
||||
|
||||
//
|
||||
// Forward References:
|
||||
//
|
||||
|
||||
extern "C" void __ct__12daB_OB_HIO_cFv();
|
||||
extern "C" static void anm_init__FP10b_ob_classifUcf();
|
||||
extern "C" static void HeadCallBack__FP8J3DJointi();
|
||||
extern "C" static void TailCallBack__FP8J3DJointi();
|
||||
extern "C" static void FinACallBack__FP8J3DJointi();
|
||||
extern "C" static void FinBCallBack__FP8J3DJointi();
|
||||
extern "C" static void FinCCallBack__FP8J3DJointi();
|
||||
extern "C" static void sui_nodeCallBack__FP8J3DJointi();
|
||||
extern "C" static void dark__FP12J3DModelDatas();
|
||||
extern "C" static void daB_OB_Draw__FP10b_ob_class();
|
||||
extern "C" void __dt__4cXyzFv();
|
||||
extern "C" static void core_start__FP10b_ob_class();
|
||||
extern "C" static void core_hand_move__FP10b_ob_class();
|
||||
extern "C" static void s_bf_sub__FPvPv();
|
||||
extern "C" static void s_bfdel_sub__FPvPv();
|
||||
extern "C" static void s_kaisoudel_sub__FPvPv();
|
||||
extern "C" static void bombfishset__FP10b_ob_class();
|
||||
extern "C" void __dt__5csXyzFv();
|
||||
extern "C" static void core_hook__FP10b_ob_class();
|
||||
extern "C" static void core_chance__FP10b_ob_class();
|
||||
extern "C" static void core_end__FP10b_ob_class();
|
||||
extern "C" static void core_action__FP10b_ob_class();
|
||||
extern "C" static void core_damage_check__FP10b_ob_class();
|
||||
extern "C" static void fish_damage_check__FP10b_ob_class();
|
||||
extern "C" static void pl_check__FP10b_ob_classfs();
|
||||
extern "C" static void fish_normal__FP10b_ob_class();
|
||||
extern "C" static void fish_vacume__FP10b_ob_class();
|
||||
extern "C" static void fish_end__FP10b_ob_class();
|
||||
extern "C" static void dmcalc__FP10b_ob_class();
|
||||
extern "C" static void fish_move__FP10b_ob_class();
|
||||
extern "C" static void cam_3d_morf__FP10b_ob_classf();
|
||||
extern "C" static void s_hasidel_sub__FPvPv();
|
||||
extern "C" static void demo_camera__FP10b_ob_class();
|
||||
extern "C" static void dComIfGp_particle_getEmitter__FUl();
|
||||
extern "C" static void dComIfGp_particle_set__FUlUsPC4cXyzPC5csXyzPC4cXyz();
|
||||
extern "C" void checkSkipEdge__14dEvt_control_cFv();
|
||||
extern "C" static void cM_scos__Fs();
|
||||
extern "C" static void JMAFastSqrt__Ff();
|
||||
extern "C" static void cM_ssin__Fs();
|
||||
extern "C" static void daB_OB_Execute__FP10b_ob_class();
|
||||
extern "C" static bool daB_OB_IsDelete__FP10b_ob_class();
|
||||
extern "C" static void daB_OB_Delete__FP10b_ob_class();
|
||||
extern "C" static void useHeapInit__FP10fopAc_ac_c();
|
||||
extern "C" void __dt__12J3DFrameCtrlFv();
|
||||
extern "C" static void daB_OB_Create__FP10fopAc_ac_c();
|
||||
extern "C" void __ct__10b_ob_classFv();
|
||||
extern "C" void __dt__7ob_ke_sFv();
|
||||
extern "C" void __ct__7ob_ke_sFv();
|
||||
extern "C" void __dt__12dBgS_ObjAcchFv();
|
||||
extern "C" void __dt__12dBgS_AcchCirFv();
|
||||
extern "C" void __dt__8cM3dGSphFv();
|
||||
extern "C" void __dt__8cM3dGAabFv();
|
||||
extern "C" void __dt__10dCcD_GSttsFv();
|
||||
extern "C" void __ct__5csXyzFv();
|
||||
extern "C" void __ct__4cXyzFv();
|
||||
extern "C" void __dt__9ob_part_sFv();
|
||||
extern "C" void __ct__9ob_part_sFv();
|
||||
extern "C" void __dt__10cCcD_GSttsFv();
|
||||
extern "C" void __dt__12daB_OB_HIO_cFv();
|
||||
extern "C" void __sinit_d_a_b_ob_cpp();
|
||||
extern "C" static void func_8061A88C();
|
||||
extern "C" static void func_8061A894();
|
||||
extern "C" void cancelOriginalDemo__9daPy_py_cFv();
|
||||
extern "C" static void dComIfGp_event_reset__Fv();
|
||||
extern "C" static void dComIfGs_onStageBossEnemy__Fv();
|
||||
extern "C" void multVecZero__14mDoMtx_stack_cFP3Vec();
|
||||
extern "C" void getAnmMtx__8J3DModelFi();
|
||||
extern "C" void __apl__4cXyzFRC3Vec();
|
||||
extern "C" void __as__5csXyzFRC5csXyz();
|
||||
extern "C" void __as__4cXyzFRC4cXyz();
|
||||
extern "C" void changeDemoMode__9daPy_py_cFUliis();
|
||||
extern "C" void changeOriginalDemo__9daPy_py_cFv();
|
||||
extern "C" static void daPy_getPlayerActorClass__Fv();
|
||||
extern "C" void onCondition__11dEvt_info_cFUs();
|
||||
extern "C" void checkCommandDemoAccrpt__11dEvt_info_cFv();
|
||||
extern "C" static void dComIfGp_getCamera__Fi();
|
||||
extern "C" static void dComIfGp_getPlayerCameraID__Fi();
|
||||
extern "C" static void dComIfGp_getPlayer__Fi();
|
||||
extern "C" void setCurrentPos__16obj_ystone_classF4cXyz();
|
||||
extern "C" void __ct__4cXyzFRC4cXyz();
|
||||
extern "C" void becomeDeleteEmitter__14JPABaseEmitterFv();
|
||||
extern "C" void __ct__5csXyzFRC5csXyz();
|
||||
extern "C" void fabsf__3stdFf();
|
||||
extern "C" static void dComIfGp_particle_set__FUsPC4cXyzPC5csXyzPC4cXyz();
|
||||
extern "C" void setPlaySpeed__13mDoExt_morf_cFf();
|
||||
extern "C" void startCheckSkipEdge__14dEvt_control_cFPv();
|
||||
extern "C" static void dComIfGp_getEvent__Fv();
|
||||
extern "C" static void mDoAud_seStart__FUlPC3VecUlSc();
|
||||
extern "C" void set__4cXyzFfff();
|
||||
extern "C" void __ct__10JAISoundIDFUl(JAISoundID* this_, u32 param_0);
|
||||
extern "C" void abs__4cXyzCFv();
|
||||
extern "C" void isStop__13mDoExt_morf_cFv();
|
||||
extern "C" static void dComIfGp_getVibration__Fv();
|
||||
extern "C" void __ct__4cXyzFfff();
|
||||
extern "C" extern char const* const d_a_b_ob__stringBase0;
|
||||
|
||||
//
|
||||
// External References:
|
||||
//
|
||||
|
||||
extern "C" void onBlure__13mDoGph_gInf_cFv();
|
||||
extern "C" void mDoMtx_XrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotS__FPA4_fs();
|
||||
extern "C" void mDoMtx_YrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_ZrotM__FPA4_fs();
|
||||
extern "C" void mDoMtx_MtxToRot__FPA4_CfP5csXyz();
|
||||
extern "C" void push__14mDoMtx_stack_cFv();
|
||||
extern "C" void pop__14mDoMtx_stack_cFv();
|
||||
extern "C" void transM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void scaleM__14mDoMtx_stack_cFfff();
|
||||
extern "C" void play__14mDoExt_baseAnmFv();
|
||||
extern "C" void init__13mDoExt_btkAnmFP16J3DMaterialTableP19J3DAnmTextureSRTKeyiifss();
|
||||
extern "C" void entry__13mDoExt_btkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void init__13mDoExt_brkAnmFP16J3DMaterialTableP15J3DAnmTevRegKeyiifss();
|
||||
extern "C" void entry__13mDoExt_brkAnmFP16J3DMaterialTablef();
|
||||
extern "C" void mDoExt_modelUpdateDL__FP8J3DModel();
|
||||
extern "C" void
|
||||
__ct__14mDoExt_McaMorfFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiiPvUlUl();
|
||||
extern "C" void setAnm__14mDoExt_McaMorfFP15J3DAnmTransformiffffPv();
|
||||
extern "C" void play__14mDoExt_McaMorfFP3VecUlSc();
|
||||
extern "C" void entryDL__14mDoExt_McaMorfFv();
|
||||
extern "C" void modelCalc__14mDoExt_McaMorfFv();
|
||||
extern "C" void
|
||||
__ct__16mDoExt_McaMorfSOFP12J3DModelDataP25mDoExt_McaMorfCallBack1_cP25mDoExt_McaMorfCallBack2_cP15J3DAnmTransformifiiP10Z2CreatureUlUl();
|
||||
extern "C" void entryDL__16mDoExt_McaMorfSOFv();
|
||||
extern "C" void modelCalc__16mDoExt_McaMorfSOFv();
|
||||
extern "C" void mDoExt_J3DModel__create__FP12J3DModelDataUlUl();
|
||||
extern "C" void cDmrNowMidnaTalk__Fv();
|
||||
extern "C" void __ct__10fopAc_ac_cFv();
|
||||
extern "C" void fopAc_IsActor__FPv();
|
||||
extern "C" void fopAcIt_Judge__FPFPvPv_PvPv();
|
||||
extern "C" void fopAcM_delete__FP10fopAc_ac_c();
|
||||
extern "C" void fopAcM_create__FsUlPC4cXyziPC5csXyzPC4cXyzSc();
|
||||
extern "C" void fopAcM_createChild__FsUiUlPC4cXyziPC5csXyzPC4cXyzScPFPv_i();
|
||||
extern "C" void fopAcM_entrySolidHeap__FP10fopAc_ac_cPFP10fopAc_ac_c_iUl();
|
||||
extern "C" void fopAcM_searchActorAngleY__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopAcM_searchActorAngleX__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopAcM_searchActorDistance__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopAcM_searchActorDistanceXZ__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopAcM_orderPotentialEvent__FP10fopAc_ac_cUsUsUs();
|
||||
extern "C" void fopAcM_createItemForBoss__FPC4cXyziiPC5csXyzPC4cXyzffi();
|
||||
extern "C" void fopAcM_createWarpHole__FPC4cXyzPC5csXyziUcUcUc();
|
||||
extern "C" void fopAcM_createDisappear__FPC10fopAc_ac_cPC4cXyzUcUcUc();
|
||||
extern "C" void fopAcM_otherBgCheck__FPC10fopAc_ac_cPC10fopAc_ac_c();
|
||||
extern "C" void fopMsgM_messageSetDemo__FUl();
|
||||
extern "C" void fpcEx_Search__FPFPvPv_PvPv();
|
||||
extern "C" void fpcSch_JudgeForPName__FPvPv();
|
||||
extern "C" void fpcSch_JudgeByID__FPvPv();
|
||||
extern "C" void dStage_changeScene__FifUlScsi();
|
||||
extern "C" void dComIfG_resLoad__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfG_resDelete__FP30request_of_phase_process_classPCc();
|
||||
extern "C" void dComIfGp_getReverb__Fi();
|
||||
extern "C" void dComIfGs_onOneZoneSwitch__Fii();
|
||||
extern "C" void dComIfGs_offOneZoneSwitch__Fii();
|
||||
extern "C" void dComIfGs_isOneZoneSwitch__Fii();
|
||||
extern "C" void
|
||||
dComIfGd_setShadow__FUlScP8J3DModelP4cXyzffffR13cBgS_PolyInfoP12dKy_tevstr_csfP9_GXTexObj();
|
||||
extern "C" void onDungeonItem__12dSv_memBit_cFi();
|
||||
extern "C" void isDungeonItem__12dSv_memBit_cCFi();
|
||||
extern "C" void onSwitch__10dSv_info_cFii();
|
||||
extern "C" void isSwitch__10dSv_info_cCFii();
|
||||
extern "C" void getRes__14dRes_control_cFPCclP11dRes_info_ci();
|
||||
extern "C" void reset__14dEvt_control_cFv();
|
||||
extern "C" void dEv_noFinishSkipProc__FPvi();
|
||||
extern "C" void setSkipProc__14dEvt_control_cFPvPFPvi_ii();
|
||||
extern "C" void getEmitter__Q213dPa_control_c7level_cFUl();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void
|
||||
set__13dPa_control_cFUlUcUsPC4cXyzPC12dKy_tevstr_cPC5csXyzPC4cXyzUcP18dPa_levelEcallBackScPC8_GXColorPC8_GXColorPC4cXyzf();
|
||||
extern "C" void StartShock__12dVibration_cFii4cXyz();
|
||||
extern "C" void StartQuake__12dVibration_cFii4cXyz();
|
||||
extern "C" void StopQuake__12dVibration_cFi();
|
||||
extern "C" void __ct__12dBgS_AcchCirFv();
|
||||
extern "C" void SetWall__12dBgS_AcchCirFff();
|
||||
extern "C" void __dt__9dBgS_AcchFv();
|
||||
extern "C" void __ct__9dBgS_AcchFv();
|
||||
extern "C" void Set__9dBgS_AcchFP4cXyzP4cXyzP10fopAc_ac_ciP12dBgS_AcchCirP4cXyzP5csXyzP5csXyz();
|
||||
extern "C" void CrrPos__9dBgS_AcchFR4dBgS();
|
||||
extern "C" void SetObj__16dBgS_PolyPassChkFv();
|
||||
extern "C" void __ct__10dCcD_GSttsFv();
|
||||
extern "C" void Move__10dCcD_GSttsFv();
|
||||
extern "C" void Init__9dCcD_SttsFiiP10fopAc_ac_c();
|
||||
extern "C" void __ct__12dCcD_GObjInfFv();
|
||||
extern "C" void __dt__12dCcD_GObjInfFv();
|
||||
extern "C" void ChkTgHit__12dCcD_GObjInfFv();
|
||||
extern "C" void GetTgHitObj__12dCcD_GObjInfFv();
|
||||
extern "C" void Set__8dCcD_SphFRC11dCcD_SrcSph();
|
||||
extern "C" void def_se_set__FP10Z2CreatureP8cCcD_ObjUlP10fopAc_ac_c();
|
||||
extern "C" void cc_at_check__FP10fopAc_ac_cP11dCcU_AtInfo();
|
||||
extern "C" void Start__9dCamera_cFv();
|
||||
extern "C" void Stop__9dCamera_cFv();
|
||||
extern "C" void SetTrimSize__9dCamera_cFl();
|
||||
extern "C" void Set__9dCamera_cF4cXyz4cXyzsf();
|
||||
extern "C" void Reset__9dCamera_cF4cXyz4cXyz();
|
||||
extern "C" void settingTevStruct__18dScnKy_env_light_cFiP4cXyzP12dKy_tevstr_c();
|
||||
extern "C" void setLightTevColorType_MAJI__18dScnKy_env_light_cFP12J3DModelDataP12dKy_tevstr_c();
|
||||
extern "C" void dKy_custom_colset__FUcUcf();
|
||||
extern "C" void dKy_BossLight_set__FP4cXyzP8_GXColorfUc();
|
||||
extern "C" void Set__4cCcSFP8cCcD_Obj();
|
||||
extern "C" void __pl__4cXyzCFRC3Vec();
|
||||
extern "C" void __mi__4cXyzCFRC3Vec();
|
||||
extern "C" void __ml__4cXyzCFf();
|
||||
extern "C" void __ct__5csXyzFsss();
|
||||
extern "C" void cM_atan2s__Fff();
|
||||
extern "C" void cM_rndF__Ff();
|
||||
extern "C" void cM_rndFX__Ff();
|
||||
extern "C" void __dt__13cBgS_PolyInfoFv();
|
||||
extern "C" void __dt__8cM3dGCirFv();
|
||||
extern "C" void SetC__8cM3dGSphFRC4cXyz();
|
||||
extern "C" void SetR__8cM3dGSphFf();
|
||||
extern "C" void cLib_addCalc2__FPffff();
|
||||
extern "C" void cLib_addCalc0__FPfff();
|
||||
extern "C" void cLib_addCalcAngleS2__FPssss();
|
||||
extern "C" void MtxPosition__FP4cXyzP4cXyz();
|
||||
extern "C" void func_802807E0();
|
||||
extern "C" void seStart__7Z2SeMgrF10JAISoundIDPC3VecUlScffffUc();
|
||||
extern "C" void bgmStart__8Z2SeqMgrFUlUll();
|
||||
extern "C" void bgmStop__8Z2SeqMgrFUll();
|
||||
extern "C" void subBgmStart__8Z2SeqMgrFUl();
|
||||
extern "C" void bgmStreamPrepare__8Z2SeqMgrFUl();
|
||||
extern "C" void bgmStreamPlay__8Z2SeqMgrFv();
|
||||
extern "C" void changeBgmStatus__8Z2SeqMgrFl();
|
||||
extern "C" void stopAnime__10Z2CreatureFv();
|
||||
extern "C" void __ct__15Z2CreatureEnemyFv();
|
||||
extern "C" void init__15Z2CreatureEnemyFP3VecP3VecUcUc();
|
||||
extern "C" void __ct__12Z2CreatureOIFv();
|
||||
extern "C" void
|
||||
init__12Z2CreatureOIFP3VecP3VecP3VecP3VecP3VecP3VecP3VecP3VecP3VecP3VecP3VecP3VecP3Vec();
|
||||
extern "C" void startTentacleSoundLevel__12Z2CreatureOIF10JAISoundIDUcfUlSc();
|
||||
extern "C" void* __nw__FUl();
|
||||
extern "C" void __dl__FPv();
|
||||
extern "C" void init__12J3DFrameCtrlFs();
|
||||
extern "C" void checkPass__12J3DFrameCtrlFf();
|
||||
extern "C" void __destroy_arr();
|
||||
extern "C" void __construct_array();
|
||||
extern "C" void __cvt_fp2unsigned();
|
||||
extern "C" void _savegpr_15();
|
||||
extern "C" void _savegpr_21();
|
||||
extern "C" void _savegpr_22();
|
||||
extern "C" void _savegpr_24();
|
||||
extern "C" void _savegpr_25();
|
||||
extern "C" void _savegpr_26();
|
||||
extern "C" void _savegpr_27();
|
||||
extern "C" void _savegpr_28();
|
||||
extern "C" void _savegpr_29();
|
||||
extern "C" void _restgpr_15();
|
||||
extern "C" void _restgpr_21();
|
||||
extern "C" void _restgpr_22();
|
||||
extern "C" void _restgpr_24();
|
||||
extern "C" void _restgpr_25();
|
||||
extern "C" void _restgpr_26();
|
||||
extern "C" void _restgpr_27();
|
||||
extern "C" void _restgpr_28();
|
||||
extern "C" void _restgpr_29();
|
||||
extern "C" extern void* __vt__19mDoExt_3DlineMat0_c[5];
|
||||
extern "C" extern void* __vt__8dCcD_Sph[36];
|
||||
extern "C" extern void* __vt__9dCcD_Stts[11];
|
||||
extern "C" extern void* __vt__12cCcD_SphAttr[25];
|
||||
extern "C" extern void* __vt__14cCcD_ShapeAttr[22];
|
||||
extern "C" extern void* __vt__9cCcD_Stts[8];
|
||||
extern "C" u8 now__14mDoMtx_stack_c[48];
|
||||
extern "C" u8 mSimpleTexObj__21dDlst_shadowControl_c[32];
|
||||
extern "C" u8 mCurrentMtx__6J3DSys[48];
|
||||
extern "C" u8 sincosTable___5JMath[65536];
|
||||
extern "C" extern u8 struct_80450C98[4];
|
||||
extern "C" u8 mAudioMgrPtr__10Z2AudioMgr[4 + 4 /* padding */];
|
||||
extern "C" void __register_global_object();
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
|
||||
/* 8061B0A4-8061B0B0 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 8061B0B0-8061B0C4 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
#pragma pop
|
||||
UNK_REL_DATA;
|
||||
|
||||
/* 8061056C-806105BC 0000EC 0050+00 1/1 0/0 0/0 .text __ct__12daB_OB_HIO_cFv */
|
||||
daB_OB_HIO_c::daB_OB_HIO_c() {
|
||||
|
|
@ -399,112 +102,12 @@ static int TailCallBack(J3DJoint* i_joint, int param_1) {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 8061B4C0-8061B4C4 000008 0001+03 4/4 0/0 0/0 .bss @1109 */
|
||||
static u8 lit_1109[1 + 3 /* padding */];
|
||||
UNK_REL_BSS;
|
||||
|
||||
/* 8061B4C4-8061B4C8 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1107[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4C8-8061B4CC 000010 0001+03 0/0 0/0 0/0 .bss @1105 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1105[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4CC-8061B4D0 000014 0001+03 0/0 0/0 0/0 .bss @1104 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1104[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4D0-8061B4D4 000018 0001+03 0/0 0/0 0/0 .bss @1099 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1099[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4D4-8061B4D8 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1097[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4D8-8061B4DC 000020 0001+03 0/0 0/0 0/0 .bss @1095 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1095[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4DC-8061B4E0 000024 0001+03 0/0 0/0 0/0 .bss @1094 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1094[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4E0-8061B4E4 000028 0001+03 0/0 0/0 0/0 .bss @1057 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1057[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4E4-8061B4E8 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1055[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4E8-8061B4EC 000030 0001+03 0/0 0/0 0/0 .bss @1053 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1053[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4EC-8061B4F0 000034 0001+03 0/0 0/0 0/0 .bss @1052 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1052[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4F0-8061B4F4 000038 0001+03 0/0 0/0 0/0 .bss @1014 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1014[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4F4-8061B4F8 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1012[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4F8-8061B4FC 000040 0001+03 0/0 0/0 0/0 .bss @1010 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1010[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B4FC-8061B500 -00001 0004+00 1/2 0/0 0/0 .bss None */
|
||||
/* 8061B4FC 0001+00 data_8061B4FC @1009 */
|
||||
/* 8061B4FD 0003+00 data_8061B4FD None */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 struct_8061B4FC;
|
||||
#pragma pop
|
||||
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B4FD;
|
||||
#pragma pop
|
||||
|
||||
/* 8061B500-8061B504 000048 0004+00 0/2 0/0 0/0 .bss moveSW */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static BOOL moveSW;
|
||||
#pragma pop
|
||||
|
||||
/* 8061B504-8061B508 00004C 0004+00 1/4 0/0 0/0 .bss moveSW2 */
|
||||
static BOOL moveSW2;
|
||||
|
|
@ -1910,13 +1513,13 @@ static int fish_end(b_ob_class* i_this) {
|
|||
}
|
||||
|
||||
/* 8061B0D0-8061B11C 00002C 004C+00 1/1 0/0 0/0 .data buf_p */
|
||||
SECTION_DATA static f32 buf_p[] = {
|
||||
static f32 buf_p[] = {
|
||||
0.0f, 1.0f, 2.0f, 3.0f, 4.0f, 5.0f, 6.0f, 7.0f, 8.0f, 8.8f,
|
||||
9.6f, 10.4f, 11.2f, 12.0f, 12.6f, 13.2f, 13.8f, 14.4f, 15.0f,
|
||||
};
|
||||
|
||||
/* 8061B11C-8061B168 000078 004C+00 1/1 0/0 0/0 .data size_p */
|
||||
SECTION_DATA static f32 size_p[] = {1.0f, 1.05f, 1.075f, 1.1f, 1.1f, 1.075f, 1.05f,
|
||||
static f32 size_p[] = {1.0f, 1.05f, 1.075f, 1.1f, 1.1f, 1.075f, 1.05f,
|
||||
1.0f, 0.9f, 0.85f, 0.8f, 0.75f, 0.7f, 0.65f,
|
||||
0.6f, 0.55f, 0.5f, 0.45f, 1.0f};
|
||||
|
||||
|
|
@ -4013,178 +3616,7 @@ static int daB_OB_Create(fopAc_ac_c* i_this) {
|
|||
return phase_state;
|
||||
}
|
||||
|
||||
/* 8061B5DC-8061B5E0 000124 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__40JASGlobalInstance<19JASDefaultBankTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5DC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5E0-8061B5E4 000128 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__35JASGlobalInstance<14JASAudioThread> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5E0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5E4-8061B5E8 00012C 0004+00 0/0 0/0 0/0 .bss sInstance__27JASGlobalInstance<7Z2SeMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5E4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5E8-8061B5EC 000130 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8Z2SeqMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5E8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5EC-8061B5F0 000134 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SceneMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5EC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5F0-8061B5F4 000138 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2StatusMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5F0[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5F4-8061B5F8 00013C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2DebugSys>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5F4[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5F8-8061B5FC 000140 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__36JASGlobalInstance<15JAISoundStarter> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5F8[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B5FC-8061B600 000144 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__35JASGlobalInstance<14Z2SoundStarter> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B5FC[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B600-8061B604 000148 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12Z2SpeechMgr2> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B600[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B604-8061B608 00014C 0004+00 0/0 0/0 0/0 .bss sInstance__28JASGlobalInstance<8JAISeMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B604[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B608-8061B60C 000150 0004+00 0/0 0/0 0/0 .bss sInstance__29JASGlobalInstance<9JAISeqMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B608[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B60C-8061B610 000154 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAIStreamMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B60C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B610-8061B614 000158 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2SoundMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B610[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B614-8061B618 00015C 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAISoundInfo> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B614[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B618-8061B61C 000160 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13JAUSoundTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B618[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B61C-8061B620 000164 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__38JASGlobalInstance<17JAUSoundNameTable> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B61C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B620-8061B624 000168 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__33JASGlobalInstance<12JAUSoundInfo> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B620[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B624-8061B628 00016C 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SoundInfo>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B624[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B628-8061B62C 000170 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13Z2SoundObjMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B628[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B62C-8061B630 000174 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2Audience>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B62C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B630-8061B634 000178 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2FxLineMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B630[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B634-8061B638 00017C 0004+00 0/0 0/0 0/0 .bss sInstance__31JASGlobalInstance<10Z2EnvSeMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B634[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B638-8061B63C 000180 0004+00 0/0 0/0 0/0 .bss sInstance__32JASGlobalInstance<11Z2SpeechMgr>
|
||||
*/
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B638[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B63C-8061B640 000184 0004+00 0/0 0/0 0/0 .bss
|
||||
* sInstance__34JASGlobalInstance<13Z2WolfHowlMgr> */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 data_8061B63C[4];
|
||||
#pragma pop
|
||||
|
||||
/* 8061B09C-8061B09C 000318 0000+00 0/0 0/0 0/0 .rodata @stringBase0 */
|
||||
AUDIO_INSTANCES;
|
||||
|
||||
/* 8061B3DC-8061B3FC -00001 0020+00 1/0 0/0 0/0 .data l_daB_OB_Method */
|
||||
static actor_method_class l_daB_OB_Method = {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,108 @@ UNK_REL_DATA;
|
|||
|
||||
#include "f_op/f_op_actor_enemy.h"
|
||||
|
||||
enum B_TN_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x04 */ BCK_TN2B_DIE = 4,
|
||||
/* 0x05 */ BCK_TNA_ATACK_A,
|
||||
/* 0x06 */ BCK_TNA_ATACK_B,
|
||||
/* 0x07 */ BCK_TNA_ATACK_OP,
|
||||
/* 0x08 */ BCK_TNA_ATACK_SHIELD,
|
||||
/* 0x09 */ BCK_TNA_DAMAGE_L,
|
||||
/* 0x0A */ BCK_TNA_DAMAGE_LAST,
|
||||
/* 0x0B */ BCK_TNA_DAMAGE_R,
|
||||
/* 0x0C */ BCK_TNA_GUARD,
|
||||
/* 0x0D */ BCK_TNA_GUARD_DAMAGE,
|
||||
/* 0x0E */ BCK_TNA_TURN_OP,
|
||||
/* 0x0F */ BCK_TNA_WAIT,
|
||||
/* 0x10 */ BCK_TNA_WAIT_B_1,
|
||||
/* 0x11 */ BCK_TNA_WAIT_B_2,
|
||||
/* 0x12 */ BCK_TNA_WAIT_OP,
|
||||
/* 0x13 */ BCK_TNA_WALK,
|
||||
/* 0x14 */ BCK_TNB_ATACK_A,
|
||||
/* 0x15 */ BCK_TNB_ATACK_B,
|
||||
/* 0x16 */ BCK_TNB_ATACK_SHIELD,
|
||||
/* 0x17 */ BCK_TNB_DAMAGE_L,
|
||||
/* 0x18 */ BCK_TNB_DAMAGE_R,
|
||||
/* 0x19 */ BCK_TNB_DIE,
|
||||
/* 0x1A */ BCK_TNB_DOWN,
|
||||
/* 0x1B */ BCK_TNB_DOWN_SIPPU,
|
||||
/* 0x1C */ BCK_TNB_GUARD_A,
|
||||
/* 0x1D */ BCK_TNB_GUARD_B,
|
||||
/* 0x1E */ BCK_TNB_JUMP_B_1,
|
||||
/* 0x1F */ BCK_TNB_JUMP_B_2,
|
||||
/* 0x20 */ BCK_TNB_JUMP_F_1,
|
||||
/* 0x21 */ BCK_TNB_JUMP_F_2,
|
||||
/* 0x22 */ BCK_TNB_JUMP_L_1,
|
||||
/* 0x23 */ BCK_TNB_JUMP_L_2,
|
||||
/* 0x24 */ BCK_TNB_JUMP_R_1,
|
||||
/* 0x25 */ BCK_TNB_JUMP_R_2,
|
||||
/* 0x26 */ BCK_TNB_PULL,
|
||||
/* 0x27 */ BCK_TNB_SWORD_B_PULL_A,
|
||||
/* 0x28 */ BCK_TNB_SWORD_B_PULL_B,
|
||||
/* 0x29 */ BCK_TNB_THROW,
|
||||
/* 0x2A */ BCK_TNB_WAIT,
|
||||
/* 0x2B */ BCK_TNB_WAIT_B_1,
|
||||
/* 0x2C */ BCK_TNB_WAIT_B_2,
|
||||
/* 0X2D */ BCK_TNB_WALK,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x30 */ BMDR_TN_EFFECT = 0x30,
|
||||
};
|
||||
|
||||
enum B_TNP_RES_FILE_ID {
|
||||
/* BMDR */
|
||||
/* 0x03 */ BMDR_TN = 3,
|
||||
/* 0x04 */ BMDR_TN_ARMOR_ARM_L,
|
||||
/* 0x05 */ BMDR_TN_ARMOR_ARM_R,
|
||||
/* 0x06 */ BMDR_TN_ARMOR_CHEST_B,
|
||||
/* 0x07 */ BMDR_TN_ARMOR_CHEST_F,
|
||||
/* 0x08 */ BMDR_TN_ARMOR_HEAD_B,
|
||||
/* 0x09 */ BMDR_TN_ARMOR_HEAD_F,
|
||||
/* 0x0A */ BMDR_TN_ARMOR_SHOULDER_L,
|
||||
/* 0x0B */ BMDR_TN_ARMOR_SHOULDER_R,
|
||||
/* 0x0C */ BMDR_TN_ARMOR_WAIST_B,
|
||||
/* 0x0D */ BMDR_TN_ARMOR_WAIST_F,
|
||||
/* 0x0E */ BMDR_TN_ARMOR_WAIST_L,
|
||||
/* 0x0F */ BMDR_TN_ARMOR_WAIST_R,
|
||||
/* 0x10 */ BMDR_TN_SHIELD,
|
||||
/* 0x11 */ BMDR_TN_SWORD_A,
|
||||
/* 0x12 */ BMDR_TN_SWORD_B,
|
||||
/* 0x13 */ BMDR_TN_SWORD_B_SAYA,
|
||||
};
|
||||
|
||||
enum B_TNP2_RES_FILE_ID {
|
||||
/* BMDR */
|
||||
/* 0x04 */ BMDR_TN2 = 4,
|
||||
/* 0x05 */ BMDR_TN2_ARMOR_ARM_L,
|
||||
/* 0x06 */ BMDR_TN2_ARMOR_ARM_R,
|
||||
/* 0x07 */ BMDR_TN2_ARMOR_CHEST_B,
|
||||
/* 0x08 */ BMDR_TN2_ARMOR_CHEST_F,
|
||||
/* 0x09 */ BMDR_TN2_ARMOR_HEAD_A,
|
||||
/* 0x0A */ BMDR_TN2_ARMOR_HEAD_B,
|
||||
/* 0x0B */ BMDR_TN2_ARMOR_SHOULDER_L,
|
||||
/* 0x0C */ BMDR_TN2_ARMOR_SHOULDER_R,
|
||||
/* 0x0D */ BMDR_TN2_ARMOR_WAIST_B,
|
||||
/* 0x0E */ BMDR_TN2_ARMOR_WAIST_F,
|
||||
/* 0x0F */ BMDR_TN2_ARMOR_WAIST_L,
|
||||
/* 0x10 */ BMDR_TN2_ARMOR_WAIST_R,
|
||||
/* 0x11 */ BMDR_TN2_MACE,
|
||||
/* 0x12 */ BMDR_TN2_SHIELD,
|
||||
/* 0x13 */ BMDR_TN2_SWORD_A,
|
||||
/* 0x14 */ BMDR_TN2_SWORD_B,
|
||||
/* 0x15 */ BMDR_TN2_SWORD_B_SAYA,
|
||||
|
||||
/* BRK */
|
||||
/* 0x18 */ BRK_TN2_BODY = 0x18,
|
||||
/* 0x19 */ BRK_TN2_COLOR_1,
|
||||
/* 0x1A */ BRK_TN2_COLOR_2,
|
||||
/* 0x1B */ BRK_TN2_SHIELD,
|
||||
};
|
||||
|
||||
enum B_TN_JOINT {
|
||||
|
||||
};
|
||||
|
||||
/* 8062E93C-8062E97C 000038 0040+00 0/1 0/0 0/0 .data cc_tt_src__22@unnamed@d_a_b_tn_cpp@
|
||||
*/
|
||||
namespace {
|
||||
|
|
@ -126,8 +228,17 @@ static s8 tn_model_brk_idx2[16] = {
|
|||
|
||||
/* 8062EB28-8062EBA8 000224 0080+00 0/1 0/0 0/0 .data tn_part_model_id__22@unnamed@d_a_b_tn_cpp@ */
|
||||
static int tn_part_model_id[32] = {
|
||||
4, 5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 17, 19, 18,
|
||||
5, 6, 7, 8, 9, 10, 11, 12, 13, 14, 15, 16, 18, 17, 21, 20,
|
||||
/* TN */
|
||||
BMDR_TN_ARMOR_ARM_L, BMDR_TN_ARMOR_ARM_R, BMDR_TN_ARMOR_CHEST_B, BMDR_TN_ARMOR_CHEST_F,
|
||||
BMDR_TN_ARMOR_HEAD_B, BMDR_TN_ARMOR_HEAD_F, BMDR_TN_ARMOR_SHOULDER_L, BMDR_TN_ARMOR_SHOULDER_R,
|
||||
BMDR_TN_ARMOR_WAIST_B, BMDR_TN_ARMOR_WAIST_F, BMDR_TN_ARMOR_WAIST_L, BMDR_TN_ARMOR_WAIST_R,
|
||||
BMDR_TN_SHIELD, BMDR_TN_SWORD_A, BMDR_TN_SWORD_B_SAYA, BMDR_TN_SWORD_B,
|
||||
|
||||
/* TN2 */
|
||||
BMDR_TN2_ARMOR_ARM_L, BMDR_TN2_ARMOR_ARM_R, BMDR_TN2_ARMOR_CHEST_B, BMDR_TN2_ARMOR_CHEST_F,
|
||||
BMDR_TN2_ARMOR_HEAD_A, BMDR_TN2_ARMOR_HEAD_B, BMDR_TN2_ARMOR_SHOULDER_L, BMDR_TN2_ARMOR_SHOULDER_R,
|
||||
BMDR_TN2_ARMOR_WAIST_B, BMDR_TN2_ARMOR_WAIST_F, BMDR_TN2_ARMOR_WAIST_L, BMDR_TN2_ARMOR_WAIST_R,
|
||||
BMDR_TN2_SHIELD, BMDR_TN2_MACE, BMDR_TN2_SWORD_B_SAYA, BMDR_TN2_SWORD_B,
|
||||
};
|
||||
|
||||
/* 8062EBA8-8062EBE8 0002A4 0040+00 2/2 0/0 0/0 .data tn_part_joint__22@unnamed@d_a_b_tn_cpp@ */
|
||||
|
|
@ -277,7 +388,7 @@ int daB_TN_c::draw() {
|
|||
g_env_light.setLightTevColorType_MAJI(model, &tevStr);
|
||||
mpModelMorf1->entryDL();
|
||||
} else {
|
||||
model = mpModels[i];
|
||||
model = mpPartModels[i];
|
||||
g_env_light.setLightTevColorType_MAJI(model, &tevStr);
|
||||
|
||||
if (mType == 1 && mpBrkAnms[i]) {
|
||||
|
|
@ -294,11 +405,11 @@ int daB_TN_c::draw() {
|
|||
}
|
||||
|
||||
if (mUpdateModelTimer != 0) {
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
modelData = mpModel->getModelData();
|
||||
g_env_light.setLightTevColorType_MAJI(swordEffectModel, &tevStr);
|
||||
modelData = swordEffectModel->getModelData();
|
||||
J3DGXColor* mKColor = modelData->getMaterialNodePointer(0)->getTevKColor(3);
|
||||
mKColor->a = l_HIO.mKColorA;
|
||||
mDoExt_modelUpdateDL(mpModel);
|
||||
mDoExt_modelUpdateDL(swordEffectModel);
|
||||
}
|
||||
|
||||
return 1;
|
||||
|
|
@ -437,7 +548,7 @@ void daB_TN_c::calcShieldMove() {
|
|||
|
||||
switch (mStates[12]) {
|
||||
case 2:
|
||||
mDoMtx_stack_c::copy(mpModels[12]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::copy(mpPartModels[12]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::multVecZero(&mPositions[12]);
|
||||
mPositionsCopy[12] = mPositions[12];
|
||||
mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &field_0x99c[12]);
|
||||
|
|
@ -510,7 +621,7 @@ void daB_TN_c::calcSwordMoveA() {
|
|||
}
|
||||
|
||||
case 2: {
|
||||
mDoMtx_stack_c::copy(mpModels[idx]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::copy(mpPartModels[idx]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::multVecZero(&mPositions[idx]);
|
||||
mPositionsCopy[idx] = mPositions[idx];
|
||||
mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &field_0x99c[idx]);
|
||||
|
|
@ -650,7 +761,7 @@ void daB_TN_c::calcOtherPartMove(int i_idx) {
|
|||
if (i_idx != 14) {
|
||||
setArmorBreakEffect(i_idx);
|
||||
}
|
||||
mDoMtx_stack_c::copy(mpModels[i_idx]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::copy(mpPartModels[i_idx]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::multVecZero(&mPositions[i_idx]);
|
||||
mPositionsCopy[i_idx] = mPositions[i_idx];
|
||||
mDoMtx_MtxToRot(mDoMtx_stack_c::get(), &field_0x99c[i_idx]);
|
||||
|
|
@ -1486,7 +1597,7 @@ void daB_TN_c::setAttackBlurEffect(int i_data) {
|
|||
|
||||
JPABaseEmitter* mBaseEmitter = dComIfGp_particle_getEmitter(mParticleKeys[i]);
|
||||
if (mBaseEmitter) {
|
||||
mBaseEmitter->setGlobalSRTMatrix(mpModels[13]->getBaseTRMtx());
|
||||
mBaseEmitter->setGlobalSRTMatrix(mpPartModels[13]->getBaseTRMtx());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -1757,7 +1868,7 @@ void daB_TN_c::executeOpening() {
|
|||
switch (mActionMode2) {
|
||||
case ACTION2_0_e:
|
||||
speedF = 0.0f;
|
||||
setBck(18, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_OP, 2, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
// [[fallthrough]]
|
||||
|
||||
|
|
@ -1810,7 +1921,7 @@ void daB_TN_c::executeOpening() {
|
|||
mCamCenter.z + field_0x724 * cM_scos(field_0x720));
|
||||
|
||||
if (mTimer1 == 0) {
|
||||
setBck(14, 0, 20.0f, 1.0f);
|
||||
setBck(BCK_TNA_TURN_OP, 0, 20.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_4_e;
|
||||
mBlendStatus = 1;
|
||||
mBlend = 0.0f;
|
||||
|
|
@ -1839,7 +1950,7 @@ void daB_TN_c::executeOpening() {
|
|||
mCamEye.set(mCamCenter.x + field_0x724 * cM_ssin(field_0x720), -210.0f,
|
||||
mCamCenter.z + field_0x724 * cM_scos(field_0x720));
|
||||
if (mpModelMorf2->isStop()) {
|
||||
setBck(15, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT, 2, 3.0f, 1.0f);
|
||||
mTimer1 = 60;
|
||||
mActionMode2 = ACTION2_10_e;
|
||||
}
|
||||
|
|
@ -1856,7 +1967,7 @@ void daB_TN_c::executeOpening() {
|
|||
}
|
||||
|
||||
if (mTimer1 == 0) {
|
||||
setBck(7, 0, 10.0f, 1.0f);
|
||||
setBck(BCK_TNA_ATACK_OP, 0, 10.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_14_e;
|
||||
}
|
||||
break;
|
||||
|
|
@ -1952,7 +2063,7 @@ void daB_TN_c::executeWaitH() {
|
|||
switch (mActionMode2) {
|
||||
case ACTION2_0_e:
|
||||
speedF = 0.0f;
|
||||
setBck(15, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT, 2, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
// [[fallthrough]]
|
||||
|
||||
|
|
@ -2021,9 +2132,9 @@ void daB_TN_c::executeChaseH() {
|
|||
case ACTION2_8_e:
|
||||
case ACTION2_10_e:
|
||||
if (mActionMode2 == ACTION2_8_e) {
|
||||
setBck(19, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WALK, 2, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(19, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_TNA_WALK, 2, 10.0f, 1.0f);
|
||||
}
|
||||
|
||||
mActionMode2 = ACTION2_9_e;
|
||||
|
|
@ -2050,9 +2161,9 @@ void daB_TN_c::executeChaseH() {
|
|||
case ACTION2_1_e:
|
||||
case ACTION2_11_e:
|
||||
if (mActionMode2 == ACTION2_1_e) {
|
||||
setBck(16, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_1, 2, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(16, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_1, 2, 10.0f, 1.0f);
|
||||
}
|
||||
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
|
|
@ -2076,7 +2187,7 @@ void daB_TN_c::executeChaseH() {
|
|||
break;
|
||||
|
||||
case ACTION2_3_e:
|
||||
setBck(16, 2, 3.0f, -1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_1, 2, 3.0f, -1.0f);
|
||||
mActionMode2 = ACTION2_4_e;
|
||||
current.angle.y = shape_angle.y + 0x8000;
|
||||
mWalkDir = 0;
|
||||
|
|
@ -2112,11 +2223,11 @@ void daB_TN_c::executeChaseH() {
|
|||
case ACTION2_5_e:
|
||||
if (cM_rnd() < 0.5f) {
|
||||
mActionMode2 = ACTION2_6_e;
|
||||
setBck(17, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + 0x4000;
|
||||
} else {
|
||||
mActionMode2 = ACTION2_7_e;
|
||||
setBck(17, 2, 3.0f, -1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, -1.0f);
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
}
|
||||
|
||||
|
|
@ -2131,7 +2242,7 @@ void daB_TN_c::executeChaseH() {
|
|||
|
||||
if (mTimer1 == 0) {
|
||||
if (cM_rnd() < 0.5f) {
|
||||
setBck(17, 2, 3.0f, -1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, -1.0f);
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
mActionMode2 = ACTION2_7_e;
|
||||
}
|
||||
|
|
@ -2155,7 +2266,7 @@ void daB_TN_c::executeChaseH() {
|
|||
|
||||
if (mTimer1 == 0) {
|
||||
if (cM_rnd() < 0.5f) {
|
||||
setBck(17, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + 0x4000;
|
||||
mActionMode2 = ACTION2_6_e;
|
||||
}
|
||||
|
|
@ -2172,7 +2283,7 @@ void daB_TN_c::executeChaseH() {
|
|||
break;
|
||||
|
||||
case ACTION2_100_e:
|
||||
setBck(16, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_1, 2, 10.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_102_e;
|
||||
speedF = 2.3f;
|
||||
current.angle.y = shape_angle.y;
|
||||
|
|
@ -2196,24 +2307,24 @@ void daB_TN_c::executeChaseH() {
|
|||
case ACTION2_103_e:
|
||||
mPlayerDistance = 3.0f;
|
||||
|
||||
if ((u8)checkBck(19)) {
|
||||
if ((u8)checkBck(BCK_TNA_WALK)) {
|
||||
mPlayerDistance = 10.0f;
|
||||
}
|
||||
|
||||
if (abs(sVar5) < 0x2000) {
|
||||
if (cM_rnd() < 0.5f) {
|
||||
mActionMode2 = ACTION2_106_e;
|
||||
setBck(17, 2, mPlayerDistance, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, mPlayerDistance, 1.0f);
|
||||
} else {
|
||||
mActionMode2 = ACTION2_107_e;
|
||||
setBck(17, 2, mPlayerDistance, -1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, mPlayerDistance, -1.0f);
|
||||
}
|
||||
} else if (sVar5 < 0) {
|
||||
mActionMode2 = ACTION2_106_e;
|
||||
setBck(17, 2, mPlayerDistance, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, mPlayerDistance, 1.0f);
|
||||
} else {
|
||||
mActionMode2 = ACTION2_107_e;
|
||||
setBck(17, 2, mPlayerDistance, -1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, mPlayerDistance, -1.0f);
|
||||
}
|
||||
|
||||
mTimer1 = cM_rndFX(20.0f) + 60.0f;
|
||||
|
|
@ -2246,21 +2357,21 @@ void daB_TN_c::executeChaseH() {
|
|||
mTimer1 = cM_rndFX(20.0f) + 90.0f;
|
||||
if (cM_rnd() < 0.5f) {
|
||||
if (mActionMode2 == ACTION2_106_e) {
|
||||
setBck(17, 2, 3.0f, -1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, -1.0f);
|
||||
mActionMode2 = ACTION2_107_e;
|
||||
} else {
|
||||
setBck(17, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_106_e;
|
||||
}
|
||||
}
|
||||
} else if (abs(sVar5) < 0x7000) {
|
||||
if (mActionMode2 == ACTION2_106_e) {
|
||||
if (sVar5 > 0) {
|
||||
setBck(17, 2, 3.0f, -1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, -1.0f);
|
||||
mActionMode2 = ACTION2_107_e;
|
||||
}
|
||||
} else if (sVar5 < 0) {
|
||||
setBck(17, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_WAIT_B_2, 2, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_106_e;
|
||||
}
|
||||
}
|
||||
|
|
@ -2351,16 +2462,16 @@ void daB_TN_c::executeAttackH() {
|
|||
|
||||
if (playerDistance < 250.0f) {
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
setBck(5, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_ATACK_A, 0, 3.0f, 1.0f);
|
||||
} else if (playerDistance < 350.0f) {
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
setBck(6, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_ATACK_B, 0, 3.0f, 1.0f);
|
||||
} else if (cM_rnd() < 0.5f) {
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
setBck(5, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_ATACK_A, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
setBck(6, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_ATACK_B, 0, 3.0f, 1.0f);
|
||||
setAttackBlurEffect(1);
|
||||
}
|
||||
|
||||
|
|
@ -2461,7 +2572,7 @@ void daB_TN_c::executeAttackShieldH() {
|
|||
switch (mActionMode2) {
|
||||
case ACTION2_0_e:
|
||||
speedF = 0.0f;
|
||||
setBck(8, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_ATACK_SHIELD, 0, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
break;
|
||||
|
||||
|
|
@ -2510,10 +2621,10 @@ void daB_TN_c::executeGuardH() {
|
|||
|
||||
if (field_0xaa8) {
|
||||
shape_angle.y = fopAcM_searchPlayerAngleY(this);
|
||||
setBck(13, 0, 0.0f, 1.0f);
|
||||
setBck(BCK_TNA_GUARD_DAMAGE, 0, 0.0f, 1.0f);
|
||||
} else {
|
||||
cLib_chaseAngleS(&shape_angle.y, fopAcM_searchPlayerAngleY(this), 0x2000);
|
||||
setBck(12, 0, 0.0f, 1.0f);
|
||||
setBck(BCK_TNA_GUARD, 0, 0.0f, 1.0f);
|
||||
}
|
||||
break;
|
||||
|
||||
|
|
@ -2575,9 +2686,9 @@ void daB_TN_c::executeDamageH() {
|
|||
current.pos.set(sp1c.x, current.pos.y, sp1c.z);
|
||||
|
||||
if (mActionMode2 == ACTION2_0_e) {
|
||||
setBck(9, 0, 0.0f, 1.0f);
|
||||
setBck(BCK_TNA_DAMAGE_L, 0, 0.0f, 1.0f);
|
||||
} else {
|
||||
setBck(11, 0, 0.0f, 1.0f);
|
||||
setBck(BCK_TNA_DAMAGE_R, 0, 0.0f, 1.0f);
|
||||
}
|
||||
|
||||
mSound.startCreatureVoice(Z2SE_EN_TN_V_DMG, -1);
|
||||
|
|
@ -2641,7 +2752,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
player->changeDemoMode(4, 1, 0, 0);
|
||||
|
||||
speedF = 0.0f;
|
||||
setBck(10, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_DAMAGE_LAST, 0, 3.0f, 1.0f);
|
||||
|
||||
mSound.startCreatureVoice(Z2SE_EN_TN_V_DMG_2, -1);
|
||||
|
||||
|
|
@ -2688,7 +2799,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
}
|
||||
|
||||
if (mpModelMorf2->isStop()) {
|
||||
setBck(30, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_B_1, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + 0x10000 + -0x8000;
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
}
|
||||
|
|
@ -2710,7 +2821,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
}
|
||||
|
||||
if (mpModelMorf2->isStop() && mAcch.ChkGroundHit()) {
|
||||
setBck(31, 0, 5.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_B_2, 0, 5.0f, 1.0f);
|
||||
mSound.startCreatureSound(Z2SE_EN_TN_FOOT_M1, 0, -1);
|
||||
mActionMode2 = ACTION2_3_e;
|
||||
}
|
||||
|
|
@ -2727,7 +2838,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
|
||||
if (mpModelMorf2->isStop()) {
|
||||
speedF = 0.0f;
|
||||
setBck(41, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_THROW, 0, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_4_e;
|
||||
}
|
||||
break;
|
||||
|
|
@ -2766,7 +2877,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
|
||||
if (mpModelMorf2->isStop()) {
|
||||
player->changeDemoMode(16, 2, 0, 0);
|
||||
setBck(42, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_WAIT, 2, 3.0f, 1.0f);
|
||||
mTimer1 = 60;
|
||||
mActionMode2 = ACTION2_11_e;
|
||||
}
|
||||
|
|
@ -2811,7 +2922,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
cLib_addCalcPos2(&mCamEye, sp34, 0.1f, 70.0f);
|
||||
|
||||
if (mTimer1 == 0) {
|
||||
setBck(38, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_PULL, 0, 3.0f, 1.0f);
|
||||
mSound.startCreatureVoice(Z2SE_EN_TN_V_PULL_OUT, -1);
|
||||
mActionMode2 = ACTION2_15_e;
|
||||
sp28.set(-100.0f, -400.0f, 300.0f);
|
||||
|
|
@ -2831,7 +2942,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
mSound.startCreatureSound(Z2SE_EN_TN_PULL_OUT, 0, -1);
|
||||
mStates[15] = 1;
|
||||
mStates[14] = 2;
|
||||
mpModelMorf1->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_tn", 40), 0, 0.0f, 1.0f,
|
||||
mpModelMorf1->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_tn", BCK_TNB_SWORD_B_PULL_B), 0, 0.0f, 1.0f,
|
||||
0.0f, -1.0f);
|
||||
}
|
||||
|
||||
|
|
@ -2840,7 +2951,7 @@ void daB_TN_c::executeChangeDemo() {
|
|||
mSwordSphs[i].OffCoSetBit();
|
||||
}
|
||||
mCps.OffCoSetBit();
|
||||
setBck(42, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_WAIT, 2, 3.0f, 1.0f);
|
||||
mTimer1 = 30;
|
||||
mActionMode2 = ACTION2_16_e;
|
||||
return;
|
||||
|
|
@ -2876,7 +2987,7 @@ void daB_TN_c::executeZakoChangeDemo() {
|
|||
|
||||
mTimer1 = 30;
|
||||
speedF = 0.0f;
|
||||
setBck(10, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNA_DAMAGE_LAST, 0, 3.0f, 1.0f);
|
||||
|
||||
mSound.startCreatureVoice(Z2SE_EN_TN_V_DMG_2, -1);
|
||||
|
||||
|
|
@ -2896,7 +3007,7 @@ void daB_TN_c::executeZakoChangeDemo() {
|
|||
cLib_addCalcAngleS(&shape_angle.y, mPlayerAngleY, 8, 0x100, 16);
|
||||
|
||||
if (mpModelMorf2->isStop()) {
|
||||
setBck(30, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_B_1, 0, 3.0f, 1.0f);
|
||||
current.angle.y = shape_angle.y + 0x8000;
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
}
|
||||
|
|
@ -2921,7 +3032,7 @@ void daB_TN_c::executeZakoChangeDemo() {
|
|||
return;
|
||||
}
|
||||
|
||||
setBck(31, 0, 5.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_B_2, 0, 5.0f, 1.0f);
|
||||
|
||||
mSound.startCreatureSound(Z2SE_EN_TN_FOOT_M1, 0, -1);
|
||||
mActionMode2 = ACTION2_3_e;
|
||||
|
|
@ -2937,7 +3048,7 @@ void daB_TN_c::executeZakoChangeDemo() {
|
|||
|
||||
if (mpModelMorf2->isStop()) {
|
||||
speedF = 0.0f;
|
||||
setBck(41, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_THROW, 0, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_4_e;
|
||||
}
|
||||
break;
|
||||
|
|
@ -2965,7 +3076,7 @@ void daB_TN_c::executeZakoChangeDemo() {
|
|||
}
|
||||
|
||||
if (mpModelMorf2->isStop()) {
|
||||
setBck(38, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_PULL, 0, 3.0f, 1.0f);
|
||||
mSound.startCreatureVoice(Z2SE_EN_TN_V_PULL_OUT, -1);
|
||||
mActionMode2 = ACTION2_5_e;
|
||||
}
|
||||
|
|
@ -2976,7 +3087,7 @@ void daB_TN_c::executeZakoChangeDemo() {
|
|||
mSound.startCreatureSound(Z2SE_EN_TN_PULL_OUT, 0, -1);
|
||||
mStates[15] = 1;
|
||||
mStates[14] = 2;
|
||||
mpModelMorf1->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_tn", 40), 0, 0.0f, 1.0f,
|
||||
mpModelMorf1->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_tn", BCK_TNB_SWORD_B_PULL_B), 0, 0.0f, 1.0f,
|
||||
0.0f, -1.0f);
|
||||
}
|
||||
|
||||
|
|
@ -3052,18 +3163,18 @@ void daB_TN_c::initChaseL(int param_1) {
|
|||
|
||||
switch (mActionMode2) {
|
||||
case ACTION2_2_e:
|
||||
setBck(42, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_TNB_WAIT, 2, 10.0f, 1.0f);
|
||||
mTimer1 = 30;
|
||||
break;
|
||||
|
||||
case ACTION2_3_e:
|
||||
setBck(45, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_TNB_WALK, 2, 10.0f, 1.0f);
|
||||
speedF = 4.7f;
|
||||
break;
|
||||
|
||||
case ACTION2_4_e:
|
||||
if ((u8)checkBck(43) == 0) {
|
||||
setBck(43, 2, 10.0f, 1.0f);
|
||||
if ((u8)checkBck(BCK_TNB_WAIT_B_1) == 0) {
|
||||
setBck(BCK_TNB_WAIT_B_1, 2, 10.0f, 1.0f);
|
||||
}
|
||||
|
||||
current.angle.y = shape_angle.y + 0x4000;
|
||||
|
|
@ -3073,8 +3184,8 @@ void daB_TN_c::initChaseL(int param_1) {
|
|||
break;
|
||||
|
||||
case ACTION2_5_e:
|
||||
if ((u8)checkBck(44) == 0) {
|
||||
setBck(44, 2, 10.0f, 1.0f);
|
||||
if ((u8)checkBck(BCK_TNB_WAIT_B_2) == 0) {
|
||||
setBck(BCK_TNB_WAIT_B_2, 2, 10.0f, 1.0f);
|
||||
}
|
||||
|
||||
current.angle.y = shape_angle.y + -0x4000;
|
||||
|
|
@ -3084,7 +3195,7 @@ void daB_TN_c::initChaseL(int param_1) {
|
|||
break;
|
||||
|
||||
case ACTION2_6_e:
|
||||
setBck(30, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_B_1, 0, 3.0f, 1.0f);
|
||||
break;
|
||||
|
||||
case ACTION2_7_e:
|
||||
|
|
@ -3094,38 +3205,38 @@ void daB_TN_c::initChaseL(int param_1) {
|
|||
|
||||
case ACTION2_8_e:
|
||||
case ACTION2_17_e:
|
||||
setBck(32, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_F_1, 0, 3.0f, 1.0f);
|
||||
break;
|
||||
|
||||
case ACTION2_9_e:
|
||||
setBck(33, 0, 5.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_F_2, 0, 5.0f, 1.0f);
|
||||
mSound.startCreatureSound(Z2SE_EN_TN_FOOT_M1, 0, -1);
|
||||
break;
|
||||
|
||||
case ACTION2_10_e:
|
||||
case ACTION2_11_e:
|
||||
setBck(36, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_R_1, 0, 3.0f, 1.0f);
|
||||
break;
|
||||
|
||||
case ACTION2_12_e:
|
||||
setBck(37, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_R_2, 0, 3.0f, 1.0f);
|
||||
mSound.startCreatureSound(Z2SE_EN_TN_FOOT_M1, 0, -1);
|
||||
speedF = 15.0f;
|
||||
break;
|
||||
|
||||
case ACTION2_13_e:
|
||||
case ACTION2_14_e:
|
||||
setBck(34, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_L_1, 0, 3.0f, 1.0f);
|
||||
break;
|
||||
|
||||
case ACTION2_15_e:
|
||||
setBck(35, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_JUMP_L_2, 0, 3.0f, 1.0f);
|
||||
mSound.startCreatureSound(Z2SE_EN_TN_FOOT_M1, 0, -1);
|
||||
speedF = 15.0f;
|
||||
break;
|
||||
|
||||
case ACTION2_16_e:
|
||||
setBck(45, 2, 10.0f, 1.0f);
|
||||
setBck(BCK_TNB_WALK, 2, 10.0f, 1.0f);
|
||||
speedF = 4.7;
|
||||
mTimer1 = 30;
|
||||
}
|
||||
|
|
@ -3455,7 +3566,7 @@ void daB_TN_c::executeChaseL() {
|
|||
cLib_addCalcAngleS(&shape_angle.y, mPlayerAngleY, 4, 0x400, 16);
|
||||
current.angle.y = shape_angle.y + 0x8000;
|
||||
|
||||
if ((u8)checkBck(30)) {
|
||||
if ((u8)checkBck(BCK_TNB_JUMP_B_1)) {
|
||||
if (mpModelMorf2->checkFrame(4.0f)) {
|
||||
speedF = 50.0f;
|
||||
speed.y = 19.0f;
|
||||
|
|
@ -3467,7 +3578,7 @@ void daB_TN_c::executeChaseL() {
|
|||
}
|
||||
|
||||
if (mpModelMorf2->isStop()) {
|
||||
setBck(31, 0, 5.0f, 0.0f);
|
||||
setBck(BCK_TNB_JUMP_B_2, 0, 5.0f, 0.0f);
|
||||
}
|
||||
} else if (mAcch.ChkGroundHit()) {
|
||||
initChaseL(7);
|
||||
|
|
@ -3622,16 +3733,16 @@ void daB_TN_c::executeAttackL() {
|
|||
if (mPlayerDistance < 350.0f) {
|
||||
if (mActionMode2Copy == ACTION2_20_e) {
|
||||
mActionMode2 = ACTION2_4_e;
|
||||
setBck(42, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_WAIT, 2, 3.0f, 1.0f);
|
||||
mTimer1 = 3;
|
||||
} else {
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
setBck(21, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_B, 0, 3.0f, 1.0f);
|
||||
}
|
||||
} else {
|
||||
if (mActionMode2Copy == ACTION2_20_e || mActionMode2Copy == ACTION2_10_e) {
|
||||
mActionMode2 = ACTION2_3_e;
|
||||
setBck(42, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_WAIT, 2, 3.0f, 1.0f);
|
||||
if (mActionMode2Copy == ACTION2_10_e) {
|
||||
mTimer1 = 5;
|
||||
} else {
|
||||
|
|
@ -3639,7 +3750,7 @@ void daB_TN_c::executeAttackL() {
|
|||
}
|
||||
} else {
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
setBck(20, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_A, 0, 3.0f, 1.0f);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -3658,10 +3769,10 @@ void daB_TN_c::executeAttackL() {
|
|||
|
||||
if (cM_rnd() < 0.5f) {
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
setBck(21, 0, 10.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_B, 0, 10.0f, 1.0f);
|
||||
} else {
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
setBck(20, 0, 7.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_A, 0, 7.0f, 1.0f);
|
||||
}
|
||||
|
||||
mWalkDir = 0;
|
||||
|
|
@ -3774,7 +3885,7 @@ void daB_TN_c::executeAttackL() {
|
|||
}
|
||||
|
||||
if (mpModelMorf2->checkFrame(41.0f) && mWalkDir == 10) {
|
||||
setBck(20, 0, 5.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_A, 0, 5.0f, 1.0f);
|
||||
setSwordAtBit(0);
|
||||
setSwordAtBreak(1);
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
|
|
@ -3803,7 +3914,7 @@ void daB_TN_c::executeAttackL() {
|
|||
}
|
||||
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
setBck(20, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_A, 0, 3.0f, 1.0f);
|
||||
return;
|
||||
|
||||
case ACTION2_4_e:
|
||||
|
|
@ -3812,7 +3923,7 @@ void daB_TN_c::executeAttackL() {
|
|||
}
|
||||
|
||||
mActionMode2 = ACTION2_2_e;
|
||||
setBck(21, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_B, 0, 3.0f, 1.0f);
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
|
@ -3836,7 +3947,7 @@ void daB_TN_c::executeAttackShieldL() {
|
|||
}
|
||||
|
||||
speedF = 0.0f;
|
||||
setBck(22, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_ATACK_SHIELD, 0, 3.0f, 1.0f);
|
||||
mActionMode2 = ACTION2_1_e;
|
||||
break;
|
||||
|
||||
|
|
@ -3892,13 +4003,13 @@ void daB_TN_c::executeGuardL() {
|
|||
|
||||
u32 mCutType = getCutType();
|
||||
if ((mCutType & 16) != 0) {
|
||||
setBck(28, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_GUARD_A, 0, 3.0f, 1.0f);
|
||||
} else if ((mCutType & 32) != 0) {
|
||||
setBck(29, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_GUARD_B, 0, 3.0f, 1.0f);
|
||||
} else if (cM_rnd() < 0.5f) {
|
||||
setBck(28, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_GUARD_A, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(29, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_GUARD_B, 0, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
speedF = 0.0f;
|
||||
|
|
@ -3911,7 +4022,7 @@ void daB_TN_c::executeGuardL() {
|
|||
}
|
||||
|
||||
field_0xa91 = false;
|
||||
setBck(26, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_DOWN, 0, 3.0f, 1.0f);
|
||||
speedF = 17.0f;
|
||||
}
|
||||
|
||||
|
|
@ -4029,9 +4140,9 @@ void daB_TN_c::executeDamageL() {
|
|||
mSphC.OffAtSetBit();
|
||||
|
||||
if (mActionMode2 == ACTION2_0_e) {
|
||||
setBck(23, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_DAMAGE_L, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(24, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_DAMAGE_R, 0, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
mSound.startCreatureVoice(Z2SE_EN_TN_V_DMG, -1);
|
||||
|
|
@ -4075,9 +4186,9 @@ void daB_TN_c::executeYoroke() {
|
|||
case ACTION2_0_e:
|
||||
case ACTION2_1_e:
|
||||
if (mActionMode2 == ACTION2_0_e) {
|
||||
setBck(27, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_DOWN_SIPPU, 0, 3.0f, 1.0f);
|
||||
} else {
|
||||
setBck(27, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_DOWN_SIPPU, 0, 3.0f, 1.0f);
|
||||
}
|
||||
|
||||
mActionMode2 = ACTION2_10_e;
|
||||
|
|
@ -4147,7 +4258,7 @@ void daB_TN_c::executeEnding() {
|
|||
camera->mCamera.Stop();
|
||||
camera->mCamera.SetTrimSize(3);
|
||||
|
||||
setBck(25, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_TNB_DIE, 0, 3.0f, 1.0f);
|
||||
mSound.startCreatureVoice(Z2SE_EN_TN_V_DMG_2, -1);
|
||||
mActionMode2 = ACTION2_100_e;
|
||||
speedF = 0.0f;
|
||||
|
|
@ -4546,7 +4657,7 @@ void daB_TN_c::mtx_set() {
|
|||
if (i == 15) {
|
||||
model2 = mpModelMorf1->getModel();
|
||||
} else {
|
||||
model2 = mpModels[i];
|
||||
model2 = mpPartModels[i];
|
||||
}
|
||||
|
||||
switch (mStates[i]) {
|
||||
|
|
@ -4580,7 +4691,7 @@ void daB_TN_c::mtx_set() {
|
|||
case 4:
|
||||
case 5:
|
||||
if (mType == 1 && i == 5) {
|
||||
mDoMtx_stack_c::copy(mpModels[4]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::copy(mpPartModels[4]->getBaseTRMtx());
|
||||
} else {
|
||||
mDoMtx_stack_c::transS(mPositions[i]);
|
||||
|
||||
|
|
@ -4603,7 +4714,7 @@ void daB_TN_c::mtx_set() {
|
|||
mpModelMorf1->modelCalc();
|
||||
|
||||
if (mUpdateModelTimer != 0) {
|
||||
mpModel->setBaseTRMtx(mNewTRMtx);
|
||||
swordEffectModel->setBaseTRMtx(mNewTRMtx);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -4724,7 +4835,7 @@ void daB_TN_c::cc_set() {
|
|||
mCpsPos = sp38;
|
||||
dComIfG_Ccsp()->Set(&mCps);
|
||||
} else if (mStates[13] == 3) {
|
||||
mDoMtx_stack_c::copy(mpModels[13]->getBaseTRMtx());
|
||||
mDoMtx_stack_c::copy(mpPartModels[13]->getBaseTRMtx());
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
mDoMtx_stack_c::transM(20.0f, 0.0f, 40.0f);
|
||||
|
|
@ -4887,18 +4998,18 @@ static int daB_TN_Delete(daB_TN_c* i_this) {
|
|||
|
||||
/* 8062C868-8062CD10 00DD68 04A8+00 1/1 0/0 0/0 .text CreateHeap__8daB_TN_cFv */
|
||||
int daB_TN_c::CreateHeap() {
|
||||
static int tn2_brk_index[3] = {25, 26, 27};
|
||||
static int tn2_brk_index[3] = {BRK_TN2_COLOR_1, BRK_TN2_COLOR_2, BRK_TN2_SHIELD};
|
||||
|
||||
J3DModelData* modelData;
|
||||
|
||||
if (mType == 0) {
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_tnp", 3);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_tnp", BMDR_TN);
|
||||
} else {
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_tnp2", 4);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_tnp2", BMDR_TN2);
|
||||
}
|
||||
|
||||
mpModelMorf2 = new mDoExt_McaMorfSO(modelData, NULL, NULL,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_tn", 15), 0, 1.0f,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_tn", BCK_TNA_WAIT), 0, 1.0f,
|
||||
0, -1, &mSound, 0x80000, 0x11000084);
|
||||
if (mpModelMorf2 == NULL || mpModelMorf2->getModel() == NULL) {
|
||||
return 0;
|
||||
|
|
@ -4910,7 +5021,7 @@ int daB_TN_c::CreateHeap() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (mpBrkAnm->init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes(mArcName, 24), 1, 2,
|
||||
if (mpBrkAnm->init(modelData, (J3DAnmTevRegKey*)dComIfG_getObjectRes(mArcName, BRK_TN2_BODY), 1, 2,
|
||||
0.0f, 0, -1) == 0)
|
||||
{
|
||||
return 0;
|
||||
|
|
@ -4931,9 +5042,9 @@ int daB_TN_c::CreateHeap() {
|
|||
}
|
||||
|
||||
model = mDoExt_J3DModel__create(modelData, 0x80000, 0x11000084);
|
||||
mpModels[i] = model;
|
||||
mpPartModels[i] = model;
|
||||
|
||||
if (mpModels[i] == NULL) {
|
||||
if (mpPartModels[i] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -4966,17 +5077,17 @@ int daB_TN_c::CreateHeap() {
|
|||
modelData = (J3DModelData*)dComIfG_getObjectRes(mArcName, tn_part_model_id[mType * 0x10 + 0xf]);
|
||||
|
||||
mpModelMorf1 = new mDoExt_McaMorfSO(modelData, NULL, NULL,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_tn", 39), 0, 1.0f,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("B_tn", BCK_TNB_SWORD_B_PULL_A), 0, 1.0f,
|
||||
0, -1, &mSound, 0x80000, 0x11000084);
|
||||
if (mpModelMorf1 == NULL || mpModelMorf1->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_tn", 48);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("B_tn", BMDR_TN_EFFECT);
|
||||
model = mDoExt_J3DModel__create(modelData, 0x80000, 0x31000084);
|
||||
|
||||
mpModel = model;
|
||||
if (mpModel == NULL) {
|
||||
swordEffectModel = model;
|
||||
if (swordEffectModel == NULL) {
|
||||
return 0;
|
||||
}
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -20,121 +20,93 @@
|
|||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_play.h"
|
||||
|
||||
/* 80639F38-80639F3C 000008 0001+03 1/1 0/0 0/0 .bss @1109 */
|
||||
static u8 lit_1109[1 + 3 /* padding */];
|
||||
enum B_YO_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x07 */ BCK_YKW_B_ANGRY = 7,
|
||||
/* 0x08 */ BCK_YKW_B_ANGRY_WAIT,
|
||||
/* 0x09 */ BCK_YKW_B_DOWN,
|
||||
/* 0x0A */ BCK_YKW_B_DOWNA,
|
||||
/* 0x0B */ BCK_YKW_B_DOWNB,
|
||||
/* 0x0C */ BCK_YKW_B_DOWNC,
|
||||
/* 0x0D */ BCK_YKW_B_FLOAT,
|
||||
/* 0x0E */ BCK_YKW_B_FLOATB,
|
||||
/* 0x0F */ BCK_YKW_B_SCREAM,
|
||||
/* 0x10 */ BCK_YKW_B_SCREAM_WAIT,
|
||||
/* 0x11 */ BCK_YKW_B_TALKA,
|
||||
/* 0x12 */ BCK_YKW_B_TALKB,
|
||||
/* 0x13 */ BCK_YKW_B_TO_TALKB,
|
||||
/* 0x14 */ BCK_YKW_B_WAITA,
|
||||
/* 0x15 */ BCK_YKW_B_WAITB,
|
||||
/* 0x16 */ BCK_YKW_B_WAITC,
|
||||
/* 0x17 */ BCK_YKW_B_WAITC2,
|
||||
/* 0x18 */ BCK_YKW_B_WAITD,
|
||||
/* 0x19 */ BCK_YKW_B_WALK,
|
||||
|
||||
/* 80639F3C-80639F40 00000C 0001+03 0/0 0/0 0/0 .bss @1107 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1107[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
/* BMDE */
|
||||
/* 0x1C */ BMDE_YKW_B = 0x1C,
|
||||
/* 0x1D */ BMDE_YO01,
|
||||
/* 0x1E */ BMDE_YO02,
|
||||
/* 0x1F */ BMDE_YO_CORE,
|
||||
/* 0x20 */ BMDE_YO_HIBI,
|
||||
/* 0x21 */ BMDE_YO_ICE,
|
||||
|
||||
/* 80639F40-80639F44 000010 0001+03 0/0 0/0 0/0 .bss @1105 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1105[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
/* BRK */
|
||||
/* 0x24 */ BRK_YKW_B = 0x24,
|
||||
/* 0x25 */ BRK_YKW_B_ANGRY,
|
||||
/* 0x26 */ BRK_YKW_B_ANGRY_WAIT,
|
||||
/* 0x27 */ BRK_YKW_B_WHITE,
|
||||
|
||||
/* 80639F44-80639F48 000014 0001+03 0/0 0/0 0/0 .bss @1104 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1104[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
/* BTK */
|
||||
/* 0x2A */ BTK_YKW_B_ANGRY = 0x2A,
|
||||
/* 0x2B */ BTK_YKW_B_DOWN,
|
||||
/* 0x2C */ BTK_YKW_B_FLOAT,
|
||||
/* 0x2D */ BTK_YKW_B_SCREAM,
|
||||
/* 0x2E */ BTK_YKW_B_SCREAM_WAIT,
|
||||
/* 0x2F */ BTK_YKW_B_TALKA,
|
||||
/* 0x30 */ BTK_YKW_B_TALKB,
|
||||
/* 0x31 */ BTK_YKW_B_TO_TALKB,
|
||||
/* 0x32 */ BTK_YKW_B_WAITA,
|
||||
/* 0x33 */ BTK_YKW_B_WAITB,
|
||||
/* 0x34 */ BTK_YKW_B_WALK,
|
||||
/* 0x35 */ BTK_YO_KANNKYOU,
|
||||
|
||||
/* 80639F48-80639F4C 000018 0001+03 0/0 0/0 0/0 .bss @1099 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1099[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
/* BTP */
|
||||
/* 0x38 */ BTP_YKW_B_ANGRY = 0x38,
|
||||
/* 0x39 */ BTP_YKW_B_FACEA,
|
||||
/* 0x3A */ BTP_YKW_B_FACEB,
|
||||
/* 0x3B */ BTP_YKW_B_FLOAT,
|
||||
/* 0x3C */ BTP_YKW_B_TALKA,
|
||||
/* 0x3D */ BTP_YKW_B_TALKB,
|
||||
/* 0x3E */ BTP_YKW_B_TO_TALKB,
|
||||
/* 0x3F */ BTP_YKW_B_WAITA,
|
||||
/* 0x40 */ BTP_YKW_B_WAITB,
|
||||
/* 0x41 */ BTP_YKW_B_WALK,
|
||||
};
|
||||
|
||||
/* 80639F4C-80639F50 00001C 0001+03 0/0 0/0 0/0 .bss @1097 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1097[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
enum L5_R50_RES_FIL_ID {
|
||||
/* BMDR */
|
||||
/* 0x04 */ BMDR_R50_P1 = 4,
|
||||
/* 0x05 */ BMDR_R50_P2,
|
||||
/* 0x06 */ BMDR_T_R50FURNITURE,
|
||||
|
||||
/* 80639F50-80639F54 000020 0001+03 0/0 0/0 0/0 .bss @1095 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1095[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
/* DZB */
|
||||
/* 0x09 */ DZB_R50_P1 = 9,
|
||||
/* 0x0A */ DZB_R50_P2,
|
||||
};
|
||||
|
||||
/* 80639F54-80639F58 000024 0001+03 0/0 0/0 0/0 .bss @1094 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1094[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
UNK_REL_BSS;
|
||||
|
||||
/* 80639F58-80639F5C 000028 0001+03 0/0 0/0 0/0 .bss @1057 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1057[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 80639F5C-80639F60 00002C 0001+03 0/0 0/0 0/0 .bss @1055 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1055[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 80639F60-80639F64 000030 0001+03 0/0 0/0 0/0 .bss @1053 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1053[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 80639F64-80639F68 000034 0001+03 0/0 0/0 0/0 .bss @1052 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1052[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 80639F68-80639F6C 000038 0001+03 0/0 0/0 0/0 .bss @1014 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1014[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 80639F6C-80639F70 00003C 0001+03 0/0 0/0 0/0 .bss @1012 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1012[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 80639F70-80639F74 000040 0001+03 0/0 0/0 0/0 .bss @1010 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
static u8 lit_1010[1 + 3 /* padding */];
|
||||
#pragma pop
|
||||
|
||||
/* 80639F74-80639F78 -00001 0004+00 2/2 0/0 0/0 .bss None */
|
||||
/* 80639F74 0001+00 data_80639F74 @1009 */
|
||||
/* 80639F75 0003+00 data_80639F75 None */
|
||||
static u8 struct_80639F74;
|
||||
static bool hioInit;
|
||||
|
||||
/* 80639F84-80639FE0 000054 005C+00 12/13 0/0 0/0 .bss l_HIO */
|
||||
static daB_YO_HIO_c l_HIO;
|
||||
|
||||
/* 80639A60-80639A6C 000000 000C+00 4/4 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
};
|
||||
|
||||
/* 80639A6C-80639A80 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
};
|
||||
UNK_REL_DATA;
|
||||
|
||||
namespace {
|
||||
|
||||
/* 80639A80-80639AC4 000020 0044+00 0/1 0/0 0/0 .data cc_yo_src__22@unnamed@d_a_b_yo_cpp@
|
||||
*/
|
||||
/* 80639A80-80639AC4 000020 0044+00 0/1 0/0 0/0 .data cc_yo_src__22@unnamed@d_a_b_yo_cpp@ */
|
||||
static dCcD_SrcCyl cc_yo_src = {
|
||||
{
|
||||
{0x0, {{0x100000, 0x4, 0xD}, {0x0, 0x0}, 0x75}}, // mObj
|
||||
|
|
@ -186,71 +158,71 @@ static bool yo_material_draw[27] = {
|
|||
|
||||
/* 80639B60-80639BAC 000100 004C+00 0/1 0/0 0/0 .data yo_demo_bck_idx */
|
||||
static int yo_demo_bck_idx[19] = {
|
||||
0x07, // ykw_b_angry
|
||||
0x08, // ykw_b_angry_wait
|
||||
0x0D, // ykw_b_float
|
||||
0x11, // ykw_b_talka
|
||||
0x12, // ykw_b_talkb
|
||||
0x13, // ykw_b_to_talkb
|
||||
0x14, // ykw_b_waita
|
||||
0x15, // ykw_b_waitb
|
||||
0x19, // ykw_b_walk
|
||||
0x0F, // ykw_b_scream
|
||||
0x10, // ykw_b_scream_wait
|
||||
0x17, // ykw_b_waitc2
|
||||
0x16, // ykw_b_waitc
|
||||
0x0E, // ykw_b_floatb
|
||||
0x18, // ykw_b_waitd
|
||||
0x0A, // ykw_b_downa
|
||||
0x0B, // ykw_b_downb
|
||||
0x0C, // ykw_b_downc
|
||||
0x09, // ykw_b_down
|
||||
BCK_YKW_B_ANGRY,
|
||||
BCK_YKW_B_ANGRY_WAIT,
|
||||
BCK_YKW_B_FLOAT,
|
||||
BCK_YKW_B_TALKA,
|
||||
BCK_YKW_B_TALKB,
|
||||
BCK_YKW_B_TO_TALKB,
|
||||
BCK_YKW_B_WAITA,
|
||||
BCK_YKW_B_WAITB,
|
||||
BCK_YKW_B_WALK,
|
||||
BCK_YKW_B_SCREAM,
|
||||
BCK_YKW_B_SCREAM_WAIT,
|
||||
BCK_YKW_B_WAITC2,
|
||||
BCK_YKW_B_WAITC,
|
||||
BCK_YKW_B_FLOATB,
|
||||
BCK_YKW_B_WAITD,
|
||||
BCK_YKW_B_DOWNA,
|
||||
BCK_YKW_B_DOWNB,
|
||||
BCK_YKW_B_DOWNC,
|
||||
BCK_YKW_B_DOWN,
|
||||
};
|
||||
|
||||
/* 80639BAC-80639BF8 00014C 004C+00 0/1 0/0 0/0 .data yo_demo_btk_idx */
|
||||
static int yo_demo_btk_idx[19] = {
|
||||
0x2A, // ykw_b_angry
|
||||
BTK_YKW_B_ANGRY,
|
||||
0xFF, // <none>
|
||||
0x2C, // ykw_b_float
|
||||
0x2F, // ykw_b_talka
|
||||
0x30, // ykw_b_talkb
|
||||
0x31, // ykw_b_to_talkb
|
||||
0x32, // ykw_b_waita
|
||||
0x33, // ykw_b_waitb
|
||||
0x34, // ykw_b_walk
|
||||
0x2D, // ykw_b_scream
|
||||
0x2E, // ykw_b_scream_wait
|
||||
0x34, // ykw_b_walk
|
||||
0x34, // ykw_b_walk
|
||||
0x34, // ykw_b_walk
|
||||
0x34, // ykw_b_walk
|
||||
0x2B, // ykw_b_down
|
||||
0x2B, // ykw_b_down
|
||||
0x2B, // ykw_b_down
|
||||
0x32, // ykw_b_waita
|
||||
BTK_YKW_B_FLOAT,
|
||||
BTK_YKW_B_TALKA,
|
||||
BTK_YKW_B_TALKB,
|
||||
BTK_YKW_B_TO_TALKB,
|
||||
BTK_YKW_B_WAITA,
|
||||
BTK_YKW_B_WAITB,
|
||||
BTK_YKW_B_WALK,
|
||||
BTK_YKW_B_SCREAM,
|
||||
BTK_YKW_B_SCREAM_WAIT,
|
||||
BTK_YKW_B_WALK,
|
||||
BTK_YKW_B_WALK,
|
||||
BTK_YKW_B_WALK,
|
||||
BTK_YKW_B_WALK,
|
||||
BTK_YKW_B_DOWN,
|
||||
BTK_YKW_B_DOWN,
|
||||
BTK_YKW_B_DOWN,
|
||||
BTK_YKW_B_WAITA,
|
||||
};
|
||||
|
||||
/* 80639BF8-80639C44 000198 004C+00 0/1 0/0 0/0 .data yo_demo_btp_idx */
|
||||
static int yo_demo_btp_idx[19] = {
|
||||
0x38, // ykw_b_angry
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x3C, // ykw_b_talka
|
||||
0x3D, // ykw_b_talkb
|
||||
0x3E, // ykw_b_to_talkb
|
||||
0x3A, // ykw_b_faceb
|
||||
0x39, // ykw_b_facea
|
||||
0x3A, // ykw_b_faceb
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x39, // ykw_b_facea
|
||||
0x3A, // ykw_b_faceb
|
||||
BTP_YKW_B_ANGRY,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_TALKA,
|
||||
BTP_YKW_B_TALKB,
|
||||
BTP_YKW_B_TO_TALKB,
|
||||
BTP_YKW_B_FACEB,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEB,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEA,
|
||||
BTP_YKW_B_FACEB,
|
||||
};
|
||||
|
||||
/* 8062F46C-8062F51C 0000EC 00B0+00 1/1 0/0 0/0 .text __ct__12daB_YO_HIO_cFv */
|
||||
|
|
@ -447,13 +419,13 @@ void daB_YO_c::setBck(int i_anm, u8 i_attr, f32 i_morf, f32 i_rate) {
|
|||
int brk_idx;
|
||||
if (i_anm == ANM_ANGRY) {
|
||||
field_0xfcc = true;
|
||||
brk_idx = 0x25;
|
||||
brk_idx = BRK_YKW_B_ANGRY;
|
||||
} else if (i_anm == ANM_ANGRY_WAIT) {
|
||||
brk_idx = 0x26;
|
||||
brk_idx = BRK_YKW_B_ANGRY_WAIT;
|
||||
} else if (field_0xfcc) {
|
||||
brk_idx = 0x24;
|
||||
brk_idx = BRK_YKW_B;
|
||||
} else {
|
||||
brk_idx = 0x25;
|
||||
brk_idx = BRK_YKW_B_ANGRY;
|
||||
}
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", brk_idx);
|
||||
mpYetaBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1);
|
||||
|
|
@ -3158,27 +3130,27 @@ static int daB_YO_Delete(daB_YO_c* i_this) {
|
|||
|
||||
/* 806380F8-80638838 008D78 0740+00 1/1 0/0 0/0 .text CreateHeap__8daB_YO_cFv */
|
||||
int daB_YO_c::CreateHeap() {
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", 0x1d);
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", BMDE_YO01);
|
||||
mpModel[0] = mDoExt_J3DModel__create(model_data, 0, 0x11000284);
|
||||
if (mpModel[0] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", 0x1e);
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", BMDE_YO02);
|
||||
mpModel[1] = mDoExt_J3DModel__create(model_data, 0, 0x11000284);
|
||||
if (mpModel[1] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", 0x1f);
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", BMDE_YO_CORE);
|
||||
mpModel[2] = mDoExt_J3DModel__create(model_data, 0, 0x11000284);
|
||||
if (mpModel[2] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", 0x1c);
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("B_YO", BMDE_YKW_B);
|
||||
mpYetaMorf = new mDoExt_McaMorfSO(
|
||||
model_data, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_YO", 0x14),
|
||||
model_data, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_YO", BCK_YKW_B_WAITA),
|
||||
J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1, &mCreatureSound, 0, 0x11020284
|
||||
);
|
||||
if (mpYetaMorf == NULL || mpYetaMorf->getModel() == NULL) {
|
||||
|
|
@ -3189,7 +3161,7 @@ int daB_YO_c::CreateHeap() {
|
|||
if (mpBtkAnm == NULL) {
|
||||
return 0;
|
||||
}
|
||||
J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_YO", 0x35);
|
||||
J3DAnmTextureSRTKey* btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_YO", BTK_YO_KANNKYOU);
|
||||
if (!mpBtkAnm->init(mpModel[0]->getModelData(), btk, FALSE,
|
||||
J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
|
|
@ -3200,7 +3172,7 @@ int daB_YO_c::CreateHeap() {
|
|||
if (mpYetaBtkAnm == NULL) {
|
||||
return 0;
|
||||
}
|
||||
btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_YO", 0x32);
|
||||
btk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("B_YO", BTK_YKW_B_WAITA);
|
||||
if (!mpYetaBtkAnm->init(model_data, btk, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3209,7 +3181,7 @@ int daB_YO_c::CreateHeap() {
|
|||
if (mpYetaBtpAnm == NULL) {
|
||||
return 5;
|
||||
}
|
||||
J3DAnmTexPattern* btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("B_YO", 0x3f);
|
||||
J3DAnmTexPattern* btp = (J3DAnmTexPattern*)dComIfG_getObjectRes("B_YO", BTP_YKW_B_WAITA);
|
||||
if (!mpYetaBtpAnm->init(model_data, btp, TRUE, J3DFrameCtrl::EMode_NONE, 1.0f, 0, -1)) {
|
||||
return 5;
|
||||
}
|
||||
|
|
@ -3218,7 +3190,7 @@ int daB_YO_c::CreateHeap() {
|
|||
if (mpYetaBrkAnm == NULL) {
|
||||
return 0;
|
||||
}
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", 0x24);
|
||||
J3DAnmTevRegKey* brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", BRK_YKW_B);
|
||||
if (!mpYetaBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3227,7 +3199,7 @@ int daB_YO_c::CreateHeap() {
|
|||
if (mpYetaWhiteBrkAnm == NULL) {
|
||||
return 0;
|
||||
}
|
||||
brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", 0x27);
|
||||
brk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_YO", BRK_YKW_B_WHITE);
|
||||
if (!mpYetaWhiteBrkAnm->init(model_data, brk, TRUE, J3DFrameCtrl::EMode_NONE, 0.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3236,13 +3208,13 @@ int daB_YO_c::CreateHeap() {
|
|||
if (mpRoomNormalBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes("L5_R50", 9);
|
||||
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes("L5_R50", DZB_R50_P1);
|
||||
if (mpRoomNormalBgW->Set(dzb, 0, &mBgMtx) == 1) {
|
||||
return 0;
|
||||
}
|
||||
mpRoomNormalBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
|
||||
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", 4);
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", BMDR_R50_P1);
|
||||
mpRoomModel[0] = mDoExt_J3DModel__create(model_data, 0, 0x31000084);
|
||||
if (mpRoomModel[0] == NULL) {
|
||||
return 0;
|
||||
|
|
@ -3252,19 +3224,19 @@ int daB_YO_c::CreateHeap() {
|
|||
if (mpRoomArenaBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
dzb = (cBgD_t*)dComIfG_getObjectRes("L5_R50", 0xa);
|
||||
dzb = (cBgD_t*)dComIfG_getObjectRes("L5_R50", DZB_R50_P2);
|
||||
if (mpRoomArenaBgW->Set(dzb, 0, &mBgMtx) == 1) {
|
||||
return 0;
|
||||
}
|
||||
mpRoomArenaBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
|
||||
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", 5);
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", BMDR_R50_P2);
|
||||
mpRoomModel[1] = mDoExt_J3DModel__create(model_data, 0, 0x31000084);
|
||||
if (mpRoomModel[1] == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", 6);
|
||||
model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", BMDR_T_R50FURNITURE);
|
||||
mpFurnitureModel = mDoExt_J3DModel__create(model_data, 0, 0x11000084);
|
||||
if (mpFurnitureModel == NULL) {
|
||||
return 0;
|
||||
|
|
@ -3293,13 +3265,13 @@ int daB_YO_c::CreateHeap2() {
|
|||
if (mpRoomNormalBgW == NULL) {
|
||||
return 0;
|
||||
}
|
||||
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes("L5_R50", 9);
|
||||
cBgD_t* dzb = (cBgD_t*)dComIfG_getObjectRes("L5_R50", DZB_R50_P1);
|
||||
if (mpRoomNormalBgW->Set(dzb, 0, &mBgMtx) == 1) {
|
||||
return 0;
|
||||
}
|
||||
mpRoomNormalBgW->SetCrrFunc(dBgS_MoveBGProc_Typical);
|
||||
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", 4);
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("L5_R50", BMDR_R50_P1);
|
||||
mpRoomModel[0] = mDoExt_J3DModel__create(model_data, 0, 0x31000084);
|
||||
if (mpRoomModel[0] == NULL) {
|
||||
return 0;
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load Diff
|
|
@ -24,8 +24,7 @@ static int daB_ZANTM_Draw(daB_ZANTM_c* i_this) {
|
|||
UNK_REL_DATA
|
||||
|
||||
namespace {
|
||||
/* 80650508-80650554 000020 004C+00 0/1 0/0 0/0 .data
|
||||
* cc_zant_src__30@unnamed@d_a_b_zant_magic_cpp@ */
|
||||
/* 80650508-80650554 000020 004C+00 0/1 0/0 0/0 .data cc_zant_src__30@unnamed@d_a_b_zant_magic_cpp@ */
|
||||
dCcD_SrcCps cc_zant_src = {
|
||||
{
|
||||
{0, {{AT_TYPE_CSTATUE_SWING, 2, 0x1D}, {0xD8FBFDFF, 0}, 0}},
|
||||
|
|
@ -40,8 +39,7 @@ dCcD_SrcCps cc_zant_src = {
|
|||
}},
|
||||
};
|
||||
|
||||
/* 80650554-80650594 00006C 0040+00 0/1 0/0 0/0 .data
|
||||
* cc_zant_src2__30@unnamed@d_a_b_zant_magic_cpp@ */
|
||||
/* 80650554-80650594 00006C 0040+00 0/1 0/0 0/0 .data cc_zant_src2__30@unnamed@d_a_b_zant_magic_cpp@ */
|
||||
dCcD_SrcSph cc_zant_src2 = {
|
||||
{
|
||||
{0x0, {{0x400, 0x2, 0x0}, {0x6000, 0x3}, 0x0}}, // mObj
|
||||
|
|
@ -54,8 +52,7 @@ dCcD_SrcSph cc_zant_src2 = {
|
|||
} // mSphAttr
|
||||
};
|
||||
|
||||
/* 80650594-806505D4 0000AC 0040+00 0/1 0/0 0/0 .data
|
||||
* cc_zant_src3__30@unnamed@d_a_b_zant_magic_cpp@ */
|
||||
/* 80650594-806505D4 0000AC 0040+00 0/1 0/0 0/0 .data cc_zant_src3__30@unnamed@d_a_b_zant_magic_cpp@ */
|
||||
dCcD_SrcSph cc_zant_src3 = {
|
||||
{
|
||||
{0x0, {{0x400, 0x2, 0x0}, {0x2, 0x3}, 0x0}}, // mObj
|
||||
|
|
|
|||
|
|
@ -4,6 +4,7 @@
|
|||
*/
|
||||
|
||||
#include "d/actor/d_a_b_zant_mobile.h"
|
||||
#include "d/actor/d_a_b_zant.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_cc_uty.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
|
|
@ -11,8 +12,7 @@
|
|||
#include <cmath.h>
|
||||
|
||||
namespace {
|
||||
/* 806527DC-8065281C 000000 0040+00 1/1 0/0 0/0 .data
|
||||
* cc_zant_src__31@unnamed@d_a_b_zant_mobile_cpp@ */
|
||||
/* 806527DC-8065281C 000000 0040+00 1/1 0/0 0/0 .data cc_zant_src__31@unnamed@d_a_b_zant_mobile_cpp@ */
|
||||
dCcD_SrcSph cc_zant_src = {
|
||||
{
|
||||
{0x0, {{0x0, 0x1, 0x0}, {0xD8FBFDFF, 0x3}, 0x55}}, // mObj
|
||||
|
|
@ -25,8 +25,7 @@ dCcD_SrcSph cc_zant_src = {
|
|||
} // mSphAttr
|
||||
};
|
||||
|
||||
/* 8065281C-80652860 000040 0044+00 1/1 0/0 0/0 .data
|
||||
* cc_zant_snort_src__31@unnamed@d_a_b_zant_mobile_cpp@ */
|
||||
/* 8065281C-80652860 000040 0044+00 1/1 0/0 0/0 .data cc_zant_snort_src__31@unnamed@d_a_b_zant_mobile_cpp@ */
|
||||
static dCcD_SrcCyl cc_zant_snort_src = {
|
||||
{
|
||||
{0, {{0x400, 0, 0}, {0xD8FBFDFF, 0}, 0x55}},
|
||||
|
|
@ -126,13 +125,13 @@ void daB_ZANTZ_c::setMouthMode(u8 param_0) {
|
|||
if (param_0 == 2) {
|
||||
if (mMouthMode == 0 || mMouthMode == 1) {
|
||||
mMouthMode = 2;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x43), J3DFrameCtrl::EMode_NONE, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_CLOSE), J3DFrameCtrl::EMode_NONE, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_EN_ZZ_CLOSE, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
} else if (param_0 == 0) {
|
||||
if (mMouthMode == 2 || mMouthMode == 3) {
|
||||
mMouthMode = 0;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_NONE, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_OPEN), J3DFrameCtrl::EMode_NONE, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
Z2GetAudioMgr()->seStart(Z2SE_EN_ZZ_OPEN, ¤t.pos, 0, 0, 1.0f, 1.0f, -1.0f, -1.0f, 0);
|
||||
}
|
||||
}
|
||||
|
|
@ -145,14 +144,14 @@ void daB_ZANTZ_c::setAppearMode(u8 param_0) {
|
|||
if (param_0 == 2) {
|
||||
if (mAppearMode == 0 || mAppearMode == 1) {
|
||||
mAppearMode = 2;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_APPEARANCE), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
field_0x660 = 1.0f;
|
||||
dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
} else if (param_0 == 0) {
|
||||
if (mAppearMode == 2 || mAppearMode == 3) {
|
||||
mAppearMode = 0;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_APPEARANCE), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
field_0x660 = 1.0f;
|
||||
dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
||||
|
|
@ -174,7 +173,7 @@ void daB_ZANTZ_c::setAppearMode(u8 param_0) {
|
|||
if (mAppearMode == 1) {
|
||||
if (abs((s16)(fopAcM_searchPlayerAngleY(this) - shape_angle.y)) > 0x1800) {
|
||||
mAppearMode = 4;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_APPEARANCE), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
field_0x660 = 1.0f;
|
||||
dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
|
|
@ -183,7 +182,7 @@ void daB_ZANTZ_c::setAppearMode(u8 param_0) {
|
|||
if (mAppearMode == 1) {
|
||||
mAppearMode = 5;
|
||||
mSearchContinue = true;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x42), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_APPEARANCE), J3DFrameCtrl::EMode_LOOP, 0.0f, 1.0f, 0.0f, -1.0f);
|
||||
field_0x660 = 1.0f;
|
||||
dComIfGp_getVibration().StartQuake(1, 31, cXyz(0.0f, 1.0f, 0.0f));
|
||||
}
|
||||
|
|
@ -262,7 +261,7 @@ void daB_ZANTZ_c::action() {
|
|||
if (!var_f31) {
|
||||
dComIfGp_getVibration().StopQuake(0x1F);
|
||||
mAppearMode++;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_OPEN), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -285,7 +284,7 @@ void daB_ZANTZ_c::action() {
|
|||
if (!var_f31) {
|
||||
dComIfGp_getVibration().StopQuake(0x1F);
|
||||
mAppearMode++;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_OPEN), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f);
|
||||
}
|
||||
break;
|
||||
}
|
||||
|
|
@ -317,7 +316,7 @@ void daB_ZANTZ_c::action() {
|
|||
if (!field_0x660) {
|
||||
dComIfGp_getVibration().StopQuake(0x1F);
|
||||
mAppearMode = 1;
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f);
|
||||
mpMorf->setAnm((J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_OPEN), J3DFrameCtrl::EMode_LOOP, 0.0f, 0.0f, 0.0f, -1.0f);
|
||||
}
|
||||
} else {
|
||||
cLib_chaseF(&field_0x660, 1.0f, 0.2f);
|
||||
|
|
@ -420,10 +419,10 @@ static int daB_ZANTZ_Delete(daB_ZANTZ_c* i_this) {
|
|||
|
||||
/* 80651DC4-80651FD0 001724 020C+00 1/1 0/0 0/0 .text CreateHeap__11daB_ZANTZ_cFv */
|
||||
int daB_ZANTZ_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("B_zan", 0x4C);
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BMDR_ZZ);
|
||||
JUT_ASSERT(0, modelData != 0);
|
||||
|
||||
mpMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_zan", 0x44), 0, 0.0f, 0, -1, &mSound, 0, 0x11000084);
|
||||
mpMorf = new mDoExt_McaMorfSO(modelData, NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BCK_ZZ_OPEN), 0, 0.0f, 0, -1, &mSound, 0, 0x11000084);
|
||||
if (mpMorf == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -433,7 +432,7 @@ int daB_ZANTZ_c::CreateHeap() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!mpBrk->init(mpMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_zan", 0x50), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) {
|
||||
if (!mpBrk->init(mpMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::BRK_ZZ), TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -442,7 +441,7 @@ int daB_ZANTZ_c::CreateHeap() {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (mpBgW->Set((cBgD_t*)dComIfG_getObjectRes("B_zan", 0x57), 1, &mBgMtx) == 1) {
|
||||
if (mpBgW->Set((cBgD_t*)dComIfG_getObjectRes("B_zan", daB_ZANT_c::DZB_ZZ), 1, &mBgMtx) == 1) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -5,13 +5,14 @@
|
|||
|
||||
#include "d/actor/d_a_b_zant_sima.h"
|
||||
#include "SSystem/SComponent/c_math.h"
|
||||
#include "d/actor/d_a_obj_msima.h"
|
||||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
|
||||
#define TIMER_PLAYER 0
|
||||
#define TIMER_ZANT 1
|
||||
|
||||
/* 806529D8-80652AAC 000078 00D4+00 1/1 0/0 0/0 .text draw__11daB_ZANTS_cFv */
|
||||
/* 806529D8-80652AAC 000078 00D4+00 1/1 0/0 0/0 .text draw__11daB_ZANTS_cFv */
|
||||
int daB_ZANTS_c::draw() {
|
||||
g_env_light.settingTevStruct(16, ¤t.pos, &tevStr);
|
||||
g_env_light.setLightTevColorType_MAJI(mpModel, &tevStr);
|
||||
|
|
@ -24,13 +25,12 @@ int daB_ZANTS_c::draw() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* 80652AAC-80652ACC 00014C 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Draw__FP11daB_ZANTS_c */
|
||||
/* 80652AAC-80652ACC 00014C 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Draw__FP11daB_ZANTS_c */
|
||||
static int daB_ZANTS_Draw(daB_ZANTS_c* i_this) {
|
||||
return i_this->draw();
|
||||
}
|
||||
|
||||
/* 80652ACC-80652B28 00016C 005C+00 1/1 0/0 0/0 .text
|
||||
* zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
/* 80652ACC-80652B28 00016C 005C+00 1/1 0/0 0/0 .text zants_ride_call_back__FP4dBgWP10fopAc_ac_cP10fopAc_ac_c */
|
||||
static void zants_ride_call_back(dBgW* i_bgw, fopAc_ac_c* i_this, fopAc_ac_c* i_target) {
|
||||
if (fopAcM_GetName(i_target) == PROC_ALINK) {
|
||||
((daB_ZANTS_c*)i_this)->mPlayerID = fopAcM_GetID(i_target);
|
||||
|
|
@ -41,7 +41,7 @@ static void zants_ride_call_back(dBgW* i_bgw, fopAc_ac_c* i_this, fopAc_ac_c* i_
|
|||
}
|
||||
}
|
||||
|
||||
/* 80652B28-80652DA8 0001C8 0280+00 1/1 0/0 0/0 .text action__11daB_ZANTS_cFv */
|
||||
/* 80652B28-80652DA8 0001C8 0280+00 1/1 0/0 0/0 .text action__11daB_ZANTS_cFv */
|
||||
void daB_ZANTS_c::action() {
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
if (player->checkMagneBootsOn()) {
|
||||
|
|
@ -104,7 +104,7 @@ void daB_ZANTS_c::action() {
|
|||
}
|
||||
}
|
||||
|
||||
/* 80652DA8-80652E98 000448 00F0+00 1/1 0/0 0/0 .text execute__11daB_ZANTS_cFv */
|
||||
/* 80652DA8-80652E98 000448 00F0+00 1/1 0/0 0/0 .text execute__11daB_ZANTS_cFv */
|
||||
int daB_ZANTS_c::execute() {
|
||||
mpBrkAnm->play();
|
||||
mpBtkAnm->play();
|
||||
|
|
@ -126,17 +126,17 @@ int daB_ZANTS_c::execute() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* 80652E98-80652EB8 000538 0020+00 2/1 0/0 0/0 .text daB_ZANTS_Execute__FP11daB_ZANTS_c */
|
||||
/* 80652E98-80652EB8 000538 0020+00 2/1 0/0 0/0 .text daB_ZANTS_Execute__FP11daB_ZANTS_c */
|
||||
static int daB_ZANTS_Execute(daB_ZANTS_c* i_this) {
|
||||
return i_this->execute();
|
||||
}
|
||||
|
||||
/* 80652EB8-80652EC0 000558 0008+00 1/0 0/0 0/0 .text daB_ZANTS_IsDelete__FP11daB_ZANTS_c */
|
||||
/* 80652EB8-80652EC0 000558 0008+00 1/0 0/0 0/0 .text daB_ZANTS_IsDelete__FP11daB_ZANTS_c */
|
||||
static int daB_ZANTS_IsDelete(daB_ZANTS_c* i_this) {
|
||||
return 1;
|
||||
}
|
||||
|
||||
/* 80652EC0-80652F18 000560 0058+00 1/1 0/0 0/0 .text _delete__11daB_ZANTS_cFv */
|
||||
/* 80652EC0-80652F18 000560 0058+00 1/1 0/0 0/0 .text _delete__11daB_ZANTS_cFv */
|
||||
int daB_ZANTS_c::_delete() {
|
||||
dComIfG_resDelete(&mPhase, "MAGNESIMA");
|
||||
if (mpBgW != NULL) {
|
||||
|
|
@ -145,14 +145,14 @@ int daB_ZANTS_c::_delete() {
|
|||
return 1;
|
||||
}
|
||||
|
||||
/* 80652F18-80652F38 0005B8 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Delete__FP11daB_ZANTS_c */
|
||||
/* 80652F18-80652F38 0005B8 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Delete__FP11daB_ZANTS_c */
|
||||
static int daB_ZANTS_Delete(daB_ZANTS_c* i_this) {
|
||||
return i_this->_delete();
|
||||
}
|
||||
|
||||
/* 80652F38-80653180 0005D8 0248+00 1/1 0/0 0/0 .text CreateHeap__11daB_ZANTS_cFv */
|
||||
/* 80652F38-80653180 0005D8 0248+00 1/1 0/0 0/0 .text CreateHeap__11daB_ZANTS_cFv */
|
||||
int daB_ZANTS_c::CreateHeap() {
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("MAGNESIMA", 7);
|
||||
J3DModelData* model_data = (J3DModelData*)dComIfG_getObjectRes("MAGNESIMA", obj_msima_class::BMDR_S_MAGNE_SIMA);
|
||||
mpModel = mDoExt_J3DModel__create(model_data, 0x80000, 0x11000084);
|
||||
if (mpModel == NULL) {
|
||||
return FALSE;
|
||||
|
|
@ -163,7 +163,7 @@ int daB_ZANTS_c::CreateHeap() {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("MAGNESIMA", 13);
|
||||
J3DAnmTextureSRTKey* pbtk = (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("MAGNESIMA", obj_msima_class::BTK_S_MAGNE_SIMA);
|
||||
if (!mpBtkAnm->init(mpModel->getModelData(), pbtk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0,
|
||||
-1))
|
||||
{
|
||||
|
|
@ -175,7 +175,7 @@ int daB_ZANTS_c::CreateHeap() {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("MAGNESIMA", 10);
|
||||
J3DAnmTevRegKey* pbrk = (J3DAnmTevRegKey*)dComIfG_getObjectRes("MAGNESIMA", obj_msima_class::BRK_S_MAGNE_SIMA);
|
||||
if (!mpBrkAnm->init(mpModel->getModelData(), pbrk, TRUE, J3DFrameCtrl::EMode_LOOP, 1.0f, 0,
|
||||
-1))
|
||||
{
|
||||
|
|
@ -187,7 +187,7 @@ int daB_ZANTS_c::CreateHeap() {
|
|||
return FALSE;
|
||||
}
|
||||
|
||||
cBgD_t* pdzb = (cBgD_t*)dComIfG_getObjectRes("MAGNESIMA", 16);
|
||||
cBgD_t* pdzb = (cBgD_t*)dComIfG_getObjectRes("MAGNESIMA", obj_msima_class::DZB_S_MAGNE_SIMA);
|
||||
if (mpBgW->Set(pdzb, cBgW::MOVE_BG_e, &mMtx)) {
|
||||
return FALSE;
|
||||
}
|
||||
|
|
@ -197,12 +197,12 @@ int daB_ZANTS_c::CreateHeap() {
|
|||
return TRUE;
|
||||
}
|
||||
|
||||
/* 806531C8-806531E8 000868 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
/* 806531C8-806531E8 000868 0020+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
return static_cast<daB_ZANTS_c*>(i_this)->CreateHeap();
|
||||
}
|
||||
|
||||
/* 806531E8-80653304 000888 011C+00 1/1 0/0 0/0 .text create__11daB_ZANTS_cFv */
|
||||
/* 806531E8-80653304 000888 011C+00 1/1 0/0 0/0 .text create__11daB_ZANTS_cFv */
|
||||
int daB_ZANTS_c::create() {
|
||||
fopAcM_SetupActor(this, daB_ZANTS_c);
|
||||
|
||||
|
|
@ -227,7 +227,7 @@ int daB_ZANTS_c::create() {
|
|||
return phase_state;
|
||||
}
|
||||
|
||||
/* 80653304-80653324 0009A4 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Create__FP11daB_ZANTS_c */
|
||||
/* 80653304-80653324 0009A4 0020+00 1/0 0/0 0/0 .text daB_ZANTS_Create__FP11daB_ZANTS_c */
|
||||
static int daB_ZANTS_Create(daB_ZANTS_c* i_this) {
|
||||
return i_this->create();
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,8 +13,7 @@
|
|||
#include "d/d_msg_object.h"
|
||||
#include "d/d_s_play.h"
|
||||
|
||||
/* 8067C7CC-8067C874 0000EC 00A8+00 1/0 0/0 0/0 .text daE_ARROW_Draw__FP13e_arrow_class
|
||||
*/
|
||||
/* 8067C7CC-8067C874 0000EC 00A8+00 1/0 0/0 0/0 .text daE_ARROW_Draw__FP13e_arrow_class */
|
||||
static int daE_ARROW_Draw(e_arrow_class* i_this) {
|
||||
if (i_this->field_0xa14) {
|
||||
return 1;
|
||||
|
|
|
|||
|
|
@ -7,8 +7,6 @@
|
|||
#include "d/actor/d_a_player.h"
|
||||
#include "d/d_com_inf_game.h"
|
||||
#include "d/d_s_play.h"
|
||||
#include "dol2asm.h"
|
||||
|
||||
#include <cmath.h>
|
||||
|
||||
#define ACTION_MODE_WAIT 0
|
||||
|
|
@ -17,9 +15,32 @@
|
|||
#define ACTION_MODE_HURT 3
|
||||
#define ACTION_MODE_DIE 4
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
enum E_DK_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x06 */ BCK_DK_ATTACK = 6,
|
||||
/* 0x07 */ BCK_DK_CHARGE,
|
||||
/* 0x08 */ BCK_DK_C_ATTACK,
|
||||
/* 0x09 */ BCK_DK_C_CHARGE,
|
||||
/* 0x0A */ BCK_DK_C_DEAD,
|
||||
/* 0x0B */ BCK_DK_C_GUARD,
|
||||
/* 0x0C */ BCK_DK_C_WAIT,
|
||||
/* 0x0D */ BCK_DK_GUARD,
|
||||
/* 0x0E */ BCK_DK_SHELLDEAD,
|
||||
/* 0x0F */ BCK_DK_WAIT,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x12 */ BMDR_DK = 0x12,
|
||||
/* 0x13 */ BMDR_DK_CORE,
|
||||
|
||||
/* BRK */
|
||||
/* 0x16 */ BRK_DK_ATTACK = 0x16,
|
||||
/* 0x17 */ BRK_DK_WAIT,
|
||||
|
||||
/* BTK */
|
||||
/* 0x1A */ BTK_DK_ATTACK = 0x1A,
|
||||
/* 0x1B */ BTK_DK_WAIT,
|
||||
};
|
||||
|
||||
|
||||
UNK_REL_DATA;
|
||||
|
||||
|
|
@ -62,8 +83,8 @@ daE_DK_HIO_c::daE_DK_HIO_c() {
|
|||
first_attack_range = 1000.0f;
|
||||
}
|
||||
|
||||
static u32 const dk_brk_name[2] = { 0x17, 0x16 };
|
||||
static u32 const dk_btk_name[2] = { 0x1B, 0x1A };
|
||||
static u32 const dk_brk_name[2] = { BRK_DK_WAIT, BRK_DK_ATTACK };
|
||||
static u32 const dk_btk_name[2] = { BTK_DK_WAIT, BTK_DK_ATTACK };
|
||||
|
||||
/* 806AA228-806AA5A8 000128 0380+00 1/1 0/0 0/0 .text draw__8daE_DK_cFv */
|
||||
int daE_DK_c::draw() {
|
||||
|
|
@ -141,7 +162,7 @@ static int daE_DK_Draw(daE_DK_c* i_this) {
|
|||
/* 806AA5C8-806AA68C 0004C8 00C4+00 5/5 0/0 0/0 .text setBck__8daE_DK_cFiUcff */
|
||||
void daE_DK_c::setBck(int i_resIndex, u8 i_attr, f32 i_morf, f32 i_rate) {
|
||||
field_0x6a0 = 0;
|
||||
if (i_resIndex == 7 || i_resIndex == 6) {
|
||||
if (i_resIndex == BCK_DK_CHARGE || i_resIndex == BCK_DK_ATTACK) {
|
||||
field_0x6a0 = 1;
|
||||
}
|
||||
|
||||
|
|
@ -388,8 +409,8 @@ void daE_DK_c::executeWait() {
|
|||
cXyz dirFromHome;
|
||||
switch (mMoveMode) {
|
||||
case 0: {
|
||||
setBck(0xf, 2, 3.0f, 1.0f);
|
||||
setBckCore(0xc, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_DK_WAIT, 2, 3.0f, 1.0f);
|
||||
setBckCore(BCK_DK_C_WAIT, 2, 3.0f, 1.0f);
|
||||
mMoveMode = 1;
|
||||
break;
|
||||
}
|
||||
|
|
@ -453,8 +474,8 @@ void daE_DK_c::executeChase() {
|
|||
cXyz dirFromHome;
|
||||
switch (mMoveMode) {
|
||||
case 0: {
|
||||
setBck(0xf, 2, 3.0f, 1.0f);
|
||||
setBckCore(0xc, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_DK_WAIT, 2, 3.0f, 1.0f);
|
||||
setBckCore(BCK_DK_C_WAIT, 2, 3.0f, 1.0f);
|
||||
mMoveMode = 1;
|
||||
break;
|
||||
}
|
||||
|
|
@ -517,8 +538,8 @@ void daE_DK_c::executeChase() {
|
|||
void daE_DK_c::executeAttack() {
|
||||
switch (mMoveMode) {
|
||||
case 0: {
|
||||
setBck(7, 2, 6.0f, 2.0f);
|
||||
setBckCore(9, 2, 3.0f, 2.0f);
|
||||
setBck(BCK_DK_CHARGE, 2, 6.0f, 2.0f);
|
||||
setBckCore(BCK_DK_C_CHARGE, 2, 3.0f, 2.0f);
|
||||
field_0x698 = 45 + nREG_S(9);
|
||||
mMoveMode = 1;
|
||||
break;
|
||||
|
|
@ -530,8 +551,8 @@ void daE_DK_c::executeAttack() {
|
|||
cLib_chaseF(&speed.y, -3.0f, 0.2f);
|
||||
cLib_chaseF(&speedF, 0.0f, 0.2f);
|
||||
if (field_0x698 == 0) {
|
||||
setBck(6, 2, 3.0f, 1.0f);
|
||||
setBckCore(8, 2, 3.0f, 1.0f);
|
||||
setBck(BCK_DK_ATTACK, 2, 3.0f, 1.0f);
|
||||
setBckCore(BCK_DK_C_ATTACK, 2, 3.0f, 1.0f);
|
||||
field_0x698 = 100;
|
||||
mMoveMode = 2;
|
||||
}
|
||||
|
|
@ -581,8 +602,8 @@ void daE_DK_c::executeDamage() {
|
|||
|
||||
shape_angle.x = 0xf000;
|
||||
|
||||
setBck(13, 0, 3.0f, 1.0f);
|
||||
setBckCore(11, 0, 3.0f, 1.0f);
|
||||
setBck(BCK_DK_GUARD, 0, 3.0f, 1.0f);
|
||||
setBckCore(BCK_DK_C_GUARD, 0, 3.0f, 1.0f);
|
||||
|
||||
shape_angle.y = mAtInfo.mHitDirection.y;
|
||||
current.angle.y = mAtInfo.mHitDirection.y + 0x8000;
|
||||
|
|
@ -641,8 +662,8 @@ void daE_DK_c::executeDeath() {
|
|||
case 1: {
|
||||
setBodyDeadEffect();
|
||||
|
||||
setBck(14, 0, 3.0f, 0.0f);
|
||||
setBckCore(10, 0, 3.0f, 0.0f);
|
||||
setBck(BCK_DK_SHELLDEAD, 0, 3.0f, 0.0f);
|
||||
setBckCore(BCK_DK_C_DEAD, 0, 3.0f, 0.0f);
|
||||
|
||||
field_0x6a2 = 1;
|
||||
|
||||
|
|
@ -947,10 +968,10 @@ static int daE_DK_Delete(daE_DK_c* i_this) {
|
|||
|
||||
/* 806ACAA4-806ACDAC 0029A4 0308+00 1/1 0/0 0/0 .text CreateHeap__8daE_DK_cFv */
|
||||
int daE_DK_c::CreateHeap() {
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("E_DK", 0x12);
|
||||
J3DModelData* modelData = (J3DModelData*)dComIfG_getObjectRes("E_DK", BMDR_DK);
|
||||
JUT_ASSERT(1488, modelData != NULL);
|
||||
mpMorfSO = new mDoExt_McaMorfSO(modelData, NULL, NULL,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("E_DK", 0xf), 0, 1.0f, 0,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("E_DK", BCK_DK_WAIT), 0, 1.0f, 0,
|
||||
-1, &mCreatureSound, 0x80000, 0x31000284);
|
||||
|
||||
if (mpMorfSO == NULL || mpMorfSO->getModel() == NULL) {
|
||||
|
|
@ -983,10 +1004,10 @@ int daE_DK_c::CreateHeap() {
|
|||
}
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_DK", 0x13);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_DK", BMDR_DK_CORE);
|
||||
JUT_ASSERT(1537, modelData != NULL);
|
||||
mpCoreMorfSO = new mDoExt_McaMorfSO(modelData, NULL, NULL,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("E_DK", 0xc), 0,
|
||||
(J3DAnmTransform*)dComIfG_getObjectRes("E_DK", BCK_DK_C_WAIT), 0,
|
||||
1.0f, 0, -1, &mCreatureSound, 0x80000, 0x11000084);
|
||||
|
||||
if (mpCoreMorfSO == NULL || mpCoreMorfSO->getModel() == NULL) {
|
||||
|
|
|
|||
|
|
@ -13,6 +13,78 @@
|
|||
#include "f_op/f_op_msg_mng.h"
|
||||
#include "Z2AudioLib/Z2Instances.h"
|
||||
|
||||
enum E_FM_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x07 */ BCK_EF_FMATTACK_A = 7,
|
||||
/* 0x08 */ BCK_EF_FMATTACK_B,
|
||||
/* 0x09 */ BCK_FM_ANIMAL,
|
||||
/* 0x0A */ BCK_FM_ANIMAL02,
|
||||
/* 0x0B */ BCK_FM_ATTACK,
|
||||
/* 0x0C */ BCK_FM_ATTACK02,
|
||||
/* 0x0D */ BCK_FM_BREAKCHAINL,
|
||||
/* 0x0E */ BCK_FM_BREAKCHAINR,
|
||||
/* 0x0F */ BCK_FM_CHANCE,
|
||||
/* 0x10 */ BCK_FM_CHANCEDAMAGE,
|
||||
/* 0x11 */ BCK_FM_DAMAGEWALK,
|
||||
/* 0x12 */ BCK_FM_DAMAGE_L,
|
||||
/* 0x13 */ BCK_FM_DAMAGE_R,
|
||||
/* 0x14 */ BCK_FM_DEAD,
|
||||
/* 0x15 */ BCK_FM_DEMOEND01,
|
||||
/* 0x16 */ BCK_FM_DEMOEND02,
|
||||
/* 0x17 */ BCK_FM_DEMOEND03,
|
||||
/* 0x18 */ BCK_FM_DOWN,
|
||||
/* 0x19 */ BCK_FM_DOWN02,
|
||||
/* 0x1A */ BCK_FM_DOWNDAMAGE,
|
||||
/* 0x1B */ BCK_FM_DOWNFR,
|
||||
/* 0x1C */ BCK_FM_DOWNWAIT,
|
||||
/* 0x1D */ BCK_FM_HANGWAIT,
|
||||
/* 0x1E */ BCK_FM_KYORO2,
|
||||
/* 0x1F */ BCK_FM_OPDEMO,
|
||||
/* 0x20 */ BCK_FM_UP,
|
||||
/* 0x21 */ BCK_FM_UP02,
|
||||
/* 0x22 */ BCK_FM_WAIT01,
|
||||
/* 0x23 */ BCK_FM_WALK,
|
||||
/* 0x24 */ BCK_FM_WALK02,
|
||||
|
||||
/* BMDE */
|
||||
/* 0x27 */ BMDE_FM_CORE = 0x27,
|
||||
|
||||
/* BMDR */
|
||||
/* 0x2A */ BMDR_EF_FMATTACK_A = 0x2A,
|
||||
/* 0X2B */ BMDR_EF_FMATTACK_B,
|
||||
/* 0x2C */ BMDR_FM,
|
||||
/* 0x2D */ BMDR_HANDLE,
|
||||
/* 0x2E */ BMDR_KUSARI,
|
||||
|
||||
/* BRK */
|
||||
/* 0x31 */ BRK_CORE_LIGHTON = 0x31,
|
||||
/* 0x32 */ BRK_EF_FMATTACK_B,
|
||||
/* 0x33 */ BRK_FM,
|
||||
/* 0x34 */ BRK_FM_ANIMAL02,
|
||||
/* 0x35 */ BRK_FM_ATTACK,
|
||||
/* 0x36 */ BRK_FM_DEMOEND01,
|
||||
/* 0x37 */ BRK_FM_DEMOEND02,
|
||||
/* 0x38 */ BRK_FM_DEMOEND03,
|
||||
/* 0x39 */ BRK_FM_HANGWAIT,
|
||||
/* 0x3A */ BRK_FM_OPDEMO,
|
||||
/* 0x3B */ BRK_FM_PUTOUT,
|
||||
/* 0x3C */ BRK_FM_PUTOUTWAIT,
|
||||
|
||||
/* BTK */
|
||||
/* 0x3F */ BTK_CORE_BEAT = 0x3F,
|
||||
/* 0x40 */ BTK_EF_FMATTACK_A,
|
||||
/* 0x41 */ BTK_EF_FMATTACK_B,
|
||||
/* 0x42 */ BTK_FM,
|
||||
/* 0x43 */ BTK_FM_ANIMAL02,
|
||||
/* 0x44 */ BTK_FM_ATTACK,
|
||||
/* 0x45 */ BTK_FM_DEMOEND01,
|
||||
/* 0x46 */ BTK_FM_DEMOEND02,
|
||||
/* 0x47 */ BTK_FM_HANGWAIT,
|
||||
/* 0x48 */ BTK_FM_OPDEMO,
|
||||
/* 0x49 */ BTK_FM_PUTOUT,
|
||||
/* 0x4A */ BTK_FM_PUTOUTWAIT,
|
||||
};
|
||||
|
||||
enum daE_FM_ACTION {
|
||||
ACTION_NORMAL,
|
||||
ACTION_FIGHT_RUN,
|
||||
|
|
@ -474,7 +546,7 @@ static void e_fm_normal(e_fm_class* i_this) {
|
|||
}
|
||||
|
||||
i_this->field_0x5c4 = i_this->current.angle.y + sp8;
|
||||
anm_init(i_this, 0x23, 20.0f, 2, l_HIO.field_0xc);
|
||||
anm_init(i_this, BCK_FM_WALK, 20.0f, 2, l_HIO.field_0xc);
|
||||
i_this->mMode = 1;
|
||||
i_this->mTimers[0] = 100.0f + cM_rndF(100.0f);
|
||||
} else {
|
||||
|
|
@ -510,7 +582,7 @@ static void e_fm_normal(e_fm_class* i_this) {
|
|||
if (i_this->mTimers[0] == 0) {
|
||||
i_this->mMode = 0;
|
||||
i_this->mTimers[0] = 50.0f + cM_rndF(100.0f);
|
||||
anm_init(i_this, 0x1E, 50.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_FM_KYORO2, 50.0f, 2, 1.0f);
|
||||
move_speed = 0.0f;
|
||||
} else {
|
||||
for (int i = 0; i < 2; i++) {
|
||||
|
|
@ -538,13 +610,13 @@ static void e_fm_fight_run(e_fm_class* i_this) {
|
|||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
i_this->mTimers[0] = 20.0f + cM_rndF(10.0f);
|
||||
anm_init(i_this, 0x22, 30.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_FM_WAIT01, 30.0f, 2, 1.0f);
|
||||
i_this->mTimers[2] = l_HIO.field_0x40 + cM_rndF(0.5f * l_HIO.field_0x40);
|
||||
i_this->mMode = 1;
|
||||
/* fallthrough */
|
||||
case 1:
|
||||
if (i_this->mTimers[0] == 0) {
|
||||
anm_init(i_this, 0x24, 30.0f, 2, l_HIO.field_0xc);
|
||||
anm_init(i_this, BCK_FM_WALK02, 30.0f, 2, l_HIO.field_0xc);
|
||||
i_this->mMode = 2;
|
||||
}
|
||||
break;
|
||||
|
|
@ -618,7 +690,7 @@ static void e_fm_fight_run(e_fm_class* i_this) {
|
|||
if (do_f_fight) {
|
||||
i_this->mAction = ACTION_F_FIGHT;
|
||||
i_this->mMode = 0;
|
||||
anm_init(i_this, 0x22, 20.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_FM_WAIT01, 20.0f, 2, 1.0f);
|
||||
}
|
||||
|
||||
if (do_n_fight) {
|
||||
|
|
@ -637,7 +709,7 @@ static void e_fm_n_fight(e_fm_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 0xC, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_ATTACK02, 10.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_FM_ATTACK02_CHAIN, 0, -1);
|
||||
i_this->mMode = 1;
|
||||
break;
|
||||
|
|
@ -679,7 +751,7 @@ static void e_fm_n_fight(e_fm_class* i_this) {
|
|||
if (i_this->mpFmModelMorf->isStop()) {
|
||||
if (cM_rndF(1.0f) < 0.5f && pl_check(i_this, l_HIO.field_0x24 + TREG_F(11), 0x3000)) {
|
||||
i_this->mAction = ACTION_FIRE;
|
||||
anm_init(i_this, 0x22, 20.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_FM_WAIT01, 20.0f, 2, 1.0f);
|
||||
} else {
|
||||
i_this->mAction = ACTION_NORMAL;
|
||||
}
|
||||
|
|
@ -730,7 +802,7 @@ static void e_fm_f_fight(e_fm_class* i_this) {
|
|||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
if ((int)i_this->mpFmBtk[0]->getFrame() == 0) {
|
||||
anm_init(i_this, 0xB, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_ATTACK, 10.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_ATTACK_TAME, -1);
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_FM_ATTACK_TAME, 0, -1);
|
||||
|
||||
|
|
@ -804,7 +876,7 @@ static void animal_eff_set(e_fm_class* i_this, s16 param_1) {
|
|||
static void e_fm_animal(e_fm_class* i_this) {
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 0xA, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_ANIMAL02, 10.0f, 0, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
break;
|
||||
case 1:
|
||||
|
|
@ -827,7 +899,7 @@ static void e_fm_fire(e_fm_class* i_this) {
|
|||
case 0:
|
||||
if ((int)i_this->mpFmBtk[0]->getFrame() == 0) {
|
||||
i_this->field_0x1830 = 0.0f;
|
||||
anm_init(i_this, 9, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_ANIMAL, 10.0f, 0, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_GAOO_SHORT, -1);
|
||||
}
|
||||
|
|
@ -932,7 +1004,7 @@ static void e_fm_damage_run(e_fm_class* i_this) {
|
|||
case 0:
|
||||
if (i_this->mpFmModelMorf->isStop()) {
|
||||
i_this->mTimers[0] = l_HIO.field_0xa4 + cM_rndF(50.0f);
|
||||
anm_init(i_this, 0x11, 5.0f, 2, 2.0f);
|
||||
anm_init(i_this, BCK_FM_DAMAGEWALK, 5.0f, 2, 2.0f);
|
||||
i_this->mMode = 1;
|
||||
Z2GetAudioMgr()->changeBgmStatus(3);
|
||||
}
|
||||
|
|
@ -1017,7 +1089,7 @@ static void e_fm_damage_run(e_fm_class* i_this) {
|
|||
}
|
||||
|
||||
if (((i_this->mTimers[0] < l_HIO.field_0xa4 - 250.0f) && i_this->field_0x809 != 0) || i_this->mTimers[0] == 0) {
|
||||
anm_init(i_this, 0xA, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_ANIMAL02, 10.0f, 0, 1.0f);
|
||||
i_this->mMode = 2;
|
||||
i_this->mPlayTexAnmNo = TEXANM_ANIMAL;
|
||||
i_this->mpFmBrk[TEXANM_ANIMAL]->setFrame(0.0f);
|
||||
|
|
@ -1304,7 +1376,7 @@ static void demo_camera(e_fm_class* i_this) {
|
|||
}
|
||||
|
||||
if (i_this->mDemoCamTimer == 60) {
|
||||
anm_init(i_this, 0x1F, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_OPDEMO, 10.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_OPDEMO, -1);
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_FM_OPDEMO, 0, -1);
|
||||
|
||||
|
|
@ -1521,7 +1593,7 @@ static void demo_camera(e_fm_class* i_this) {
|
|||
i_this->mDemoCamCenter += actor->current.pos;
|
||||
|
||||
if (i_this->mDemoCamTimer == XREG_S(6) + 85) {
|
||||
anm_init(i_this, 0x16, 1.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_DEMOEND02, 1.0f, 0, 1.0f);
|
||||
i_this->mPlayTexAnmNo = TEXANM_DEMO_END02;
|
||||
i_this->mpFmBrk[TEXANM_DEMO_END02]->setFrame(0.0f);
|
||||
i_this->mpFmBtk[TEXANM_DEMO_END02]->setFrame(0.0f);
|
||||
|
|
@ -1691,7 +1763,7 @@ static s8 e_fm_down(e_fm_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 0x18, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_DOWN, 10.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_DOWN, -1);
|
||||
i_this->mMode = 1;
|
||||
i_this->field_0x7c0 = 2;
|
||||
|
|
@ -1734,7 +1806,7 @@ static s8 e_fm_down(e_fm_class* i_this) {
|
|||
}
|
||||
|
||||
if (i_this->mpFmModelMorf->isStop()) {
|
||||
anm_init(i_this, 0x1C, 0.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_FM_DOWNWAIT, 0.0f, 2, 1.0f);
|
||||
i_this->mMode = 2;
|
||||
i_this->mTimers[0] = 33;
|
||||
i_this->mTimers[1] = l_HIO.field_0x9c;
|
||||
|
|
@ -1744,8 +1816,8 @@ static s8 e_fm_down(e_fm_class* i_this) {
|
|||
case 2:
|
||||
dComIfGs_onEventBit(dSv_event_flag_c::saveBitLabels[257]);
|
||||
|
||||
if (i_this->mAnm == 0x1A && i_this->mpFmModelMorf->isStop()) {
|
||||
anm_init(i_this, 0x1C, 5.0f, 2, 1.0f);
|
||||
if (i_this->mAnm == BCK_FM_DOWNDAMAGE && i_this->mpFmModelMorf->isStop()) {
|
||||
anm_init(i_this, BCK_FM_DOWNWAIT, 5.0f, 2, 1.0f);
|
||||
}
|
||||
|
||||
if (i_this->mTimers[0] == 1) {
|
||||
|
|
@ -1765,7 +1837,7 @@ static s8 e_fm_down(e_fm_class* i_this) {
|
|||
}
|
||||
|
||||
if (i_this->mTimers[1] == 0) {
|
||||
anm_init(i_this, 0x20, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_UP, 10.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_UP, -1);
|
||||
i_this->mMode = 3;
|
||||
enemy->offDownFlg();
|
||||
|
|
@ -1779,7 +1851,7 @@ static s8 e_fm_down(e_fm_class* i_this) {
|
|||
sp8 = 0;
|
||||
|
||||
if (i_this->mpFmModelMorf->isStop()) {
|
||||
anm_init(i_this, 0xA, 10.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_ANIMAL02, 10.0f, 0, 1.0f);
|
||||
i_this->mMode = 4;
|
||||
i_this->mPlayTexAnmNo = TEXANM_ANIMAL;
|
||||
i_this->mpFmBrk[TEXANM_ANIMAL]->setFrame(0.0f);
|
||||
|
|
@ -1826,7 +1898,7 @@ static s8 e_fm_a_down(e_fm_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 0x19, 15.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_DOWN02, 15.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_DOWN, -1);
|
||||
i_this->mMode = 1;
|
||||
break;
|
||||
|
|
@ -1857,7 +1929,7 @@ static s8 e_fm_a_down(e_fm_class* i_this) {
|
|||
}
|
||||
|
||||
if (i_this->mpFmModelMorf->isStop()) {
|
||||
anm_init(i_this, 0x1C, 0.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_FM_DOWNWAIT, 0.0f, 2, 1.0f);
|
||||
i_this->mAction = ACTION_DOWN;
|
||||
i_this->mMode = 2;
|
||||
i_this->mTimers[0] = 33;
|
||||
|
|
@ -1891,7 +1963,7 @@ static s8 e_fm_start(e_fm_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 0x1D, 0.0f, 2, 1.0f);
|
||||
anm_init(i_this, BCK_FM_HANGWAIT, 0.0f, 2, 1.0f);
|
||||
i_this->mPlayTexAnmNo = TEXANM_HANG_WAIT;
|
||||
i_this->mMode = 1;
|
||||
i_this->mChain[3].field_0x617e = 1;
|
||||
|
|
@ -1986,7 +2058,7 @@ static s8 e_fm_end(e_fm_class* i_this) {
|
|||
|
||||
switch (i_this->mMode) {
|
||||
case 0:
|
||||
anm_init(i_this, 0x15, 1.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_DEMOEND01, 1.0f, 0, 1.0f);
|
||||
i_this->mMode = 1;
|
||||
Z2GetAudioMgr()->bgmStop(0x1E, 0);
|
||||
i_this->mPlayTexAnmNo = TEXANM_DEMO_END01;
|
||||
|
|
@ -1997,7 +2069,7 @@ static s8 e_fm_end(e_fm_class* i_this) {
|
|||
case 1:
|
||||
break;
|
||||
case 10:
|
||||
anm_init(i_this, 0x15, 0.0f, 0, 0.0f);
|
||||
anm_init(i_this, BCK_FM_DEMOEND01, 0.0f, 0, 0.0f);
|
||||
i_this->mMode = 11;
|
||||
i_this->mPlayTexAnmNo = TEXANM_DEMO_END01;
|
||||
i_this->mpFmBrk[TEXANM_DEMO_END01]->setFrame(0.0f);
|
||||
|
|
@ -2059,13 +2131,13 @@ static void damage_check(e_fm_class* i_this) {
|
|||
carry_off(i_this, 2);
|
||||
carry_off(i_this, 3);
|
||||
} else {
|
||||
anm_init(i_this, 0x21, 5.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_UP02, 5.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_UP02, -1);
|
||||
i_this->mMode = 3;
|
||||
Z2GetAudioMgr()->changeBgmStatus(2);
|
||||
}
|
||||
} else {
|
||||
anm_init(i_this, 0x1A, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_DOWNDAMAGE, 3.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_FM_FOOTNOTE, 0, -1);
|
||||
}
|
||||
|
||||
|
|
@ -2082,7 +2154,7 @@ static void damage_check(e_fm_class* i_this) {
|
|||
i_this->mDemoCamMode = 20;
|
||||
} else {
|
||||
i_this->mAction = ACTION_DAMAGE_RUN;
|
||||
anm_init(i_this, 0x10, 3.0f, 0, 1.0f);
|
||||
anm_init(i_this, BCK_FM_CHANCEDAMAGE, 3.0f, 0, 1.0f);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_CHANCEDAMAGE, -1);
|
||||
}
|
||||
i_this->mMode = 0;
|
||||
|
|
@ -2893,25 +2965,25 @@ static int daE_FM_Execute(e_fm_class* i_this) {
|
|||
|
||||
i_this->mpFmModelMorf->play(&actor->eyePos, 0, 0);
|
||||
|
||||
if (i_this->mAnm == 0x15 && i_this->mpFmModelMorf->checkFrame(1.0f)) {
|
||||
if (i_this->mAnm == BCK_FM_DEMOEND01 && i_this->mpFmModelMorf->checkFrame(1.0f)) {
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_FM_DEMOEND, 0, -1);
|
||||
i_this->mSound.startCreatureSound(Z2SE_EN_FM_DEMOEND_CORE, 0, -1);
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_DEMOEND, -1);
|
||||
} else if (i_this->mAnm == 0xF && i_this->mpFmModelMorf->checkFrame(20.0f)) {
|
||||
} else if (i_this->mAnm == BCK_FM_CHANCE && i_this->mpFmModelMorf->checkFrame(20.0f)) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_CHANCE, -1);
|
||||
} else if (i_this->mAnm == 0x11 && (i_this->mpFmModelMorf->checkFrame(1.0f) || i_this->mpFmModelMorf->checkFrame(30.0f))) {
|
||||
} else if (i_this->mAnm == BCK_FM_DAMAGEWALK && (i_this->mpFmModelMorf->checkFrame(1.0f) || i_this->mpFmModelMorf->checkFrame(30.0f))) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_DAMAGEWALK, -1);
|
||||
} else if (i_this->mAnm == 0x1C && i_this->mpFmModelMorf->checkFrame(5.0f)) {
|
||||
} else if (i_this->mAnm == BCK_FM_DOWNWAIT && i_this->mpFmModelMorf->checkFrame(5.0f)) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_DOWNWAIT, -1);
|
||||
} else if (i_this->mAnm == 0x1E && (i_this->mpFmModelMorf->checkFrame(1.0f) || i_this->mpFmModelMorf->checkFrame(30.0f))) {
|
||||
} else if (i_this->mAnm == BCK_FM_KYORO2 && (i_this->mpFmModelMorf->checkFrame(1.0f) || i_this->mpFmModelMorf->checkFrame(30.0f))) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_KYORO, -1);
|
||||
} else if (i_this->mAnm == 0x21 && i_this->mpFmModelMorf->checkFrame(145.0f)) {
|
||||
} else if (i_this->mAnm == BCK_FM_UP02 && i_this->mpFmModelMorf->checkFrame(145.0f)) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_UP02_2, -1);
|
||||
} else if (i_this->mAnm == 0x22 && i_this->mpFmModelMorf->checkFrame(13.0f)) {
|
||||
} else if (i_this->mAnm == BCK_FM_WAIT01 && i_this->mpFmModelMorf->checkFrame(13.0f)) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_WAIT, -1);
|
||||
} else if (i_this->mAnm == 0xA && i_this->mpFmModelMorf->checkFrame(1.0f)) {
|
||||
} else if (i_this->mAnm == BCK_FM_ANIMAL02 && i_this->mpFmModelMorf->checkFrame(1.0f)) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_GAOO_LONG, -1);
|
||||
} else if (i_this->mAnm == 0x1D && i_this->mpFmModelMorf->checkFrame(1.0f)) {
|
||||
} else if (i_this->mAnm == BCK_FM_HANGWAIT && i_this->mpFmModelMorf->checkFrame(1.0f)) {
|
||||
i_this->mSound.startCreatureVoice(Z2SE_EN_FM_V_HANGWAIT, -1);
|
||||
}
|
||||
|
||||
|
|
@ -3270,7 +3342,7 @@ static int daE_FM_Execute(e_fm_class* i_this) {
|
|||
i_this->field_0x182c = 0;
|
||||
}
|
||||
|
||||
if (i_this->mAnm == 0x15) {
|
||||
if (i_this->mAnm == BCK_FM_DEMOEND01) {
|
||||
int anm_frame = i_this->mpFmModelMorf->getFrame();
|
||||
if (anm_frame == 90 || anm_frame == 120) {
|
||||
dComIfGp_getVibration().StartShock(VIBMODE_S_POWER3, 1, cXyz(0.0f, 1.0f, 0.0f));
|
||||
|
|
@ -3287,7 +3359,7 @@ static int daE_FM_Execute(e_fm_class* i_this) {
|
|||
emitter->setGlobalRTMatrix(model->getAnmMtx(3));
|
||||
}
|
||||
}
|
||||
} else if (i_this->mAnm == 0x1F) {
|
||||
} else if (i_this->mAnm == BCK_FM_OPDEMO) {
|
||||
i_this->field_0x2350 = dComIfGp_particle_set(i_this->field_0x2350, 0x872C, &actor->current.pos, NULL, NULL);
|
||||
|
||||
JPABaseEmitter* emitter = dComIfGp_particle_getEmitter(i_this->field_0x2350);
|
||||
|
|
@ -3384,10 +3456,11 @@ static int daE_FM_Delete(e_fm_class* i_this) {
|
|||
|
||||
/* 804F8CE8-804F95CC 009CE8 08E4+00 1/1 0/0 0/0 .text useHeapInit__FP10fopAc_ac_c */
|
||||
static int useHeapInit(fopAc_ac_c* i_this) {
|
||||
// NONMATCHING - REGALLOC
|
||||
J3DModelData* modelData;
|
||||
e_fm_class* a_this = (e_fm_class*)i_this;
|
||||
|
||||
a_this->mpFmModelMorf = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_fm", 0x2C), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_fm", 0x22), 0, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000284);
|
||||
a_this->mpFmModelMorf = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_fm", BMDR_FM), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_fm", BCK_FM_WAIT01), 0, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000284);
|
||||
if (a_this->mpFmModelMorf == NULL || a_this->mpFmModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3414,7 +3487,10 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
anm_mode = 2;
|
||||
}
|
||||
|
||||
static int brk[] = {0x33, 0x35, 0x3B, 0x3C, 0x34, 0x3A, 0x39, 0x36, 0x37};
|
||||
static int brk[] = {
|
||||
BRK_FM, BRK_FM_ATTACK, BRK_FM_PUTOUT, BRK_FM_PUTOUTWAIT, BRK_FM_ANIMAL02,
|
||||
BRK_FM_OPDEMO, BRK_FM_HANGWAIT, BRK_FM_DEMOEND01, BRK_FM_DEMOEND02
|
||||
};
|
||||
if (!a_this->mpFmBrk[i]->init(a_this->mpFmModelMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_fm", brk[i]), 1, anm_mode, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3424,13 +3500,16 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int btk[] = {0x42, 0x44, 0x49, 0x4A, 0x43, 0x48, 0x47, 0x45, 0x46};
|
||||
static int btk[] = {
|
||||
BTK_FM, BTK_FM_ATTACK, BTK_FM_PUTOUT, BTK_FM_PUTOUTWAIT, BTK_FM_ANIMAL02,
|
||||
BTK_FM_OPDEMO, BTK_FM_HANGWAIT, BTK_FM_DEMOEND01, BTK_FM_DEMOEND02
|
||||
};
|
||||
if (!a_this->mpFmBtk[i]->init(a_this->mpFmModelMorf->getModel()->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("E_fm", btk[i]), 1, anm_mode, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
a_this->mpDemoFmModelMorf = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_fm", 0x2C), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_fm", 0x17), 0, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000284);
|
||||
a_this->mpDemoFmModelMorf = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_fm", BMDR_FM), NULL, NULL, (J3DAnmTransform*)dComIfG_getObjectRes("E_fm", BCK_FM_DEMOEND03), 0, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000284);
|
||||
if (a_this->mpDemoFmModelMorf == NULL || a_this->mpDemoFmModelMorf->getModel() == NULL) {
|
||||
return 0;
|
||||
}
|
||||
|
|
@ -3440,11 +3519,11 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!a_this->mpDemoFmBrk->init(a_this->mpFmModelMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_fm", 0x38), 1, 0, 1.0f, 0, -1)) {
|
||||
if (!a_this->mpDemoFmBrk->init(a_this->mpFmModelMorf->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_fm", BRK_FM_DEMOEND03), 1, 0, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_fm", 0x27);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_fm", BMDE_FM_CORE);
|
||||
JUT_ASSERT(7257, modelData != 0);
|
||||
a_this->mpCoreModel = mDoExt_J3DModel__create(modelData, 0, 0x11020203);
|
||||
if (a_this->mpCoreModel == NULL) {
|
||||
|
|
@ -3456,7 +3535,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!a_this->mpCoreBrk->init(a_this->mpCoreModel->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_fm", 0x31), 1, 2, 1.0f, 0, -1)) {
|
||||
if (!a_this->mpCoreBrk->init(a_this->mpCoreModel->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_fm", BRK_CORE_LIGHTON), 1, 2, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
|
|
@ -3465,14 +3544,14 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!a_this->mpCoreBtk->init(a_this->mpCoreModel->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("E_fm", 0x3F), 1, 0, 1.0f, 0, -1)) {
|
||||
if (!a_this->mpCoreBtk->init(a_this->mpCoreModel->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("E_fm", BTK_CORE_BEAT), 1, 0, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
|
||||
a_this->mpCoreBtk->setPlaySpeed(0.0f);
|
||||
|
||||
for (int i = 0; i < 2; i++) {
|
||||
static int eff_bmd[] = {0x2A, 0x2B};
|
||||
static int eff_bmd[] = {BMDR_EF_FMATTACK_A, BMDR_EF_FMATTACK_B};
|
||||
a_this->mpAttackEfModelMorf[i] = new mDoExt_McaMorf((J3DModelData*)dComIfG_getObjectRes("E_fm", eff_bmd[i]), NULL, NULL, NULL, 0, 1.0f, 0, -1, 1, NULL, 0x80000, 0x11000284);
|
||||
if (a_this->mpAttackEfModelMorf[i] == NULL || a_this->mpAttackEfModelMorf[i]->getModel() == NULL) {
|
||||
return 0;
|
||||
|
|
@ -3484,7 +3563,7 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
if (!a_this->mpAttackEfBrk->init(a_this->mpAttackEfModelMorf[i]->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_fm", 0x32), 1, 2, 1.0f, 0, -1)) {
|
||||
if (!a_this->mpAttackEfBrk->init(a_this->mpAttackEfModelMorf[i]->getModel()->getModelData(), (J3DAnmTevRegKey*)dComIfG_getObjectRes("E_fm", BRK_EF_FMATTACK_B), 1, 2, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
|
@ -3494,16 +3573,16 @@ static int useHeapInit(fopAc_ac_c* i_this) {
|
|||
return 0;
|
||||
}
|
||||
|
||||
static int eff_btk[] = {0x40, 0x41};
|
||||
static int eff_btk[] = {BTK_EF_FMATTACK_A, BTK_EF_FMATTACK_B};
|
||||
if (!a_this->mpAttackEfBtk[i]->init(a_this->mpAttackEfModelMorf[i]->getModel()->getModelData(), (J3DAnmTextureSRTKey*)dComIfG_getObjectRes("E_fm", eff_btk[i]), 1, 2, 1.0f, 0, -1)) {
|
||||
return 0;
|
||||
}
|
||||
}
|
||||
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_fm", 0x2E);
|
||||
modelData = (J3DModelData*)dComIfG_getObjectRes("E_fm", BMDR_KUSARI);
|
||||
JUT_ASSERT(7404, modelData != 0);
|
||||
|
||||
J3DModelData* modelData2 = (J3DModelData*)dComIfG_getObjectRes("E_fm", 0x2D);
|
||||
J3DModelData* modelData2 = (J3DModelData*)dComIfG_getObjectRes("E_fm", BMDR_HANDLE);
|
||||
JUT_ASSERT(7408, modelData2 != 0);
|
||||
|
||||
for (int i = 0; i < 4; i++) {
|
||||
|
|
|
|||
|
|
@ -10,34 +10,61 @@
|
|||
#include "d/d_meter2_info.h"
|
||||
#include "d/actor/d_a_tag_push.h"
|
||||
|
||||
UNK_REL_DATA;
|
||||
|
||||
//
|
||||
// Declarations:
|
||||
//
|
||||
enum JAGAR_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x06 */ BCK_JAGA_F_TALK_A = 6,
|
||||
/* 0x07 */ BCK_JAGA_FH_TALK_A,
|
||||
/* 0x08 */ BCK_JAGA_STEP,
|
||||
/* 0x09 */ BCK_JAGA_TALK_B,
|
||||
/* 0x0A */ BCK_JAGAR_WAIT_A,
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* BMDR */
|
||||
/* 0x0D */ BMDR_JAGAR = 0xD,
|
||||
|
||||
/* 80A1A548-80A1A554 000000 000C+00 2/2 0/0 0/0 .data cNullVec__6Z2Calc */
|
||||
SECTION_DATA static u8 cNullVec__6Z2Calc[12] = {
|
||||
0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00, 0x00,
|
||||
/* BTK */
|
||||
/* 0x10 */ BTK_JAGA = 0x10,
|
||||
|
||||
/* BTP */
|
||||
/* 0x13 */ BTP_JAGA = 0x13,
|
||||
/* 0x14 */ BTP_JAGA_F_TALK_A,
|
||||
/* 0x15 */ BTP_JAGA_FH_TALK_A,
|
||||
};
|
||||
|
||||
/* 80A1A554-80A1A568 00000C 0004+10 0/0 0/0 0/0 .data @1787 */
|
||||
#pragma push
|
||||
#pragma force_active on
|
||||
SECTION_DATA static u32 lit_1787[1 + 4 /* padding */] = {
|
||||
0x02000201,
|
||||
/* padding */
|
||||
0x40080000,
|
||||
0x00000000,
|
||||
0x3FE00000,
|
||||
0x00000000,
|
||||
enum JAGAR1_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x04 */ BCK_JAGA_CHU = 4,
|
||||
/* 0x05 */ BCK_JAGA_CHU_TO_SIT,
|
||||
/* 0x06 */ BCK_JAGA_F_SMILETALK,
|
||||
/* 0x07 */ BCK_JAGA_SIT,
|
||||
/* 0x08 */ BCK_JAGA_TO_CHU,
|
||||
/* 0x09 */ BCK_JAGA_WAIT_B,
|
||||
/* 0x0A */ BCK_JAGA_WAIT_TO_SIT,
|
||||
|
||||
/* EVT */
|
||||
/* 0x0E */ EVT_EVENT_LIST = 0xE,
|
||||
};
|
||||
|
||||
enum JAGAR3_RES_FILE_ID {
|
||||
/* BCK */
|
||||
/* 0x04 */ BCK_JAGA_F_TALK_B = 4,
|
||||
/* 0x05 */ BCK_JAGA_FH_TALK_B,
|
||||
/* 0x06 */ BCK_JAGA_TALK_A,
|
||||
|
||||
/* BTP */
|
||||
/* 0x09 */ BTP_JAGA_F_TALK_B = 9,
|
||||
/* 0x0A */ BTP_JAGA_FH_TALK_B,
|
||||
};
|
||||
|
||||
enum JAGAR4_RES_FILE_ID {
|
||||
/* BMDR */
|
||||
/* 0x03 */ BMDR_JAGA_NOUGU = 3,
|
||||
};
|
||||
#pragma pop
|
||||
|
||||
/* 80A1A568-80A1A570 000020 0008+00 1/1 0/0 0/0 .data l_bmdData */
|
||||
static int l_bmdData[1][2] = {
|
||||
{13, 1},
|
||||
{BMDR_JAGAR, 1},
|
||||
};
|
||||
|
||||
/* 80A1A570-80A1A5B8 -00001 0048+00 0/1 0/0 0/0 .data l_evtList */
|
||||
|
|
@ -63,7 +90,6 @@ static char* l_resNameList[5] = {
|
|||
};
|
||||
|
||||
/* 80A1A5CC-80A1A5D0 000084 0004+00 1/0 0/0 0/0 .data l_loadResPtrn0 */
|
||||
// SECTION_DATA static u32 l_loadResPtrn0 = 0x010204FF;
|
||||
static s8 l_loadResPtrn0[4] = {
|
||||
1, 2, 4, -1,
|
||||
};
|
||||
|
|
@ -175,7 +201,6 @@ daNpc_Jagar_c::~daNpc_Jagar_c() {
|
|||
deleteRes(l_loadResPtrnList[mType], (char const**)l_resNameList);
|
||||
}
|
||||
|
||||
/* ############################################################################################## */
|
||||
/* 80A1A330-80A1A3D0 000000 00A0+00 13/13 0/0 1/1 .rodata m__19daNpc_Jagar_Param_c */
|
||||
daNpc_Jagar_Param_c::Data const daNpc_Jagar_Param_c::m = {
|
||||
170.0f, -3.0f, 1.0f, 400.0f, 255.0f, 160.0f,
|
||||
|
|
@ -282,20 +307,18 @@ int daNpc_Jagar_c::Draw() {
|
|||
return daNpcT_c::draw(0, 0, field_0xde8, NULL, 100.0f, 0, 0, 0);
|
||||
}
|
||||
|
||||
/* 80A15034-80A15054 000A14 0020+00 1/1 0/0 0/0 .text
|
||||
* createHeapCallBack__13daNpc_Jagar_cFP10fopAc_ac_c */
|
||||
/* 80A15034-80A15054 000A14 0020+00 1/1 0/0 0/0 .text createHeapCallBack__13daNpc_Jagar_cFP10fopAc_ac_c */
|
||||
int daNpc_Jagar_c::createHeapCallBack(fopAc_ac_c* i_this) {
|
||||
return static_cast<daNpc_Jagar_c*>(i_this)->CreateHeap();
|
||||
}
|
||||
|
||||
/* 80A15054-80A150AC 000A34 0058+00 1/1 0/0 0/0 .text
|
||||
* ctrlJointCallBack__13daNpc_Jagar_cFP8J3DJointi */
|
||||
int daNpc_Jagar_c::ctrlJointCallBack(J3DJoint* param_0, int param_1) {
|
||||
if (param_1 == 0) {
|
||||
/* 80A15054-80A150AC 000A34 0058+00 1/1 0/0 0/0 .text ctrlJointCallBack__13daNpc_Jagar_cFP8J3DJointi */
|
||||
int daNpc_Jagar_c::ctrlJointCallBack(J3DJoint* i_joint, int param_2) {
|
||||
if (param_2 == 0) {
|
||||
J3DModel* model = j3dSys.getModel();
|
||||
daNpc_Jagar_c* i_this = reinterpret_cast<daNpc_Jagar_c*>(model->getUserArea());
|
||||
if (i_this != 0) {
|
||||
i_this->ctrlJoint(param_0, model);
|
||||
i_this->ctrlJoint(i_joint, model);
|
||||
}
|
||||
}
|
||||
return 1;
|
||||
|
|
|
|||
Loading…
Reference in New Issue