mirror of https://github.com/zeldaret/mm.git
EnKame (Snapper) documented (#1383)
* EnKame (Snapper) documented * Respond to engineer's review
This commit is contained in:
parent
20f8470ea0
commit
3d3ca57022
|
@ -492,7 +492,7 @@ void EnBigokuta_CheckOneHitKill(EnBigokuta* this, PlayState* play) {
|
|||
if (this->bodyCollider.info.acHitInfo->toucher.dmgFlags & 0x1000) { // Ice Arrow
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX;
|
||||
this->drawDmgEffScale = 1.2f;
|
||||
this->drawDmgEffFrozenSteamScale = 1.8000001f;
|
||||
this->drawDmgEffFrozenSteamScale = 1800.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
} else if (this->bodyCollider.info.acHitInfo->toucher.dmgFlags & 0x2000) { // Light Arrow
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_LIGHT_ORBS;
|
||||
|
|
|
@ -150,7 +150,7 @@ void EnDekunuts_Destroy(Actor* thisx, PlayState* play) {
|
|||
void func_808BD348(EnDekunuts* this) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX;
|
||||
this->drawDmgEffScale = 0.55f;
|
||||
this->drawDmgEffFrozenSteamScale = 0.82500005f;
|
||||
this->drawDmgEffFrozenSteamScale = 825.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->collider.base.colType = COLTYPE_HIT3;
|
||||
this->unk_190 = 80;
|
||||
|
|
|
@ -378,7 +378,7 @@ void func_8089AC70(EnDinofos* this) {
|
|||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX;
|
||||
this->drawDmgEffScale = 0.55f;
|
||||
this->colliderJntSph.base.colType = COLTYPE_HIT3;
|
||||
this->drawDmgEffFrozenSteamScale = 0.82500005f;
|
||||
this->drawDmgEffFrozenSteamScale = 825.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->unk_290 = 80;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
|
|
|
@ -224,7 +224,7 @@ void func_808D0930(EnFloormas* this, PlayState* play) {
|
|||
void func_808D09CC(EnFloormas* this) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX;
|
||||
this->drawDmgEffScale = 0.55f;
|
||||
this->drawDmgEffFrozenSteamScale = 0.82500005f;
|
||||
this->drawDmgEffFrozenSteamScale = 825.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->collider.base.colType = COLTYPE_HIT3;
|
||||
this->unk_18E = 80;
|
||||
|
|
File diff suppressed because it is too large
Load Diff
|
@ -14,11 +14,11 @@ typedef enum SnapperBodyPart {
|
|||
/* 2 */ SNAPPER_BODYPART_FRONT_RIGHT_FOOT,
|
||||
/* 3 */ SNAPPER_BODYPART_BACK_LEFT_FOOT,
|
||||
/* 4 */ SNAPPER_BODYPART_BACK_RIGHT_FOOT,
|
||||
/* 5 */ SNAPPER_BODYPART_5,
|
||||
/* 6 */ SNAPPER_BODYPART_6,
|
||||
/* 7 */ SNAPPER_BODYPART_7,
|
||||
/* 8 */ SNAPPER_BODYPART_8,
|
||||
/* 9 */ SNAPPER_BODYPART_9,
|
||||
/* 5 */ SNAPPER_BODYPART_BODY_1,
|
||||
/* 6 */ SNAPPER_BODYPART_BODY_2,
|
||||
/* 7 */ SNAPPER_BODYPART_BODY_3,
|
||||
/* 8 */ SNAPPER_BODYPART_BODY_4,
|
||||
/* 9 */ SNAPPER_BODYPART_BODY_5,
|
||||
/* 10 */ SNAPPER_BODYPART_MAX
|
||||
} SnapperBodyPart;
|
||||
|
||||
|
@ -31,19 +31,26 @@ typedef struct EnKame {
|
|||
/* 0x268 */ Vec3s spikedSnapperJointTable[SPIKED_SNAPPER_LIMB_MAX];
|
||||
/* 0x280 */ Vec3s spikedSnapperMorphTable[SPIKED_SNAPPER_LIMB_MAX];
|
||||
/* 0x298 */ EnKameActionFunc actionFunc;
|
||||
/* 0x29C */ u8 unk_29C;
|
||||
/* 0x29C */ u8 eyeIndex;
|
||||
/* 0x29D */ u8 drawDmgEffType;
|
||||
/* 0x29E */ s16 unk_29E;
|
||||
/* 0x2A0 */ s16 unk_2A0;
|
||||
/* 0x2A2 */ s16 unk_2A2;
|
||||
/* 0x2A4 */ s16 unk_2A4;
|
||||
/* 0x2A6 */ s16 unk_2A6;
|
||||
/* 0x2A8 */ f32 unk_2A8;
|
||||
/* 0x2AC */ f32 unk_2AC;
|
||||
/* 0x29E */ union {
|
||||
s16 timer;
|
||||
s16 targetAngularVelocityY;
|
||||
s16 flipType;
|
||||
};
|
||||
/* 0x2A0 */ s16 voiceTimer;
|
||||
/* 0x2A2 */ s16 stunTimer;
|
||||
/* 0x2A4 */ s16 targetRotY;
|
||||
/* 0x2A6 */ s16 angularVelocityY;
|
||||
/* 0x2A8 */ f32 limbScaleXZ;
|
||||
/* 0x2AC */ union {
|
||||
f32 limbScaleY; // used the Snapper's regular form (i.e., when it's walking around on its legs)
|
||||
f32 spikesScale; // used for the Snapper's "spiked" form
|
||||
};
|
||||
/* 0x2B0 */ f32 drawDmgEffAlpha;
|
||||
/* 0x2B4 */ f32 drawDmgEffScale;
|
||||
/* 0x2B8 */ f32 drawDmgEffFrozenSteamScale;
|
||||
/* 0x2BC */ Vec3f unk_2BC;
|
||||
/* 0x2BC */ Vec3f targetPos; // this actor relies on the y-position of this variable to be set in a specific way, see EnKame_SetupPrepareToAttack
|
||||
/* 0x2C8 */ Vec3f bodyPartsPos[SNAPPER_BODYPART_MAX];
|
||||
/* 0x340 */ ColliderCylinder collider;
|
||||
} EnKame; // size = 0x38C
|
||||
|
|
|
@ -231,7 +231,7 @@ void EnPeehat_Destroy(Actor* thisx, PlayState* play) {
|
|||
void func_80897170(EnPeehat* this) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX;
|
||||
this->drawDmgEffScale = 1.1f;
|
||||
this->drawDmgEffFrozenSteamScale = 1.6500001f;
|
||||
this->drawDmgEffFrozenSteamScale = 1650.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->colliderSphere.base.colType = COLTYPE_HIT3;
|
||||
this->unk_2B0 = 80;
|
||||
|
|
|
@ -195,7 +195,7 @@ void func_808FA11C(EnRr* this) {
|
|||
this->collider1.info.elemType = ELEMTYPE_UNK0;
|
||||
this->unk_1EE = 80;
|
||||
this->drawDmgEffScale = 0.85f;
|
||||
this->drawDmgEffFrozenSteamScale = 1.2750001f;
|
||||
this->drawDmgEffFrozenSteamScale = 1275.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->actor.flags &= ~ACTOR_FLAG_400;
|
||||
Actor_SetColorFilter(&this->actor, COLORFILTER_COLORFLAG_RED, 255, COLORFILTER_BUFFLAG_OPA, 80);
|
||||
|
|
|
@ -198,7 +198,7 @@ void EnWallmas_Destroy(Actor* thisx, PlayState* play) {
|
|||
void EnWallmas_Freeze(EnWallmas* this) {
|
||||
this->drawDmgEffType = ACTOR_DRAW_DMGEFF_FROZEN_NO_SFX;
|
||||
this->drawDmgEffScale = 0.55f;
|
||||
this->drawDmgEffFrozenSteamScale = 0.82500005f;
|
||||
this->drawDmgEffFrozenSteamScale = 825.0f * 0.001f;
|
||||
this->drawDmgEffAlpha = 1.0f;
|
||||
this->collider.base.colType = 3;
|
||||
this->timer = 80;
|
||||
|
|
|
@ -12240,44 +12240,44 @@
|
|||
0x80AD6CBC:("BgLotus_Draw",),
|
||||
0x80AD6DD0:("EnKame_Init",),
|
||||
0x80AD6F08:("EnKame_Destroy",),
|
||||
0x80AD6F34:("func_80AD6F34",),
|
||||
0x80AD6F9C:("func_80AD6F9C",),
|
||||
0x80AD7018:("func_80AD7018",),
|
||||
0x80AD70A0:("func_80AD70A0",),
|
||||
0x80AD70EC:("func_80AD70EC",),
|
||||
0x80AD71B4:("func_80AD71B4",),
|
||||
0x80AD7254:("func_80AD7254",),
|
||||
0x80AD73A8:("func_80AD73A8",),
|
||||
0x80AD7424:("func_80AD7424",),
|
||||
0x80AD7568:("func_80AD7568",),
|
||||
0x80AD75A8:("func_80AD75A8",),
|
||||
0x80AD76CC:("func_80AD76CC",),
|
||||
0x80AD7798:("func_80AD7798",),
|
||||
0x80AD792C:("func_80AD792C",),
|
||||
0x80AD7948:("func_80AD7948",),
|
||||
0x80AD7B18:("func_80AD7B18",),
|
||||
0x80AD7B90:("func_80AD7B90",),
|
||||
0x80AD7C54:("func_80AD7C54",),
|
||||
0x80AD7D40:("func_80AD7D40",),
|
||||
0x80AD7DA4:("func_80AD7DA4",),
|
||||
0x80AD7E0C:("func_80AD7E0C",),
|
||||
0x80AD7EC0:("func_80AD7EC0",),
|
||||
0x80AD7F10:("func_80AD7F10",),
|
||||
0x80AD7FA4:("func_80AD7FA4",),
|
||||
0x80AD7FF8:("func_80AD7FF8",),
|
||||
0x80AD8060:("func_80AD8060",),
|
||||
0x80AD810C:("func_80AD810C",),
|
||||
0x80AD8148:("func_80AD8148",),
|
||||
0x80AD825C:("func_80AD825C",),
|
||||
0x80AD8364:("func_80AD8364",),
|
||||
0x80AD8388:("func_80AD8388",),
|
||||
0x80AD84C0:("func_80AD84C0",),
|
||||
0x80AD6F34:("EnKame_Blink",),
|
||||
0x80AD6F9C:("EnKame_Freeze",),
|
||||
0x80AD7018:("EnKame_Thaw",),
|
||||
0x80AD70A0:("EnKame_SetupIdle",),
|
||||
0x80AD70EC:("EnKame_Idle",),
|
||||
0x80AD71B4:("EnKame_SetupWalk",),
|
||||
0x80AD7254:("EnKame_Walk",),
|
||||
0x80AD73A8:("EnKame_SetupRetreatIntoShell",),
|
||||
0x80AD7424:("EnKame_RetreatIntoShell",),
|
||||
0x80AD7568:("EnKame_SetAttackSpeed",),
|
||||
0x80AD75A8:("EnKame_ProcessAttackEffects",),
|
||||
0x80AD76CC:("EnKame_SetupPrepareToAttack",),
|
||||
0x80AD7798:("EnKame_PrepareToAttack",),
|
||||
0x80AD792C:("EnKame_SetupAttack",),
|
||||
0x80AD7948:("EnKame_Attack",),
|
||||
0x80AD7B18:("EnKame_SetupEmergeFromShell",),
|
||||
0x80AD7B90:("EnKame_EmergeFromShell",),
|
||||
0x80AD7C54:("EnKame_SetupFlip",),
|
||||
0x80AD7D40:("EnKame_Flip",),
|
||||
0x80AD7DA4:("EnKame_SetupStruggle",),
|
||||
0x80AD7E0C:("EnKame_Struggle",),
|
||||
0x80AD7EC0:("EnKame_SetupFlipUpright",),
|
||||
0x80AD7F10:("EnKame_FlipUpright",),
|
||||
0x80AD7FA4:("EnKame_SetupStunned",),
|
||||
0x80AD7FF8:("EnKame_Stunned",),
|
||||
0x80AD8060:("EnKame_SetupDamaged",),
|
||||
0x80AD810C:("EnKame_Damaged",),
|
||||
0x80AD8148:("EnKame_SetupDead",),
|
||||
0x80AD825C:("EnKame_Dead",),
|
||||
0x80AD8364:("EnKame_SetupBurstIntoFlames",),
|
||||
0x80AD8388:("EnKame_BurstIntoFlames",),
|
||||
0x80AD84C0:("EnKame_UpdateDamage",),
|
||||
0x80AD881C:("EnKame_Update",),
|
||||
0x80AD8A48:("func_80AD8A48",),
|
||||
0x80AD8AF8:("func_80AD8AF8",),
|
||||
0x80AD8A48:("EnKame_OverrideLimbDraw",),
|
||||
0x80AD8AF8:("EnKame_PostLimbDraw",),
|
||||
0x80AD8BC0:("EnKame_Draw",),
|
||||
0x80AD8CEC:("Enkame_OverrideLimbDraw",),
|
||||
0x80AD8D64:("func_80AD8D64",),
|
||||
0x80AD8CEC:("EnKame_SpikedSnapperOverrideLimbDraw",),
|
||||
0x80AD8D64:("EnKame_DrawSpikedSnapper",),
|
||||
0x80AD9240:("func_80AD9240",),
|
||||
0x80AD92FC:("func_80AD92FC",),
|
||||
0x80AD9358:("func_80AD9358",),
|
||||
|
|
|
@ -12992,14 +12992,14 @@
|
|||
0x80AD8DE0:("D_80AD8DE0","UNK_TYPE1","",0x1),
|
||||
0x80AD8E0C:("D_80AD8E0C","UNK_TYPE1","",0x1),
|
||||
0x80AD8E14:("D_80AD8E14","UNK_TYPE1","",0x1),
|
||||
0x80AD8E34:("D_80AD8E34","UNK_TYPE4","",0x4),
|
||||
0x80AD8E34:("sEyeTextures","UNK_TYPE4","",0x4),
|
||||
0x80AD8E44:("D_80AD8E44","UNK_TYPE1","",0x1),
|
||||
0x80AD8E50:("D_80AD8E50","UNK_TYPE4","",0x4),
|
||||
0x80AD8E54:("D_80AD8E54","UNK_TYPE1","",0x1),
|
||||
0x80AD8E58:("D_80AD8E58","UNK_TYPE1","",0x1),
|
||||
0x80AD8E5C:("D_80AD8E5C","UNK_TYPE1","",0x1),
|
||||
0x80AD8E68:("D_80AD8E68","UNK_TYPE1","",0x1),
|
||||
0x80AD8EA4:("sLimbToBodyParts","UNK_TYPE1","",0x1),
|
||||
0x80AD8E50:("sTexturesDesegmented","UNK_TYPE4","",0x4),
|
||||
0x80AD8E54:("sSnowPrimColor","UNK_TYPE1","",0x1),
|
||||
0x80AD8E58:("sSnowEnvColor","UNK_TYPE1","",0x1),
|
||||
0x80AD8E5C:("sVelocity","UNK_TYPE1","",0x1),
|
||||
0x80AD8E68:("sBodyLimbBodyPartOffsets","Vec3f","[5]",0x3C),
|
||||
0x80AD8EA4:("sLimbToBodyParts","s8","[13]",0xD),
|
||||
0x80AD8EA5:("D_80AD8EA5","UNK_TYPE1","",0x1),
|
||||
0x80AD8EC0:("D_80AD8EC0","f32","",0x4),
|
||||
0x80AD8EC4:("D_80AD8EC4","f32","",0x4),
|
||||
|
|
Loading…
Reference in New Issue