From b570e0c98e2e2acf8634af4addd3379b16072616 Mon Sep 17 00:00:00 2001 From: Tom Overton Date: Sun, 16 Oct 2022 15:14:15 -0700 Subject: [PATCH] object_dno (Deku King) documented (#1126) --- assets/xml/objects/object_dno.xml | 192 ++++++++++++---------- src/overlays/actors/ovl_En_Dnq/z_en_dnq.c | 44 ++--- src/overlays/actors/ovl_En_Dnq/z_en_dnq.h | 5 +- 3 files changed, 127 insertions(+), 114 deletions(-) diff --git a/assets/xml/objects/object_dno.xml b/assets/xml/objects/object_dno.xml index e1528989cc..e5b3323dc2 100644 --- a/assets/xml/objects/object_dno.xml +++ b/assets/xml/objects/object_dno.xml @@ -1,94 +1,106 @@  + - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - - + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + + diff --git a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c index 90c6512411..dc1fd182ca 100644 --- a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c +++ b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.c @@ -8,7 +8,6 @@ */ #include "z_en_dnq.h" -#include "objects/object_dno/object_dno.h" #define FLAGS (ACTOR_FLAG_1 | ACTOR_FLAG_8) @@ -61,26 +60,26 @@ static ColliderCylinderInit sCylinderInit = { static CollisionCheckInfoInit2 sColChkInfoInit = { 1, 0, 0, 0, MASS_IMMOVABLE }; static AnimationInfoS sAnimationInfo[] = { - { &object_dno_Anim_008328, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, - { &object_dno_Anim_008328, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, - { &object_dno_Anim_007528, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, - { &object_dno_Anim_0006F0, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &object_dno_Anim_000BF8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, - { &object_dno_Anim_002690, 0.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &object_dno_Anim_002690, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, - { &object_dno_Anim_003408, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, - { &object_dno_Anim_006984, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, - { &object_dno_Anim_005E18, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, - { &object_dno_Anim_005A14, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, - { &object_dno_Anim_005284, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, - { &object_dno_Anim_001AEC, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &object_dno_Anim_001100, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, - { &object_dno_Anim_004EA0, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, - { &object_dno_Anim_00F504, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, - { &object_dno_Anim_0047B8, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, - { &object_dno_Anim_003DBC, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, - { &object_dno_Anim_005A14, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, - { &object_dno_Anim_003DBC, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, 0 }, + { &gDekuKingIdleAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingSurpriseAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, + { &gDekuKingJumpedOnStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, + { &gDekuKingJumpedOnLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingJumpedOnEndAnim, 0.0f, 0, -1, ANIMMODE_ONCE, 0 }, + { &gDekuKingJumpedOnEndAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, + { &gDekuKingLyingDownTwitchAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingWailLoopAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, + { &gDekuKingFootStampStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, + { &gDekuKingFootStampLoopAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, + { &gDekuKingWailStartAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, + { &gDekuKingMarchAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, + { &gDekuKingSpinScepterAnim, 1.0f, 0, -1, ANIMMODE_ONCE, 0 }, + { &gDekuKingIntimidateAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingPointScepterAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingJumpAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingLaughAnim, 1.0f, 0, -1, ANIMMODE_ONCE, -4 }, + { &gDekuKingFootStampLoopAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, + { &gDekuKingLaughAnim, 1.0f, 0, -1, ANIMMODE_LOOP, -4 }, }; s32 EnDnq_ValidatePictograph(PlayState* play, Actor* thisx) { @@ -420,7 +419,8 @@ void EnDnq_Init(Actor* thisx, PlayState* play) { EnDnq* this = THIS; ActorShape_Init(&this->picto.actor.shape, 0.0f, NULL, 14.0f); - SkelAnime_InitFlex(play, &this->skelAnime, &object_dno_Skel_00EB48, NULL, this->jointTable, this->morphTable, 33); + SkelAnime_InitFlex(play, &this->skelAnime, &gDekuKingSkel, NULL, this->jointTable, this->morphTable, + DEKU_KING_LIMB_MAX); this->unk_398 = -1; func_80A5257C(this, 0); Collider_InitAndSetCylinder(play, &this->collider, &this->picto.actor, &sCylinderInit); diff --git a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h index 9e4bbd52ae..3b3e5d042e 100644 --- a/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h +++ b/src/overlays/actors/ovl_En_Dnq/z_en_dnq.h @@ -2,6 +2,7 @@ #define Z_EN_DNQ_H #include "global.h" +#include "objects/object_dno/object_dno.h" #include "z64snap.h" struct EnDnq; @@ -15,8 +16,8 @@ typedef struct EnDnq { /* 0x190 */ ColliderCylinder collider; /* 0x1DC */ u8 unk_1DC; /* 0x1E0 */ s32 unk_1E0; - /* 0x1E4 */ Vec3s jointTable[33]; - /* 0x2AA */ Vec3s morphTable[33]; + /* 0x1E4 */ Vec3s jointTable[DEKU_KING_LIMB_MAX]; + /* 0x2AA */ Vec3s morphTable[DEKU_KING_LIMB_MAX]; /* 0x370 */ Vec3f unk_370; /* 0x37C */ u16 unk_37C; /* 0x37E */ s16 unk_37E;