mirror of
https://github.com/zeldaret/tp
synced 2026-09-06 19:01:05 -04:00
d_a_e_vt mostly done (#2158)
This commit is contained in:
@@ -617,6 +617,8 @@ struct J3DZModeInfo {
|
||||
/* 0x3 */ u8 pad;
|
||||
};
|
||||
|
||||
extern u8 j3dZModeTable[96];
|
||||
|
||||
/**
|
||||
* @ingroup jsystem-j3d
|
||||
*
|
||||
@@ -629,6 +631,14 @@ struct J3DZMode {
|
||||
mZModeID = calcZModeID(info.field_0x0, info.field_0x1, info.field_0x2);
|
||||
}
|
||||
|
||||
void setCompareEnable(u8 i_compare) {
|
||||
mZModeID = calcZModeID(i_compare, j3dZModeTable[mZModeID * 3 + 1], j3dZModeTable[mZModeID * 3 + 2]);
|
||||
}
|
||||
|
||||
void setUpdateEnable(u8 i_enable) {
|
||||
mZModeID = calcZModeID(j3dZModeTable[mZModeID * 3], j3dZModeTable[mZModeID * 3 + 1], i_enable);
|
||||
}
|
||||
|
||||
/* 0x0 */ u16 mZModeID;
|
||||
};
|
||||
|
||||
@@ -655,6 +665,8 @@ extern const J3DBlendInfo j3dDefaultBlendInfo;
|
||||
struct J3DBlend : public J3DBlendInfo {
|
||||
J3DBlend() : J3DBlendInfo(j3dDefaultBlendInfo) {}
|
||||
J3DBlend(J3DBlendInfo const& info) : J3DBlendInfo(info) {}
|
||||
|
||||
void setDstFactor(u8 i_factor) { mDstFactor = i_factor; }
|
||||
};
|
||||
|
||||
extern const J3DFogInfo j3dDefaultFogInfo;
|
||||
@@ -746,7 +758,7 @@ public:
|
||||
/* 8000DF54 */ virtual J3DAlphaComp* getAlphaComp();
|
||||
/* 80317370 */ virtual void setBlend(J3DBlend const*);
|
||||
/* 8000E018 */ virtual void setBlend(J3DBlend const&);
|
||||
/* 8000DF4C */ virtual bool getBlend();
|
||||
/* 8000DF4C */ virtual J3DBlend* getBlend();
|
||||
/* 80317374 */ virtual void setZMode(J3DZMode const*);
|
||||
/* 8000E014 */ virtual void setZMode(J3DZMode);
|
||||
/* 8000DF44 */ virtual J3DZMode* getZMode();
|
||||
@@ -834,7 +846,7 @@ public:
|
||||
/* 803219E0 */ virtual J3DAlphaComp* getAlphaComp();
|
||||
/* 803219F4 */ virtual void setBlend(J3DBlend const*);
|
||||
/* 803219E8 */ virtual void setBlend(J3DBlend const&);
|
||||
/* 80321A00 */ virtual bool getBlend();
|
||||
/* 80321A00 */ virtual J3DBlend* getBlend();
|
||||
/* 80321A14 */ virtual void setZMode(J3DZMode const*);
|
||||
/* 80321A08 */ virtual void setZMode(J3DZMode);
|
||||
/* 80321A20 */ virtual J3DZMode* getZMode();
|
||||
@@ -879,7 +891,7 @@ public:
|
||||
/* 80321B44 */ virtual J3DAlphaComp* getAlphaComp();
|
||||
/* 80321B58 */ virtual void setBlend(J3DBlend const*);
|
||||
/* 80321B4C */ virtual void setBlend(J3DBlend const&);
|
||||
/* 80321B64 */ virtual bool getBlend();
|
||||
/* 80321B64 */ virtual J3DBlend* getBlend();
|
||||
/* 80321B78 */ virtual void setZMode(J3DZMode const*);
|
||||
/* 80321B6C */ virtual void setZMode(J3DZMode);
|
||||
/* 80321B84 */ virtual J3DZMode* getZMode();
|
||||
|
||||
@@ -76,12 +76,16 @@ public:
|
||||
u32 getTexGenNum() const { return mTexGenBlock->getTexGenNum(); }
|
||||
u8 getTevStageNum() const { return mTevBlock->getTevStageNum(); }
|
||||
J3DTexCoord* getTexCoord(u32 idx) { return mTexGenBlock->getTexCoord(idx); }
|
||||
J3DZMode* getZMode() { return mPEBlock->getZMode(); }
|
||||
J3DBlend* getBlend() { return mPEBlock->getBlend(); }
|
||||
|
||||
void setTevColor(u32 i, const J3DGXColorS10* i_color) { mTevBlock->setTevColor(i, i_color); }
|
||||
void setTevKColor(u32 i, const J3DGXColor* i_color) { mTevBlock->setTevKColor(i, i_color); }
|
||||
void setMaterialAnm(J3DMaterialAnm* i_anm) { mMaterialAnm = i_anm; }
|
||||
void setCullMode(u8 i_mode) { mColorBlock->setCullMode(i_mode); }
|
||||
void setTexMtx(u32 idx, J3DTexMtx* mtx) { mTexGenBlock->setTexMtx(idx, mtx); }
|
||||
void setZCompLoc(u8 i_comploc) { mPEBlock->setZCompLoc(i_comploc); }
|
||||
void setMaterialMode(u32 i_mode) { mMaterialMode = i_mode; }
|
||||
|
||||
public:
|
||||
/* 0x04 */ J3DMaterial* mNext;
|
||||
|
||||
@@ -100,6 +100,10 @@ struct TVec3<f32> : public Vec {
|
||||
setTVec3f(&i_vec.x, &x);
|
||||
}
|
||||
|
||||
TVec3(f32 x, f32 y, f32 z) {
|
||||
set(x, y, z);
|
||||
}
|
||||
|
||||
TVec3() {}
|
||||
|
||||
operator Vec*() { return (Vec*)&x; }
|
||||
|
||||
+27
-13
@@ -449,11 +449,14 @@ public:
|
||||
/* 0x06 */ CUT_TYPE_FINISH_LEFT,
|
||||
/* 0x07 */ CUT_TYPE_FINISH_VERTICAL,
|
||||
/* 0x08 */ CUT_TYPE_TURN_RIGHT,
|
||||
/* 0x0A */ CUT_TYPE_JUMP = 10,
|
||||
/* 0x09 */ CUT_TYPE_UNK_9,
|
||||
/* 0x0A */ CUT_TYPE_JUMP,
|
||||
/* 0x0B */ CUT_TYPE_DASH_UNK_B,
|
||||
/* 0x0C */ CUT_TYPE_DASH_UNK_C,
|
||||
/* 0x0D */ CUT_TYPE_DASH_UNK_D,
|
||||
/* 0x10 */ CUT_TYPE_AIR = 0x10,
|
||||
/* 0x0E */ CUT_TYPE_UNK_E,
|
||||
/* 0x0F */ CUT_TYPE_UNK_F,
|
||||
/* 0x10 */ CUT_TYPE_AIR,
|
||||
/* 0x11 */ CUT_TYPE_DASH_UNK_11,
|
||||
/* 0x12 */ CUT_TYPE_LARGE_JUMP_INIT,
|
||||
/* 0x13 */ CUT_TYPE_LARGE_JUMP,
|
||||
@@ -462,30 +465,39 @@ public:
|
||||
/* 0x16 */ CUT_TYPE_TURN_LEFT,
|
||||
/* 0x17 */ CUT_TYPE_LARGE_TURN_LEFT,
|
||||
/* 0x18 */ CUT_TYPE_LARGE_TURN_RIGHT,
|
||||
/* 0x1A */ CUT_TYPE_MORTAL_DRAW_A = 0x1A,
|
||||
/* 0x1E */ CUT_TYPE_TWIRL = 0x1E, // Back Slice
|
||||
/* 0x19 */ CUT_TYPE_UNK_19,
|
||||
/* 0x1A */ CUT_TYPE_MORTAL_DRAW_A,
|
||||
/* 0x1B */ CUT_TYPE_UNK_1B,
|
||||
/* 0x1C */ CUT_TYPE_UNK_1C,
|
||||
/* 0x1D */ CUT_TYPE_UNK_1D,
|
||||
/* 0x1E */ CUT_TYPE_TWIRL, // Back Slice
|
||||
/* 0x1F */ CUT_TYPE_MORTAL_DRAW_B,
|
||||
/* 0x20 */ CUT_TYPE_FINISH_STAB,
|
||||
/* 0x21 */ CUT_TYPE_COMBO_STAB,
|
||||
/* 0x22 */ CUT_TYPE_HORSE_UNK_22,
|
||||
/* 0x23 */ CUT_TYPE_HORSE_UNK_23,
|
||||
/* 0x25 */ CUT_TYPE_DASH_UNK_25 = 0x25,
|
||||
/* 0x26 */ CUT_TYPE_DASH_UNK_26 = 0x26,
|
||||
/* 0x24 */ CUT_TYPE_UNK_24,
|
||||
/* 0x25 */ CUT_TYPE_DASH_UNK_25,
|
||||
/* 0x26 */ CUT_TYPE_DASH_UNK_26,
|
||||
/* 0x27 */ CUT_TYPE_DOWN,
|
||||
/* 0x29 */ CUT_TYPE_GUARD_ATTACK = 0x29,
|
||||
/* 0x28 */ CUT_TYPE_UNK_28,
|
||||
/* 0x29 */ CUT_TYPE_GUARD_ATTACK,
|
||||
/* 0x2A */ CUT_TYPE_HORSE_UNK_2A,
|
||||
/* 0x2B */ CUT_TYPE_HORSE_TURN,
|
||||
/* 0x2C */ CUT_TYPE_WOLF_B_LEFT,
|
||||
/* 0x2D */ CUT_TYPE_WOLF_B_RIGHT,
|
||||
/* 0x2E */ CUT_TYPE_WOLF_B_FRONT,
|
||||
/* 0x2F */ CUT_TYPE_WOLF_B_BACK,
|
||||
/* 0x31 */ CUT_TYPE_WOLF_UNK_31 = 0x31,
|
||||
/* 0x32 */ CUT_TYPE_WOLF_UNK_32,
|
||||
/* 0x30 */ CUT_TYPE_WOLF_UNK_30,
|
||||
/* 0x31 */ CUT_TYPE_WOLF_JUMP_S,
|
||||
/* 0x32 */ CUT_TYPE_WOLF_JUMP_S_FINISH,
|
||||
/* 0x33 */ CUT_TYPE_WOLF_TURN_LEFT,
|
||||
/* 0x34 */ CUT_TYPE_WOLF_TURN_RIGHT,
|
||||
/* 0x36 */ CUT_TYPE_WOLF_LOCK = 0x36,
|
||||
/* 0x38 */ CUT_TYPE_DASH_UNK_38 = 0x38,
|
||||
/* 0x39 */ CUT_TYPE_WOLF_UNK_39,
|
||||
/* 0x35 */ CUT_TYPE_WOLF_UNK_35,
|
||||
/* 0x36 */ CUT_TYPE_WOLF_LOCK,
|
||||
/* 0x37 */ CUT_TYPE_WOLF_UNK_37,
|
||||
/* 0x38 */ CUT_TYPE_DASH_UNK_38,
|
||||
/* 0x39 */ CUT_TYPE_WOLF_JUMP,
|
||||
};
|
||||
|
||||
static u32 setParamData(int, int, int, int);
|
||||
@@ -754,6 +766,7 @@ public:
|
||||
BOOL checkStickArrowReset() const { return checkResetFlg0(RFLG0_UNK_1); }
|
||||
|
||||
void offWolfEnemyHangBite() { offNoResetFlg2(FLG2_WOLF_ENEMY_HANG_BITE); }
|
||||
bool onWolfEnemyHangBite(fopAc_ac_c* param_0) { return onWolfEnemyBiteAll(param_0, FLG2_WOLF_ENEMY_HANG_BITE); }
|
||||
|
||||
void setCanoeSlider() { mSpecialMode = 0x2D; }
|
||||
|
||||
@@ -863,7 +876,7 @@ public:
|
||||
inline BOOL i_checkSwordGet();
|
||||
inline bool i_checkShieldGet() const;
|
||||
inline static BOOL checkNowWolf();
|
||||
inline static BOOL i_checkNowWolf() { return dComIfGp_getLinkPlayer()->checkWolf(); }
|
||||
inline static u32 i_checkNowWolf() { return dComIfGp_getLinkPlayer()->checkWolf(); }
|
||||
inline bool checkZoraWearFlg() const;
|
||||
inline bool checkMagicArmorWearFlg() const;
|
||||
inline static BOOL i_checkFirstMidnaDemo() { return dComIfGs_isEventBit(0xc10); }
|
||||
@@ -875,6 +888,7 @@ public:
|
||||
// static void onWolfEnemyCatch(fopAc_ac_c* i_actorP) { onWolfEnemyBiteAll(i_actorP,8);}
|
||||
|
||||
bool checkWolfEnemyCatchOwn(fopAc_ac_c* i_actorP) { return checkWolfEnemyBiteAllOwn(i_actorP); }
|
||||
bool checkWolfEnemyHangBiteOwn(fopAc_ac_c* i_actorP) const { return checkWolfEnemyBiteAllOwn(i_actorP); }
|
||||
bool checkWolfEnemyLeftThrow() const { return checkNoResetFlg2(FLG2_WOLF_ENEMY_LEFT_THROW); }
|
||||
|
||||
static daMidna_c* m_midnaActor;
|
||||
|
||||
@@ -1365,6 +1365,10 @@ inline void dComIfGs_onStageBossEnemy() {
|
||||
g_dComIfG_gameInfo.info.getMemory().getBit().onStageBossEnemy();
|
||||
}
|
||||
|
||||
inline void dComIfGs_onStageMiddleBoss() {
|
||||
g_dComIfG_gameInfo.info.getMemory().getBit().onStageBossEnemy2();
|
||||
}
|
||||
|
||||
inline s32 dComIfGs_isDungeonItemWarp() {
|
||||
return g_dComIfG_gameInfo.info.getMemory().getBit().isDungeonItemWarp();
|
||||
}
|
||||
@@ -3996,6 +4000,10 @@ inline void dComIfGd_set3DlineMat(mDoExt_3DlineMat_c *param_0) {
|
||||
g_dComIfG_gameInfo.drawlist.set3DlineMat(param_0);
|
||||
}
|
||||
|
||||
inline void dComIfGd_set3DlineMatDark(mDoExt_3DlineMat_c *param_0) {
|
||||
g_dComIfG_gameInfo.drawlist.set3DlineMatDark(param_0);
|
||||
}
|
||||
|
||||
inline daPy_py_c* daPy_getLinkPlayerActorClass() {
|
||||
return dComIfGp_getLinkPlayer();
|
||||
}
|
||||
|
||||
@@ -348,6 +348,12 @@ public:
|
||||
#endif
|
||||
}
|
||||
|
||||
void set3DlineMatDark(mDoExt_3DlineMat_c *param_1) {
|
||||
#ifndef NON_VIRTUAL_3DLINEMAT
|
||||
m3DLineMatSortPacket[param_1->getMaterialID()].setMatDark(param_1);
|
||||
#endif
|
||||
}
|
||||
|
||||
void peekZdata() { mPeekZ.peekData(); }
|
||||
void entryZSortListZxlu(J3DPacket* i_packet, cXyz& param_1) {
|
||||
entryZSortXluDrawList(mDrawBuffers[DB_LIST_Z_XLU], i_packet, param_1);
|
||||
|
||||
@@ -856,6 +856,7 @@ public:
|
||||
onDungeonItem(STAGE_BOSS_ENEMY);
|
||||
onDungeonItem(OOCCOO_NOTE);
|
||||
}
|
||||
void onStageBossEnemy2() { onDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
s32 isStageBossEnemy() const { return isDungeonItem(STAGE_BOSS_ENEMY); }
|
||||
s32 isStageBossEnemy2() const { return isDungeonItem(STAGE_BOSS_ENEMY_2); }
|
||||
s32 isStageLife() const { return isDungeonItem(STAGE_LIFE); }
|
||||
|
||||
@@ -273,6 +273,7 @@ public:
|
||||
void offWolfBiteDamage() { mFlags &= ~0x40; }
|
||||
void offCutDownHitFlg() { mFlags &= ~0x2; }
|
||||
void offDownFlg() { mFlags &= ~0x17; }
|
||||
void offWolfNoLock() { mFlags &= ~0x200; }
|
||||
|
||||
void setMidnaBindMode(u8 i_bindMode) { mMidnaBindMode = i_bindMode; }
|
||||
void setMidnaBindID(u8 i_idx, u32 i_bindID) { mMidnaBindID[i_idx] = i_bindID; }
|
||||
|
||||
@@ -727,4 +727,76 @@ inline bool fopAcM_CheckFoodStatus(const fopAc_ac_c* actor, fopAcM_FOOD status)
|
||||
return actor->field_0x567 == status;
|
||||
}
|
||||
|
||||
/* static inline int setMidnaBindEffect(fopEn_enemy_c* i_actorP, Z2CreatureEnemy* i_creatureP, cXyz* param_2,
|
||||
cXyz* param_3) {
|
||||
static GXColor e_prim[] = {
|
||||
{0xFF, 0x78, 0x00, 0x00},
|
||||
{0xFF, 0x64, 0x78, 0x00},
|
||||
};
|
||||
static GXColor e_env[] = {
|
||||
{0x5A, 0x2D, 0x2D, 0x00},
|
||||
{0x3C, 0x1E, 0x1E, 0x00},
|
||||
};
|
||||
|
||||
daPy_py_c* player = daPy_getPlayerActorClass();
|
||||
fopAc_ac_c* a_this = (fopAc_ac_c*)i_actorP;
|
||||
|
||||
if (player->getMidnaActor() && player->checkWolfLock(a_this)) {
|
||||
cXyz sp48;
|
||||
|
||||
BOOL darkworld_check;
|
||||
if (dKy_darkworld_check()) {
|
||||
darkworld_check = 1;
|
||||
} else {
|
||||
darkworld_check = 0;
|
||||
}
|
||||
|
||||
if (i_actorP->getMidnaBindMode() == 0) {
|
||||
i_actorP->setMidnaBindMode(1);
|
||||
|
||||
csXyz sp68;
|
||||
MTXCopy(player->getMidnaActor()->getMtxHairTop(), mDoMtx_stack_c::get());
|
||||
|
||||
cXyz sp54(nREG_F(8) + 100.0f, nREG_F(9), nREG_F(10));
|
||||
mDoMtx_stack_c::multVec(&sp54, &sp48);
|
||||
|
||||
cXyz sp60 = sp48 - *param_2;
|
||||
|
||||
sp68.y = cM_atan2s(sp60.x, sp60.z);
|
||||
sp68.x = -cM_atan2s(sp60.y, JMAFastSqrt(sp60.x * sp60.x + sp60.z * sp60.z));
|
||||
sp68.z = 0;
|
||||
|
||||
JPABaseEmitter* emitter = dComIfGp_particle_set(
|
||||
0x29B, param_2, &a_this->tevStr, &sp68, param_3, 0xFF, NULL, fopAcM_GetRoomNo(a_this),
|
||||
&e_prim[darkworld_check], &e_env[darkworld_check], NULL);
|
||||
|
||||
if (emitter != NULL) {
|
||||
emitter->setGlobalParticleHeightScale((JREG_F(7) + 0.01f) * sp60.abs());
|
||||
}
|
||||
|
||||
dComIfGp_particle_set(0x29C, param_2, &a_this->tevStr, &a_this->shape_angle,
|
||||
param_3, 0xFF, NULL, fopAcM_GetRoomNo(a_this), &e_prim[darkworld_check],
|
||||
&e_env[darkworld_check], NULL);
|
||||
|
||||
i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_ON, 0, -1);
|
||||
}
|
||||
|
||||
for (int i = 0; i < 3; i++) {
|
||||
static u16 eff_id[] = {0x29D, 0x29E, 0x29F};
|
||||
|
||||
u32* bind_id = i_actorP->getMidnaBindID(i);
|
||||
*bind_id = dComIfGp_particle_set(*bind_id, eff_id[i], param_2, &a_this->tevStr,
|
||||
&a_this->shape_angle, param_3, 0xFF, NULL, fopAcM_GetRoomNo(a_this),
|
||||
&e_prim[darkworld_check], &e_env[darkworld_check], NULL);
|
||||
|
||||
}
|
||||
|
||||
i_creatureP->startCreatureSound(Z2SE_MIDNA_BIND_LOCK_SUS, 0, -1);
|
||||
return 1;
|
||||
}
|
||||
|
||||
i_actorP->setMidnaBindMode(0);
|
||||
return 0;
|
||||
} */
|
||||
|
||||
#endif
|
||||
|
||||
@@ -485,6 +485,7 @@ public:
|
||||
mDoExt_3DlineMatSortPacket() { mp3DlineMat = NULL; }
|
||||
|
||||
void reset() { mp3DlineMat = NULL; }
|
||||
void setMatDark(mDoExt_3DlineMat_c* i_mat) { setMat(i_mat); }
|
||||
|
||||
/* 80014738 */ void setMat(mDoExt_3DlineMat_c*);
|
||||
virtual void draw();
|
||||
@@ -497,7 +498,7 @@ private:
|
||||
class dKy_tevstr_c;
|
||||
class mDoExt_3DlineMat1_c : public mDoExt_3DlineMat_c {
|
||||
public:
|
||||
/* 80013360 */ void init(u16, u16, ResTIMG*, int);
|
||||
/* 80013360 */ int init(u16, u16, ResTIMG*, int);
|
||||
/* 80013FB0 */ void update(int, GXColor&, dKy_tevstr_c*);
|
||||
/* 8001373C */ void update(int, f32, GXColor&, u16, dKy_tevstr_c*);
|
||||
/* 80014E7C */ int getMaterialID();
|
||||
@@ -505,6 +506,7 @@ public:
|
||||
/* 800135D0 */ void draw();
|
||||
|
||||
cXyz* getPos(int i_idx) { return field_0x38[i_idx].field_0x0; }
|
||||
f32* getSize(int i_idx) { return field_0x38[i_idx].field_0x4; }
|
||||
|
||||
private:
|
||||
/* 0x08 */ GXTexObj field_0x8;
|
||||
|
||||
@@ -1,27 +1,97 @@
|
||||
#ifndef D_A_E_VT_H
|
||||
#define D_A_E_VT_H
|
||||
|
||||
#include "dolphin/types.h"
|
||||
#include "Z2AudioLib/Z2Creature.h"
|
||||
#include "d/bg/d_bg_s_acch.h"
|
||||
#include "d/cc/d_cc_d.h"
|
||||
#include "d/cc/d_cc_uty.h"
|
||||
#include "f_op/f_op_actor_mng.h"
|
||||
|
||||
/**
|
||||
* @ingroup actors-enemies
|
||||
* @class daE_VA_c
|
||||
* @brief ???
|
||||
*
|
||||
* @details
|
||||
*
|
||||
* @brief Death Sword
|
||||
*
|
||||
* @details
|
||||
*
|
||||
*/
|
||||
class daE_VA_c : public fopEn_enemy_c {
|
||||
/* 807C267C */ void ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 807C284C */ void JointCallBack(J3DJoint*, int);
|
||||
public:
|
||||
enum daE_VA_ACTION {
|
||||
ACTION_DEMO_OP_WAIT_e,
|
||||
ACTION_DEMO_OP_e,
|
||||
ACTION_CLEAR_WAIT_e,
|
||||
ACTION_CLEAR_CHASE_e,
|
||||
ACTION_CLEAR_ATTACK_e,
|
||||
ACTION_TRANS_WAIT_e,
|
||||
ACTION_TRANS_ATTACK_e,
|
||||
ACTION_TRANS_CHASE_e,
|
||||
ACTION_TRANS_DAMAGE_e,
|
||||
ACTION_TRANS_BITE_DAMAGE_e,
|
||||
ACTION_TRANS_THROUGH_e,
|
||||
ACTION_OPACI_WAIT_e,
|
||||
ACTION_OPACI_FLY_e,
|
||||
ACTION_OPACI_DOWN_e,
|
||||
ACTION_OPACI_DOWN_DAMAGE_e,
|
||||
ACTION_OPACI_CHASE_e,
|
||||
ACTION_OPACI_ATTACK_e,
|
||||
ACTION_OPACI_DAMAGE_e,
|
||||
ACTION_OPACI_FLIP_e,
|
||||
ACTION_OPACI_FADE_AWAY_e,
|
||||
ACTION_OPACI_DEATH_e,
|
||||
};
|
||||
|
||||
enum daE_ANM_e {
|
||||
ANM_END_EF_e = 7,
|
||||
ANM_FLOAT_ATTACK_e,
|
||||
ANM_FLOAT_DMG_A_e,
|
||||
ANM_FLOAT_DMG_B_e,
|
||||
ANM_FLOAT_DMG_C_e,
|
||||
ANM_FLOAT_WAIT_e,
|
||||
ANM_INVI_ATTACK_A_e,
|
||||
ANM_INVI_NOTICE_e,
|
||||
ANM_INVI_WAIT_e,
|
||||
ANM_INVI_WALK_e,
|
||||
ANM_OP_ATTACK_A_e,
|
||||
ANM_SUBS_ATTACK_A1_e,
|
||||
ANM_SUBS_ATTACK_A3_e,
|
||||
ANM_SUBS_ATTACK_B_e,
|
||||
ANM_SUBS_AVOID_e,
|
||||
ANM_SUBS_DOWN_e,
|
||||
ANM_SUBS_DOWN_DMG_A1_e,
|
||||
ANM_SUBS_DOWN_DMG_A2_e,
|
||||
ANM_SUBS_DOWN_DIE_e,
|
||||
ANM_SUBS_DOWN_D_STAND_e,
|
||||
ANM_SUBS_DOWN_STAGGER_e,
|
||||
ANM_SUBS_DOWN_STAND_e,
|
||||
ANM_SUBS_DOWN_WAIT_e,
|
||||
ANM_SUBS_FLY_e,
|
||||
ANM_SUBS_INVITE_A_e,
|
||||
ANM_SUBS_INVITE_B_e,
|
||||
ANM_SUBS_INVITE_C_e,
|
||||
ANM_SUBS_STAGGER_e,
|
||||
ANM_SUBS_TO_TRANS_e,
|
||||
ANM_SUBS_WAIT_e,
|
||||
ANM_TRANS_ATTACK_A1_e,
|
||||
ANM_TRANS_ATTACK_A2_e,
|
||||
ANM_TRANS_ATTACK_A3_e,
|
||||
ANM_TRANS_NECK_DMG_e,
|
||||
ANM_TRANS_NECK_PAT_e,
|
||||
ANM_TRANS_STRUGGLE_e,
|
||||
ANM_TRANS_THROUGH_e,
|
||||
ANM_TRANS_WAIT_e,
|
||||
ANM_TRANS_WALK_e,
|
||||
};
|
||||
|
||||
/* 807C267C */ int ctrlJoint(J3DJoint*, J3DModel*);
|
||||
/* 807C284C */ static int JointCallBack(J3DJoint*, int);
|
||||
/* 807C2898 */ void calcJointNeck();
|
||||
/* 807C2A4C */ void calcJointSleeve();
|
||||
/* 807C3264 */ void draw();
|
||||
/* 807C3264 */ int draw();
|
||||
/* 807C3818 */ void setBck(int, u8, f32, f32);
|
||||
/* 807C38BC */ void checkBck(int);
|
||||
/* 807C38BC */ bool checkBck(int);
|
||||
/* 807C3918 */ void setActionMode(int, int);
|
||||
/* 807C39C4 */ void getWolfCutType();
|
||||
/* 807C39C4 */ int getWolfCutType();
|
||||
/* 807C3A1C */ void onSwordAtBit();
|
||||
/* 807C3A50 */ void offSwordShield();
|
||||
/* 807C3AB0 */ void setTransDamage(cXyz*);
|
||||
@@ -36,8 +106,8 @@ class daE_VA_c : public fopEn_enemy_c {
|
||||
/* 807C5188 */ void setMagicEffect(int);
|
||||
/* 807C5258 */ void setMagicHitEffect(int);
|
||||
/* 807C5338 */ void demo_skip(int);
|
||||
/* 807C53A8 */ void DemoSkipCallBack(void*, int);
|
||||
/* 807C53DC */ void getRopeLength(int);
|
||||
/* 807C53A8 */ static int DemoSkipCallBack(void*, int);
|
||||
/* 807C53DC */ f32 getRopeLength(int);
|
||||
/* 807C53FC */ void calcOpRopePos();
|
||||
/* 807C5CF0 */ void onRopeCutStatus(int, int, int);
|
||||
/* 807C5DF4 */ void setVibRope(f32, f32);
|
||||
@@ -70,20 +140,167 @@ class daE_VA_c : public fopEn_enemy_c {
|
||||
/* 807CC004 */ void action();
|
||||
/* 807CC4D0 */ void mtx_set();
|
||||
/* 807CC864 */ void cc_set();
|
||||
/* 807CCD24 */ void execute();
|
||||
/* 807CCF64 */ void _delete();
|
||||
/* 807CD048 */ void CreateHeap();
|
||||
/* 807CD668 */ void create();
|
||||
/* 807CCD24 */ int execute();
|
||||
/* 807CCF64 */ int _delete();
|
||||
/* 807CD048 */ int CreateHeap();
|
||||
/* 807CD668 */ int create();
|
||||
/* 807CDAD8 */ daE_VA_c();
|
||||
private:
|
||||
/* 0x5ac */ u8 field_0x5ac[0x10ffc - 0x5ac];
|
||||
|
||||
/* 0x005AC */ request_of_phase_process_class mPhase;
|
||||
/* 0x005B4 */ mDoExt_McaMorfSO* mpMorf;
|
||||
/* 0x005B8 */ mDoExt_McaMorfSO* mpEndEfMorf;
|
||||
/* 0x005BC */ J3DModel* mpWeaponModel;
|
||||
/* 0x005C0 */ J3DModel* mpCardModels[40];
|
||||
/* 0x00660 */ csXyz field_0x660[40];
|
||||
/* 0x00750 */ csXyz field_0x750[40];
|
||||
/* 0x00840 */ csXyz field_0x840[40];
|
||||
/* 0x00930 */ u8 mCardFlags[40];
|
||||
/* 0x00958 */ mDoExt_3DlineMat1_c mRope;
|
||||
/* 0x00994 */ cXyz field_0x994[100];
|
||||
/* 0x00E44 */ csXyz field_0xe44[100];
|
||||
/* 0x0109C */ u8 mRopeCutStatus[10];
|
||||
/* 0x010A6 */ u8 field_0x10A6[0x01100 - 0x010A6];
|
||||
/* 0x01100 */ u8 mDrawRopes;
|
||||
/* 0x01101 */ u8 field_0x1101[0x01104 - 0x01101];
|
||||
/* 0x01104 */ f32 field_0x1104[10];
|
||||
/* 0x0112C */ s16 field_0x112c[10];
|
||||
/* 0x01140 */ cXyz field_0x1140[10];
|
||||
/* 0x011B8 */ f32 field_0x11b8[10];
|
||||
/* 0x011E0 */ cXyz mMagicPos[2];
|
||||
/* 0x011F8 */ cXyz mMagicOldPos[2];
|
||||
/* 0x01210 */ cXyz mMagicSpeed[2];
|
||||
/* 0x01228 */ u8 field_0x1228[3];
|
||||
/* 0x0122C */ cXyz field_0x122c;
|
||||
/* 0x01238 */ csXyz field_0x1238;
|
||||
/* 0x0123E */ s16 field_0x123e;
|
||||
/* 0x01240 */ u8 field_0x1240;
|
||||
/* 0x01244 */ mDoExt_invisibleModel mInvisModel;
|
||||
/* 0x0124C */ mDoExt_brkAnm* mpWeaponBrk;
|
||||
/* 0x01250 */ mDoExt_brkAnm* mpEndEfBrk;
|
||||
/* 0x01254 */ Z2CreatureEnemy mSound;
|
||||
/* 0x012F8 */ cXyz field_0x12f8;
|
||||
/* 0x01304 */ csXyz field_0x1304;
|
||||
/* 0x0130A */ u8 field_0x130A[0x0130C - 0x0130A];
|
||||
/* 0x0130C */ s16 field_0x130c;
|
||||
/* 0x0130E */ s16 field_0x130e;
|
||||
/* 0x01310 */ f32 field_0x1310;
|
||||
/* 0x01314 */ f32 mKankyoColBlend;
|
||||
/* 0x01318 */ f32 field_0x1318;
|
||||
/* 0x0131C */ int mAction;
|
||||
/* 0x01320 */ int mMode;
|
||||
/* 0x01324 */ int field_0x1324;
|
||||
/* 0x01328 */ u8 field_0x1328[0x0132C - 0x01328];
|
||||
/* 0x0132C */ u32 mShadowKey;
|
||||
/* 0x01330 */ s16 field_0x1330;
|
||||
/* 0x01332 */ s16 field_0x1332;
|
||||
/* 0x01334 */ s16 field_0x1334;
|
||||
/* 0x01336 */ s16 field_0x1336;
|
||||
/* 0x01338 */ s16 mAttackSphIFrameTimer;
|
||||
/* 0x0133A */ s16 mNeckSphIFrameTimer;
|
||||
/* 0x0133C */ s16 mBodyCylIFrameTimer;
|
||||
/* 0x0133E */ s16 mOffTgTimer;
|
||||
/* 0x01340 */ int mDemoModeTimer;
|
||||
/* 0x01344 */ int mDownTimer;
|
||||
/* 0x01348 */ int field_0x1348;
|
||||
/* 0x0134C */ int mFadeAwayTimer;
|
||||
/* 0x01350 */ int field_0x1350;
|
||||
/* 0x01354 */ int field_0x1354;
|
||||
/* 0x01358 */ int field_0x1358;
|
||||
/* 0x0135C */ int field_0x135c;
|
||||
/* 0x01360 */ u8 field_0x1360[0x01364 - 0x01360];
|
||||
/* 0x01364 */ int field_0x1364;
|
||||
/* 0x01368 */ int field_0x1368;
|
||||
/* 0x0136C */ u8 field_0x136C[0x01370 - 0x0136C];
|
||||
/* 0x01370 */ int mAlphaType;
|
||||
/* 0x01374 */ int mKankyoColType;
|
||||
/* 0x01378 */ u8 mGlowLightA;
|
||||
/* 0x01379 */ u8 mFootSmokeAlpha;
|
||||
/* 0x0137A */ u8 mEyeAlpha;
|
||||
/* 0x0137B */ u8 field_0x137b;
|
||||
/* 0x0137C */ u8 mGlowLightR;
|
||||
/* 0x0137D */ u8 mGlowLightG;
|
||||
/* 0x0137E */ u8 mGlowLightB;
|
||||
/* 0x0137F */ u8 mGlowBody;
|
||||
/* 0x01380 */ u8 field_0x1380;
|
||||
/* 0x01381 */ u8 field_0x1381;
|
||||
/* 0x01382 */ u8 field_0x1382;
|
||||
/* 0x01383 */ u8 field_0x1383;
|
||||
/* 0x01384 */ u8 field_0x1384;
|
||||
/* 0x01385 */ u8 field_0x1385;
|
||||
/* 0x01386 */ u8 field_0x1386;
|
||||
/* 0x01387 */ u8 mRopesEnabled;
|
||||
/* 0x01388 */ u8 field_0x1388;
|
||||
/* 0x01389 */ u8 mWeponEfMode;
|
||||
/* 0x0138A */ u8 mPlayEndEf;
|
||||
/* 0x0138B */ u8 field_0x138b;
|
||||
/* 0x0138C */ u8 mSwNo;
|
||||
/* 0x0138D */ u8 field_0x138d;
|
||||
/* 0x0138E */ u8 field_0x138e;
|
||||
/* 0x0138F */ u8 field_0x138f;
|
||||
/* 0x01390 */ u8 field_0x1390;
|
||||
/* 0x01391 */ u8 field_0x1391;
|
||||
/* 0x01392 */ u8 field_0x1392;
|
||||
/* 0x01393 */ u8 field_0x1393;
|
||||
/* 0x01394 */ s16 field_0x1394;
|
||||
/* 0x01396 */ s16 field_0x1396;
|
||||
/* 0x01398 */ s16 field_0x1398;
|
||||
/* 0x0139C */ mDoExt_3DlineMat0_c field_0x139c;
|
||||
/* 0x013B8 */ cXyz field_0x13b8;
|
||||
/* 0x013C4 */ cXyz field_0x13c4;
|
||||
/* 0x013D0 */ cXyz field_0x13d0[5];
|
||||
/* 0x0140C */ cXyz field_0x140c[5];
|
||||
/* 0x01448 */ csXyz field_0x1448[5];
|
||||
/* 0x01466 */ csXyz field_0x1466[5];
|
||||
/* 0x01484 */ u8 field_0x1484;
|
||||
/* 0x01485 */ u8 field_0x1485;
|
||||
/* 0x01486 */ u8 field_0x1486;
|
||||
/* 0x01488 */ cXyz mDemoCamCenter;
|
||||
/* 0x01494 */ cXyz mDemoCamEye;
|
||||
/* 0x014A0 */ f32 mDemoCamBank;
|
||||
/* 0x014A4 */ f32 field_0x14a4;
|
||||
/* 0x014A8 */ f32 field_0x14a8;
|
||||
/* 0x014AC */ s16 field_0x14ac;
|
||||
/* 0x014B0 */ f32 field_0x14b0;
|
||||
/* 0x014B4 */ u8 field_0x14B4[0x014B8 - 0x014B4];
|
||||
/* 0x014B8 */ dBgS_AcchCir mAcchCir;
|
||||
/* 0x014F8 */ dBgS_ObjAcch mAcch;
|
||||
/* 0x016D0 */ dBgS_AcchCir mMagicAcchCir[2];
|
||||
/* 0x01750 */ dBgS_ObjAcch mMagicAcch[2];
|
||||
/* 0x01B00 */ dCcD_Stts mBodyCcStts;
|
||||
/* 0x01B3C */ dCcD_Stts field_0x1b3c;
|
||||
/* 0x01B78 */ dCcD_Sph mNeckSph;
|
||||
/* 0x01CB0 */ dCcD_Cyl mBodyCyls[3];
|
||||
/* 0x02064 */ dCcD_Sph mAttackSphs[4];
|
||||
/* 0x02544 */ dCcD_Sph mLineSphs[190];
|
||||
/* 0x10CD4 */ dCcD_Sph mMagicSphs[2];
|
||||
/* 0x10F44 */ dCcU_AtInfo mAtInfo;
|
||||
/* 0x10F68 */ u32 mWeponEffEmtrIDs[3];
|
||||
/* 0x10F74 */ u32 field_0x10f74;
|
||||
/* 0x10F78 */ u32 mFootSmokeEmtrIDs[2];
|
||||
/* 0x10F80 */ u32 field_0x10f80[30];
|
||||
/* 0x10FF8 */ u8 mInitHIO;
|
||||
};
|
||||
STATIC_ASSERT(sizeof(daE_VA_c) == 0x10ffc);
|
||||
|
||||
class daE_VA_HIO_c {
|
||||
public:
|
||||
/* 807C25EC */ daE_VA_HIO_c();
|
||||
/* 807CE2AC */ ~daE_VA_HIO_c();
|
||||
/* 807CE2AC */ virtual ~daE_VA_HIO_c();
|
||||
|
||||
/* 0x04 */ s8 field_0x04;
|
||||
/* 0x08 */ f32 mModelSize;
|
||||
/* 0x0C */ f32 mAttackRange;
|
||||
/* 0x10 */ f32 mBiteCount;
|
||||
/* 0x14 */ f32 mCircleAttackRadius;
|
||||
/* 0x18 */ f32 mFadeAwayTime;
|
||||
/* 0x1C */ f32 mDownTime;
|
||||
/* 0x20 */ f32 mDownHP;
|
||||
/* 0x24 */ f32 field_0x24;
|
||||
/* 0x28 */ f32 field_0x28;
|
||||
/* 0x2C */ f32 field_0x2c;
|
||||
/* 0x30 */ f32 mKRegLightR;
|
||||
/* 0x34 */ f32 mKRegLightG;
|
||||
/* 0x38 */ f32 mKRegLightB;
|
||||
/* 0x3C */ f32 mKRegLightA;
|
||||
};
|
||||
|
||||
|
||||
#endif /* D_A_E_VT_H */
|
||||
|
||||
Reference in New Issue
Block a user