diff options
| author | Parker Burnett <burnettparker@gmail.com> | 2021-04-30 20:31:49 -0400 |
|---|---|---|
| committer | GitHub <noreply@github.com> | 2021-04-30 20:31:49 -0400 |
| commit | 2ee1fd4668c04899bf9f4a6b474d503d012e1f94 (patch) | |
| tree | 65bcaf465bd420332a69a33e2482c1105795dbfc | |
| parent | 9dbebfa38f99d50d051d862e380e25c599c5430c (diff) | |
finished object_skb (#790)
* finished object_skb
* neglected the limbs and dlists, so I added them
* adding the textures
* fixing some names
* ....forgot to change the c file....
* hopefully fixed formatting issue
| -rw-r--r-- | assets/xml/objects/object_skb.xml | 64 | ||||
| -rw-r--r-- | spec | 3 | ||||
| -rw-r--r-- | src/overlays/actors/ovl_En_Skb/z_en_skb.c | 28 | ||||
| -rw-r--r-- | undefined_syms.txt | 8 |
4 files changed, 79 insertions, 24 deletions
diff --git a/assets/xml/objects/object_skb.xml b/assets/xml/objects/object_skb.xml new file mode 100644 index 000000000..87d73f7da --- /dev/null +++ b/assets/xml/objects/object_skb.xml @@ -0,0 +1,64 @@ +<Root> + <File Name="object_skb" Segment="6"> + <!-- Stalchild skeleton --> + <Skeleton Name="gStalchildSkel" Type="Normal" LimbType="Standard" Offset="0x41F8"/> + + <!-- Stalchild Limbs --> + <Limb Name="gStalchildRootLimb" Type="Standard" Offset="0x40C8"/> + <Limb Name="gStalchildWaistLimb" Type="Standard" Offset="0x40D4"/> + <Limb Name="gStalchildRoot2Limb" Type="Standard" Offset="0x40E0"/> + <Limb Name="gStalchildRightFemurLimb" Type="Standard" Offset="0x40EC"/> + <Limb Name="gStalchildRightShinLimb" Type="Standard" Offset="0x40F8"/> + <Limb Name="gStalchildRightFootLimb" Type="Standard" Offset="0x4104"/> + <Limb Name="gStalchildLeftFemurLimb" Type="Standard" Offset="0x4110"/> + <Limb Name="gStalchildLeftShinLimb" Type="Standard" Offset="0x411C"/> + <Limb Name="gStalchildLeftFootLimb" Type="Standard" Offset="0x4128"/> + <Limb Name="gStalchildRibCageLimb" Type="Standard" Offset="0x4134"/> + <Limb Name="gStalchildHeadLimb" Type="Standard" Offset="0x4140"/> + <Limb Name="gStalchildJawLimb" Type="Standard" Offset="0x414C"/> + <Limb Name="gStalchildRightHumerusLimb" Type="Standard" Offset="0x4158"/> + <Limb Name="gStalchildRightForearmLimb" Type="Standard" Offset="0x4164"/> + <Limb Name="gStalchildRightHandLimb" Type="Standard" Offset="0x4170"/> + <Limb Name="gStalchildLeftHumerusLimb" Type="Standard" Offset="0x417C"/> + <Limb Name="gStalchildLeftForearmLimb" Type="Standard" Offset="0x4188"/> + <Limb Name="gStalchildLeftHandLimb" Type="Standard" Offset="0x4194"/> + <Limb Name="gStalchildSpineLimb" Type="Standard" Offset="0x41A0"/> + + <!-- Stalchild DisplayLists --> + <DList Name="gStalchildHeadDL" Offset="0x3230"/> + <DList Name="gStalchildJawDL" Offset="0x3598"/> + <DList Name="gStalchildRibCageDL" Offset="0x3640"/> + <DList Name="gStalchildSpineDL" Offset="0x3708"/> + <DList Name="gStalchildWaistDL" Offset="0x37A0"/> + <DList Name="gStalchildLeftHumerusDL" Offset="0x38A8"/> + <DList Name="gStalchildLeftForearmDL" Offset="0x3968"/> + <DList Name="gStalchildLeftHandDL" Offset="0x3A10"/> + <DList Name="gStalchildRightHumerusDL" Offset="0x3AD8"/> + <DList Name="gStalchildRightForearmDL" Offset="0x3B98"/> + <DList Name="gStalchildRightHandDL" Offset="0x3C40"/> + <DList Name="gStalchildLeftFemurDL" Offset="0x3D08"/> + <DList Name="gStalchildLeftShinDL" Offset="0x3DA0"/> + <DList Name="gStalchildLeftFootDL" Offset="0x3E48"/> + <DList Name="gStalchildRightFemurDL" Offset="0x3EE8"/> + <DList Name="gStalchildRightShinDL" Offset="0x3F80"/> + <DList Name="gStalchildRightFootDL" Offset="0x4028"/> + + <!-- Stalchild Textures --> + <Texture Name="gStalchildWaistTex" OutName="stalchild_waist" Format="rgb5a1" Width="16" Height="16" Offset="0x18A0"/> + <Texture Name="gStalchildRibCageTex" OutName="stalchild_rib_cage" Format="rgb5a1" Width="8" Height="16" Offset="0x1AA0"/> + <Texture Name="gStalchildHeadTex" OutName="stalchild_head" Format="rgb5a1" Width="8" Height="8" Offset="0x1BA0"/> + <Texture Name="gStalchildBoneTex" OutName="stalchild_bone" Format="rgb5a1" Width="8" Height="8" Offset="0x1CA0"/> + <Texture Name="gStalchildNostrilTex" OutName="stalchild_nostril" Format="rgb5a1" Width="8" Height="8" Offset="0x1C20"/> + <Texture Name="gStalchildHandAndFeetTex" OutName="stalchild_hand_and_feet" Format="rgb5a1" Width="8" Height="16" Offset="0x1D20"/> + <Texture Name="gStalchildTeethTex" OutName="stalchild_teeth" Format="rgb5a1" Width="16" Height="8" Offset="0x1E20"/> + <Texture Name="gStalchildEyeSocketTex" OutName="stalchild_eye_socket" Format="rgb5a1" Width="16" Height="16" Offset="0x1F20"/> + <Texture Name="gStalchildEyeTex" OutName="stalchild_eye" Format="rgb5a1" Width="8" Height="8" Offset="0x2120"/> + + <!-- Stalchild animations --> + <Animation Name="gStalchildUncurlingAnim" Offset="0x1854"/> + <Animation Name="gStalchildDyingAnim" Offset="0x9DC"/> + <Animation Name="gStalchildDamagedAnim" Offset="0xD98"/> + <Animation Name="gStalchildWalkingAnim" Offset="0x47E0"/> + <Animation Name="gStalchildAttackingAnim" Offset="0x460"/> + </File> +</Root>
\ No newline at end of file @@ -5797,7 +5797,8 @@ endseg beginseg name "object_skb" romalign 0x1000 - include "build/baserom/object_skb.o" + include "build/assets/objects/object_skb/object_skb.o" + number 6 endseg beginseg diff --git a/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/src/overlays/actors/ovl_En_Skb/z_en_skb.c index edaf434e9..5fd92d836 100644 --- a/src/overlays/actors/ovl_En_Skb/z_en_skb.c +++ b/src/overlays/actors/ovl_En_Skb/z_en_skb.c @@ -1,5 +1,6 @@ #include "z_en_skb.h" #include "overlays/actors/ovl_En_Encount1/z_en_encount1.h" +#include "objects/object_skb/object_skb.h" #define FLAGS 0x00000015 @@ -28,13 +29,6 @@ void func_80AFD7B4(EnSkb* this, GlobalContext* globalCtx); void func_80AFD880(EnSkb* this, GlobalContext* globalCtx); void func_80AFD968(EnSkb* this, GlobalContext* globalCtx); -extern SkeletonHeader D_060041F8; -extern AnimationHeader D_06001854; -extern AnimationHeader D_060009DC; -extern AnimationHeader D_06000D98; -extern AnimationHeader D_060047E0; -extern AnimationHeader D_06000460; - static ColliderJntSphElementInit sJntSphElementsInit[2] = { { { @@ -160,7 +154,8 @@ void EnSkb_Init(Actor* thisx, GlobalContext* globalCtx) { this->actor.colChkInfo.mass = 0xFE; this->actor.colChkInfo.health = 2; this->actor.shape.yOffset = -8000.0f; - SkelAnime_Init(globalCtx, &this->skelAnime, &D_060041F8, &D_06001854, this->jointTable, this->morphTable, 20); + SkelAnime_Init(globalCtx, &this->skelAnime, &gStalchildSkel, &gStalchildUncurlingAnim, this->jointTable, + this->morphTable, 20); this->actor.naviEnemyId = 0x55; Collider_InitJntSph(globalCtx, &this->collider); @@ -205,7 +200,7 @@ void func_80AFCD60(EnSkb* this) { } void func_80AFCDF8(EnSkb* this) { - Animation_PlayOnceSetSpeed(&this->skelAnime, &D_06001854, 1.0f); + Animation_PlayOnceSetSpeed(&this->skelAnime, &gStalchildUncurlingAnim, 1.0f); this->unk_280 = 0; this->actor.flags &= ~1; Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIVA_APPEAR); @@ -230,7 +225,8 @@ void func_80AFCE5C(EnSkb* this, GlobalContext* globalCtx) { } void func_80AFCF48(EnSkb* this) { - Animation_Change(&this->skelAnime, &D_06001854, -1.0f, Animation_GetLastFrame(&D_06001854), 0.0f, 2, -4.0f); + Animation_Change(&this->skelAnime, &gStalchildUncurlingAnim, -1.0f, + Animation_GetLastFrame(&gStalchildUncurlingAnim), 0.0f, 2, -4.0f); this->unk_280 = 0; this->unk_281 = 0; this->actor.flags &= ~1; @@ -251,7 +247,8 @@ void func_80AFCFF0(EnSkb* this, GlobalContext* globalCtx) { } void func_80AFD0A4(EnSkb* this) { - Animation_Change(&this->skelAnime, &D_060047E0, 0.96000004f, 0.0f, Animation_GetLastFrame(&D_060047E0), 0, -4.0f); + Animation_Change(&this->skelAnime, &gStalchildWalkingAnim, 0.96000004f, 0.0f, + Animation_GetLastFrame(&gStalchildWalkingAnim), 0, -4.0f); this->unk_280 = 4; this->unk_288 = 0; this->actor.speedXZ = this->actor.scale.y * 160.0f; @@ -298,7 +295,8 @@ void EnSkb_Advance(EnSkb* this, GlobalContext* globalCtx) { } void func_80AFD33C(EnSkb* this) { - Animation_Change(&this->skelAnime, &D_06000460, 0.6f, 0.0f, Animation_GetLastFrame(&D_06000460), 3, 4.0f); + Animation_Change(&this->skelAnime, &gStalchildAttackingAnim, 0.6f, 0.0f, + Animation_GetLastFrame(&gStalchildAttackingAnim), 3, 4.0f); this->collider.base.atFlags &= ~4; this->unk_280 = 3; this->actor.speedXZ = 0.0f; @@ -324,7 +322,7 @@ void EnSkb_SetupAttack(EnSkb* this, GlobalContext* globalCtx) { } void func_80AFD47C(EnSkb* this) { - Animation_Change(&this->skelAnime, &D_06000460, -0.4f, this->skelAnime.curFrame - 1.0f, 0.0f, 3, 0.0f); + Animation_Change(&this->skelAnime, &gStalchildAttackingAnim, -0.4f, this->skelAnime.curFrame - 1.0f, 0.0f, 3, 0.0f); this->collider.base.atFlags &= ~4; this->unk_280 = 5; this->unk_281 = 0; @@ -366,7 +364,7 @@ void func_80AFD59C(EnSkb* this, GlobalContext* globalCtx) { } void func_80AFD644(EnSkb* this) { - Animation_MorphToPlayOnce(&this->skelAnime, &D_06000D98, -4.0f); + Animation_MorphToPlayOnce(&this->skelAnime, &gStalchildDamagedAnim, -4.0f); if (this->actor.bgCheckFlags & 1) { this->actor.speedXZ = -4.0f; } @@ -401,7 +399,7 @@ void func_80AFD6CC(EnSkb* this, GlobalContext* globalCtx) { } void func_80AFD7B4(EnSkb* this, GlobalContext* globalCtx) { - Animation_MorphToPlayOnce(&this->skelAnime, &D_060009DC, -4.0f); + Animation_MorphToPlayOnce(&this->skelAnime, &gStalchildDyingAnim, -4.0f); this->actor.shape.rot.y = this->actor.yawTowardsPlayer; this->actor.world.rot.y = this->actor.yawTowardsPlayer; if (this->actor.bgCheckFlags & 1) { diff --git a/undefined_syms.txt b/undefined_syms.txt index 91b34d1c2..06fab4d5f 100644 --- a/undefined_syms.txt +++ b/undefined_syms.txt @@ -2206,14 +2206,6 @@ D_06003B68 = 0x06003B68; D_060041A8 = 0x060041A8; D_06004574 = 0x06004574; -// z_en_skb -D_06000460 = 0x06000460; -D_060009DC = 0x060009DC; -D_06000D98 = 0x06000D98; -D_06001854 = 0x06001854; -D_060041F8 = 0x060041F8; -D_060047E0 = 0x060047E0; - // z_en_stream D_06000950 = 0x06000950; |
