mirror of
https://github.com/zeldaret/oot.git
synced 2024-11-10 19:20:13 +00:00
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
This commit is contained in:
parent
9dbebfa38f
commit
2ee1fd4668
4 changed files with 79 additions and 24 deletions
64
assets/xml/objects/object_skb.xml
Normal file
64
assets/xml/objects/object_skb.xml
Normal file
|
@ -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>
|
3
spec
3
spec
|
@ -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
|
||||
|
|
|
@ -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) {
|
||||
|
|
|
@ -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;
|
||||
|
||||
|
|
Loading…
Reference in a new issue