This commit is contained in:
petrie911
2022-08-25 10:25:54 -05:00
parent c08238ddc6
commit b208ed5e7a
4 changed files with 1166 additions and 1129 deletions
+1
View File
@@ -5,6 +5,7 @@
#define M_PI 3.14159265358979323846f
#define M_SQRT2 1.41421356237309504880f
#define M_SQRT3 1.7320508075688772935274463415059f
#define M_SQRT1_2 0.70710678118654752440f /* 1/sqrt(2) */
#define FLT_MAX 340282346638528859811704183484516925440.0f
#define SHT_MAX 32767.0f
File diff suppressed because it is too large Load Diff
+94 -96
View File
@@ -19,137 +19,135 @@ typedef struct {
Vec3f base;
Vec3f pos[MAJORAS_TENT_LENGTH];
Vec3f rot[MAJORAS_TENT_LENGTH];
Vec3f pull[MAJORAS_TENT_LENGTH];
Vec3f vel[MAJORAS_TENT_LENGTH];
} Boss07Tentacle; // size = 0x174 (0xC + 0x24 * length)
typedef struct {
Vec3s baseRot;
f32 gravity;
f32 stiffness;
f32 mobility;
f32 drag;
f32 tension;
Vec3f basePos;
Vec3f pos[MAJORAS_WHIP_MAX_LENGTH];
Vec3f rot[MAJORAS_WHIP_MAX_LENGTH];
Vec3f pull[MAJORAS_WHIP_MAX_LENGTH];
Vec3f vel[MAJORAS_WHIP_MAX_LENGTH];
f32 unk_72C[MAJORAS_WHIP_MAX_LENGTH]; // unused, probably a stretch factor
} Boss07Whip; // size = 0x7F4 (0x24 + 0x28 * max)
typedef struct Boss07 {
/* 0x0000 */ Actor actor;
/* 0x0144 */ Boss07ActionFunc actionFunc;
/* 0x0148 */ u8 unk_148;
/* 0x0149 */ u8 unk_149;
/* 0x014A */ u8 unk_14A;
/* 0x014B */ u8 unk_14B;
/* 0x0148 */ u8 startDeath;
/* 0x0149 */ u8 updateWhips;
/* 0x014A */ u8 envEffectOn;
/* 0x014B */ u8 envEffectTimer;
/* 0x014C */ s16 actionTimer;
/* 0x014E */ u8 actionState;
/* 0x014F */ u8 unk_14F;
/* 0x014F */ u8 whipCrackTimer;
/* 0x0150 */ s16 timers[3];
/* 0x0156 */ s16 unk_156;
/* 0x0158 */ s16 unk_158;
/* 0x015A */ s16 unk_15A;
/* 0x015C */ s16 unk_15C;
/* 0x015E */ s16 unk_15E;
/* 0x0160 */ s16 unk_160;
/* 0x0162 */ s16 unk_162;
/* 0x0156 */ s16 jumpSfxTimer;
/* 0x0158 */ s16 unk_158; // turns off collision
/* 0x015A */ s16 whipCollisionTimer;
/* 0x015C */ s16 invincibilityTimer;
/* 0x015E */ s16 dmgFogEffectTimer;
/* 0x0160 */ s16 motionBlurAlpha;
/* 0x0162 */ s16 unused_162;
/* 0x0164 */ Vec3f moveTarget;
/* 0x0170 */ f32 unk_170;
/* 0x0174 */ u8 unk_174;
/* 0x0178 */ f32 unk_178;
/* 0x017C */ f32 unk_17C;
/* 0x0180 */ s16 unk_180;
/* 0x0184 */ f32 unk_184;
/* 0x0188 */ f32 unk_188;
/* 0x018C */ f32 unk_18C;
/* 0x0170 */ f32 vel_170; // move speed for wrath sidestep and spin, turn rate for all others
/* 0x0174 */ u8 canDodge;
/* 0x0178 */ f32 topSpinAngle;
/* 0x017C */ f32 topSpinRate;
/* 0x0180 */ s16 unk_180; // top precess angle and incarnation yaw target
/* 0x0184 */ f32 unk_184; // y rot during long whip attack
/* 0x0188 */ f32 unk_188; // x rot during long whip attack
/* 0x018C */ f32 flySpeedTarget;
/* 0x0190 */ SkelAnime skelAnime;
/* 0x01D4 */ f32 unk_1D4;
/* 0x01D8 */ s32 unk_1D8;
/* 0x01D4 */ f32 animEndFrame;
/* 0x01D8 */ s32 bodyDecayRate;
/* 0x01DC */ Vec3s jointTable[MAJORAS_LIMB_COUNT];
/* 0x0284 */ Vec3s morphTable[MAJORAS_LIMB_COUNT];
/* 0x032C */ f32 unk_32C;
/* 0x0330 */ f32 unk_330;
/* 0x032C */ f32 unk_32C; // shock scale related
/* 0x0330 */ f32 unk_330; // shock scale related
/* 0x0334 */ Vec3f bodyPartsPos[15];
/* 0x03E8 */ ColliderJntSph sph1;
/* 0x0408 */ ColliderJntSphElement sphElems1[11];
/* 0x06C8 */ ColliderJntSph sph2;
/* 0x06E8 */ ColliderJntSphElement sphElems2[1];
/* 0x0728 */ ColliderCylinder cyl1;
/* 0x0774 */ u8 unk_774;
/* 0x0778 */ s32 unk_778;
/* 0x03E8 */ ColliderJntSph bodyCollider;
/* 0x0408 */ ColliderJntSphElement bodyElements[11];
/* 0x06C8 */ ColliderJntSph kickCollider;
/* 0x06E8 */ ColliderJntSphElement kickElements[1];
/* 0x0728 */ ColliderCylinder unusedCollider;
/* 0x0774 */ u8 activateRemains;
/* 0x0778 */ s32 whipTopIndex; // whip top spawn index
/* 0x077C */ f32 whipScale;
/* 0x0780 */ s32 unk_780;
/* 0x0784 */ s32 unk_784;
/* 0x0780 */ s32 whipShockIndexHigh; // whip shock index
/* 0x0784 */ s32 whipShockIndexLow; // whip shock index
/* 0x0788 */ Boss07Whip rightWhip;
/* 0x0F7C */ s16 unk_F7C;
/* 0x0F7E */ s16 unk_F7E;
/* 0x0F80 */ Vec3f unk_F80;
/* 0x0F7C */ s16 whipWrapIndex;
/* 0x0F7E */ s16 whipGrabIndex;
/* 0x0F80 */ Vec3f whipGrabPos;
/* 0x0F8C */ f32 unk_F8C;
/* 0x0F90 */ f32 unk_F90;
/* 0x0F94 */ Boss07Whip leftWhip;
/* 0x1788 */ Vec3f unk_1788[2];
/* 0x17A0 */ Vec3f unk_17A0;
/* 0x17AC */ Vec3f unk_17AC;
/* 0x17B8 */ f32 unk_17B8[4];
/* 0x17C8 */ f32 unk_17C8[4];
/* 0x17D8 */ s16 unk_17D8;
/* 0x17DA */ s16 unk_17DA;
/* 0x17DA */ s16 unk_17DC;
/* 0x17E0 */ f32 unk_17E0;
/* 0x17E4 */ f32 unk_17E4;
/* 0x17E8 */ f32 unk_17E8;
/* 0x17E8 */ f32 unk_17EC;
/* 0x17F0 */ f32 unk_17F0;
/* 0x17F4 */ f32 unk_17F4;
/* 0x17F8 */ f32 unk_17F8;
/* 0x17FC */ f32 unk_17FC;
/* 0x1800 */ f32 unk_1800;
/* 0x1804 */ u8 unk_1804;
/* 0x1805 */ u8 unk_1805;
/* 0x1806 */ s16 unk_1806;
/* 0x1808 */ u8 unk_1808;
/* 0x180c */ f32 unk_180C;
/* 0x1810 */ Vec3f unk_1810;
/* 0x181C */ s16 unk_181C;
/* 0x1820 */ ColliderCylinder cyl2;
/* 0x186C */ s16 unk_186C;
/* 0x1870 */ f32 unk_1870;
/* 0x1874 */ u8 unk_1874;
/* 0x1878 */ Vec3f unk_1878;
/* 0x1884 */ s32 unk_1884;
/* 0x1888 */ u8 unk_1888;
/* 0x188C */ f32 unk_188C;
/* 0x1890 */ f32 unk_1890;
/* 0x1788 */ Vec3f incFeetPos[2];
/* 0x17A0 */ Vec3f incLeftHandPos;
/* 0x17AC */ Vec3f incRightHandPos;
/* 0x17B8 */ f32 unk_17B8[4]; // limb scale stuff in inc intro
/* 0x17C8 */ f32 unk_17C8[4]; // limb scale stuff in inc intro
/* 0x17D8 */ Vec3s csHeadRot;
/* 0x17E0 */ f32 armScale;
/* 0x17E4 */ f32 legScale;
/* 0x17E8 */ f32 unk_17E8; // limb pump average
/* 0x17E8 */ f32 unk_17EC; // limb pump amplitude
/* 0x17F0 */ f32 chestScaleY;
/* 0x17F4 */ f32 chestScaleX;
/* 0x17F8 */ f32 unk_17F8; // effect scale
/* 0x17FC */ f32 unk_17FC; // effect steam
/* 0x1800 */ f32 unk_1800; // effect alpha
/* 0x1804 */ u8 unk_1804; // damage effect type
/* 0x1805 */ u8 unk_1805; // damage state
/* 0x1806 */ s16 unk_1806; // timer related to damage
/* 0x1808 */ u8 lensFlareOn;
/* 0x180c */ f32 lensFlareScale;
/* 0x1810 */ Vec3f lensFlarePos;
/* 0x181C */ s16 shotColorIndex;
/* 0x1820 */ ColliderCylinder spawnCollider;
/* 0x186C */ s16 dmgShakeTimer;
/* 0x1870 */ f32 tentLengthScale;
/* 0x1874 */ u8 unk_1874; // wavy tentacles
/* 0x1878 */ Vec3f tentAttachPos;
/* 0x1884 */ s32 maskEyeState;
/* 0x1888 */ u8 noclipTimer;
/* 0x188C */ f32 eyeBeamsZscale;
/* 0x1890 */ f32 beamFocusOrbScale;
/* 0x1894 */ f32 unk_1894;
/* 0x1898 */ f32 unk_1898;
/* 0x1898 */ f32 beamXYscale;
/* 0x189C */ Vec3f unk_189C;
/* 0x18A8 */ Vec3f unk_18A8;
/* 0x18B4 */ Vec3f unk_18B4;
/* 0x18C0 */ f32 unk_18C0;
/* 0x18C4 */ s16 unk_18C4;
/* 0x18C6 */ s16 unk_18C6;
/* 0x18C8 */ s16 unk_18C8;
/* 0x18CC */ f32 unk_18CC;
/* 0x18D0 */ f32 unk_18D0;
/* 0x18D4 */ s16 unk_18D4;
/* 0x18D6 */ s16 unk_18D6;
/* 0x18D8 */ s16 unk_18D8;
/* 0x18DA */ u8 unk_18DA;
/* 0x18DB */ u8 unk_18DB;
/* 0x18C4 */ s16 beamTargetPitch;
/* 0x18C6 */ s16 beamTargetYaw;
/* 0x18C8 */ s16 remainsOrbRot;
/* 0x18CC */ f32 xRecoil;
/* 0x18D0 */ f32 zRecoil;
/* 0x18D4 */ s16 spinVel;
/* 0x18D6 */ s16 timer_18D6;
/* 0x18D8 */ s16 beamDmgTimer;
/* 0x18DA */ u8 readyDeath;
/* 0x18DB */ u8 readyShot;
/* 0x18DC */ s32 effectIndex;
/* 0x18E0 */ Vec3f unk_18E0;
/* 0x18EC */ u8 unk_18EC;
/* 0x18ED */ u8 unk_18ED;
/* 0x18F0 */ ColliderQuad quad1;
/* 0x1970 */ ColliderQuad quad2;
/* 0x18E0 */ Vec3f beamMarkLastPos;
/* 0x18EC */ u8 beamOn;
/* 0x18ED */ u8 beamOnLastFrame;
/* 0x18F0 */ ColliderQuad maskFrontCollider;
/* 0x1970 */ ColliderQuad maskBackCollider;
/* 0x19F0 */ Boss07Tentacle tentacles[MAJORAS_TENT_MAX];
/* 0xAB40 */ s16 unk_AB40;
/* 0xAB44 */ f32 unk_AB44;
/* 0xAB48 */ u8 unk_AB48;
/* 0xAB4C */ f32 unk_AB4C;
/* 0xAB40 */ s16 timer_AB40;
/* 0xAB44 */ f32 introOrbScale;
/* 0xAB48 */ u8 noShadow;
/* 0xAB4C */ f32 deathOrbScale;
/* 0xAB50 */ f32 deathLightScale[30];
/* 0xABC8 */ u32 unk_ABC8;
/* 0xABCC */ s32 unk_ABCC;
/* 0xABC8 */ u32 timer_ABC8;
/* 0xABCC */ s32 timer_ABCC;
/* 0xABD0 */ s16 csState;
/* 0xABD2 */ s16 subCamIndex;
/* 0xABD4 */ Vec3f subCamEye;
@@ -159,9 +157,9 @@ typedef struct Boss07 {
/* 0xAC04 */ f32 subCamRotY;
/* 0xAC08 */ f32 subCamRotVel;
/* 0xAC0C */ f32 subCamSpeedMod;
/* 0xAC10 */ UNK_TYPE1 unkAC10;
/* 0xAC10 */ UNK_TYPE1 unkAC10[4]; // probably float
/* 0xAC14 */ f32 subCamEyeModY;
/* 0xAC18 */ UNK_TYPE1 unkAC18[8];
/* 0xAC18 */ UNK_TYPE1 unkAC18[8]; // probably floats
} Boss07; // size = 0xAC20
extern const ActorInit Boss_07_InitVars;
@@ -133,7 +133,7 @@ static ColliderJntSphInit sWrathJntSphInit1 = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
11,
ARRAY_COUNT(sWrathJntSphElementsInit1),
sWrathJntSphElementsInit1,
};
@@ -180,7 +180,7 @@ static ColliderJntSphInit sWrathJntSphInit2 = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
1,
ARRAY_COUNT(sWrathJntSphElementsInit2),
sWrathJntSphElementsInit2,
};
@@ -357,7 +357,7 @@ static ColliderJntSphInit sIncarnationJntSphInit1 = {
OC2_TYPE_1,
COLSHAPE_JNTSPH,
},
11,
ARRAY_COUNT(sIncarnationJntSphElementsInit),
sIncarnationJntSphElementsInit,
};