1
0
Fork 0
mirror of https://github.com/zeldaret/oot.git synced 2024-11-29 03:34:07 +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:
Parker Burnett 2021-04-30 20:31:49 -04:00 committed by GitHub
parent 9dbebfa38f
commit 2ee1fd4668
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
4 changed files with 79 additions and 24 deletions

View 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
View file

@ -5797,7 +5797,8 @@ endseg
beginseg beginseg
name "object_skb" name "object_skb"
romalign 0x1000 romalign 0x1000
include "build/baserom/object_skb.o" include "build/assets/objects/object_skb/object_skb.o"
number 6
endseg endseg
beginseg beginseg

View file

@ -1,5 +1,6 @@
#include "z_en_skb.h" #include "z_en_skb.h"
#include "overlays/actors/ovl_En_Encount1/z_en_encount1.h" #include "overlays/actors/ovl_En_Encount1/z_en_encount1.h"
#include "objects/object_skb/object_skb.h"
#define FLAGS 0x00000015 #define FLAGS 0x00000015
@ -28,13 +29,6 @@ void func_80AFD7B4(EnSkb* this, GlobalContext* globalCtx);
void func_80AFD880(EnSkb* this, GlobalContext* globalCtx); void func_80AFD880(EnSkb* this, GlobalContext* globalCtx);
void func_80AFD968(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] = { static ColliderJntSphElementInit sJntSphElementsInit[2] = {
{ {
{ {
@ -160,7 +154,8 @@ void EnSkb_Init(Actor* thisx, GlobalContext* globalCtx) {
this->actor.colChkInfo.mass = 0xFE; this->actor.colChkInfo.mass = 0xFE;
this->actor.colChkInfo.health = 2; this->actor.colChkInfo.health = 2;
this->actor.shape.yOffset = -8000.0f; 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; this->actor.naviEnemyId = 0x55;
Collider_InitJntSph(globalCtx, &this->collider); Collider_InitJntSph(globalCtx, &this->collider);
@ -205,7 +200,7 @@ void func_80AFCD60(EnSkb* this) {
} }
void func_80AFCDF8(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->unk_280 = 0;
this->actor.flags &= ~1; this->actor.flags &= ~1;
Audio_PlayActorSound2(&this->actor, NA_SE_EN_RIVA_APPEAR); 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) { 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_280 = 0;
this->unk_281 = 0; this->unk_281 = 0;
this->actor.flags &= ~1; this->actor.flags &= ~1;
@ -251,7 +247,8 @@ void func_80AFCFF0(EnSkb* this, GlobalContext* globalCtx) {
} }
void func_80AFD0A4(EnSkb* this) { 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_280 = 4;
this->unk_288 = 0; this->unk_288 = 0;
this->actor.speedXZ = this->actor.scale.y * 160.0f; 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) { 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->collider.base.atFlags &= ~4;
this->unk_280 = 3; this->unk_280 = 3;
this->actor.speedXZ = 0.0f; this->actor.speedXZ = 0.0f;
@ -324,7 +322,7 @@ void EnSkb_SetupAttack(EnSkb* this, GlobalContext* globalCtx) {
} }
void func_80AFD47C(EnSkb* this) { 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->collider.base.atFlags &= ~4;
this->unk_280 = 5; this->unk_280 = 5;
this->unk_281 = 0; this->unk_281 = 0;
@ -366,7 +364,7 @@ void func_80AFD59C(EnSkb* this, GlobalContext* globalCtx) {
} }
void func_80AFD644(EnSkb* this) { 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) { if (this->actor.bgCheckFlags & 1) {
this->actor.speedXZ = -4.0f; this->actor.speedXZ = -4.0f;
} }
@ -401,7 +399,7 @@ void func_80AFD6CC(EnSkb* this, GlobalContext* globalCtx) {
} }
void func_80AFD7B4(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.shape.rot.y = this->actor.yawTowardsPlayer;
this->actor.world.rot.y = this->actor.yawTowardsPlayer; this->actor.world.rot.y = this->actor.yawTowardsPlayer;
if (this->actor.bgCheckFlags & 1) { if (this->actor.bgCheckFlags & 1) {

View file

@ -2206,14 +2206,6 @@ D_06003B68 = 0x06003B68;
D_060041A8 = 0x060041A8; D_060041A8 = 0x060041A8;
D_06004574 = 0x06004574; 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 // z_en_stream
D_06000950 = 0x06000950; D_06000950 = 0x06000950;