EnKame (Snapper) documented (#1383)

* EnKame (Snapper) documented

* Respond to engineer's review
This commit is contained in:
Tom Overton
2023-09-24 01:25:13 -07:00
committed by GitHub
parent 20f8470ea0
commit 3d3ca57022
11 changed files with 548 additions and 366 deletions
@@ -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
+21 -14
View File
@@ -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;
+1 -1
View File
@@ -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;