1
0
Fork 0
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:
Zelllll 2020-10-28 12:20:10 -05:00 committed by GitHub
parent 6e000fcc54
commit af326f5b78
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
37 changed files with 1237 additions and 3642 deletions

View file

@ -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

View file

@ -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;

View file

@ -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)) {