mirror of
https://github.com/zeldaret/oot.git
synced 2025-08-06 06:10:21 +00:00
En_Niw (Cucco) OK (#429)
* Cucco progress * Cucco decompiled, one non-matching * Update z_en_niw.c * Update z_en_niw.h * Update z_en_niw.c * Delete EnNiw_Destroy.s * Delete EnNiw_Draw.s * Delete EnNiw_Init.s * Delete EnNiw_Update.s * Delete func_80AB5BF8.s * Delete func_80AB5FA0.s * Delete func_80AB6100.s * Delete func_80AB627C.s * Delete func_80AB6324.s * Delete func_80AB63A8.s * Delete func_80AB840C.s * Delete func_80AB70F8.s * Delete func_80AB6D08.s * Delete func_80AB6BF8.s * Delete func_80AB6A38.s * Delete func_80AB7F60.s * Delete func_80AB6F04.s * Delete func_80AB6570.s * Delete func_80AB7204.s * Delete func_80AB714C.s * Delete func_80AB7328.s * Delete func_80AB7290.s * Delete func_80AB7420.s * Delete func_80AB747C.s * Delete func_80AB8168.s * Delete func_80AB8258.s * Delete func_80AB6EB4.s * Delete func_80AB70A0.s * Delete func_80AB6450.s * Delete z_en_niw.data.s * Delete z_en_niw.reloc.s * Update undefined_syms.txt * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Add boolean suggestion * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Made suggested changes * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Most suggested changes made * More changes made, fixed compiler error * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Cleaned up En_Niw * Cleaned up En_Niw * Cleaned up En_Niw * Merged Cucco conflicts * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> * Made requested changes (Cucco) * Added actor description * Update src/overlays/actors/ovl_En_Niw/z_en_niw.h Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.c Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.h Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.h Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Update src/overlays/actors/ovl_En_Niw/z_en_niw.h Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> * Made requested En_Niw changes * Removed DECR from En_Niw * Reduced number of if (1)'s * Update EnNiw * Some Cucco documentation Co-authored-by: Dragorn421 <Dragorn421@users.noreply.github.com> Co-authored-by: Roman971 <32455037+Roman971@users.noreply.github.com> Co-authored-by: Zelllll <elijah@DESKTOP-NMP1I89.localdomain>
This commit is contained in:
parent
6e000fcc54
commit
af326f5b78
37 changed files with 1237 additions and 3642 deletions
|
@ -359,9 +359,9 @@ void EnAttackNiw_Update(Actor* thisx, GlobalContext* globalCtx) {
|
|||
if (this->actor.xyzDistFromLinkSq < SQ(tmpf1)) {
|
||||
cucco = (EnNiw*)this->actor.parent;
|
||||
if ((this->actor.parent->update != NULL) && (this->actor.parent != NULL) && (cucco != NULL) &&
|
||||
(cucco->unk_26A == 0) && (player->invincibilityTimer == 0)) {
|
||||
(cucco->timer9 == 0) && (player->invincibilityTimer == 0)) {
|
||||
func_8002F6D4(globalCtx, &this->actor, 2.0f, this->actor.posRot.rot.y, 0.0f, 0x10);
|
||||
cucco->unk_26A = 0x46;
|
||||
cucco->timer9 = 0x46;
|
||||
}
|
||||
}
|
||||
if (this->unk_25E == 0) {
|
||||
|
|
File diff suppressed because it is too large
Load diff
|
@ -6,17 +6,78 @@
|
|||
|
||||
struct EnNiw;
|
||||
|
||||
typedef void (*EnNiwActionFunc)(struct EnNiw*, GlobalContext*);
|
||||
|
||||
typedef struct {
|
||||
/* 0x0000 */ u8 type;
|
||||
/* 0x0004 */ Vec3f pos;
|
||||
/* 0x0010 */ Vec3f vel;
|
||||
/* 0x001C */ Vec3f accel;
|
||||
/* 0x0028 */ s16 life;
|
||||
/* 0x002A */ s16 unk_2A; // Variance timer?
|
||||
/* 0x002C */ f32 scale;
|
||||
/* 0x0030 */ f32 unk_30;
|
||||
/* 0x0034 */ u8 timer;
|
||||
} EnNiwFeather; // size = 0x0038
|
||||
|
||||
typedef struct EnNiw {
|
||||
/* 0x0000 */ Actor actor;
|
||||
/* 0x014C */ char unk_14C[0x11E];
|
||||
/* 0x026A */ s16 unk_26A;
|
||||
/* 0x026C */ char unk_26C[0x2A];
|
||||
/* 0x014C */ SkelAnime skelAnime;
|
||||
/* 0x0190 */ Vec3s limbDrawTable[16];
|
||||
/* 0x01F0 */ Vec3s transitionDrawTable[16];
|
||||
/* 0x0250 */ EnNiwActionFunc actionFunc;
|
||||
/* 0x0254 */ s16 timer1;
|
||||
/* 0x0256 */ s16 timer2;
|
||||
/* 0x0258 */ s16 timer3;
|
||||
/* 0x025A */ s16 timer4;
|
||||
/* 0x025C */ s16 timer5;
|
||||
/* 0x025E */ s16 timer6;
|
||||
/* 0x0260 */ s16 sfxTimer1;
|
||||
/* 0x0262 */ s16 sfxTimer2;
|
||||
/* 0x0264 */ s16 sfxTimer3;
|
||||
/* 0x0266 */ s16 timer7;
|
||||
/* 0x0268 */ s16 timer8;
|
||||
/* 0x026A */ s16 timer9;
|
||||
/* 0x026C */ f32 unk_26C[10];
|
||||
/* 0x0294 */ s16 unk_294;
|
||||
/* 0x0296 */ s16 unk_296;
|
||||
/* 0x0298 */ char unk_298[0x50];
|
||||
/* 0x02E8 */ s16 unk_2E8;
|
||||
/* 0x02EA */ char unk_2EA[0x2];
|
||||
/* 0x0298 */ s16 unk_298;
|
||||
/* 0x029A */ s16 unk_29A;
|
||||
/* 0x029C */ s16 unk_29C;
|
||||
/* 0x029E */ s16 unk_29E;
|
||||
/* 0x02A0 */ s16 unk_2A0;
|
||||
/* 0x02A2 */ s16 unk_2A2;
|
||||
/* 0x02A4 */ s16 unk_2A4;
|
||||
/* 0x02A6 */ s16 unk_2A6;
|
||||
/* 0x02A8 */ s16 unk_2A8;
|
||||
/* 0x02AA */ s16 unk_2AA;
|
||||
/* 0x02AC */ f32 unk_2AC;
|
||||
/* 0x02B0 */ f32 unk_2B0;
|
||||
/* 0x02B4 */ f32 unk_2B4;
|
||||
/* 0x02B8 */ f32 unk_2B8;
|
||||
/* 0x02BC */ f32 unk_2BC;
|
||||
/* 0x02C0 */ f32 unk_2C0;
|
||||
/* 0x02C4 */ f32 unk_2C4;
|
||||
/* 0x02C8 */ f32 unk_2C8;
|
||||
/* 0x02CC */ f32 unk_2CC;
|
||||
/* 0x02D0 */ f32 unk_2D0;
|
||||
/* 0x02D4 */ f32 unk_2D4;
|
||||
/* 0x02D8 */ f32 unk_2D8;
|
||||
/* 0x02DC */ f32 unk_2DC;
|
||||
/* 0x02E0 */ f32 unk_2E0;
|
||||
/* 0x02E4 */ s16 unk_2E4;
|
||||
/* 0x02E6 */ s16 unk_2E6;
|
||||
/* 0x02E8 */ s16 path;
|
||||
/* 0x02EA */ s16 waypoint;
|
||||
/* 0x02EC */ s16 unk_2EC;
|
||||
/* 0x02EE */ char unk_2EE[0x4CA];
|
||||
/* 0x02EE */ s16 unk_2EE;
|
||||
/* 0x02F0 */ Vec3f unk_2F0;
|
||||
/* 0x02FC */ f32 unk_2FC;
|
||||
/* 0x0300 */ f32 unk_300;
|
||||
/* 0x0304 */ f32 unk_304;
|
||||
/* 0x0308 */ u8 unk_308;
|
||||
/* 0x030C */ ColliderCylinder collider;
|
||||
/* 0x0358 */ EnNiwFeather feathers[20];
|
||||
} EnNiw; // size = 0x07B8
|
||||
|
||||
extern const ActorInit En_Niw_InitVars;
|
||||
|
|
|
@ -108,13 +108,13 @@ void func_80AB9210(EnNiwGirl* this, GlobalContext* globalCtx) {
|
|||
xDistBetween = this->chasedEnNiw->actor.posRot.pos.x - this->actor.posRot.pos.x;
|
||||
zDistBetween = this->chasedEnNiw->actor.posRot.pos.z - this->actor.posRot.pos.z;
|
||||
if (func_8010BDBC(&globalCtx->msgCtx) != 0) {
|
||||
this->chasedEnNiw->unk_2E8 = 0;
|
||||
this->chasedEnNiw->path = 0;
|
||||
}
|
||||
if (sqrtf(SQ(xDistBetween) + SQ(zDistBetween)) < 70.0f) {
|
||||
this->chasedEnNiw->unk_2E8 = (this->path + 1);
|
||||
this->chasedEnNiw->path = (this->path + 1);
|
||||
this->chasedEnNiw->unk_2EC = path->count;
|
||||
} else if (sqrtf(SQ(xDistBetween) + SQ(zDistBetween)) > 150.0f) {
|
||||
this->chasedEnNiw->unk_2E8 = 0;
|
||||
this->chasedEnNiw->path = 0;
|
||||
}
|
||||
|
||||
// Change her angle so that she is always facing the cuckoo
|
||||
|
@ -162,7 +162,7 @@ void EnNiwGirl_Talk(EnNiwGirl* this, GlobalContext* globalCtx) {
|
|||
void func_80AB94D0(EnNiwGirl* this, GlobalContext* globalCtx) {
|
||||
SkelAnime_FrameUpdateMatrix(&this->skelAnime);
|
||||
if (func_8010BDBC(&globalCtx->msgCtx)) {
|
||||
this->chasedEnNiw->unk_2E8 = 0;
|
||||
this->chasedEnNiw->path = 0;
|
||||
}
|
||||
Math_SmoothDownscaleMaxF(&this->actor.speedXZ, 0.8f, 0.2f);
|
||||
if (func_8002F194(&this->actor, globalCtx)) {
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue