State funcs done

This commit is contained in:
robojumper
2025-12-31 15:34:40 +01:00
parent f6ac925487
commit 85be0bc8f0
5 changed files with 531 additions and 84 deletions
+19 -11
View File
@@ -205,15 +205,20 @@ class dAcBlastboss_c : public dAcEnBase_c {
// 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 = 0,
FIGHT_STATE_1,
FIGHT_STATE_2,
FIGHT_STATE_3,
FIGHT_STATE_4,
enum SubState_e {
SUB_STATE_0 = 0,
SUB_STATE_1,
SUB_STATE_2,
SUB_STATE_3,
SUB_STATE_4,
SUB_STATE_5,
SUB_STATE_6,
FIGHT_STATE_10 = 10,
FIGHT_STATE_11,
SUB_STATE_10 = 10,
SUB_STATE_11,
SUB_STATE_20 = 20,
SUB_STATE_21,
};
public:
@@ -311,7 +316,7 @@ private:
/* 0x1162 */ u8 _0x1162[0x1164 - 0x1162];
/* 0x1164 */ s16 field_0x1164;
/* 0x1166 */ s16 mFightState;
/* 0x1166 */ s16 mSubState;
/* 0x1168 */ u8 _0x1168[0x116A - 0x1168];
@@ -359,8 +364,9 @@ private:
/* 0x11BC */ f32 field_0x11BC;
/* 0x11C0 */ f32 field_0x11C0;
/* 0x11C4 */ u8 _0x11C4[0x11CC - 0x11C4];
/* 0x11C4 */ u8 _0x11C4[0x11C8 - 0x11C4];
/* 0x11CC */ f32 field_0x11C8;
/* 0x11CC */ f32 field_0x11CC;
/* 0x11D0 */ u8 _0x11D0[0x11D4 - 0x11D0];
@@ -393,7 +399,9 @@ private:
/* 0x2C9C */ dEmitter_c mEmitter7;
/* 0x2CD0 */ LIGHT_INFLUENCE mLightInfo;
/* 0x2CEC */ s16 field_0x2CEC;
/* 0x2CEE */ u8 _0x2CEE[0x2D1C - 0x2CEE];
/* 0x2CEE */ u8 _0x2CEE[0x2D00 - 0x2CEE];
/* 0x2D00 */ f32 field_0x2D00;
/* 0x2D04 */ u8 _0x2D04[0x2D1C - 0x2D04];
/* 0x2D1C */ const char *mpCurrentAnm;
/* 0x2D20 */ dTgSwordBattleGame_c *mpSwordBattleGame;
};
+11 -1
View File
@@ -15,6 +15,14 @@ struct dAcEnData {
// size:
// non-official name
class dAcEnBase_c : public dAcObjBase_c {
public:
enum InteractionFlags_e {
INTERACT_0x1 = (1 << 0),
INTERACT_0x4 = (1 << 2),
INTERACT_0x40 = (1 << 6),
INTERACT_0x1000 = (1 << 12),
};
public:
dAcEnBase_c();
virtual ~dAcEnBase_c();
@@ -36,7 +44,9 @@ public:
/* 0x33C */ u32 mInteractionFlags;
/* 0x340 */ u16 field_0x338;
/* 0x342 */ u16 mHealth;
/* 0x344 */ u8 _344[0x374 - 0x344];
/* 0x344 */ u8 _344[0x358 - 0x344];
/* 0x358 */ mVec3_c mFinalBlowPosition;
/* 0x364 */ u8 _364[0x374 - 0x364];
/* 0x374 */ dAcEnData *mpEnemyData;
bool checkInteractionFlags(u32 mask) {
+4
View File
@@ -843,6 +843,7 @@ public:
mAt.SetRPrm(f);
}
// Related to directional attacks?
void SetTgFlag_0xA(u16 flag) {
mTg.SetFlag_0xA(flag);
}
@@ -986,6 +987,9 @@ public:
void OnTgElectric() {
return mTg.OnSPrm(0x40000);
}
void OnTg_0x8000000() {
return mTg.OnSPrm(0x8000000);
}
void ClrTgElectric() {
return mTg.OffSPrm(0x40000);
}