From bbcdf22647a37bc29e0671149b2fb35c9e7745d8 Mon Sep 17 00:00:00 2001 From: cadmic Date: Thu, 13 Feb 2025 23:06:49 -0800 Subject: [PATCH] Identify some unaccounted and blob asset data (#1953) * Identify some unaccounted and blob asset data * Add bug comments for flex skeleton weirdness * Use (SkeletonHeader*) cast instead of .sh * Fix vtx counts --- assets/xml/objects/object_am.xml | 1 + assets/xml/objects/object_ani.xml | 2 ++ assets/xml/objects/object_box.xml | 8 +++----- assets/xml/objects/object_bv.xml | 2 +- assets/xml/objects/object_bv_pal.xml | 2 +- assets/xml/objects/object_door_killer.xml | 2 +- assets/xml/objects/object_gi_medal.xml | 15 +++++++++++++++ assets/xml/objects/object_hintnuts.xml | 2 +- assets/xml/objects/object_hni.xml | 2 +- assets/xml/objects/object_ik.xml | 9 ++++++--- assets/xml/objects/object_kingdodongo.xml | 10 +++++++++- assets/xml/objects/object_kingdodongo_pal.xml | 10 +++++++++- assets/xml/objects/object_lightbox.xml | 9 ++++----- assets/xml/objects/object_link_child.xml | 5 ++++- assets/xml/objects/object_medal.xml | 2 +- assets/xml/objects/object_oA3.xml | 3 +-- assets/xml/objects/object_oE1.xml | 3 ++- assets/xml/objects/object_oE11.xml | 3 ++- assets/xml/objects/object_oE12.xml | 3 ++- assets/xml/objects/object_oE2.xml | 3 ++- assets/xml/objects/object_oE3.xml | 7 ++++--- assets/xml/objects/object_oE5.xml | 6 +++--- assets/xml/objects/object_oE6.xml | 3 ++- assets/xml/objects/object_oE7.xml | 3 ++- assets/xml/objects/object_oE8.xml | 3 ++- assets/xml/objects/object_oE9.xml | 3 ++- assets/xml/objects/object_ossan.xml | 3 +++ assets/xml/objects/object_rl.xml | 5 +---- assets/xml/objects/object_sa.xml | 2 +- assets/xml/objects/object_sb.xml | 5 +++-- assets/xml/objects/object_skb.xml | 13 +++++++++---- assets/xml/objects/object_skj.xml | 16 +++++++--------- assets/xml/objects/object_spot02_objects.xml | 1 - assets/xml/objects/object_st.xml | 4 +++- assets/xml/objects/object_ta.xml | 3 +-- assets/xml/objects/object_tk.xml | 3 ++- assets/xml/objects/object_toki_objects.xml | 3 ++- assets/xml/objects/object_tr.xml | 8 ++++++-- assets/xml/objects/object_tw.xml | 12 ++++++++---- assets/xml/objects/object_wf.xml | 1 + assets/xml/objects/object_wood02.xml | 2 +- assets/xml/scenes/indoors/tokinoma.xml | 2 +- assets/xml/scenes/indoors/tokinoma_pal_n64.xml | 1 + assets/xml/scenes/overworld/spot20.xml | 1 + assets/xml/scenes/overworld/spot20_pal.xml | 1 + src/overlays/actors/ovl_Boss_Va/z_boss_va.c | 4 +++- src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c | 5 +++-- src/overlays/actors/ovl_En_Box/z_en_box.c | 4 +++- .../actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c | 5 +++-- .../actors/ovl_En_Hintnuts/z_en_hintnuts.c | 5 +++-- 50 files changed, 150 insertions(+), 80 deletions(-) diff --git a/assets/xml/objects/object_am.xml b/assets/xml/objects/object_am.xml index 0a4b88ddf..2467baf6a 100644 --- a/assets/xml/objects/object_am.xml +++ b/assets/xml/objects/object_am.xml @@ -5,5 +5,6 @@ + diff --git a/assets/xml/objects/object_ani.xml b/assets/xml/objects/object_ani.xml index 25ad7af35..d83aa7656 100644 --- a/assets/xml/objects/object_ani.xml +++ b/assets/xml/objects/object_ani.xml @@ -51,6 +51,8 @@ + + diff --git a/assets/xml/objects/object_box.xml b/assets/xml/objects/object_box.xml index 34162fc94..7ab9d9e7f 100644 --- a/assets/xml/objects/object_box.xml +++ b/assets/xml/objects/object_box.xml @@ -5,7 +5,9 @@ + + @@ -19,11 +21,7 @@ - + - - - - diff --git a/assets/xml/objects/object_bv.xml b/assets/xml/objects/object_bv.xml index e2c2ce920..5a8e6c594 100644 --- a/assets/xml/objects/object_bv.xml +++ b/assets/xml/objects/object_bv.xml @@ -7,7 +7,7 @@ - + diff --git a/assets/xml/objects/object_bv_pal.xml b/assets/xml/objects/object_bv_pal.xml index 204273fc0..8de749266 100644 --- a/assets/xml/objects/object_bv_pal.xml +++ b/assets/xml/objects/object_bv_pal.xml @@ -7,7 +7,7 @@ - + diff --git a/assets/xml/objects/object_door_killer.xml b/assets/xml/objects/object_door_killer.xml index a37f590d6..fbee0e5f7 100644 --- a/assets/xml/objects/object_door_killer.xml +++ b/assets/xml/objects/object_door_killer.xml @@ -12,6 +12,6 @@ - + diff --git a/assets/xml/objects/object_gi_medal.xml b/assets/xml/objects/object_gi_medal.xml index 28e5b1e68..d2cb6191d 100644 --- a/assets/xml/objects/object_gi_medal.xml +++ b/assets/xml/objects/object_gi_medal.xml @@ -2,10 +2,25 @@ + + + + + + + + + + + + + + + diff --git a/assets/xml/objects/object_hintnuts.xml b/assets/xml/objects/object_hintnuts.xml index f7da2e8f5..d3595d85e 100644 --- a/assets/xml/objects/object_hintnuts.xml +++ b/assets/xml/objects/object_hintnuts.xml @@ -1,7 +1,7 @@ - + diff --git a/assets/xml/objects/object_hni.xml b/assets/xml/objects/object_hni.xml index 6b317eb7a..763f6892c 100644 --- a/assets/xml/objects/object_hni.xml +++ b/assets/xml/objects/object_hni.xml @@ -16,7 +16,7 @@ - + diff --git a/assets/xml/objects/object_ik.xml b/assets/xml/objects/object_ik.xml index 5d86e1075..50f47e9d7 100644 --- a/assets/xml/objects/object_ik.xml +++ b/assets/xml/objects/object_ik.xml @@ -1,8 +1,8 @@  - - - + + + @@ -29,7 +29,10 @@ + + + diff --git a/assets/xml/objects/object_kingdodongo.xml b/assets/xml/objects/object_kingdodongo.xml index 32c28766b..3ada2822c 100644 --- a/assets/xml/objects/object_kingdodongo.xml +++ b/assets/xml/objects/object_kingdodongo.xml @@ -101,7 +101,15 @@ - + + + + + + + + + diff --git a/assets/xml/objects/object_kingdodongo_pal.xml b/assets/xml/objects/object_kingdodongo_pal.xml index 1aa1735cb..a0790a6db 100644 --- a/assets/xml/objects/object_kingdodongo_pal.xml +++ b/assets/xml/objects/object_kingdodongo_pal.xml @@ -101,7 +101,15 @@ - + + + + + + + + + diff --git a/assets/xml/objects/object_lightbox.xml b/assets/xml/objects/object_lightbox.xml index 552a79d7c..c67059b89 100644 --- a/assets/xml/objects/object_lightbox.xml +++ b/assets/xml/objects/object_lightbox.xml @@ -1,12 +1,11 @@ - - - + + - + - + diff --git a/assets/xml/objects/object_link_child.xml b/assets/xml/objects/object_link_child.xml index 640228441..c6bfd2df8 100644 --- a/assets/xml/objects/object_link_child.xml +++ b/assets/xml/objects/object_link_child.xml @@ -123,6 +123,8 @@ + + @@ -175,11 +177,12 @@ + + - diff --git a/assets/xml/objects/object_medal.xml b/assets/xml/objects/object_medal.xml index 533872a55..eeb433c40 100644 --- a/assets/xml/objects/object_medal.xml +++ b/assets/xml/objects/object_medal.xml @@ -6,7 +6,7 @@ - + diff --git a/assets/xml/objects/object_oA3.xml b/assets/xml/objects/object_oA3.xml index a492bd875..176ad0931 100644 --- a/assets/xml/objects/object_oA3.xml +++ b/assets/xml/objects/object_oA3.xml @@ -1,7 +1,6 @@ - - + diff --git a/assets/xml/objects/object_oE1.xml b/assets/xml/objects/object_oE1.xml index 4d5b1663f..5b3234893 100644 --- a/assets/xml/objects/object_oE1.xml +++ b/assets/xml/objects/object_oE1.xml @@ -56,7 +56,8 @@ - + + diff --git a/assets/xml/objects/object_oE11.xml b/assets/xml/objects/object_oE11.xml index 04f6f186d..26ff739cd 100644 --- a/assets/xml/objects/object_oE11.xml +++ b/assets/xml/objects/object_oE11.xml @@ -3,7 +3,8 @@ - + + diff --git a/assets/xml/objects/object_oE12.xml b/assets/xml/objects/object_oE12.xml index a5fa39fd2..4b89954e0 100644 --- a/assets/xml/objects/object_oE12.xml +++ b/assets/xml/objects/object_oE12.xml @@ -3,7 +3,8 @@ - + + diff --git a/assets/xml/objects/object_oE2.xml b/assets/xml/objects/object_oE2.xml index af62ad6d1..ea3ba91fc 100644 --- a/assets/xml/objects/object_oE2.xml +++ b/assets/xml/objects/object_oE2.xml @@ -56,7 +56,8 @@ - + + diff --git a/assets/xml/objects/object_oE3.xml b/assets/xml/objects/object_oE3.xml index 95227da38..4a6cb3d92 100644 --- a/assets/xml/objects/object_oE3.xml +++ b/assets/xml/objects/object_oE3.xml @@ -56,13 +56,14 @@ - + + - + - + diff --git a/assets/xml/objects/object_oE5.xml b/assets/xml/objects/object_oE5.xml index 040fb8d73..c05917dc9 100644 --- a/assets/xml/objects/object_oE5.xml +++ b/assets/xml/objects/object_oE5.xml @@ -52,9 +52,9 @@ - - - + + + diff --git a/assets/xml/objects/object_oE6.xml b/assets/xml/objects/object_oE6.xml index 95bb602b6..d253130af 100644 --- a/assets/xml/objects/object_oE6.xml +++ b/assets/xml/objects/object_oE6.xml @@ -3,7 +3,8 @@ - + + diff --git a/assets/xml/objects/object_oE7.xml b/assets/xml/objects/object_oE7.xml index b3e588d4c..2b6b5cf31 100644 --- a/assets/xml/objects/object_oE7.xml +++ b/assets/xml/objects/object_oE7.xml @@ -7,7 +7,8 @@ - + + diff --git a/assets/xml/objects/object_oE8.xml b/assets/xml/objects/object_oE8.xml index be5de2494..8b1333fa9 100644 --- a/assets/xml/objects/object_oE8.xml +++ b/assets/xml/objects/object_oE8.xml @@ -3,7 +3,8 @@ - + + diff --git a/assets/xml/objects/object_oE9.xml b/assets/xml/objects/object_oE9.xml index 8ea7ee18c..e43cee426 100644 --- a/assets/xml/objects/object_oE9.xml +++ b/assets/xml/objects/object_oE9.xml @@ -3,7 +3,8 @@ - + + diff --git a/assets/xml/objects/object_ossan.xml b/assets/xml/objects/object_ossan.xml index 963053f3f..7e51c33bc 100644 --- a/assets/xml/objects/object_ossan.xml +++ b/assets/xml/objects/object_ossan.xml @@ -1,6 +1,9 @@ + + + diff --git a/assets/xml/objects/object_rl.xml b/assets/xml/objects/object_rl.xml index bbe0246ac..8453935b1 100644 --- a/assets/xml/objects/object_rl.xml +++ b/assets/xml/objects/object_rl.xml @@ -12,8 +12,6 @@ - - @@ -22,13 +20,12 @@ - - + diff --git a/assets/xml/objects/object_sa.xml b/assets/xml/objects/object_sa.xml index 8a6384040..e87cd793d 100644 --- a/assets/xml/objects/object_sa.xml +++ b/assets/xml/objects/object_sa.xml @@ -66,7 +66,7 @@ - + diff --git a/assets/xml/objects/object_sb.xml b/assets/xml/objects/object_sb.xml index 64d3bb005..3adf2c17e 100644 --- a/assets/xml/objects/object_sb.xml +++ b/assets/xml/objects/object_sb.xml @@ -4,8 +4,9 @@ - - + + + diff --git a/assets/xml/objects/object_skb.xml b/assets/xml/objects/object_skb.xml index 5b5efb484..1220ddf6d 100644 --- a/assets/xml/objects/object_skb.xml +++ b/assets/xml/objects/object_skb.xml @@ -55,10 +55,15 @@ - - - - + + + + + + + + + diff --git a/assets/xml/objects/object_skj.xml b/assets/xml/objects/object_skj.xml index 38636256f..958301d2e 100644 --- a/assets/xml/objects/object_skj.xml +++ b/assets/xml/objects/object_skj.xml @@ -41,27 +41,25 @@ + + + + + + + - - - - - - - - - diff --git a/assets/xml/objects/object_spot02_objects.xml b/assets/xml/objects/object_spot02_objects.xml index 65f45ff51..3dfaf227d 100644 --- a/assets/xml/objects/object_spot02_objects.xml +++ b/assets/xml/objects/object_spot02_objects.xml @@ -3,7 +3,6 @@ - diff --git a/assets/xml/objects/object_st.xml b/assets/xml/objects/object_st.xml index 983b9e2ea..9556f081d 100644 --- a/assets/xml/objects/object_st.xml +++ b/assets/xml/objects/object_st.xml @@ -22,7 +22,9 @@ - + + + diff --git a/assets/xml/objects/object_ta.xml b/assets/xml/objects/object_ta.xml index 5e446bf5c..4f339fc95 100644 --- a/assets/xml/objects/object_ta.xml +++ b/assets/xml/objects/object_ta.xml @@ -66,7 +66,6 @@ - - + diff --git a/assets/xml/objects/object_tk.xml b/assets/xml/objects/object_tk.xml index ffa44c548..5c9d0a0a6 100644 --- a/assets/xml/objects/object_tk.xml +++ b/assets/xml/objects/object_tk.xml @@ -8,7 +8,8 @@ - + + diff --git a/assets/xml/objects/object_toki_objects.xml b/assets/xml/objects/object_toki_objects.xml index cd07e60d2..3cada31f8 100644 --- a/assets/xml/objects/object_toki_objects.xml +++ b/assets/xml/objects/object_toki_objects.xml @@ -12,7 +12,8 @@ - + + diff --git a/assets/xml/objects/object_tr.xml b/assets/xml/objects/object_tr.xml index 986a88cc5..827b85bfe 100644 --- a/assets/xml/objects/object_tr.xml +++ b/assets/xml/objects/object_tr.xml @@ -9,7 +9,9 @@ - + + + @@ -97,7 +99,9 @@ - + + + diff --git a/assets/xml/objects/object_tw.xml b/assets/xml/objects/object_tw.xml index c6b9ec609..c528fb451 100644 --- a/assets/xml/objects/object_tw.xml +++ b/assets/xml/objects/object_tw.xml @@ -106,9 +106,11 @@ - - + + + + @@ -130,9 +132,11 @@ - - + + + + diff --git a/assets/xml/objects/object_wf.xml b/assets/xml/objects/object_wf.xml index 96ea84103..d5d70639d 100644 --- a/assets/xml/objects/object_wf.xml +++ b/assets/xml/objects/object_wf.xml @@ -122,6 +122,7 @@ + diff --git a/assets/xml/objects/object_wood02.xml b/assets/xml/objects/object_wood02.xml index 5dd80a17b..bdcc2d2e3 100644 --- a/assets/xml/objects/object_wood02.xml +++ b/assets/xml/objects/object_wood02.xml @@ -20,7 +20,7 @@ - + diff --git a/assets/xml/scenes/indoors/tokinoma.xml b/assets/xml/scenes/indoors/tokinoma.xml index 4d83fe390..fb62d9c2c 100644 --- a/assets/xml/scenes/indoors/tokinoma.xml +++ b/assets/xml/scenes/indoors/tokinoma.xml @@ -1,5 +1,6 @@ + @@ -12,7 +13,6 @@ - diff --git a/assets/xml/scenes/indoors/tokinoma_pal_n64.xml b/assets/xml/scenes/indoors/tokinoma_pal_n64.xml index eb98a321a..9c0a97099 100644 --- a/assets/xml/scenes/indoors/tokinoma_pal_n64.xml +++ b/assets/xml/scenes/indoors/tokinoma_pal_n64.xml @@ -1,5 +1,6 @@ + diff --git a/assets/xml/scenes/overworld/spot20.xml b/assets/xml/scenes/overworld/spot20.xml index 3d305508a..d3dd77a41 100644 --- a/assets/xml/scenes/overworld/spot20.xml +++ b/assets/xml/scenes/overworld/spot20.xml @@ -1,5 +1,6 @@ + diff --git a/assets/xml/scenes/overworld/spot20_pal.xml b/assets/xml/scenes/overworld/spot20_pal.xml index 0ba9380e1..297b1c316 100644 --- a/assets/xml/scenes/overworld/spot20_pal.xml +++ b/assets/xml/scenes/overworld/spot20_pal.xml @@ -1,5 +1,6 @@ + diff --git a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c index 77a338f09..01e764b51 100644 --- a/src/overlays/actors/ovl_Boss_Va/z_boss_va.c +++ b/src/overlays/actors/ovl_Boss_Va/z_boss_va.c @@ -630,7 +630,9 @@ void BossVa_Init(Actor* thisx, PlayState* play2) { break; default: this->actor.flags |= ACTOR_FLAG_SFX_FOR_PLAYER_BODY_HIT; - SkelAnime_Init(play, &this->skelAnime, &gBarinadeBariSkel, &gBarinadeBariAnim, NULL, NULL, 0); + //! @bug Flex skeleton is used as normal skeleton + SkelAnime_Init(play, &this->skelAnime, (SkeletonHeader*)&gBarinadeBariSkel, &gBarinadeBariAnim, NULL, NULL, + 0); this->actor.shape.yOffset = 400.0f; break; case BOSSVA_DOOR: diff --git a/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c b/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c index 51237a88e..cab53df6a 100644 --- a/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c +++ b/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c @@ -167,7 +167,7 @@ void DemoIk_MoveToStartPos(DemoIk* this, PlayState* play, s32 cueChannel) { void DemoIk_Type1Init(DemoIk* this, PlayState* play) { s32 pad[3]; - SkeletonHeader* skeleton; + FlexSkeletonHeader* skeleton; AnimationHeader* animation; f32 phi_f0; @@ -189,7 +189,8 @@ void DemoIk_Type1Init(DemoIk* this, PlayState* play) { // No break is required for matching } ActorShape_Init(&this->actor.shape, 0.0f, ActorShadow_DrawCircle, phi_f0); - SkelAnime_Init(play, &this->skelAnime, skeleton, NULL, this->jointTable, this->morphTable, 2); + //! @bug Flex skeleton is used as normal skeleton + SkelAnime_Init(play, &this->skelAnime, (SkeletonHeader*)skeleton, NULL, this->jointTable, this->morphTable, 2); Animation_Change(&this->skelAnime, animation, 1.0f, 0.0f, Animation_GetLastFrame(animation), ANIMMODE_ONCE, 0.0f); } diff --git a/src/overlays/actors/ovl_En_Box/z_en_box.c b/src/overlays/actors/ovl_En_Box/z_en_box.c index 1e1e2271f..1ecc77193 100644 --- a/src/overlays/actors/ovl_En_Box/z_en_box.c +++ b/src/overlays/actors/ovl_En_Box/z_en_box.c @@ -188,7 +188,9 @@ void EnBox_Init(Actor* thisx, PlayState* play2) { this->dyna.actor.world.rot.y += 0x8000; this->dyna.actor.home.rot.z = this->dyna.actor.world.rot.z = this->dyna.actor.shape.rot.z = 0; - SkelAnime_Init(play, &this->skelanime, &gTreasureChestSkel, anim, this->jointTable, this->morphTable, 5); + //! @bug Flex skeleton is used as normal skeleton + SkelAnime_Init(play, &this->skelanime, (SkeletonHeader*)&gTreasureChestSkel, anim, this->jointTable, + this->morphTable, 5); Animation_Change(&this->skelanime, anim, 1.5f, animFrameStart, endFrame, ANIMMODE_ONCE, 0.0f); switch (this->type) { diff --git a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c index 6228b1c2f..5c18294fb 100644 --- a/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c +++ b/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c @@ -196,8 +196,9 @@ void EnDntNomal_WaitForObject(EnDntNomal* this, PlayState* play) { this->actor.gravity = -2.0f; Actor_SetScale(&this->actor, 0.01f); if (this->type == ENDNTNOMAL_TARGET) { - SkelAnime_Init(play, &this->skelAnime, &gHintNutsSkel, &gHintNutsBurrowAnim, this->jointTable, - this->morphTable, 10); + //! @bug Flex skeleton is used as normal skeleton + SkelAnime_Init(play, &this->skelAnime, (SkeletonHeader*)&gHintNutsSkel, &gHintNutsBurrowAnim, + this->jointTable, this->morphTable, 10); this->actor.draw = EnDntNomal_DrawTargetScrub; } else { SkelAnime_Init(play, &this->skelAnime, &gDntStageSkel, &gDntStageHideAnim, this->jointTable, diff --git a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c index 94db22bdb..454f83c2d 100644 --- a/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c +++ b/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c @@ -85,8 +85,9 @@ void EnHintnuts_Init(Actor* thisx, PlayState* play) { this->actor.flags &= ~(ACTOR_FLAG_ATTENTION_ENABLED | ACTOR_FLAG_HOSTILE); } else { ActorShape_Init(&this->actor.shape, 0x0, ActorShadow_DrawCircle, 35.0f); - SkelAnime_Init(play, &this->skelAnime, &gHintNutsSkel, &gHintNutsStandAnim, this->jointTable, this->morphTable, - 10); + //! @bug Flex skeleton is used as normal skeleton + SkelAnime_Init(play, &this->skelAnime, (SkeletonHeader*)&gHintNutsSkel, &gHintNutsStandAnim, this->jointTable, + this->morphTable, 10); Collider_InitCylinder(play, &this->collider); Collider_SetCylinder(play, &this->collider, &this->actor, &sCylinderInit); CollisionCheck_SetInfo(&this->actor.colChkInfo, NULL, &sColChkInfoInit);