diff options
| author | robojumper <robojumper@gmail.com> | 2025-12-29 18:55:43 +0100 |
|---|---|---|
| committer | robojumper <robojumper@gmail.com> | 2026-01-28 19:14:14 +0100 |
| commit | 6dd18a9bce55c3423a851ccf0c7fcb7142736ac5 (patch) | |
| tree | 67bb3569260c12256495694fc007ce46f558ffe1 /include/d | |
| parent | 12c5c2862dc9c50a6a37ec964ea4c4196e6545a1 (diff) | |
dAcBlastboss_c::actorExecute OK
Diffstat (limited to 'include/d')
| -rw-r--r-- | include/d/a/b/d_a_b_lastboss.h | 208 | ||||
| -rw-r--r-- | include/d/col/c/c_cc_d.h | 13 | ||||
| -rw-r--r-- | include/d/d_light_env.h | 12 | ||||
| -rw-r--r-- | include/d/d_stage_mgr.h | 2 |
4 files changed, 206 insertions, 29 deletions
diff --git a/include/d/a/b/d_a_b_lastboss.h b/include/d/a/b/d_a_b_lastboss.h index 7cc03e8f..8f088a58 100644 --- a/include/d/a/b/d_a_b_lastboss.h +++ b/include/d/a/b/d_a_b_lastboss.h @@ -8,6 +8,8 @@ #include "m/m3d/m_anmtexsrt.h" #include "m/m3d/m_mdl.h" #include "m/m3d/m_smdl.h" +#include "m/m_angle.h" +#include "m/m_vec.h" #include "s/s_State.hpp" #include "toBeSorted/d_emitter.h" #include "toBeSorted/d_enemy_sword_mdl.h" @@ -46,6 +48,145 @@ class dAcBlastboss_c : public dAcEnBase_c { /* 0x34 */ dAcBlastboss_c *mpOwner; }; + // BLastBoss.arc > g3d > model.brres > 3DModels(NW4R) > LastBoss > Bones > ... + enum BLastBossModelNode_e { + B_LAST_BOSS_NODE_center = 0, + B_LAST_BOSS_NODE_backbone1 = 1, + B_LAST_BOSS_NODE_backbone2 = 2, + B_LAST_BOSS_NODE_chest = 3, + B_LAST_BOSS_NODE_neck = 4, + B_LAST_BOSS_NODE_head = 5, + B_LAST_BOSS_NODE_browL = 6, + B_LAST_BOSS_NODE_browR = 7, + B_LAST_BOSS_NODE_chin = 8, + B_LAST_BOSS_NODE_hairA1 = 9, + B_LAST_BOSS_NODE_hairA2 = 10, + B_LAST_BOSS_NODE_hairA3 = 11, + B_LAST_BOSS_NODE_hairA4 = 12, + B_LAST_BOSS_NODE_hairBL1 = 13, + B_LAST_BOSS_NODE_hairBL2 = 14, + B_LAST_BOSS_NODE_hairBL3 = 15, + B_LAST_BOSS_NODE_hairBR1 = 16, + B_LAST_BOSS_NODE_hairBR2 = 17, + B_LAST_BOSS_NODE_hairBR3 = 18, + B_LAST_BOSS_NODE_hairC1 = 19, + B_LAST_BOSS_NODE_hairC2 = 20, + B_LAST_BOSS_NODE_hairC3 = 21, + B_LAST_BOSS_NODE_mouthL = 22, + B_LAST_BOSS_NODE_mouthR = 23, + B_LAST_BOSS_NODE_shoulderL = 24, + B_LAST_BOSS_NODE_armL1 = 25, + B_LAST_BOSS_NODE_armL2 = 26, + B_LAST_BOSS_NODE_assistanceL = 27, + B_LAST_BOSS_NODE_wristL = 28, + B_LAST_BOSS_NODE_indexL1 = 29, + B_LAST_BOSS_NODE_indexL2 = 30, + B_LAST_BOSS_NODE_littleL1 = 31, + B_LAST_BOSS_NODE_littleL2 = 32, + B_LAST_BOSS_NODE_middleL1 = 33, + B_LAST_BOSS_NODE_middleL2 = 34, + B_LAST_BOSS_NODE_ringL1 = 35, + B_LAST_BOSS_NODE_ringL2 = 36, + B_LAST_BOSS_NODE_thumbL1 = 37, + B_LAST_BOSS_NODE_thumbL2 = 38, + B_LAST_BOSS_NODE_shoulderR = 39, + B_LAST_BOSS_NODE_armR1 = 40, + B_LAST_BOSS_NODE_armR2 = 41, + B_LAST_BOSS_NODE_assistanceR = 42, + B_LAST_BOSS_NODE_wristR = 43, + B_LAST_BOSS_NODE_indexR1 = 44, + B_LAST_BOSS_NODE_indexR2 = 45, + B_LAST_BOSS_NODE_littleR1 = 46, + B_LAST_BOSS_NODE_littleR2 = 47, + B_LAST_BOSS_NODE_loc_sword01 = 48, + B_LAST_BOSS_NODE_middleR1 = 49, + B_LAST_BOSS_NODE_middleR2 = 50, + B_LAST_BOSS_NODE_ringR1 = 51, + B_LAST_BOSS_NODE_ringR2 = 52, + B_LAST_BOSS_NODE_thumbR1 = 53, + B_LAST_BOSS_NODE_thumbR2 = 54, + B_LAST_BOSS_NODE_belly = 55, + B_LAST_BOSS_NODE_waist = 56, + B_LAST_BOSS_NODE_legL1 = 57, + B_LAST_BOSS_NODE_legL2 = 58, + B_LAST_BOSS_NODE_ankleL = 59, + B_LAST_BOSS_NODE_toeL = 60, + B_LAST_BOSS_NODE_legR1 = 61, + B_LAST_BOSS_NODE_legR2 = 62, + B_LAST_BOSS_NODE_ankleR = 63, + B_LAST_BOSS_NODE_toeR = 64, + B_LAST_BOSS_NODE_skirtA1 = 65, + B_LAST_BOSS_NODE_skirtA2 = 66, + B_LAST_BOSS_NODE_skirtAU1 = 67, + B_LAST_BOSS_NODE_skirtB1 = 68, + B_LAST_BOSS_NODE_skirtB2 = 69, + B_LAST_BOSS_NODE_skirtB3 = 70, + B_LAST_BOSS_NODE_skirtB4 = 71, + B_LAST_BOSS_NODE_skirtB5 = 72, + B_LAST_BOSS_NODE_skirtB6 = 73, + B_LAST_BOSS_NODE_skirtB7 = 74, + B_LAST_BOSS_NODE_skirtB8 = 75, + B_LAST_BOSS_NODE_skirtB9 = 76, + B_LAST_BOSS_NODE_skirtBU1 = 77, + B_LAST_BOSS_NODE_skirtC1 = 78, + B_LAST_BOSS_NODE_skirtC2 = 79, + B_LAST_BOSS_NODE_skirtC3 = 80, + B_LAST_BOSS_NODE_skirtC4 = 81, + B_LAST_BOSS_NODE_skirtC5 = 82, + B_LAST_BOSS_NODE_skirtC6 = 83, + B_LAST_BOSS_NODE_skirtC7 = 84, + B_LAST_BOSS_NODE_skirtC8 = 85, + B_LAST_BOSS_NODE_skirtC9 = 86, + B_LAST_BOSS_NODE_skirtCU1 = 87, + B_LAST_BOSS_NODE_skirtD1 = 88, + B_LAST_BOSS_NODE_skirtD2 = 89, + B_LAST_BOSS_NODE_skirtD3 = 90, + B_LAST_BOSS_NODE_skirtD4 = 91, + B_LAST_BOSS_NODE_skirtD5 = 92, + B_LAST_BOSS_NODE_skirtD6 = 93, + B_LAST_BOSS_NODE_skirtD7 = 94, + B_LAST_BOSS_NODE_skirtD8 = 95, + B_LAST_BOSS_NODE_skirtD9 = 96, + B_LAST_BOSS_NODE_skirtDU1 = 97, + B_LAST_BOSS_NODE_skirtE1 = 98, + B_LAST_BOSS_NODE_skirtE2 = 99, + B_LAST_BOSS_NODE_skirtE3 = 100, + B_LAST_BOSS_NODE_skirtE4 = 101, + B_LAST_BOSS_NODE_skirtE5 = 102, + B_LAST_BOSS_NODE_skirtE6 = 103, + B_LAST_BOSS_NODE_skirtE7 = 104, + B_LAST_BOSS_NODE_skirtE8 = 105, + B_LAST_BOSS_NODE_skirtE9 = 106, + B_LAST_BOSS_NODE_skirtEU1 = 107, + B_LAST_BOSS_NODE_skirtEU2 = 108, + B_LAST_BOSS_NODE_skirtF1 = 109, + B_LAST_BOSS_NODE_skirtF2 = 110, + B_LAST_BOSS_NODE_skirtF3 = 111, + B_LAST_BOSS_NODE_skirtF4 = 112, + B_LAST_BOSS_NODE_skirtF5 = 113, + B_LAST_BOSS_NODE_skirtF6 = 114, + B_LAST_BOSS_NODE_skirtF7 = 115, + B_LAST_BOSS_NODE_skirtF8 = 116, + B_LAST_BOSS_NODE_skirtF9 = 117, + B_LAST_BOSS_NODE_skirtFU1 = 118, + B_LAST_BOSS_NODE_skirtG1 = 119, + B_LAST_BOSS_NODE_skirtG2 = 120, + B_LAST_BOSS_NODE_skirtG3 = 121, + B_LAST_BOSS_NODE_skirtG4 = 122, + B_LAST_BOSS_NODE_skirtG5 = 123, + B_LAST_BOSS_NODE_skirtG6 = 124, + B_LAST_BOSS_NODE_skirtG7 = 125, + B_LAST_BOSS_NODE_skirtG8 = 126, + B_LAST_BOSS_NODE_skirtG9 = 127, + B_LAST_BOSS_NODE_skirtGU1 = 128, + B_LAST_BOSS_NODE_skirtH1 = 129, + B_LAST_BOSS_NODE_skirtH2 = 130, + B_LAST_BOSS_NODE_skirtH3 = 131, + B_LAST_BOSS_NODE_skirtH4 = 132, + B_LAST_BOSS_NODE_skirtH5 = 133, + B_LAST_BOSS_NODE_skirtHU1 = 134, + }; + public: dAcBlastboss_c() : mStateMgr(*this, sStateID::null), mScnCallback(this) {} virtual ~dAcBlastboss_c() {} @@ -75,6 +216,8 @@ private: void fn_143_6720(); void fn_143_A110(s32); void fn_143_7B00(); + void fn_143_7F80(); + void fn_143_9610(); /* 0x0378 */ d3d::AnmMdlWrapper mMdl; /* 0x03E8 */ m3d::anmTexSrt_c mAnmTexSrt; @@ -91,14 +234,19 @@ private: /* 0x0BAC */ STATE_MGR_DECLARE(dAcBlastboss_c); /* 0x0BE8 */ dColliderLinkedList mCcList; /* 0x0BF4 */ dEnemySwordMdl_c mSwordMdl; - /* 0x1130 */ u8 field_0x1130; /* 0x1131 */ u8 field_0x1131; /* 0x1132 */ u8 field_0x1132; /* 0x1133 */ u8 field_0x1133; - - /* 0x1134 */ u8 _0x1134[0x113D - 0x1134]; - + /* 0x1134 */ u8 field_0x1134; + /* 0x1135 */ u8 field_0x1135; + /* 0x1136 */ u8 field_0x1136; + /* 0x1137 */ u8 field_0x1137; + /* 0x1138 */ u8 field_0x1138; + /* 0x1139 */ u8 field_0x1139; + /* 0x113A */ u8 field_0x113A; + /* 0x113B */ u8 field_0x113B; + /* 0x113C */ u8 field_0x113C; /* 0x113D */ u8 field_0x113D; /* 0x113E */ u8 field_0x113E; /* 0x113F */ u8 field_0x113F; @@ -109,28 +257,25 @@ private: /* 0x1144 */ u8 field_0x1144; /* 0x1145 */ u8 field_0x1145; /* 0x1146 */ bool mIsSwordEmpowered; - - /* 0x1147 */ u8 _0x1147[0x114B - 0x1147]; - + /* 0x1147 */ u8 field_0x1147; + /* 0x1148 */ u8 field_0x1148; + /* 0x1149 */ s8 field_0x1149; + /* 0x114A */ u8 field_0x114A; /* 0x114B */ u8 field_0x114B; /* 0x114C */ u8 field_0x114C; /* 0x114D */ u8 field_0x114D; /* 0x114E */ u8 field_0x114E; /* 0x114F */ u8 field_0x114F; + /* 0x1150 */ u8 field_0x1150; - /* 0x1150 */ u8 _0x1150[0x1156 - 0x1150]; + /* 0x1151 */ u8 _0x1151[0x1156 - 0x1151]; + + /* 0x1156 */ u16 field_0x1156[6]; - /* 0x1156 */ u16 field_0x1156; - /* 0x1158 */ u16 field_0x1158; - /* 0x115A */ u16 field_0x115A; - /* 0x115C */ u16 field_0x115C; - /* 0x115E */ u16 field_0x115E; - /* 0x1160 */ u16 field_0x1160; - /* 0x1162 */ u8 _0x1162[0x1164 - 0x1162]; - + /* 0x1164 */ s16 field_0x1164; - + /* 0x1166 */ u8 _0x1166[0x116A - 0x1166]; /* 0x116A */ s16 field_0x116A; @@ -139,8 +284,9 @@ private: /* 0x117C */ s16 field_0x117C; - /* 0x1186 */ u8 _0x117E[0x1186 - 0x117E]; + /* 0x117E */ u8 _0x117E[0x1184 - 0x117E]; + /* 0x1184 */ s16 field_0x1184; /* 0x1186 */ s16 field_0x1186; /* 0x1188 */ u8 _0x1188[0x1190 - 0x1188]; @@ -162,27 +308,32 @@ private: /* 0x11BC */ f32 field_0x11BC; /* 0x11C0 */ f32 field_0x11C0; - /* 0x11C4 */ u8 _0x11C4[0x11D4 - 0x11C4]; + /* 0x11C4 */ u8 _0x11C4[0x11CC - 0x11C4]; + + /* 0x11CC */ f32 field_0x11CC; + + /* 0x11D0 */ u8 _0x11D0[0x11D4 - 0x11D0]; /* 0x11D4 */ s32 field_0x11D4; /* 0x11D8 */ s32 field_0x11D8; - /* 0x11DC */ u8 _0x11DC[0x11E4 - 0x11DC]; - - /* 0x11E4 */ mVec3_c field_0x11E4; - /* 0x11F0 */ mVec3_c field_0x11F0; - /* 0x11FC */ mVec3_c field_0x11FC; + /* 0x11DC */ mAng3_c field_0x11DC; + /* 0x11E4 */ mVec3_c mThumbL2Translation; + /* 0x11F0 */ mVec3_c mBackbone1Translation; + /* 0x11FC */ mVec3_c mChestTranslation; /* 0x1208 */ mVec3_c field_0x1208; - /* 0x1214 */ u8 _0x1214[0x1238 - 0x1214]; + /* 0x1214 */ u8 _0x1214[0x1220 - 0x1214]; - /* 0x1238 */ mVec3_c field_0x1238[2]; + /* 0x1220 */ mVec3_c field_0x1220; + /* 0x122C */ mVec3_c field_0x122C; + /* 0x1238 */ mVec3_c mToeTranslation[2]; /* 0x1250 */ mVec3_c field_0x1250[2]; /* 0x1268 */ UnkLastBossCcSph2 field_0x1260[8]; /* 0x2948 */ UnkLastBossCcSph1 field_0x2948[1]; - /* 0x2B64 */ dEmitter_c mEmitter1; + /* 0x2B64 */ dEmitter_c mWaterEmitter; /* 0x2B98 */ dEmitter_c mEmitter2; /* 0x2BCC */ dEmitter_c mEmitter3; /* 0x2C00 */ dEmitter_c mEmitter4; @@ -191,7 +342,8 @@ private: /* 0x2C9C */ dEmitter_c mEmitter7; /* 0x2CD0 */ LIGHT_INFLUENCE mLightInfo; /* 0x2CEC */ u16 field_0x2CEC; - /* 0x2CEE */ u8 _0x2CEE[0x2D20 - 0x2CEE]; + /* 0x2CEE */ u8 _0x2CEE[0x2D1C - 0x2CEE]; + /* 0x2D1C */ const char *field_0x2D1C; /* 0x2D20 */ dTgSwordBattleGame_c *mpSwordBattleGame; }; diff --git a/include/d/col/c/c_cc_d.h b/include/d/col/c/c_cc_d.h index 7e51421a..69fe1e20 100644 --- a/include/d/col/c/c_cc_d.h +++ b/include/d/col/c/c_cc_d.h @@ -836,6 +836,12 @@ public: void OffAtGrp(u32 grp) { mAt.SetAtFlag(GetAtGrp() & ~grp); } + void SetTgRpm(u32 f) { + mTg.SetRPrm(f); + } + void SetAtRpm(u32 f) { + mAt.SetRPrm(f); + } void SetTgFlag_0xA(u16 flag) { mTg.SetFlag_0xA(flag); @@ -878,7 +884,9 @@ public: return mTg.ChkSet(); } - + void ClrAtActorInfo() { mAt.ClrActorInfo(); } + void ClrTgActorInfo() { mTg.ClrActorInfo(); } + void ClrCoActorInfo() { mCo.ClrActorInfo(); } bool ChkAtEffCounter() { return mAt.ChkEffCounter(); } bool ChkTgEffCounter() { return mTg.ChkEffCounter(); } void ClrAtEffCounter() { mAt.ClrEffCounter(); } @@ -981,6 +989,9 @@ public: void ClrTgElectric() { return mTg.OffSPrm(0x40000); } + void ClrTg_0x10000() { + return mTg.OffSPrm(0x10000); + } u32 ChkTgBonk() const { return mTg.MskSPrm(0x200000); } diff --git a/include/d/d_light_env.h b/include/d/d_light_env.h index 8e4cc20b..0ce649be 100644 --- a/include/d/d_light_env.h +++ b/include/d/d_light_env.h @@ -414,6 +414,10 @@ public: return currentSpf; } + SpfSetting &GetOverrideSpf() { + return mOverrideSpfSetting; + } + const PaletteEAF_smol_entry &getSmallEAF(s32 idx1, s32 idx2) { return field_0x38E4.field_0x00[idx1].field_0x00[idx2]; } @@ -430,6 +434,14 @@ public: return field_0x2F1C; } + u32 getField_0x38DC() const { + return field_0x38DC; + } + + void setField_0x38DC(u32 v) { + field_0x38DC = v; + } + private: /* 0x0004 */ Spf currentSpf; /* 0x020C */ Spf spfs[20]; diff --git a/include/d/d_stage_mgr.h b/include/d/d_stage_mgr.h index de4d0b47..65293fcc 100644 --- a/include/d/d_stage_mgr.h +++ b/include/d/d_stage_mgr.h @@ -169,6 +169,8 @@ public: nw4r::g3d::Camera getCamera(s32 idx); + void fn_80199B60(u8); + dFader_c *getFader() { return &mFader; } |
