mirror of
https://github.com/zeldaret/ss
synced 2026-07-08 05:50:30 -04:00
Progress
This commit is contained in:
@@ -202,12 +202,18 @@ class dAcBlastboss_c : public dAcEnBase_c {
|
||||
B_LAST_BOSS_NODE_skirtHU1 = 134,
|
||||
};
|
||||
|
||||
// TODO: mFightState probably means different things in
|
||||
// different states, so maybe we need to either remove
|
||||
// this again or split this up further.
|
||||
enum FightState_e {
|
||||
FIGHT_STATE_0,
|
||||
FIGHT_STATE_0 = 0,
|
||||
FIGHT_STATE_1,
|
||||
FIGHT_STATE_2,
|
||||
FIGHT_STATE_3,
|
||||
FIGHT_STATE_4,
|
||||
|
||||
FIGHT_STATE_10 = 10,
|
||||
FIGHT_STATE_11,
|
||||
};
|
||||
|
||||
public:
|
||||
@@ -246,6 +252,7 @@ private:
|
||||
bool fn_143_77C0();
|
||||
void fn_143_7B00();
|
||||
void fn_143_7F80();
|
||||
bool fn_143_9420();
|
||||
void fn_143_9610();
|
||||
void fn_143_A110(s32);
|
||||
|
||||
@@ -284,7 +291,7 @@ private:
|
||||
/* 0x1141 */ u8 field_0x1141;
|
||||
/* 0x1142 */ u8 field_0x1142;
|
||||
/* 0x1143 */ u8 field_0x1143;
|
||||
/* 0x1144 */ u8 field_0x1144;
|
||||
/* 0x1144 */ s8 field_0x1144;
|
||||
/* 0x1145 */ u8 field_0x1145;
|
||||
/* 0x1146 */ bool mIsSwordEmpowered;
|
||||
/* 0x1147 */ u8 field_0x1147;
|
||||
@@ -297,9 +304,8 @@ private:
|
||||
/* 0x114E */ u8 field_0x114E;
|
||||
/* 0x114F */ u8 field_0x114F;
|
||||
/* 0x1150 */ u8 field_0x1150;
|
||||
|
||||
/* 0x1151 */ u8 _0x1151[0x1156 - 0x1151];
|
||||
|
||||
/* 0x1152 */ u16 field_0x1152;
|
||||
/* 0x1154 */ u16 field_0x1154;
|
||||
/* 0x1156 */ u16 field_0x1156[6];
|
||||
|
||||
/* 0x1162 */ u8 _0x1162[0x1164 - 0x1162];
|
||||
@@ -346,7 +352,9 @@ private:
|
||||
|
||||
/* 0x11B0 */ f32 field_0x11B0;
|
||||
|
||||
/* 0x11B4 */ u8 _0x11B4[0x11BC - 0x11B4];
|
||||
/* 0x11B4 */ u8 _0x11B4[0x11B8 - 0x11B4];
|
||||
|
||||
/* 0x11B8 */ f32 field_0x11B8;
|
||||
|
||||
/* 0x11BC */ f32 field_0x11BC;
|
||||
/* 0x11C0 */ f32 field_0x11C0;
|
||||
|
||||
@@ -992,6 +992,9 @@ public:
|
||||
void ClrTg_0x10000() {
|
||||
return mTg.OffSPrm(0x10000);
|
||||
}
|
||||
void ClrTg_0x8000000() {
|
||||
return mTg.OffSPrm(0x8000000);
|
||||
}
|
||||
u32 ChkTgBonk() const {
|
||||
return mTg.MskSPrm(0x200000);
|
||||
}
|
||||
|
||||
+2
-1
@@ -84,7 +84,8 @@ public:
|
||||
// a ptmf. It's not immediately clear how this works,
|
||||
// does every actor subclass the LinkedCollider___,
|
||||
// or are the functions all added here for the other
|
||||
// files to implement?
|
||||
// files to implement? d_a_b_lastboss commits a typing crime here
|
||||
// to make it work...
|
||||
typedef bool (cCcD_Obj::*ccPtmf)();
|
||||
cCcD_Obj *find(ccPtmf f) const;
|
||||
|
||||
|
||||
@@ -463,6 +463,19 @@ public:
|
||||
ATTACK_FINAL_BLOW = 11,
|
||||
};
|
||||
|
||||
enum SpecificPlayerAttackDirection_e {
|
||||
/* 0x000 */ ATTACK_DIRECTION_NONE = 0,
|
||||
/* 0x001 */ ATTACK_DIRECTION_DOWN = 1 << 0,
|
||||
/* 0x002 */ ATTACK_DIRECTION_DOWNRIGHT = 1 << 1,
|
||||
/* 0x004 */ ATTACK_DIRECTION_RIGHT = 1 << 2,
|
||||
/* 0x008 */ ATTACK_DIRECTION_UPRIGHT = 1 << 3,
|
||||
/* 0x010 */ ATTACK_DIRECTION_UP = 1 << 4,
|
||||
/* 0x020 */ ATTACK_DIRECTION_UPLEFT = 1 << 5,
|
||||
/* 0x040 */ ATTACK_DIRECTION_LEFT = 1 << 6,
|
||||
/* 0x080 */ ATTACK_DIRECTION_DOWNLEFT = 1 << 7,
|
||||
/* 0x100 */ ATTACK_DIRECTION_STAB = 1 << 8,
|
||||
};
|
||||
|
||||
enum ModelUpdateFlags_e {
|
||||
UPDATE_MODEL_SWORD = 0x20,
|
||||
UPDATE_MODEL_SHIELD = 0x40,
|
||||
@@ -625,6 +638,14 @@ public:
|
||||
return mAttackDirection != ATTACK_NONE;
|
||||
}
|
||||
|
||||
bool isAttackingJumpSlash() const {
|
||||
return mAttackDirection == ATTACK_JUMP_SLASH;
|
||||
}
|
||||
|
||||
u16 getSpecificAttackDirection() const {
|
||||
return mSpecificAttackDirection;
|
||||
}
|
||||
|
||||
inline bool hasvt_0x1C0() const {
|
||||
return vt_0x1C0() != nullptr;
|
||||
}
|
||||
@@ -637,6 +658,9 @@ public:
|
||||
bool isAttackingStab() const;
|
||||
bool isAttackingSpinHorizontal() const;
|
||||
bool isAttackingSpinVertical() const;
|
||||
bool isAttackingSpin() const {
|
||||
return isAttackingSpinHorizontal() || isAttackingSpinVertical();
|
||||
}
|
||||
void setBonkRelatedAnimFlag(bool b);
|
||||
void setPosYRot(const mVec3_c &pos, mAng rot, bool force = false, UNKWORD = 0, UNKWORD = 0);
|
||||
void setTransform(const mMtx_c &mtx, bool force, UNKWORD, UNKWORD);
|
||||
@@ -668,7 +692,8 @@ protected:
|
||||
/* 0x334 */ f32 field_0x334;
|
||||
/* 0x338 */ u8 mAttackDirection;
|
||||
/* 0x339 */ u8 mRidingActorType;
|
||||
/* 0x33A */ u8 unk_0x33A[0x340 - 0x33A];
|
||||
/* 0x33A */ u16 mSpecificAttackDirection;
|
||||
/* 0x33C */ u8 unk_0x33C[0x340 - 0x33C];
|
||||
/* 0x340 */ u32 someFlags_0x340;
|
||||
/* 0x344 */ u32 mFaceUpdateFlags;
|
||||
/* 0x348 */ u32 mSwordAndMoreStates;
|
||||
|
||||
@@ -21,8 +21,8 @@ public:
|
||||
/* 0x01C */ dSwordSwingEffectProcMgr_c mProc;
|
||||
|
||||
private:
|
||||
/* 0x070 */ bool field_0x070;
|
||||
/* 0x071 */ bool field_0x071;
|
||||
/* 0x070 */ bool mIsActive;
|
||||
/* 0x071 */ bool mFirstFramePassed;
|
||||
/* 0x074 */ mVec3_c field_0x074;
|
||||
/* 0x080 */ mVec3_c field_0x080;
|
||||
/* 0x08C */ mVec3_c field_0x08C;
|
||||
@@ -30,6 +30,8 @@ private:
|
||||
/* 0x0A4 */ f32 field_0x0A4;
|
||||
/* 0x0A8 */ f32 field_0x0A8;
|
||||
/* 0x0AC */ dCcD_Linked_Cps mCcs[3];
|
||||
|
||||
public:
|
||||
/* 0x52C */ dColliderLinkedList mCcList;
|
||||
|
||||
public:
|
||||
@@ -53,11 +55,19 @@ public:
|
||||
}
|
||||
bool entry(dAcObjBase_c *obj, dShadowCircle_c *shadow, mQuat_c *quat);
|
||||
|
||||
void fn_8006B640();
|
||||
void enableAttack();
|
||||
void fn_8006B660(UNKWORD, UNKWORD, UNKWORD, UNKWORD, UNKWORD, UNKWORD, UNKWORD, UNKWORD, UNKWORD, f32);
|
||||
void setDamageMaybe(u8 damage);
|
||||
void fn_8006B7A0(u32);
|
||||
void fn_8006B800(u32);
|
||||
|
||||
void setAttackActive(bool b) {
|
||||
field_0x070 = b;
|
||||
void enable() {
|
||||
enableAttack();
|
||||
mProc.setActive(true);
|
||||
}
|
||||
|
||||
void disable() {
|
||||
mIsActive = false;
|
||||
mProc.setActive(false);
|
||||
}
|
||||
};
|
||||
|
||||
Reference in New Issue
Block a user