mirror of
https://github.com/izzy2lost/2ship2harkinian-Android.git
synced 2026-06-19 01:20:08 -07:00
En_crow OK and Documented (#698)
* this is the guay * do you know the guay? * No guay! * got too excited to pr lol, fixes are here * Majoras Mask: No Guay Home * fixing objects * 4mattt
This commit is contained in:
@@ -1,24 +1,24 @@
|
||||
<Root>
|
||||
<File Name="object_crow" Segment="6">
|
||||
<Animation Name="object_crow_Anim_0000F0" Offset="0xF0" />
|
||||
<DList Name="object_crow_DL_000490" Offset="0x490" />
|
||||
<DList Name="object_crow_DL_0005E0" Offset="0x5E0" />
|
||||
<DList Name="object_crow_DL_0006B0" Offset="0x6B0" />
|
||||
<DList Name="object_crow_DL_000770" Offset="0x770" />
|
||||
<DList Name="object_crow_DL_000840" Offset="0x840" />
|
||||
<DList Name="object_crow_DL_000900" Offset="0x900" />
|
||||
<DList Name="object_crow_DL_0009A0" Offset="0x9A0" />
|
||||
<Texture Name="object_crow_Tex_000A40" OutName="tex_000A40" Format="rgba16" Width="16" Height="16" Offset="0xA40" />
|
||||
<Texture Name="object_crow_Tex_000C40" OutName="tex_000C40" Format="rgba16" Width="16" Height="16" Offset="0xC40" />
|
||||
<Texture Name="object_crow_Tex_000E40" OutName="tex_000E40" Format="rgba16" Width="16" Height="16" Offset="0xE40" />
|
||||
<Limb Name="object_crow_Standardlimb_001040" Type="Standard" EnumName="OBJECT_CROW_LIMB_01" Offset="0x1040" />
|
||||
<Limb Name="object_crow_Standardlimb_00104C" Type="Standard" EnumName="OBJECT_CROW_LIMB_02" Offset="0x104C" />
|
||||
<Limb Name="object_crow_Standardlimb_001058" Type="Standard" EnumName="OBJECT_CROW_LIMB_03" Offset="0x1058" />
|
||||
<Limb Name="object_crow_Standardlimb_001064" Type="Standard" EnumName="OBJECT_CROW_LIMB_04" Offset="0x1064" />
|
||||
<Limb Name="object_crow_Standardlimb_001070" Type="Standard" EnumName="OBJECT_CROW_LIMB_05" Offset="0x1070" />
|
||||
<Limb Name="object_crow_Standardlimb_00107C" Type="Standard" EnumName="OBJECT_CROW_LIMB_06" Offset="0x107C" />
|
||||
<Limb Name="object_crow_Standardlimb_001088" Type="Standard" EnumName="OBJECT_CROW_LIMB_07" Offset="0x1088" />
|
||||
<Limb Name="object_crow_Standardlimb_001094" Type="Standard" EnumName="OBJECT_CROW_LIMB_08" Offset="0x1094" />
|
||||
<Skeleton Name="object_crow_Skel_0010C0" Type="Flex" LimbType="Standard" LimbNone="OBJECT_CROW_LIMB_NONE" LimbMax="OBJECT_CROW_LIMB_MAX" EnumName="object_crow_Limbs" Offset="0x10C0" />
|
||||
<Animation Name="gGuayFlyAnim" Offset="0xF0" />
|
||||
<DList Name="gGuayBodyDL" Offset="0x490" />
|
||||
<DList Name="gGuayRightWingTipDL" Offset="0x5E0" />
|
||||
<DList Name="gGuayRightWingBodyDL" Offset="0x6B0" />
|
||||
<DList Name="gGuayLeftWingTipDL" Offset="0x770" />
|
||||
<DList Name="gGuayLeftWingBodyDL" Offset="0x840" />
|
||||
<DList Name="gGuayTailDL" Offset="0x900" />
|
||||
<DList Name="gGuayUpperTailDL" Offset="0x9A0" />
|
||||
<Texture Name="gGuayBodyTex" OutName="body" Format="rgba16" Width="16" Height="16" Offset="0xA40" />
|
||||
<Texture Name="gGuayEyeTex" OutName="eye" Format="rgba16" Width="16" Height="16" Offset="0xC40" />
|
||||
<Texture Name="gGuayTailTex" OutName="tail" Format="rgba16" Width="16" Height="16" Offset="0xE40" />
|
||||
<Limb Name="gGuayRootLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_ROOT" Offset="0x1040" />
|
||||
<Limb Name="gGuayBodyLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_BODY" Offset="0x104C" />
|
||||
<Limb Name="gGuayRightWingBodyLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_RIGHT_WING_BODY" Offset="0x1058" />
|
||||
<Limb Name="gGuayRightWingTipLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_RIGHT_WING_TIP" Offset="0x1064" />
|
||||
<Limb Name="gGuayLeftWingBodyLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_LEFT_WING_BODY" Offset="0x1070" />
|
||||
<Limb Name="gGuayLeftWingTipLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_LEFT_WING_TIP" Offset="0x107C" />
|
||||
<Limb Name="gGuayUpperTailLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_UPPER_TAIL" Offset="0x1088" />
|
||||
<Limb Name="gGuayTailLimb" Type="Standard" EnumName="OBJECT_CROW_LIMB_TAIL" Offset="0x1094" />
|
||||
<Skeleton Name="gGuaySkel" Type="Flex" LimbType="Standard" LimbNone="OBJECT_CROW_LIMB_NONE" LimbMax="OBJECT_CROW_LIMB_MAX" EnumName="objectCrowLimbs" Offset="0x10C0" />
|
||||
</File>
|
||||
</Root>
|
||||
|
||||
@@ -2156,8 +2156,7 @@ beginseg
|
||||
name "ovl_En_Crow"
|
||||
compress
|
||||
include "build/src/overlays/actors/ovl_En_Crow/z_en_crow.o"
|
||||
include "build/data/ovl_En_Crow/ovl_En_Crow.data.o"
|
||||
include "build/data/ovl_En_Crow/ovl_En_Crow.reloc.o"
|
||||
include "build/src/overlays/actors/ovl_En_Crow/ovl_En_Crow_reloc.o"
|
||||
endseg
|
||||
|
||||
beginseg
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -2,6 +2,7 @@
|
||||
#define Z_EN_CROW_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_crow/object_crow.h"
|
||||
|
||||
struct EnCrow;
|
||||
|
||||
@@ -9,9 +10,20 @@ typedef void (*EnCrowActionFunc)(struct EnCrow*, GlobalContext*);
|
||||
|
||||
typedef struct EnCrow {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x0144 */ char unk_144[0x44];
|
||||
/* 0x0144 */ SkelAnime skelAnime;
|
||||
/* 0x0188 */ EnCrowActionFunc actionFunc;
|
||||
/* 0x018C */ char unk_18C[0x110];
|
||||
/* 0x18C */ u8 deathMode;
|
||||
/* 0x18E */ s16 timer;
|
||||
/* 0x190 */ s16 aimRotX;
|
||||
/* 0x192 */ s16 aimRotY;
|
||||
/* 0x194 */ Vec3s jointTable[OBJECT_CROW_LIMB_MAX];
|
||||
/* 0x1CA */ Vec3s morphTable[OBJECT_CROW_LIMB_MAX];
|
||||
/* 0x200 */ ColliderJntSph collider;
|
||||
/* 0x220 */ ColliderJntSphElement colliderItems[1];
|
||||
/* 0x260 */ Vec3f bodyPartsPos[4];
|
||||
/* 0x290 */ f32 effectAlpha;
|
||||
/* 0x294 */ f32 steamScale;
|
||||
/* 0x298 */ f32 effectScale;
|
||||
} EnCrow; // size = 0x29C
|
||||
|
||||
extern const ActorInit En_Crow_InitVars;
|
||||
|
||||
@@ -225,7 +225,7 @@ void EnRuppecrow_ShatterIce(EnRuppecrow* this, GlobalContext* globalCtx) {
|
||||
if (this->currentEffect == ENRUPPECROW_EFFECT_ICE) {
|
||||
this->currentEffect = ENRUPPECROW_EFFECT_NONE;
|
||||
this->unk_2C8 = 0.0f;
|
||||
Actor_SpawnIceEffects(globalCtx, &this->actor, this->limbPos, ENRUPPECROW_LIMB_POS_COUNT, 0x2, 0.2f, 0.2f);
|
||||
Actor_SpawnIceEffects(globalCtx, &this->actor, this->limbPos, ARRAY_COUNT(this->limbPos), 0x2, 0.2f, 0.2f);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -440,7 +440,7 @@ void EnRuppecrow_HandleDeath(EnRuppecrow* this) {
|
||||
|
||||
this->actor.speedXZ *= Math_CosS(this->actor.world.rot.x);
|
||||
this->actor.velocity.y = 0.0f;
|
||||
Animation_Change(&this->skelAnime, &object_crow_Anim_0000F0, 0.4f, 0.0f, 0.0f, 0x1, -3.0f);
|
||||
Animation_Change(&this->skelAnime, &gGuayFlyAnim, 0.4f, 0.0f, 0.0f, 0x1, -3.0f);
|
||||
|
||||
this->actor.shape.yOffset = 0.0f;
|
||||
this->actor.targetArrowOffset = 0.0f;
|
||||
@@ -627,8 +627,8 @@ void EnRuppecrow_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
EnRuppecrow* this = THIS;
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_crow_Skel_0010C0, &object_crow_Anim_0000F0, this->joinTable,
|
||||
this->morphTable, ENRUPPECROW_LIMB_COUNT);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGuaySkel, &gGuayFlyAnim, this->joinTable, this->morphTable,
|
||||
OBJECT_CROW_LIMB_MAX);
|
||||
ActorShape_Init(&this->actor.shape, 2000.0f, ActorShadow_DrawCircle, 20.0f);
|
||||
|
||||
Collider_InitJntSph(globalCtx, &this->collider);
|
||||
|
||||
@@ -2,11 +2,11 @@
|
||||
#define Z_EN_RUPPECROW_H
|
||||
|
||||
#include "global.h"
|
||||
#include "objects/object_crow/object_crow.h"
|
||||
|
||||
#define ENRUPPECROW_GET_PATH(thisx) (((thisx)->params & 0xFC00) >> 0xA)
|
||||
|
||||
#define ENRUPPECROW_RUPEE_COUNT 20
|
||||
#define ENRUPPECROW_LIMB_COUNT 9
|
||||
#define ENRUPPECROW_LIMB_POS_COUNT 4
|
||||
|
||||
struct EnRuppecrow;
|
||||
@@ -19,8 +19,8 @@ typedef struct EnRuppecrow {
|
||||
/* 0x194 */ SkelAnime skelAnime;
|
||||
/* 0x1D8 */ EnRuppecrowActionFunc actionFunc;
|
||||
/* 0x1DC */ UNK_TYPE4 unk_1DC; // unused
|
||||
/* 0x1E0 */ Vec3s joinTable[ENRUPPECROW_LIMB_COUNT];
|
||||
/* 0x216 */ Vec3s morphTable[ENRUPPECROW_LIMB_COUNT];
|
||||
/* 0x1E0 */ Vec3s joinTable[OBJECT_CROW_LIMB_MAX];
|
||||
/* 0x216 */ Vec3s morphTable[OBJECT_CROW_LIMB_MAX];
|
||||
/* 0x24C */ Path* path;
|
||||
/* 0x250 */ s32 currentPoint;
|
||||
/* 0x254 */ ColliderJntSph collider;
|
||||
|
||||
@@ -95,8 +95,8 @@ void EnSyatekiCrow_Init(Actor* thisx, GlobalContext* globalCtx2) {
|
||||
}
|
||||
|
||||
Actor_ProcessInitChain(&this->actor, sInitChain);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &object_crow_Skel_0010C0, &object_crow_Anim_0000F0,
|
||||
this->jointTable, this->morphTable, 9);
|
||||
SkelAnime_InitFlex(globalCtx, &this->skelAnime, &gGuaySkel, &gGuayFlyAnim, this->jointTable, this->morphTable,
|
||||
OBJECT_CROW_LIMB_MAX);
|
||||
Collider_InitJntSph(globalCtx, &this->unk_23C);
|
||||
Collider_SetJntSph(globalCtx, &this->unk_23C, &this->actor, &sJntSphInit, &this->unk_25C);
|
||||
this->unk_23C.elements->dim.worldSphere.radius = sJntSphInit.elements[0].dim.modelSphere.radius;
|
||||
@@ -225,7 +225,7 @@ void func_809CAAF8(EnSyatekiCrow* this) {
|
||||
this->unk_1C2 = 0;
|
||||
this->actor.speedXZ *= Math_CosS(this->actor.world.rot.x);
|
||||
this->actor.velocity.y = 0.0f;
|
||||
Animation_Change(&this->skelAnime, &object_crow_Anim_0000F0, 0.4f, 0.0f, 0.0f, 1, -3.0f);
|
||||
Animation_Change(&this->skelAnime, &gGuayFlyAnim, 0.4f, 0.0f, 0.0f, 1, -3.0f);
|
||||
this->actor.bgCheckFlags &= ~1;
|
||||
Actor_PlaySfxAtPos(&this->actor, NA_SE_EN_KAICHO_DEAD);
|
||||
Actor_SetColorFilter(&this->actor, 0x4000, 255, 0, 40);
|
||||
@@ -290,9 +290,9 @@ s32 EnSyatekiCrow_OverrideLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx*
|
||||
Actor* thisx) {
|
||||
EnSyatekiCrow* this = THIS;
|
||||
|
||||
if (limbIndex == OBJECT_CROW_LIMB_07) {
|
||||
if (limbIndex == OBJECT_CROW_LIMB_UPPER_TAIL) {
|
||||
rot->y += (s16)(3072.0f * sin_rad(this->skelAnime.curFrame * (M_PI / 4)));
|
||||
} else if (limbIndex == OBJECT_CROW_LIMB_08) {
|
||||
} else if (limbIndex == OBJECT_CROW_LIMB_TAIL) {
|
||||
rot->y += (s16)(5120.0f * sin_rad((this->skelAnime.curFrame + 2.5f) * (M_PI / 4)));
|
||||
}
|
||||
|
||||
@@ -303,11 +303,11 @@ void EnSyatekiCrow_PostLimbDraw(GlobalContext* globalCtx, s32 limbIndex, Gfx** d
|
||||
EnSyatekiCrow* this = THIS;
|
||||
Vec3f* sp1C;
|
||||
|
||||
if (limbIndex == OBJECT_CROW_LIMB_02) {
|
||||
if (limbIndex == OBJECT_CROW_LIMB_BODY) {
|
||||
Matrix_MultiplyVector3fByState(&D_809CB0D8, &this->unk_144[0]);
|
||||
this->unk_144[0].y -= 20.0f;
|
||||
} else if ((limbIndex == OBJECT_CROW_LIMB_04) || (limbIndex == OBJECT_CROW_LIMB_06) ||
|
||||
(limbIndex == OBJECT_CROW_LIMB_08)) {
|
||||
} else if ((limbIndex == OBJECT_CROW_LIMB_RIGHT_WING_TIP) || (limbIndex == OBJECT_CROW_LIMB_LEFT_WING_TIP) ||
|
||||
(limbIndex == OBJECT_CROW_LIMB_TAIL)) {
|
||||
sp1C = &this->unk_144[(limbIndex >> 1) - 1];
|
||||
Matrix_MultiplyVector3fByState(&D_809CB050, sp1C);
|
||||
sp1C->y -= 20.0f;
|
||||
|
||||
+16
-16
@@ -8573,23 +8573,23 @@
|
||||
0x8099AA84:("func_8099AA84",),
|
||||
0x8099AB30:("EnCrow_Init",),
|
||||
0x8099AC2C:("EnCrow_Destroy",),
|
||||
0x8099AC58:("func_8099AC58",),
|
||||
0x8099AC8C:("func_8099AC8C",),
|
||||
0x8099B098:("func_8099B098",),
|
||||
0x8099B0CC:("func_8099B0CC",),
|
||||
0x8099B318:("func_8099B318",),
|
||||
0x8099B384:("func_8099B384",),
|
||||
0x8099B584:("func_8099B584",),
|
||||
0x8099B6AC:("func_8099B6AC",),
|
||||
0x8099B6C4:("func_8099B6C4",),
|
||||
0x8099B778:("func_8099B778",),
|
||||
0x8099B838:("func_8099B838",),
|
||||
0x8099B8EC:("func_8099B8EC",),
|
||||
0x8099B9E8:("func_8099B9E8",),
|
||||
0x8099BAB4:("func_8099BAB4",),
|
||||
0x8099AC58:("EnCrow_SetupFlyIdle",),
|
||||
0x8099AC8C:("EnCrow_FlyIdle",),
|
||||
0x8099B098:("EnCrow_SetupDiveAttack",),
|
||||
0x8099B0CC:("EnCrow_DiveAttack",),
|
||||
0x8099B318:("EnCrow_CheckIfFrozen",),
|
||||
0x8099B384:("EnCrow_SetupDamaged",),
|
||||
0x8099B584:("EnCrow_Damaged",),
|
||||
0x8099B6AC:("EnCrow_SetupDie",),
|
||||
0x8099B6C4:("EnCrow_Die",),
|
||||
0x8099B778:("EnCrow_SetupTurnAway",),
|
||||
0x8099B838:("EnCrow_TurnAway",),
|
||||
0x8099B8EC:("EnCrow_SetupRespawn",),
|
||||
0x8099B9E8:("EnCrow_Respawn",),
|
||||
0x8099BAB4:("EnCrow_UpdateDamage",),
|
||||
0x8099BB84:("EnCrow_Update",),
|
||||
0x8099BE48:("func_8099BE48",),
|
||||
0x8099BF20:("func_8099BF20",),
|
||||
0x8099BE48:("EnCrow_OverrideLimbDraw",),
|
||||
0x8099BF20:("EnCrow_PostLimbDraw",),
|
||||
0x8099BFA4:("EnCrow_Draw",),
|
||||
0x8099C290:("func_8099C290",),
|
||||
0x8099C328:("func_8099C328",),
|
||||
|
||||
Reference in New Issue
Block a user