summaryrefslogtreecommitdiff
path: root/soh
diff options
context:
space:
mode:
authorNicholas Estelami <NEstelami@users.noreply.github.com>2023-09-26 09:45:10 -0400
committerGitHub <noreply@github.com>2023-09-26 08:45:10 -0500
commitccd05d8e58e9af92fa05d6e882e2ff6fde7bbcdd (patch)
tree2a4274c71266cf0dc6273480cc6cd2cac160fd8a /soh
parent098d5a80446a067d7a7658ee69136ccd4918964c (diff)
Removed hardcoded skeleton types in actor draw code. (#2979)
* Initial PAL 1.1 support * Misc fixes * Updated game to remove hardcoded skeleton types when rendering * Fixed weird rebase issue * Replaced remaining skeleton calls * lus submodule fix * Remove OTRGui
Diffstat (limited to 'soh')
-rw-r--r--soh/include/functions.h2
-rwxr-xr-xsoh/include/z64animation.h6
-rw-r--r--soh/soh/resource/importer/SkeletonFactory.cpp3
-rw-r--r--soh/soh/resource/type/Skeleton.cpp8
-rw-r--r--soh/soh/resource/type/Skeleton.h1
-rw-r--r--soh/src/code/z_skelanime.c17
-rw-r--r--soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c3
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c3
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c6
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c3
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c3
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c7
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c3
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c3
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c3
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c7
-rw-r--r--soh/src/overlays/actors/ovl_Boss_Va/z_boss_va.c13
-rw-r--r--soh/src/overlays/actors/ovl_Demo_Du/z_demo_du.c3
-rw-r--r--soh/src/overlays/actors/ovl_Demo_Go/z_demo_go.c3
-rw-r--r--soh/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c5
-rw-r--r--soh/src/overlays/actors/ovl_Demo_Im/z_demo_im.c3
-rw-r--r--soh/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c3
-rw-r--r--soh/src/overlays/actors/ovl_Door_Killer/z_door_killer.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Am/z_en_am.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Bb/z_en_bb.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Bird/z_en_bird.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Brob/z_en_brob.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Butte/z_en_butte.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Cow/z_en_cow.c6
-rw-r--r--soh/src/overlays/actors/ovl_En_Crow/z_en_crow.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Cs/z_en_cs.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Dha/z_en_dha.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c4
-rw-r--r--soh/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Dog/z_en_dog.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Door/z_en_door.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Fish/z_en_fish.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Fr/z_en_fr.c6
-rw-r--r--soh/src/overlays/actors/ovl_En_Fu/z_en_fu.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Fw/z_en_fw.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Gm/z_en_gm.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Go/z_en_go.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Goma/z_en_goma.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Guest/z_en_guest.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Hata/z_en_hata.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Hs/z_en_hs.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ik/z_en_ik.c9
-rw-r--r--soh/src/overlays/actors/ovl_En_In/z_en_in.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Insect/z_en_insect.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Jj/z_en_jj.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Js/z_en_js.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c33
-rw-r--r--soh/src/overlays/actors/ovl_En_Mag/z_en_mag.h2
-rw-r--r--soh/src/overlays/actors/ovl_En_Mb/z_en_mb.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Mm/z_en_mm.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Mu/z_en_mu.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Nb/z_en_nb.c9
-rw-r--r--soh/src/overlays/actors/ovl_En_Niw/z_en_niw.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c21
-rw-r--r--soh/src/overlays/actors/ovl_En_Owl/z_en_owl.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Rl/z_en_rl.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Sb/z_en_sb.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Skb/z_en_skb.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_St/z_en_st.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Sth/z_en_sth.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Sw/z_en_sw.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Test/z_en_test.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Tg/z_en_tg.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Tite/z_en_tite.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Tk/z_en_tk.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Tr/z_en_tr.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c18
-rw-r--r--soh/src/overlays/actors/ovl_En_Vm/z_en_vm.c2
-rw-r--r--soh/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Wf/z_en_wf.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c14
-rw-r--r--soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c3
-rw-r--r--soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c3
-rw-r--r--soh/src/overlays/actors/ovl_Fishing/z_fishing.c9
132 files changed, 219 insertions, 296 deletions
diff --git a/soh/include/functions.h b/soh/include/functions.h
index 2420d2a6a..6b7732ae9 100644
--- a/soh/include/functions.h
+++ b/soh/include/functions.h
@@ -1257,6 +1257,8 @@ void SkelAnime_DrawLod(PlayState* play, void** skeleton, Vec3s* jointTable,
void SkelAnime_DrawFlexLod(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg,
s32 dListIndex);
+void SkelAnime_DrawSkeletonOpa(PlayState* play, SkelAnime* skelAnime, OverrideLimbDrawOpa overrideLimbDraw,
+ PostLimbDrawOpa postLimbDraw, void* arg);
void SkelAnime_DrawOpa(PlayState* play, void** skeleton, Vec3s* jointTable,
OverrideLimbDrawOpa overrideLimbDraw, PostLimbDrawOpa postLimbDraw, void* arg);
void SkelAnime_DrawFlexOpa(PlayState* play, void** skeleton, Vec3s* jointTable, s32 dListCount,
diff --git a/soh/include/z64animation.h b/soh/include/z64animation.h
index e1ef1c073..b61627a27 100755
--- a/soh/include/z64animation.h
+++ b/soh/include/z64animation.h
@@ -16,6 +16,10 @@ struct SkelAnime;
#define ANIM_FLAG_UPDATEY (1 << 1)
#define ANIM_FLAG_NOMOVE (1 << 4)
+#define SKELANIME_TYPE_NORMAL 0
+#define SKELANIME_TYPE_FLEX 1
+#define SKELANIME_TYPE_CURVE 2
+
typedef enum {
/* 0 */ ANIMMODE_LOOP,
/* 1 */ ANIMMODE_LOOP_INTERP,
@@ -57,6 +61,7 @@ typedef struct LegacyLimb {
typedef struct {
/* 0x00 */ void** segment;
/* 0x04 */ u8 limbCount;
+ u8 skeletonType;
} SkeletonHeader; // size = 0x8
// Model has limbs with flexible meshes
@@ -261,6 +266,7 @@ typedef struct SkelAnime {
/* 0x36 */ s16 prevRot; // Previous rotation in worldspace.
/* 0x38 */ Vec3s prevTransl; // Previous modelspace translation.
/* 0x3E */ Vec3s baseTransl; // Base modelspace translation.
+ SkeletonHeader* skeletonHeader;
} SkelAnime; // size = 0x44
#endif
diff --git a/soh/soh/resource/importer/SkeletonFactory.cpp b/soh/soh/resource/importer/SkeletonFactory.cpp
index 4920d47c9..559da0cea 100644
--- a/soh/soh/resource/importer/SkeletonFactory.cpp
+++ b/soh/soh/resource/importer/SkeletonFactory.cpp
@@ -96,6 +96,8 @@ void SkeletonFactoryV0::ParseFileBinary(std::shared_ptr<BinaryReader> reader,
} else {
SPDLOG_ERROR("unknown skeleton type {}", (uint32_t)skeleton->type);
}
+
+ skeleton->skeletonData.skeletonHeader.skeletonType = (uint8_t)skeleton->type;
}
void SkeletonFactoryV0::ParseFileXML(tinyxml2::XMLElement* reader, std::shared_ptr<IResource> resource)
{
@@ -150,6 +152,7 @@ void SkeletonFactoryV0::ParseFileXML(tinyxml2::XMLElement* reader, std::shared_p
skel->skeletonData.flexSkeletonHeader.sh.limbCount = skel->limbCount;
skel->skeletonData.flexSkeletonHeader.sh.segment = (void**)skel->skeletonHeaderSegments.data();
skel->skeletonData.flexSkeletonHeader.dListCount = skel->dListCount;
+ skel->skeletonData.skeletonHeader.skeletonType = (uint8_t)skel->type;
}
} // namespace LUS
diff --git a/soh/soh/resource/type/Skeleton.cpp b/soh/soh/resource/type/Skeleton.cpp
index 2cb155cf3..13798d3c5 100644
--- a/soh/soh/resource/type/Skeleton.cpp
+++ b/soh/soh/resource/type/Skeleton.cpp
@@ -66,15 +66,17 @@ void SkeletonPatcher::ClearSkeletons()
void SkeletonPatcher::UpdateSkeletons() {
bool isHD = CVarGetInteger("gAltAssets", 0);
- for (auto skel : skeletons)
- {
+ for (auto skel : skeletons) {
Skeleton* newSkel =
(Skeleton*)LUS::Context::GetInstance()->GetResourceManager()
->LoadResource((isHD ? LUS::IResource::gAltAssetPrefix : "") + skel.vanillaSkeletonPath, true)
.get();
- if (newSkel != nullptr)
+ if (newSkel != nullptr) {
skel.skelAnime->skeleton = newSkel->skeletonData.skeletonHeader.segment;
+ uintptr_t skelPtr = (uintptr_t)newSkel->GetPointer();
+ memcpy(&skel.skelAnime->skeletonHeader, &skelPtr, sizeof(uintptr_t)); // Dumb thing that needs to be done because cast is not cooperating
+ }
}
}
} // namespace LUS
diff --git a/soh/soh/resource/type/Skeleton.h b/soh/soh/resource/type/Skeleton.h
index 98548d9fd..490614a44 100644
--- a/soh/soh/resource/type/Skeleton.h
+++ b/soh/soh/resource/type/Skeleton.h
@@ -24,6 +24,7 @@ enum class SkeletonType {
typedef struct {
/* 0x00 */ void** segment;
/* 0x04 */ uint8_t limbCount;
+ uint8_t skeletonType;
} SkeletonHeader; // size = 0x8
// Model has limbs with flexible meshes
diff --git a/soh/src/code/z_skelanime.c b/soh/src/code/z_skelanime.c
index 5b687e97c..7440640a0 100644
--- a/soh/src/code/z_skelanime.c
+++ b/soh/src/code/z_skelanime.c
@@ -284,6 +284,20 @@ void SkelAnime_DrawLimbOpa(PlayState* play, s32 limbIndex, void** skeleton, Vec3
CLOSE_DISPS(play->state.gfxCtx);
}
+// Checks the skeleton header to draw the appropriate skeleton type instead of harcoding the type in the actor's draw function...
+void SkelAnime_DrawSkeletonOpa(PlayState* play, SkelAnime* skelAnime, OverrideLimbDrawOpa overrideLimbDraw,
+ PostLimbDrawOpa postLimbDraw, void* arg) {
+ if (skelAnime->skeletonHeader->skeletonType == SKELANIME_TYPE_NORMAL) {
+ SkelAnime_DrawOpa(play, skelAnime->skeleton, skelAnime->jointTable, overrideLimbDraw, postLimbDraw, arg);
+ }
+ else if (skelAnime->skeletonHeader->skeletonType == SKELANIME_TYPE_FLEX)
+ {
+ FlexSkeletonHeader* flexHeader = (FlexSkeletonHeader*)skelAnime->skeletonHeader;
+ SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, flexHeader->dListCount,
+ overrideLimbDraw, postLimbDraw, arg);
+ }
+}
+
/**
* Draw all limbs of type `StandardLimb` in a given skeleton to the polyOpa buffer
*/
@@ -1436,6 +1450,7 @@ s32 SkelAnime_Init(PlayState* play, SkelAnime* skelAnime, SkeletonHeader* skelet
SkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg);
+ skelAnime->skeletonHeader = skeletonHeader;
skelAnime->limbCount = skeletonHeader->limbCount + 1;
skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment);
if (jointTable == NULL) {
@@ -1469,6 +1484,7 @@ s32 SkelAnime_InitFlex(PlayState* play, SkelAnime* skelAnime, FlexSkeletonHeader
FlexSkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg);
+ skelAnime->skeletonHeader = skeletonHeader;
skelAnime->limbCount = skeletonHeader->sh.limbCount + 1;
skelAnime->dListCount = skeletonHeader->dListCount;
skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->sh.segment);
@@ -1506,6 +1522,7 @@ s32 SkelAnime_InitSkin(PlayState* play, SkelAnime* skelAnime, SkeletonHeader* sk
SkeletonHeader* skeletonHeader = SEGMENTED_TO_VIRTUAL(skeletonHeaderSeg);
+ skelAnime->skeletonHeader = skeletonHeader;
skelAnime->limbCount = skeletonHeader->limbCount + 1;
skelAnime->skeleton = SEGMENTED_TO_VIRTUAL(skeletonHeader->segment);
skelAnime->jointTable =
diff --git a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c
index c5a50a87c..cbd47fee1 100644
--- a/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c
+++ b/soh/src/overlays/actors/ovl_Bg_Dy_Yoseizo/z_bg_dy_yoseizo.c
@@ -934,8 +934,7 @@ void BgDyYoseizo_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthState]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, BgDyYoseizo_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BgDyYoseizo_OverrideLimbDraw, NULL, this);
}
CLOSE_DISPS(play->state.gfxCtx);
BgDyYoseizo_ParticleDraw(this, play);
diff --git a/soh/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c b/soh/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c
index 4a015a4f8..f35c2094e 100644
--- a/soh/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c
+++ b/soh/src/overlays/actors/ovl_Boss_Dodongo/z_boss_dodongo.c
@@ -1165,8 +1165,7 @@ void BossDodongo_Draw(Actor* thisx, PlayState* play) {
Matrix_RotateZ(this->unk_23C, MTXMODE_APPLY);
Matrix_RotateX((this->unk_1C4 / 32768.0f) * 3.14159f, MTXMODE_APPLY);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, BossDodongo_OverrideLimbDraw,
- BossDodongo_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossDodongo_OverrideLimbDraw, BossDodongo_PostLimbDraw, this);
POLY_OPA_DISP = Play_SetFog(play, POLY_OPA_DISP);
diff --git a/soh/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c b/soh/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c
index e56858317..962190885 100644
--- a/soh/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c
+++ b/soh/src/overlays/actors/ovl_Boss_Fd/z_boss_fd.c
@@ -1857,7 +1857,7 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) {
Matrix_RotateX(-this->bodySegsRot[segIndex].x, MTXMODE_APPLY);
Matrix_Translate(-13.0f, -5.0f, 13.0f, MTXMODE_APPLY);
Matrix_Scale(this->actor.scale.x * 0.1f, this->actor.scale.y * 0.1f, this->actor.scale.z * 0.1f, MTXMODE_APPLY);
- SkelAnime_DrawOpa(play, this->skelAnimeRightArm.skeleton, this->skelAnimeRightArm.jointTable,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnimeRightArm,
BossFd_OverrideRightArmDraw, NULL, this);
Matrix_Pop();
osSyncPrintf("RH\n");
@@ -1869,7 +1869,7 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) {
Matrix_RotateX(-this->bodySegsRot[segIndex].x, MTXMODE_APPLY);
Matrix_Translate(13.0f, -5.0f, 13.0f, MTXMODE_APPLY);
Matrix_Scale(this->actor.scale.x * 0.1f, this->actor.scale.y * 0.1f, this->actor.scale.z * 0.1f, MTXMODE_APPLY);
- SkelAnime_DrawOpa(play, this->skelAnimeLeftArm.skeleton, this->skelAnimeLeftArm.jointTable,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnimeLeftArm,
BossFd_OverrideLeftArmDraw, NULL, this);
Matrix_Pop();
osSyncPrintf("BD\n");
@@ -1966,7 +1966,7 @@ void BossFd_DrawBody(PlayState* play, BossFd* this) {
Matrix_Pop();
osSyncPrintf("BHCE\n");
Matrix_Scale(this->actor.scale.x * 0.1f, this->actor.scale.y * 0.1f, this->actor.scale.z * 0.1f, MTXMODE_APPLY);
- SkelAnime_DrawOpa(play, this->skelAnimeHead.skeleton, this->skelAnimeHead.jointTable, BossFd_OverrideHeadDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnimeHead, BossFd_OverrideHeadDraw,
BossFd_PostHeadDraw, &this->actor);
osSyncPrintf("SK\n");
{
diff --git a/soh/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c b/soh/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c
index b001f09e8..a523c875e 100644
--- a/soh/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c
+++ b/soh/src/overlays/actors/ovl_Boss_Fd2/z_boss_fd2.c
@@ -1226,8 +1226,7 @@ void BossFd2_Draw(Actor* thisx, PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0, 0, 255, 255, 255, 255);
gDPSetEnvColor(POLY_OPA_DISP++, 255, 255, 255, 128);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, BossFd2_OverrideLimbDraw, BossFd2_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossFd2_OverrideLimbDraw, BossFd2_PostLimbDraw, &this->actor);
BossFd2_DrawMane(this, play);
POLY_OPA_DISP = Play_SetFog(play, POLY_OPA_DISP);
}
diff --git a/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c b/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c
index 5601823ab..6cfa93860 100644
--- a/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c
+++ b/soh/src/overlays/actors/ovl_Boss_Ganon/z_boss_ganon.c
@@ -3891,8 +3891,7 @@ void BossGanon_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gGanondorfNormalEyeTex));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- BossGanon_OverrideLimbDraw, BossGanon_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossGanon_OverrideLimbDraw, BossGanon_PostLimbDraw, &this->actor);
this->unk_2EC[0].x = this->unk_2EC[1].x;
this->unk_2EC[0].y = this->unk_2EC[1].y + 30.0f;
diff --git a/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c b/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c
index f29d5beb9..811ebbd2c 100644
--- a/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c
+++ b/soh/src/overlays/actors/ovl_Boss_Ganon2/z_boss_ganon2.c
@@ -2819,8 +2819,7 @@ void BossGanon2_Draw(Actor* thisx, PlayState* play) {
BossGanon2_SetObjectSegment(this, play, OBJECT_GANON, true);
gSPSegment(POLY_XLU_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gGanondorfEmptyEyeTex));
gSPSegment(POLY_XLU_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gGanondorfEmptyEyeTex));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, NULL, BossGanon2_PostLimbDraw2, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, BossGanon2_PostLimbDraw2, this);
break;
case 1:
case 2:
@@ -2837,9 +2836,7 @@ void BossGanon2_Draw(Actor* thisx, PlayState* play) {
Matrix_Translate(0.0f, 4000.0f, -4000.0f, MTXMODE_APPLY);
gSPMatrix(POLY_OPA_DISP++, MATRIX_NEWMTX(play->state.gfxCtx),
G_MTX_NOPUSH | G_MTX_LOAD | G_MTX_MODELVIEW);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, BossGanon2_OverrideLimbDraw, BossGanon2_PostLimbDraw,
- this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossGanon2_OverrideLimbDraw, BossGanon2_PostLimbDraw, this);
POLY_OPA_DISP = Play_SetFog(play, POLY_OPA_DISP);
BossGanon2_GenShadowTexture(shadowTexture, this, play);
BossGanon2_DrawShadowTexture(shadowTexture, this, play);
diff --git a/soh/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c b/soh/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c
index aac63ed8c..244053915 100644
--- a/soh/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c
+++ b/soh/src/overlays/actors/ovl_Boss_Ganondrof/z_boss_ganondrof.c
@@ -1511,7 +1511,8 @@ void BossGanondrof_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, BossGanondrof_GetNullDList(play->state.gfxCtx));
}
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, BossGanondrof_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime,
+ BossGanondrof_OverrideLimbDraw,
BossGanondrof_PostLimbDraw, this);
osSyncPrintf("DRAW 22\n");
POLY_OPA_DISP = Play_SetFog(play, POLY_OPA_DISP);
diff --git a/soh/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c b/soh/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c
index 72623af22..c75c65ffc 100644
--- a/soh/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c
+++ b/soh/src/overlays/actors/ovl_Boss_Goma/z_boss_goma.c
@@ -2148,7 +2148,8 @@ void BossGoma_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, BossGoma_EmptyDlist(play->state.gfxCtx));
}
- SkelAnime_DrawOpa(play, this->skelanime.skeleton, this->skelanime.jointTable, BossGoma_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelanime,
+ BossGoma_OverrideLimbDraw,
BossGoma_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c b/soh/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c
index 48f47047f..dbd531ba9 100644
--- a/soh/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c
+++ b/soh/src/overlays/actors/ovl_Boss_Sst/z_boss_sst.c
@@ -2737,8 +2737,7 @@ void BossSst_DrawHand(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, sBodyStaticDList);
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- BossSst_OverrideHandDraw, BossSst_PostHandDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossSst_OverrideHandDraw, BossSst_PostHandDraw, this);
if (this->trailCount >= 2) {
BossSstHandTrail* trail;
BossSstHandTrail* trail2;
diff --git a/soh/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c b/soh/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c
index 0719e143a..9cc955797 100644
--- a/soh/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c
+++ b/soh/src/overlays/actors/ovl_Boss_Tw/z_boss_tw.c
@@ -3510,8 +3510,7 @@ void BossTw_Draw(Actor* thisx, PlayState* play2) {
}
Matrix_Push();
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, BossTw_OverrideLimbDraw, BossTw_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossTw_OverrideLimbDraw, BossTw_PostLimbDraw, this);
Matrix_Pop();
POLY_OPA_DISP = Play_SetFog(play, POLY_OPA_DISP);
}
@@ -3866,9 +3865,7 @@ void BossTw_TwinrovaDraw(Actor* thisx, PlayState* play2) {
(u32)this->fogB, 0, this->fogNear, this->fogFar);
Matrix_Push();
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, BossTw_TwinrovaOverrideLimbDraw, BossTw_TwinrovaPostLimbDraw,
- thisx);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossTw_TwinrovaOverrideLimbDraw, BossTw_TwinrovaPostLimbDraw, thisx);
Matrix_Pop();
Matrix_MultVec3f(&D_8094A9EC, &this->beamOrigin);
diff --git a/soh/src/overlays/actors/ovl_Boss_Va/z_boss_va.c b/soh/src/overlays/actors/ovl_Boss_Va/z_boss_va.c
index 005759565..e59e8085d 100644
--- a/soh/src/overlays/actors/ovl_Boss_Va/z_boss_va.c
+++ b/soh/src/overlays/actors/ovl_Boss_Va/z_boss_va.c
@@ -3231,7 +3231,7 @@ void BossVa_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09,
Gfx_TwoTexScroll(play->state.gfxCtx, 0, 0, (play->gameplayFrames * -10) % 32, 16,
0x20, 1, 0, (play->gameplayFrames * -5) % 32, 16, 32));
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime,
BossVa_BodyOverrideLimbDraw, BossVa_BodyPostLimbDraw, this);
}
break;
@@ -3239,8 +3239,7 @@ void BossVa_Draw(Actor* thisx, PlayState* play) {
case BOSSVA_SUPPORT_2:
case BOSSVA_SUPPORT_3:
if (!this->isDead) {
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, BossVa_SupportOverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossVa_SupportOverrideLimbDraw,
BossVa_SupportPostLimbDraw, this);
}
break;
@@ -3248,20 +3247,18 @@ void BossVa_Draw(Actor* thisx, PlayState* play) {
case BOSSVA_ZAPPER_2:
case BOSSVA_ZAPPER_3:
if (!this->isDead) {
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, BossVa_ZapperOverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, BossVa_ZapperOverrideLimbDraw,
BossVa_ZapperPostLimbDraw, this);
}
break;
case BOSSVA_STUMP_1:
case BOSSVA_STUMP_2:
case BOSSVA_STUMP_3:
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, NULL, NULL, NULL);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, NULL);
break;
default:
if (!this->isDead) {
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime,
BossVa_BariOverrideLimbDraw, BossVa_BariPostLimbDraw, this);
Collider_UpdateSpheres(0, &this->colliderSph);
if (sCsState < BOSSVA_BATTLE) {
diff --git a/soh/src/overlays/actors/ovl_Demo_Du/z_demo_du.c b/soh/src/overlays/actors/ovl_Demo_Du/z_demo_du.c
index 18f85675a..1c2f4c16b 100644
--- a/soh/src/overlays/actors/ovl_Demo_Du/z_demo_du.c
+++ b/soh/src/overlays/actors/ovl_Demo_Du/z_demo_du.c
@@ -1012,8 +1012,7 @@ void DemoDu_Draw_01(Actor* thisx, PlayState* play2) {
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
- this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, NULL, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_Demo_Go/z_demo_go.c b/soh/src/overlays/actors/ovl_Demo_Go/z_demo_go.c
index db665b7f8..8c7c981a4 100644
--- a/soh/src/overlays/actors/ovl_Demo_Go/z_demo_go.c
+++ b/soh/src/overlays/actors/ovl_Demo_Go/z_demo_go.c
@@ -337,8 +337,7 @@ void func_8097D29C(DemoGo* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTexture));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(mouthTexture));
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
- this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, NULL, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c b/soh/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c
index c6f4cd34f..07219945a 100644
--- a/soh/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c
+++ b/soh/src/overlays/actors/ovl_Demo_Ik/z_demo_ik.c
@@ -292,7 +292,7 @@ void DemoIk_Type1Draw(DemoIk* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, DemoIk_SetColors(gfxCtx, 245, 225, 155, 30, 30, 0));
gSPSegment(POLY_OPA_DISP++, 0x09, DemoIk_SetColors(gfxCtx, 255, 40, 0, 40, 0, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, DemoIk_SetColors(gfxCtx, 255, 255, 255, 20, 40, 30));
- SkelAnime_DrawOpa(play, skelAnime->skeleton, skelAnime->jointTable, NULL, DemoIk_Type1PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, NULL, DemoIk_Type1PostLimbDraw, this);
CLOSE_DISPS(gfxCtx);
}
@@ -460,8 +460,7 @@ void DemoIk_Type2Draw(DemoIk* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, DemoIk_SetColors(gfxCtx, 245, 225, 155, 30, 30, 0));
gSPSegment(POLY_OPA_DISP++, 0x09, DemoIk_SetColors(gfxCtx, 255, 40, 0, 40, 0, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, DemoIk_SetColors(gfxCtx, 255, 255, 255, 20, 40, 30));
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- DemoIk_Type2OverrideLimbDraw, DemoIk_Type2PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, DemoIk_Type2OverrideLimbDraw, DemoIk_Type2PostLimbDraw, this);
CLOSE_DISPS(gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_Demo_Im/z_demo_im.c b/soh/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
index d55cfe45f..6643423e0 100644
--- a/soh/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
+++ b/soh/src/overlays/actors/ovl_Demo_Im/z_demo_im.c
@@ -1231,8 +1231,7 @@ void DemoIm_DrawSolid(DemoIm* this, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- DemoIm_OverrideLimbDraw, DemoIm_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, DemoIm_OverrideLimbDraw, DemoIm_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c b/soh/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c
index 9449086cf..8e7a3c8a1 100644
--- a/soh/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c
+++ b/soh/src/overlays/actors/ovl_Demo_Sa/z_demo_sa.c
@@ -821,8 +821,7 @@ void DemoSa_DrawOpa(DemoSa* this, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- DemoSa_OverrideLimbDraw, NULL, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, DemoSa_OverrideLimbDraw, NULL, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_Door_Killer/z_door_killer.c b/soh/src/overlays/actors/ovl_Door_Killer/z_door_killer.c
index d93862d63..058b5cb23 100644
--- a/soh/src/overlays/actors/ovl_Door_Killer/z_door_killer.c
+++ b/soh/src/overlays/actors/ovl_Door_Killer/z_door_killer.c
@@ -532,8 +532,7 @@ void DoorKiller_DrawDoor(Actor* thisx, PlayState* play) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
DoorKiller_SetTexture(&this->actor, play);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, NULL);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, NULL);
}
void DoorKiller_DrawRubble(Actor* thisx, PlayState* play) {
diff --git a/soh/src/overlays/actors/ovl_En_Am/z_en_am.c b/soh/src/overlays/actors/ovl_En_Am/z_en_am.c
index e89981431..c5ca6686a 100644
--- a/soh/src/overlays/actors/ovl_En_Am/z_en_am.c
+++ b/soh/src/overlays/actors/ovl_En_Am/z_en_am.c
@@ -961,7 +961,8 @@ void EnAm_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, this->textureBlend);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, EnAm_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnAm_PostLimbDraw,
+ this);
if (this->iceTimer != 0) {
this->dyna.actor.colorFilterTimer++;
diff --git a/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c b/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c
index 075286901..2993ef18c 100644
--- a/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c
+++ b/soh/src/overlays/actors/ovl_En_Ani/z_en_ani.c
@@ -338,8 +338,7 @@ void EnAni_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnAni_OverrideLimbDraw, EnAni_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnAni_OverrideLimbDraw, EnAni_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c b/soh/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c
index ec725959c..07a47e5bd 100644
--- a/soh/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c
+++ b/soh/src/overlays/actors/ovl_En_Anubice/z_en_anubice.c
@@ -497,6 +497,6 @@ void EnAnubice_Draw(Actor* thisx, PlayState* play) {
EnAnubice* this = (EnAnubice*)thisx;
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnAnubice_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnAnubice_OverrideLimbDraw,
EnAnubice_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c b/soh/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c
index 1ddba826b..0fd7a83e1 100644
--- a/soh/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c
+++ b/soh/src/overlays/actors/ovl_En_Attack_Niw/z_en_attack_niw.c
@@ -401,6 +401,5 @@ void EnAttackNiw_Draw(Actor* thisx, PlayState* play) {
EnAttackNiw* this = (EnAttackNiw*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- func_809B5F98, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, func_809B5F98, NULL, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Bb/z_en_bb.c b/soh/src/overlays/actors/ovl_En_Bb/z_en_bb.c
index 9f2822986..39c0e54e9 100644
--- a/soh/src/overlays/actors/ovl_En_Bb/z_en_bb.c
+++ b/soh/src/overlays/actors/ovl_En_Bb/z_en_bb.c
@@ -1292,7 +1292,7 @@ void EnBb_Draw(Actor* thisx, PlayState* play) {
if (this->moveMode != BBMOVE_HIDDEN) {
if (this->actor.params <= ENBB_BLUE) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, EnBb_PostLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnBb_PostLimbDraw,
this);
if (this->fireIceTimer != 0) {
diff --git a/soh/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c b/soh/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
index 0ddb1a486..2f1c4abe4 100644
--- a/soh/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
+++ b/soh/src/overlays/actors/ovl_En_Bigokuta/z_en_bigokuta.c
@@ -892,8 +892,7 @@ void EnBigokuta_Draw(Actor* thisx, PlayState* play) {
Matrix_RotateY(-rotY, MTXMODE_APPLY);
}
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnBigokuta_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnBigokuta_OverrideLimbDraw, NULL, this);
} else {
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
gSPSegment(POLY_XLU_DISP++, 0x0C, D_80116280);
diff --git a/soh/src/overlays/actors/ovl_En_Bird/z_en_bird.c b/soh/src/overlays/actors/ovl_En_Bird/z_en_bird.c
index f521e1718..6b6c1f847 100644
--- a/soh/src/overlays/actors/ovl_En_Bird/z_en_bird.c
+++ b/soh/src/overlays/actors/ovl_En_Bird/z_en_bird.c
@@ -132,5 +132,5 @@ void EnBird_Update(Actor* thisx, PlayState* play) {
void EnBird_Draw(Actor* thisx, PlayState* play) {
EnBird* this = (EnBird*)thisx;
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, NULL);
}
diff --git a/soh/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c b/soh/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c
index 7ad117ccf..31f362763 100644
--- a/soh/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c
+++ b/soh/src/overlays/actors/ovl_En_Bom_Bowl_Man/z_en_bom_bowl_man.c
@@ -577,8 +577,7 @@ void EnBomBowlMan_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTextureIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnBomBowlMan_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnBomBowlMan_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Brob/z_en_brob.c b/soh/src/overlays/actors/ovl_En_Brob/z_en_brob.c
index cf4a2db89..a7d1b7a6c 100644
--- a/soh/src/overlays/actors/ovl_En_Brob/z_en_brob.c
+++ b/soh/src/overlays/actors/ovl_En_Brob/z_en_brob.c
@@ -326,6 +326,5 @@ void EnBrob_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
Matrix_Translate(0.0f, this->unk_1AE, 0.0f, MTXMODE_APPLY);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, EnBrob_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnBrob_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Butte/z_en_butte.c b/soh/src/overlays/actors/ovl_En_Butte/z_en_butte.c
index 60d40947c..7dac97580 100644
--- a/soh/src/overlays/actors/ovl_En_Butte/z_en_butte.c
+++ b/soh/src/overlays/actors/ovl_En_Butte/z_en_butte.c
@@ -427,7 +427,7 @@ void EnButte_Draw(Actor* thisx, PlayState* play) {
if (this->drawSkelAnime) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, NULL);
Collider_UpdateSpheres(0, &this->collider);
}
diff --git a/soh/src/overlays/actors/ovl_En_Cow/z_en_cow.c b/soh/src/overlays/actors/ovl_En_Cow/z_en_cow.c
index 2bbfecb49..dec4b6063 100644
--- a/soh/src/overlays/actors/ovl_En_Cow/z_en_cow.c
+++ b/soh/src/overlays/actors/ovl_En_Cow/z_en_cow.c
@@ -442,14 +442,12 @@ void EnCow_Draw(Actor* thisx, PlayState* play) {
EnCow* this = (EnCow*)thisx;
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnCow_OverrideLimbDraw, EnCow_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnCow_OverrideLimbDraw, EnCow_PostLimbDraw, this);
}
void func_809E0070(Actor* thisx, PlayState* play) {
EnCow* this = (EnCow*)thisx;
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Crow/z_en_crow.c b/soh/src/overlays/actors/ovl_En_Crow/z_en_crow.c
index 3fafc008a..24650142d 100644
--- a/soh/src/overlays/actors/ovl_En_Crow/z_en_crow.c
+++ b/soh/src/overlays/actors/ovl_En_Crow/z_en_crow.c
@@ -513,6 +513,5 @@ void EnCrow_Draw(Actor* thisx, PlayState* play) {
EnCrow* this = (EnCrow*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnCrow_OverrideLimbDraw, EnCrow_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnCrow_OverrideLimbDraw, EnCrow_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Cs/z_en_cs.c b/soh/src/overlays/actors/ovl_En_Cs/z_en_cs.c
index 6ce7b3485..d1659d21c 100644
--- a/soh/src/overlays/actors/ovl_En_Cs/z_en_cs.c
+++ b/soh/src/overlays/actors/ovl_En_Cs/z_en_cs.c
@@ -469,8 +469,7 @@ void EnCs_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnCs_OverrideLimbDraw, EnCs_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnCs_OverrideLimbDraw, EnCs_PostLimbDraw, &this->actor);
if (Flags_GetItemGetInf(ITEMGETINF_3A)) {
s32 childLinkObjectIndex = Object_GetIndex(&play->objectCtx, OBJECT_LINK_CHILD);
diff --git a/soh/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c b/soh/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
index ca38f7151..a8724f107 100644
--- a/soh/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
+++ b/soh/src/overlays/actors/ovl_En_Daiku/z_en_daiku.c
@@ -602,8 +602,7 @@ void EnDaiku_Draw(Actor* thisx, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 200, 0, 150, 255);
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnDaiku_OverrideLimbDraw, EnDaiku_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDaiku_OverrideLimbDraw, EnDaiku_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c b/soh/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
index 04f6fe0ca..6cc91e0c7 100644
--- a/soh/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
+++ b/soh/src/overlays/actors/ovl_En_Daiku_Kakariko/z_en_daiku_kakariko.c
@@ -559,8 +559,7 @@ void EnDaikuKakariko_Draw(Actor* thisx, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 200, 0, 150, 255);
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnDaikuKakariko_OverrideLimbDraw, EnDaikuKakariko_PostLimbDraw, thisx);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDaikuKakariko_OverrideLimbDraw, EnDaikuKakariko_PostLimbDraw, thisx);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c b/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c
index 0633158dc..2b4344f68 100644
--- a/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c
+++ b/soh/src/overlays/actors/ovl_En_Dekubaba/z_en_dekubaba.c
@@ -1289,7 +1289,7 @@ void EnDekubaba_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
if (this->actionFunc != EnDekubaba_DeadStickDrop) {
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL,
EnDekubaba_PostLimbDraw, this);
if (this->actionFunc == EnDekubaba_Wait) {
diff --git a/soh/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c b/soh/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c
index 7f2f8b42c..79ed4433e 100644
--- a/soh/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c
+++ b/soh/src/overlays/actors/ovl_En_Dekunuts/z_en_dekunuts.c
@@ -535,7 +535,7 @@ void EnDekunuts_Draw(Actor* thisx, PlayState* play) {
if (this->actor.params == DEKUNUTS_FLOWER) {
Gfx_DrawDListOpa(play, gDekuNutsFlowerDL);
} else {
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDekunuts_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDekunuts_OverrideLimbDraw,
NULL, this);
}
}
diff --git a/soh/src/overlays/actors/ovl_En_Dha/z_en_dha.c b/soh/src/overlays/actors/ovl_En_Dha/z_en_dha.c
index f485cf3d9..4f58b1937 100644
--- a/soh/src/overlays/actors/ovl_En_Dha/z_en_dha.c
+++ b/soh/src/overlays/actors/ovl_En_Dha/z_en_dha.c
@@ -463,6 +463,5 @@ void EnDha_Draw(Actor* thisx, PlayState* play) {
EnDha* this = (EnDha*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnDha_OverrideLimbDraw, EnDha_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDha_OverrideLimbDraw, EnDha_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c b/soh/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
index f3bed2351..d12e34c1a 100644
--- a/soh/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
+++ b/soh/src/overlays/actors/ovl_En_Diving_Game/z_en_diving_game.c
@@ -578,7 +578,6 @@ void EnDivingGame_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x0C, EnDivingGame_EmptyDList(play->state.gfxCtx));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeTexIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnDivingGame_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDivingGame_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c b/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c
index d99a48f4d..a50a69cbe 100644
--- a/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c
+++ b/soh/src/overlays/actors/ovl_En_Dns/z_en_dns.c
@@ -554,6 +554,5 @@ void EnDns_Draw(Actor* thisx, PlayState* play) {
EnDns* this = (EnDns*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, &this->actor);
}
diff --git a/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c b/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c
index 9b44e0cfc..ae09cb438 100644
--- a/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c
+++ b/soh/src/overlays/actors/ovl_En_Dnt_Jiji/z_en_dnt_jiji.c
@@ -437,7 +437,7 @@ void EnDntJiji_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
Matrix_Push();
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(blinkTex[this->eyeState]));
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
Matrix_Pop();
Matrix_Translate(this->flowerPos.x, this->flowerPos.y, this->flowerPos.z, MTXMODE_NEW);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
diff --git a/soh/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c b/soh/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c
index ecd84158a..dac77a90f 100644
--- a/soh/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c
+++ b/soh/src/overlays/actors/ovl_En_Dnt_Nomal/z_en_dnt_nomal.c
@@ -862,7 +862,7 @@ void EnDntNomal_DrawStageScrub(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(blinkTex[this->eyeState]));
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDntNomal_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDntNomal_OverrideLimbDraw,
EnDntNomal_PostLimbDraw, this);
Matrix_Translate(this->flowerPos.x, this->flowerPos.y, this->flowerPos.z, MTXMODE_NEW);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
@@ -883,7 +883,7 @@ void EnDntNomal_DrawTargetScrub(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, EnDntNomal_PostLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnDntNomal_PostLimbDraw,
this);
Matrix_Translate(this->flowerPos.x, this->flowerPos.y, this->flowerPos.z, MTXMODE_NEW);
Matrix_Scale(0.01f, 0.01f, 0.01f, MTXMODE_APPLY);
diff --git a/soh/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c b/soh/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c
index 7afd537bd..96b18b372 100644
--- a/soh/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c
+++ b/soh/src/overlays/actors/ovl_En_Dodojr/z_en_dodojr.c
@@ -648,7 +648,8 @@ void EnDodojr_Draw(Actor* thisx, PlayState* play) {
if ((this->actionFunc != func_809F73AC) && (this->actionFunc != func_809F7BE4)) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, func_809F7D50, func_809F7DFC,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, func_809F7D50,
+ func_809F7DFC,
&this->actor);
}
}
diff --git a/soh/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c b/soh/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
index bca95bdc4..359477614 100644
--- a/soh/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
+++ b/soh/src/overlays/actors/ovl_En_Dodongo/z_en_dodongo.c
@@ -923,7 +923,7 @@ void EnDodongo_Draw(Actor* thisx, PlayState* play2) {
s32 index;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDodongo_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDodongo_OverrideLimbDraw,
EnDodongo_PostLimbDraw, this);
if (this->iceTimer != 0) {
diff --git a/soh/src/overlays/actors/ovl_En_Dog/z_en_dog.c b/soh/src/overlays/actors/ovl_En_Dog/z_en_dog.c
index 6d69969de..38a1cf95b 100644
--- a/soh/src/overlays/actors/ovl_En_Dog/z_en_dog.c
+++ b/soh/src/overlays/actors/ovl_En_Dog/z_en_dog.c
@@ -515,8 +515,7 @@ void EnDog_Draw(Actor* thisx, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, colors[this->actor.params & 0xF].r, colors[this->actor.params & 0xF].g,
colors[this->actor.params & 0xF].b, 0);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnDog_OverrideLimbDraw, EnDog_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDog_OverrideLimbDraw, EnDog_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Door/z_en_door.c b/soh/src/overlays/actors/ovl_En_Door/z_en_door.c
index 8f65d464e..f0442821a 100644
--- a/soh/src/overlays/actors/ovl_En_Door/z_en_door.c
+++ b/soh/src/overlays/actors/ovl_En_Door/z_en_door.c
@@ -338,7 +338,8 @@ void EnDoor_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnDoor_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime,
+ EnDoor_OverrideLimbDraw,
NULL, &this->actor);
if (this->actor.world.rot.y != 0) {
if (this->actor.world.rot.y > 0) {
diff --git a/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c b/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c
index 21891b219..784ed5f78 100644
--- a/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c
+++ b/soh/src/overlays/actors/ovl_En_Ds/z_en_ds.c
@@ -328,6 +328,5 @@ void EnDs_Draw(Actor* thisx, PlayState* play) {
EnDs* this = (EnDs*)thisx;
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnDs_OverrideLimbDraw, EnDs_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnDs_OverrideLimbDraw, EnDs_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Fish/z_en_fish.c b/soh/src/overlays/actors/ovl_En_Fish/z_en_fish.c
index ceb9bd759..785d1fbca 100644
--- a/soh/src/overlays/actors/ovl_En_Fish/z_en_fish.c
+++ b/soh/src/overlays/actors/ovl_En_Fish/z_en_fish.c
@@ -764,7 +764,6 @@ void EnFish_Draw(Actor* thisx, PlayState* play) {
EnFish* this = (EnFish*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, NULL);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, NULL);
Collider_UpdateSpheres(0, &this->collider);
}
diff --git a/soh/src/overlays/actors/ovl_En_Fr/z_en_fr.c b/soh/src/overlays/actors/ovl_En_Fr/z_en_fr.c
index 38c54471f..a7aaa2f52 100644
--- a/soh/src/overlays/actors/ovl_En_Fr/z_en_fr.c
+++ b/soh/src/overlays/actors/ovl_En_Fr/z_en_fr.c
@@ -1115,13 +1115,13 @@ void EnFr_Draw(Actor* thisx, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, sEnFrColor[frogIndex].r, sEnFrColor[frogIndex].g, sEnFrColor[frogIndex].b, 255);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTexIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnFr_OverrideLimbDraw, EnFr_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnFr_OverrideLimbDraw, EnFr_PostLimbDraw, this);
if (this->isButterflyDrawn) {
Matrix_Translate(this->posButterfly.x, this->posButterfly.y, this->posButterfly.z, MTXMODE_NEW);
Matrix_Scale(0.015f, 0.015f, 0.015f, MTXMODE_APPLY);
Matrix_RotateZYX(this->actor.shape.rot.x, this->actor.shape.rot.y, this->actor.shape.rot.z, MTXMODE_APPLY);
- SkelAnime_DrawOpa(play, this->skelAnimeButterfly.skeleton, this->skelAnimeButterfly.jointTable, NULL, NULL,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnimeButterfly, NULL,
+ NULL,
NULL);
}
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Fu/z_en_fu.c b/soh/src/overlays/actors/ovl_En_Fu/z_en_fu.c
index 58c0fc67f..d2b8f7bef 100644
--- a/soh/src/overlays/actors/ovl_En_Fu/z_en_fu.c
+++ b/soh/src/overlays/actors/ovl_En_Fu/z_en_fu.c
@@ -332,8 +332,7 @@ void EnFu_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->facialExpression]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthSegments[this->facialExpression]));
- SkelAnime_DrawFlexOpa(play, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount,
- EnFu_OverrideLimbDraw, EnFu_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelanime, EnFu_OverrideLimbDraw, EnFu_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Fw/z_en_fw.c b/soh/src/overlays/actors/ovl_En_Fw/z_en_fw.c
index 3960d8544..61f009e47 100644
--- a/soh/src/overlays/actors/ovl_En_Fw/z_en_fw.c
+++ b/soh/src/overlays/actors/ovl_En_Fw/z_en_fw.c
@@ -406,8 +406,7 @@ void EnFw_Draw(Actor* thisx, PlayState* play) {
EnFw_DrawDust(this, play);
Matrix_Pop();
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnFw_OverrideLimbDraw, EnFw_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnFw_OverrideLimbDraw, EnFw_PostLimbDraw, this);
}
void EnFw_AddDust(EnFw* this, Vec3f* initialPos, Vec3f* initialSpeed, Vec3f* accel, u8 initialTimer, f32 scale,
diff --git a/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c b/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c
index ab4344f53..b8e24e19d 100644
--- a/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c
+++ b/soh/src/overlays/actors/ovl_En_Gb/z_en_gb.c
@@ -451,8 +451,7 @@ void EnGb_Draw(Actor* thisx, PlayState* play) {
Lights_PointNoGlowSetInfo(&this->lightInfo, this->dyna.actor.world.pos.x, this->dyna.actor.world.pos.y,
this->dyna.actor.world.pos.z, this->lightColor.r, this->lightColor.g, this->lightColor.b,
this->lightColor.a);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, &this->dyna.actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, &this->dyna.actor);
EnGb_DrawCagedSouls(this, play);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c b/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
index a442f582a..fa5f7787a 100644
--- a/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
+++ b/soh/src/overlays/actors/ovl_En_Ge1/z_en_ge1.c
@@ -880,8 +880,7 @@ void EnGe1_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnGe1_OverrideLimbDraw, EnGe1_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnGe1_OverrideLimbDraw, EnGe1_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c b/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c
index faccea3ef..6d5b673fd 100644
--- a/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c
+++ b/soh/src/overlays/actors/ovl_En_Ge2/z_en_ge2.c
@@ -683,8 +683,7 @@ void EnGe2_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
func_8002EBCC(&this->actor, play, 0);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnGe2_OverrideLimbDraw, EnGe2_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnGe2_OverrideLimbDraw, EnGe2_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c b/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
index a4d060502..4cb698970 100644
--- a/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
+++ b/soh/src/overlays/actors/ovl_En_Ge3/z_en_ge3.c
@@ -303,8 +303,7 @@ void EnGe3_Draw(Actor* thisx, PlayState* play2) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
func_8002EBCC(&this->actor, play, 0);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnGe3_OverrideLimbDraw, EnGe3_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime,EnGe3_OverrideLimbDraw, EnGe3_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c b/soh/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
index aa2b4f404..cd113f804 100644
--- a/soh/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
+++ b/soh/src/overlays/actors/ovl_En_GeldB/z_en_geldb.c
@@ -1588,8 +1588,7 @@ void EnGeldB_Draw(Actor* thisx, PlayState* play) {
if ((this->action != GELDB_WAIT) || !this->invisible) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->blinkState]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnGeldB_OverrideLimbDraw, EnGeldB_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnGeldB_OverrideLimbDraw, EnGeldB_PostLimbDraw, this);
if (this->action == GELDB_BLOCK) {
s32 i;
Vec3f blockTrisVtx0[3];
diff --git a/soh/src/overlays/actors/ovl_En_Gm/z_en_gm.c b/soh/src/overlays/actors/ovl_En_Gm/z_en_gm.c
index dfbd02309..8faca98f4 100644
--- a/soh/src/overlays/actors/ovl_En_Gm/z_en_gm.c
+++ b/soh/src/overlays/actors/ovl_En_Gm/z_en_gm.c
@@ -362,8 +362,7 @@ void EnGm_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gGoronCsMouthNeutralTex));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Go/z_en_go.c b/soh/src/overlays/actors/ovl_En_Go/z_en_go.c
index 8a0286def..bdfff4f4d 100644
--- a/soh/src/overlays/actors/ovl_En_Go/z_en_go.c
+++ b/soh/src/overlays/actors/ovl_En_Go/z_en_go.c
@@ -1166,8 +1166,7 @@ void EnGo_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gGoronCsEyeOpenTex));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gGoronCsMouthNeutralTex));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnGo_OverrideLimbDraw, EnGo_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnGo_OverrideLimbDraw, EnGo_PostLimbDraw, &this->actor);
EnGo_DrawDust(this, play);
}
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c b/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c
index 69180ee62..76ecaea95 100644
--- a/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c
+++ b/soh/src/overlays/actors/ovl_En_Go2/z_en_go2.c
@@ -2190,8 +2190,7 @@ void EnGo2_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTexIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthTexIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnGo2_OverrideLimbDraw, EnGo2_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnGo2_OverrideLimbDraw, EnGo2_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
}
diff --git a/soh/src/overlays/actors/ovl_En_Goma/z_en_goma.c b/soh/src/overlays/actors/ovl_En_Goma/z_en_goma.c
index 729aaa485..efaaed84c 100644
--- a/soh/src/overlays/actors/ovl_En_Goma/z_en_goma.c
+++ b/soh/src/overlays/actors/ovl_En_Goma/z_en_goma.c
@@ -804,7 +804,8 @@ void EnGoma_Draw(Actor* thisx, PlayState* play) {
Matrix_RotateX(this->actor.shape.rot.x / (f32)0x8000 * M_PI, MTXMODE_APPLY);
Matrix_RotateZ(this->actor.shape.rot.z / (f32)0x8000 * M_PI, MTXMODE_APPLY);
Matrix_Scale(this->actor.scale.x, this->actor.scale.y, this->actor.scale.z, MTXMODE_APPLY);
- SkelAnime_DrawOpa(play, this->skelanime.skeleton, this->skelanime.jointTable, EnGoma_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelanime,
+ EnGoma_OverrideLimbDraw,
NULL, this);
break;
diff --git a/soh/src/overlays/actors/ovl_En_Guest/z_en_guest.c b/soh/src/overlays/actors/ovl_En_Guest/z_en_guest.c
index 81c7ae38e..2d09ea016 100644
--- a/soh/src/overlays/actors/ovl_En_Guest/z_en_guest.c
+++ b/soh/src/overlays/actors/ovl_En_Guest/z_en_guest.c
@@ -231,8 +231,7 @@ void EnGuest_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A50708(play->state.gfxCtx, 160, 60, 220, 255));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(D_80A50BA4[this->unk_30E]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnGuest_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnGuest_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Hata/z_en_hata.c b/soh/src/overlays/actors/ovl_En_Hata/z_en_hata.c
index 3499a8120..6e36e2027 100644
--- a/soh/src/overlays/actors/ovl_En_Hata/z_en_hata.c
+++ b/soh/src/overlays/actors/ovl_En_Hata/z_en_hata.c
@@ -141,6 +141,7 @@ void EnHata_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
Matrix_Scale(1.0f, 1.1f, 1.0f, MTXMODE_APPLY);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHata_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime,
+ EnHata_OverrideLimbDraw,
EnHata_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c b/soh/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c
index 99c130e60..bc9bb416a 100644
--- a/soh/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c
+++ b/soh/src/overlays/actors/ovl_En_Heishi1/z_en_heishi1.c
@@ -506,7 +506,8 @@ void EnHeishi1_Draw(Actor* thisx, PlayState* play) {
Vec3f matrixScale = { 0.3f, 0.3f, 0.3f };
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi1_OverrideLimbDraw, NULL,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnHeishi1_OverrideLimbDraw,
+ NULL,
this);
func_80033C30(&this->actor.world.pos, &matrixScale, 0xFF, play);
diff --git a/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c b/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
index 60f6039e1..379ce2893 100644
--- a/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
+++ b/soh/src/overlays/actors/ovl_En_Heishi2/z_en_heishi2.c
@@ -846,7 +846,7 @@ void EnHeishi2_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi2_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnHeishi2_OverrideLimbDraw,
EnHeishi2_PostLimbDraw, this);
if ((this->type == 5) && (Flags_GetInfTable(INFTABLE_GATE_GUARD_PUT_ON_KEATON_MASK))) {
linkObjBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_LINK_CHILD);
diff --git a/soh/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c b/soh/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
index 04069f762..1ffae3633 100644
--- a/soh/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
+++ b/soh/src/overlays/actors/ovl_En_Heishi3/z_en_heishi3.c
@@ -251,6 +251,7 @@ void EnHeishi3_Draw(Actor* thisx, PlayState* play) {
EnHeishi3* this = (EnHeishi3*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi3_OverrideLimbDraw, NULL,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnHeishi3_OverrideLimbDraw,
+ NULL,
this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c b/soh/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
index 4af0b6280..16424c66d 100644
--- a/soh/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
+++ b/soh/src/overlays/actors/ovl_En_Heishi4/z_en_heishi4.c
@@ -418,6 +418,5 @@ void EnHeishi4_Draw(Actor* thisx, PlayState* play) {
EnHeishi4* this = (EnHeishi4*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHeishi_OverrideLimbDraw, NULL,
- this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnHeishi_OverrideLimbDraw, NULL, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c b/soh/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
index a30854bb8..93df97cd3 100644
--- a/soh/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
+++ b/soh/src/overlays/actors/ovl_En_Hintnuts/z_en_hintnuts.c
@@ -542,7 +542,8 @@ void EnHintnuts_Draw(Actor* thisx, PlayState* play) {
if (this->actor.params == 0xA) {
Gfx_DrawDListOpa(play, gHintNutsFlowerDL);
} else {
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnHintnuts_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime,
+ EnHintnuts_OverrideLimbDraw,
NULL, this);
}
}
diff --git a/soh/src/overlays/actors/ovl_En_Hs/z_en_hs.c b/soh/src/overlays/actors/ovl_En_Hs/z_en_hs.c
index 246af740f..ad79d99e2 100644
--- a/soh/src/overlays/actors/ovl_En_Hs/z_en_hs.c
+++ b/soh/src/overlays/actors/ovl_En_Hs/z_en_hs.c
@@ -334,6 +334,5 @@ void EnHs_Draw(Actor* thisx, PlayState* play) {
EnHs* this = (EnHs*)thisx;
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnHs_OverrideLimbDraw, EnHs_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnHs_OverrideLimbDraw, EnHs_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c b/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
index aeeaca357..3f8e61481 100644
--- a/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
+++ b/soh/src/overlays/actors/ovl_En_Hs2/z_en_hs2.c
@@ -166,6 +166,5 @@ void EnHs2_Draw(Actor* thisx, PlayState* play) {
EnHs2* this = (EnHs2*)thisx;
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnHs2_OverrideLimbDraw, EnHs2_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnHs2_OverrideLimbDraw, EnHs2_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c b/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c
index 5c425b234..da82d9f2f 100644
--- a/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c
+++ b/soh/src/overlays/actors/ovl_En_Hy/z_en_hy.c
@@ -1260,8 +1260,7 @@ void EnHy_Draw(Actor* thisx, PlayState* play) {
break;
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnHy_OverrideLimbDraw, EnHy_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnHy_OverrideLimbDraw, EnHy_PostLimbDraw, &this->actor);
}
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Ik/z_en_ik.c b/soh/src/overlays/actors/ovl_En_Ik/z_en_ik.c
index 535612094..b47b4faf7 100644
--- a/soh/src/overlays/actors/ovl_En_Ik/z_en_ik.c
+++ b/soh/src/overlays/actors/ovl_En_Ik/z_en_ik.c
@@ -970,8 +970,7 @@ void func_80A76798(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A761B0(play->state.gfxCtx, 225, 205, 115, 25, 20, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, func_80A761B0(play->state.gfxCtx, 225, 205, 115, 25, 20, 0));
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnIk_OverrideLimbDraw3, EnIk_PostLimbDraw3, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnIk_OverrideLimbDraw3, EnIk_PostLimbDraw3, this);
CLOSE_DISPS(play->state.gfxCtx);
}
@@ -1240,8 +1239,7 @@ void func_80A77844(EnIk* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, func_80A761B0(gfxCtx, 245, 225, 155, 30, 30, 0));
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A761B0(gfxCtx, 255, 40, 0, 40, 0, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, func_80A761B0(gfxCtx, 255, 255, 255, 20, 40, 30));
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- EnIk_OverrideLimbDraw2, EnIk_PostLimbDraw2, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, EnIk_OverrideLimbDraw2, EnIk_PostLimbDraw2, this);
CLOSE_DISPS(gfxCtx);
}
@@ -1394,8 +1392,7 @@ void func_80A77EDC(EnIk* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, func_80A761B0(gfxCtx, 245, 225, 155, 30, 30, 0));
gSPSegment(POLY_OPA_DISP++, 0x09, func_80A761B0(gfxCtx, 255, 40, 0, 40, 0, 0));
gSPSegment(POLY_OPA_DISP++, 0x0A, func_80A761B0(gfxCtx, 255, 255, 255, 20, 40, 30));
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- EnIk_OverrideLimbDraw1, EnIk_PostLimbDraw1, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, EnIk_OverrideLimbDraw1, EnIk_PostLimbDraw1, this);
CLOSE_DISPS(gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_In/z_en_in.c b/soh/src/overlays/actors/ovl_En_In/z_en_in.c
index f94365378..13014352a 100644
--- a/soh/src/overlays/actors/ovl_En_In/z_en_in.c
+++ b/soh/src/overlays/actors/ovl_En_In/z_en_in.c
@@ -1000,8 +1000,7 @@ void EnIn_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gIngoHeadGradient2Tex));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnIn_OverrideLimbDraw, EnIn_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnIn_OverrideLimbDraw, EnIn_PostLimbDraw, &this->actor);
}
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Insect/z_en_insect.c b/soh/src/overlays/actors/ovl_En_Insect/z_en_insect.c
index a6877ea6f..f1dff358a 100644
--- a/soh/src/overlays/actors/ovl_En_Insect/z_en_insect.c
+++ b/soh/src/overlays/actors/ovl_En_Insect/z_en_insect.c
@@ -795,7 +795,7 @@ void EnInsect_Draw(Actor* thisx, PlayState* play) {
EnInsect* this = (EnInsect*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, NULL);
Collider_UpdateSpheres(0, &this->collider);
D_80A7DEB4 = 0;
}
diff --git a/soh/src/overlays/actors/ovl_En_Jj/z_en_jj.c b/soh/src/overlays/actors/ovl_En_Jj/z_en_jj.c
index 2bd4db7eb..28d8967c2 100644
--- a/soh/src/overlays/actors/ovl_En_Jj/z_en_jj.c
+++ b/soh/src/overlays/actors/ovl_En_Jj/z_en_jj.c
@@ -318,8 +318,7 @@ void EnJj_Draw(Actor* thisx, PlayState* play2) {
Matrix_Translate(0.0f, (cosf(this->skelAnime.curFrame * (M_PI / 41.0f)) * 10.0f) - 10.0f, 0.0f, MTXMODE_APPLY);
Matrix_Scale(10.0f, 10.0f, 10.0f, MTXMODE_APPLY);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Js/z_en_js.c b/soh/src/overlays/actors/ovl_En_Js/z_en_js.c
index 30ed425f4..a02dadbaa 100644
--- a/soh/src/overlays/actors/ovl_En_Js/z_en_js.c
+++ b/soh/src/overlays/actors/ovl_En_Js/z_en_js.c
@@ -241,6 +241,5 @@ void EnJs_Draw(Actor* thisx, PlayState* play) {
EnJs* this = (EnJs*)thisx;
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnJs_OverrideLimbDraw, EnJs_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnJs_OverrideLimbDraw, EnJs_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c b/soh/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
index 376a647dd..8c3104e9b 100644
--- a/soh/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
+++ b/soh/src/overlays/actors/ovl_En_Kakasi/z_en_kakasi.c
@@ -344,6 +344,5 @@ void EnKakasi_Draw(Actor* thisx, PlayState* play) {
osSyncPrintf(VT_FGCOL(YELLOW) "☆☆☆☆☆ フラグ! ☆☆☆☆☆ %d\n" VT_RST, gSaveContext.scarecrowLongSongSet);
}
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelanime, NULL, NULL, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c b/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
index 61fd404c6..147347d87 100644
--- a/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
+++ b/soh/src/overlays/actors/ovl_En_Kakasi2/z_en_kakasi2.c
@@ -245,6 +245,5 @@ void func_80A90948(Actor* thisx, PlayState* play) {
EnKakasi2* this = (EnKakasi2*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c b/soh/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
index dd11e900e..bc2fb7632 100644
--- a/soh/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
+++ b/soh/src/overlays/actors/ovl_En_Kakasi3/z_en_kakasi3.c
@@ -436,6 +436,5 @@ void EnKakasi3_Draw(Actor* thisx, PlayState* play) {
EnKakasi3* this = (EnKakasi3*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c b/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
index 9cd6d544b..d78cf0820 100644
--- a/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
+++ b/soh/src/overlays/actors/ovl_En_Karebaba/z_en_karebaba.c
@@ -483,7 +483,7 @@ void EnKarebaba_Draw(Actor* thisx, PlayState* play) {
}
} else if (this->actionFunc != EnKarebaba_Dead) {
func_80026230(play, &black, 1, 2);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, NULL, NULL);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, NULL);
Matrix_Translate(this->actor.world.pos.x, this->actor.world.pos.y, this->actor.world.pos.z, MTXMODE_NEW);
if ((this->actionFunc == EnKarebaba_Regrow) || (this->actionFunc == EnKarebaba_Grow)) {
diff --git a/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c b/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c
index 322088618..2717dcdf5 100644
--- a/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c
+++ b/soh/src/overlays/actors/ovl_En_Kz/z_en_kz.c
@@ -554,8 +554,7 @@ void EnKz_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeSegments[this->eyeIdx]));
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelanime.skeleton, this->skelanime.jointTable, this->skelanime.dListCount,
- EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelanime, EnKz_OverrideLimbDraw, EnKz_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c b/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
index 8c9221307..d31aab6e8 100644
--- a/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
+++ b/soh/src/overlays/actors/ovl_En_Ma1/z_en_ma1.c
@@ -573,8 +573,7 @@ void EnMa1_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnMa1_OverrideLimbDraw, EnMa1_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnMa1_OverrideLimbDraw, EnMa1_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c b/soh/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
index 24bb301e0..dc50b0e0e 100644
--- a/soh/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
+++ b/soh/src/overlays/actors/ovl_En_Ma2/z_en_ma2.c
@@ -387,8 +387,7 @@ void EnMa2_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnMa2_OverrideLimbDraw, EnMa2_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnMa2_OverrideLimbDraw, EnMa2_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c b/soh/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
index 95c5df3e7..a424f8244 100644
--- a/soh/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
+++ b/soh/src/overlays/actors/ovl_En_Ma3/z_en_ma3.c
@@ -367,8 +367,7 @@ void EnMa3_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(sMouthTextures[this->mouthIndex]));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnMa3_OverrideLimbDraw, EnMa3_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnMa3_OverrideLimbDraw, EnMa3_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c b/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c
index c75988adc..5bde19542 100644
--- a/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c
+++ b/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.c
@@ -461,7 +461,7 @@ void EnMag_UpdateVanilla(Actor* thisx, PlayState* play) {
if (this->effectFadeInTimer == 0) {
this->effectPrimLodFrac = 128.0f;
-
+
this->effectPrimColor[2] = 170.0f;
this->effectEnvColor[1] = 100.0f;
@@ -544,7 +544,7 @@ void EnMag_DrawEffectTextures(Gfx** gfxp, const void* maskTex, void* effectTex,
s16 effectWidth, s16 effectHeight, s16 rectLeft, s16 rectTop, s16 rectWidth,
s16 rectHeight, u16 dsdx, u16 dtdy, u16 shifts, u16 shiftt, u16 flag, EnMag* this) {
Gfx* gfx = *gfxp;
-
+
gDPLoadMultiBlock_4b(gfx++, maskTex, 0x0000, 0, G_IM_FMT_I, maskWidth, maskHeight, 0, G_TX_NOMIRROR | G_TX_WRAP,
G_TX_NOMIRROR | G_TX_WRAP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
@@ -574,21 +574,21 @@ void EnMag_DrawImageRGBA32(Gfx** gfxp, s16 centerX, s16 centerY, const char* sou
s32 i;
Gfx_SetupDL_56Ptr(&gfx);
-
+
rectLeft = centerX - (width / 2);
rectTop = centerY - (height / 2);
-
+
gDPSetTileCustom(gfx++, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, height, 0, G_TX_NOMIRROR | G_TX_CLAMP,
G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
-
+
gDPSetTextureImage(gfx++, G_IM_FMT_RGBA, G_IM_SIZ_32b, width, source);
-
+
gDPLoadSync(gfx++);
gDPLoadTile(gfx++, G_TX_LOADTILE, 0, 0, (width - 1) << 2, (height - 1) << 2);
-
- gSPTextureRectangle(gfx++, rectLeft << 2, rectTop << 2, (rectLeft + (s32)width) << 2,
- (rectTop + height) << 2, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
-
+
+ gSPTextureRectangle(gfx++, rectLeft << 2, rectTop << 2, (rectLeft + (s32)width) << 2, (rectTop + height) << 2,
+ G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
+
*gfxp = gfx;
}
@@ -738,9 +738,8 @@ void EnMag_DrawInnerMq(Actor* thisx, PlayState* play, Gfx** gfxp) {
(s16)this->copyrightAlpha);
if ((s16)this->copyrightAlpha != 0) {
- gDPLoadTextureBlock(gfx++, copy_tex, G_IM_FMT_IA, G_IM_SIZ_8b, copy_width, 16, 0,
- G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK,
- G_TX_NOLOD, G_TX_NOLOD);
+ gDPLoadTextureBlock(gfx++, copy_tex, G_IM_FMT_IA, G_IM_SIZ_8b, copy_width, 16, 0, G_TX_NOMIRROR | G_TX_CLAMP,
+ G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfx++, copy_xl, 792, copy_xh, 856, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
}
@@ -924,7 +923,6 @@ void EnMag_DrawInnerVanilla(Actor* thisx, PlayState* play, Gfx** gfxp) {
EnMag_DrawTextureI8(&gfx, gTitleTheLegendOfTextTex, 72, 8, 153, 72, 72, 8, 1024, 1024);
EnMag_DrawTextureI8(&gfx, gTitleOcarinaOfTimeTMTextTex, 96, 8, 151, 126, 96, 8, 1024, 1024);
-
}
Gfx_SetupDL_39Ptr(&gfx);
@@ -936,9 +934,8 @@ void EnMag_DrawInnerVanilla(Actor* thisx, PlayState* play, Gfx** gfxp) {
(s16)this->copyrightAlpha);
if ((s16)this->copyrightAlpha != 0) {
- gDPLoadTextureBlock(gfx++, copy_tex, G_IM_FMT_IA, G_IM_SIZ_8b, copy_width, 16, 0,
- G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK,
- G_TX_NOLOD, G_TX_NOLOD);
+ gDPLoadTextureBlock(gfx++, copy_tex, G_IM_FMT_IA, G_IM_SIZ_8b, copy_width, 16, 0, G_TX_NOMIRROR | G_TX_CLAMP,
+ G_TX_NOMIRROR | G_TX_CLAMP, G_TX_NOMASK, G_TX_NOMASK, G_TX_NOLOD, G_TX_NOLOD);
gSPTextureRectangle(gfx++, copy_xl, 792, copy_xh, 856, G_TX_RENDERTILE, 0, 0, 1 << 10, 1 << 10);
}
@@ -1054,4 +1051,4 @@ void EnMag_Draw(Actor* thisx, PlayState* play) {
POLY_OPA_DISP = gfx;
CLOSE_DISPS(play->state.gfxCtx);
-}
+} \ No newline at end of file
diff --git a/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.h b/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.h
index bb1f01041..c3799502e 100644
--- a/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.h
+++ b/soh/src/overlays/actors/ovl_En_Mag/z_en_mag.h
@@ -44,4 +44,4 @@ typedef enum {
#define dgTitleCopyright1998Tex "__OTR__objects/object_mag/gTitleCopyright1998Tex"
static const ALIGN_ASSET(2) char gTitleCopyright1998Tex[] = dgTitleCopyright1998Tex;
-#endif
+#endif \ No newline at end of file
diff --git a/soh/src/overlays/actors/ovl_En_Mb/z_en_mb.c b/soh/src/overlays/actors/ovl_En_Mb/z_en_mb.c
index 03c807fba..59bee3ee5 100644
--- a/soh/src/overlays/actors/ovl_En_Mb/z_en_mb.c
+++ b/soh/src/overlays/actors/ovl_En_Mb/z_en_mb.c
@@ -1569,8 +1569,7 @@ void EnMb_Draw(Actor* thisx, PlayState* play) {
EnMb* this = (EnMb*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, EnMb_PostLimbDraw, thisx);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnMb_PostLimbDraw, thisx);
if (thisx->params != ENMB_TYPE_CLUB) {
if (this->attack > ENMB_ATTACK_NONE) {
diff --git a/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c b/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c
index e056a4b04..5e6cde3ce 100644
--- a/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c
+++ b/soh/src/overlays/actors/ovl_En_Mk/z_en_mk.c
@@ -401,6 +401,5 @@ void EnMk_Draw(Actor* thisx, PlayState* play) {
EnMk* this = (EnMk*)thisx;
Gfx_SetupDL_37Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnMk_OverrideLimbDraw, EnMk_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnMk_OverrideLimbDraw, EnMk_PostLimbDraw, &this->actor);
}
diff --git a/soh/src/overlays/actors/ovl_En_Mm/z_en_mm.c b/soh/src/overlays/actors/ovl_En_Mm/z_en_mm.c
index dbd9a2af6..f76c61674 100644
--- a/soh/src/overlays/actors/ovl_En_Mm/z_en_mm.c
+++ b/soh/src/overlays/actors/ovl_En_Mm/z_en_mm.c
@@ -521,8 +521,7 @@ void EnMm_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthTexIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnMm_OverrideLimbDraw, EnMm_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnMm_OverrideLimbDraw, EnMm_PostLimbDraw, this);
if (Flags_GetItemGetInf(ITEMGETINF_3B)) {
s32 linkChildObjBankIndex = Object_GetIndex(&play->objectCtx, OBJECT_LINK_CHILD);
diff --git a/soh/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c b/soh/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
index fc3164edf..b1bbc09a5 100644
--- a/soh/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
+++ b/soh/src/overlays/actors/ovl_En_Mm2/z_en_mm2.c
@@ -315,8 +315,7 @@ void EnMm2_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(mouthTextures[this->mouthTexIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnMm2_OverrideLimbDraw, EnMm2_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnMm2_OverrideLimbDraw, EnMm2_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c b/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c
index 039e7297f..9f52cfbae 100644
--- a/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c
+++ b/soh/src/overlays/actors/ovl_En_Ms/z_en_ms.c
@@ -204,6 +204,5 @@ void EnMs_Draw(Actor* thisx, PlayState* play) {
EnMs* this = (EnMs*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Mu/z_en_mu.c b/soh/src/overlays/actors/ovl_En_Mu/z_en_mu.c
index 2af75934c..d37b8d1ff 100644
--- a/soh/src/overlays/actors/ovl_En_Mu/z_en_mu.c
+++ b/soh/src/overlays/actors/ovl_En_Mu/z_en_mu.c
@@ -216,7 +216,6 @@ void EnMu_Draw(Actor* thisx, PlayState* play) {
colors[this->actor.params][i].g, colors[this->actor.params][i].b,
colors[this->actor.params][i].a));
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnMu_OverrideLimbDraw, EnMu_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnMu_OverrideLimbDraw, EnMu_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Nb/z_en_nb.c b/soh/src/overlays/actors/ovl_En_Nb/z_en_nb.c
index e5b3723cf..5e54cc990 100644
--- a/soh/src/overlays/actors/ovl_En_Nb/z_en_nb.c
+++ b/soh/src/overlays/actors/ovl_En_Nb/z_en_nb.c
@@ -964,8 +964,7 @@ void func_80AB2E70(EnNb* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gNabooruEyeWideTex));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
- &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, NULL, NULL, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
}
@@ -994,8 +993,7 @@ void func_80AB2FE4(EnNb* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTexture));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, func_80AB2FC0,
- NULL, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, func_80AB2FC0, NULL, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
}
@@ -1509,8 +1507,7 @@ void EnNb_DrawDefault(EnNb* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTexture));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- EnNb_OverrideLimbDraw, EnNb_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, EnNb_OverrideLimbDraw, EnNb_PostLimbDraw, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Niw/z_en_niw.c b/soh/src/overlays/actors/ovl_En_Niw/z_en_niw.c
index a8b967876..ddc9aea65 100644
--- a/soh/src/overlays/actors/ovl_En_Niw/z_en_niw.c
+++ b/soh/src/overlays/actors/ovl_En_Niw/z_en_niw.c
@@ -1138,8 +1138,7 @@ void EnNiw_Draw(Actor* thisx, PlayState* play) {
GraphicsContext* gfxCtx = play->state.gfxCtx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnNiw_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnNiw_OverrideLimbDraw, NULL, this);
if (this->actionFunc == func_80AB6450) {
func_80033C30(&this->actor.world.pos, &scale, 255, play);
diff --git a/soh/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c b/soh/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
index aecbd0224..5113b8a68 100644
--- a/soh/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
+++ b/soh/src/overlays/actors/ovl_En_Niw_Girl/z_en_niw_girl.c
@@ -258,8 +258,7 @@ void EnNiwGirl_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnNiwGirlOverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnNiwGirlOverrideLimbDraw, NULL, this);
func_80033C30(&this->actor.world.pos, &sp4C, 255, play);
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c b/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
index 29ac48373..03316928c 100644
--- a/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
+++ b/soh/src/overlays/actors/ovl_En_Niw_Lady/z_en_niw_lady.c
@@ -612,8 +612,7 @@ void EnNiwLady_Draw(Actor* thisx, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->faceState]));
gSPSegment(POLY_OPA_DISP++, 0x0C, func_80ABB0A0(play->state.gfxCtx));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnNiwLady_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnNiwLady_OverrideLimbDraw, NULL, this);
}
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c b/soh/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
index 0140290e6..017d1e9ae 100644
--- a/soh/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
+++ b/soh/src/overlays/actors/ovl_En_Okuta/z_en_okuta.c
@@ -758,7 +758,7 @@ void EnOkuta_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
if (this->actor.params == 0) {
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnOkuta_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnOkuta_OverrideLimbDraw,
NULL, this);
} else {
OPEN_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c b/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
index df1c64f1e..470beb5e2 100644
--- a/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
+++ b/soh/src/overlays/actors/ovl_En_Ossan/z_en_ossan.c
@@ -2461,8 +2461,7 @@ void EnOssan_DrawBazaarShopkeeper(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sBazaarShopkeeperEyeTextures[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnOssan_OverrideLimbDrawDefaultShopkeeper, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnOssan_OverrideLimbDrawDefaultShopkeeper, NULL, this);
EnOssan_DrawCursor(play, this, this->cursorX, this->cursorY, this->cursorZ, this->drawCursor);
EnOssan_DrawStickDirectionPrompts(play, this);
@@ -2520,8 +2519,7 @@ void EnOssan_DrawKokiriShopkeeper(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, EnOssan_SetEnvColor(play->state.gfxCtx, 110, 170, 20, 255));
gSPSegment(POLY_OPA_DISP++, 0x0C, EnOssan_EndDList(play->state.gfxCtx));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnOssan_OverrideLimbDrawKokiriShopkeeper, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnOssan_OverrideLimbDrawKokiriShopkeeper, NULL, this);
EnOssan_DrawCursor(play, this, this->cursorX, this->cursorY, this->cursorZ, this->drawCursor);
EnOssan_DrawStickDirectionPrompts(play, this);
@@ -2538,8 +2536,7 @@ void EnOssan_DrawGoronShopkeeper(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sGoronShopkeeperEyeTextures[this->eyeTextureIdx]));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gGoronCsMouthNeutralTex));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
EnOssan_DrawCursor(play, this, this->cursorX, this->cursorY, this->cursorZ, this->drawCursor);
EnOssan_DrawStickDirectionPrompts(play, this);
@@ -2568,8 +2565,7 @@ void EnOssan_DrawZoraShopkeeper(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x0C, EnOssan_EndDList(play->state.gfxCtx));
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sZoraShopkeeperEyeTextures[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnOssan_OverrideLimbDrawZoraShopkeeper, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnOssan_OverrideLimbDrawZoraShopkeeper, NULL, this);
EnOssan_DrawCursor(play, this, this->cursorX, this->cursorY, this->cursorZ, this->drawCursor);
EnOssan_DrawStickDirectionPrompts(play, this);
@@ -2586,8 +2582,7 @@ void EnOssan_DrawPotionShopkeeper(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sPotionShopkeeperEyeTextures[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
EnOssan_DrawCursor(play, this, this->cursorX, this->cursorY, this->cursorZ, this->drawCursor);
EnOssan_DrawStickDirectionPrompts(play, this);
@@ -2605,8 +2600,7 @@ void EnOssan_DrawHappyMaskShopkeeper(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08,
SEGMENTED_TO_VIRTUAL(sHappyMaskShopkeeperEyeTextures[this->happyMaskShopkeeperEyeIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
EnOssan_DrawCursor(play, this, this->cursorX, this->cursorY, this->cursorZ, this->drawCursor);
EnOssan_DrawStickDirectionPrompts(play, this);
@@ -2624,8 +2618,7 @@ void EnOssan_DrawBombchuShopkeeper(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sBombchuShopkeeperEyeTextures[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, NULL, this);
EnOssan_DrawCursor(play, this, this->cursorX, this->cursorY, this->cursorZ, this->drawCursor);
EnOssan_DrawStickDirectionPrompts(play, this);
diff --git a/soh/src/overlays/actors/ovl_En_Owl/z_en_owl.c b/soh/src/overlays/actors/ovl_En_Owl/z_en_owl.c
index 6d4d153be..9f46dc0a3 100644
--- a/soh/src/overlays/actors/ovl_En_Owl/z_en_owl.c
+++ b/soh/src/overlays/actors/ovl_En_Owl/z_en_owl.c
@@ -1363,8 +1363,7 @@ void EnOwl_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 8, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTexIndex]));
- SkelAnime_DrawFlexOpa(play, this->curSkelAnime->skeleton, this->curSkelAnime->jointTable,
- this->curSkelAnime->dListCount, EnOwl_OverrideLimbDraw, EnOwl_PostLimbUpdate, this);
+ SkelAnime_DrawSkeletonOpa(play, this->curSkelAnime, EnOwl_OverrideLimbDraw, EnOwl_PostLimbUpdate, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c b/soh/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c
index 27326234a..7b444f241 100644
--- a/soh/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c
+++ b/soh/src/overlays/actors/ovl_En_Peehat/z_en_peehat.c
@@ -1079,7 +1079,7 @@ void EnPeehat_Draw(Actor* thisx, PlayState* play) {
EnPeehat* this = (EnPeehat*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnPeehat_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnPeehat_OverrideLimbDraw,
EnPeehat_PostLimbDraw, this);
if (this->actor.speedXZ != 0.0f || this->actor.velocity.y != 0.0f) {
Matrix_MultVec3f(&D_80AD285C[0], &this->colQuad.dim.quad[1]);
diff --git a/soh/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c b/soh/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
index df1b79652..feefe662f 100644
--- a/soh/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
+++ b/soh/src/overlays/actors/ovl_En_Po_Relay/z_en_po_relay.c
@@ -433,7 +433,6 @@ void EnPoRelay_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesTextures[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, EnPoRelay_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnPoRelay_PostLimbDraw, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c b/soh/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
index 0d2a6ecca..76e5ae871 100644
--- a/soh/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
+++ b/soh/src/overlays/actors/ovl_En_Reeba/z_en_reeba.c
@@ -667,7 +667,7 @@ void EnReeba_Draw(Actor* thisx, PlayState* play) {
gDPSetPrimColor(POLY_OPA_DISP++, 0x0, 0x01, 255, 255, 255, 255);
}
- SkelAnime_DrawOpa(play, this->skelanime.skeleton, this->skelanime.jointTable, NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelanime, NULL, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Rl/z_en_rl.c b/soh/src/overlays/actors/ovl_En_Rl/z_en_rl.c
index 0cf1e87e2..73996d58f 100644
--- a/soh/src/overlays/actors/ovl_En_Rl/z_en_rl.c
+++ b/soh/src/overlays/actors/ovl_En_Rl/z_en_rl.c
@@ -359,8 +359,7 @@ void func_80AE7FDC(EnRl* this, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
- &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, NULL, NULL, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c b/soh/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
index 4e5630dd8..6be42b42d 100644
--- a/soh/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
+++ b/soh/src/overlays/actors/ovl_En_Ru2/z_en_ru2.c
@@ -813,8 +813,7 @@ void func_80AF3F20(EnRu2* this, PlayState* play) {
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
- this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, NULL, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Sb/z_en_sb.c b/soh/src/overlays/actors/ovl_En_Sb/z_en_sb.c
index 0c40a02cb..ad279d22c 100644
--- a/soh/src/overlays/actors/ovl_En_Sb/z_en_sb.c
+++ b/soh/src/overlays/actors/ovl_En_Sb/z_en_sb.c
@@ -488,8 +488,7 @@ void EnSb_Draw(Actor* thisx, PlayState* play) {
s16 fireDecr;
func_8002EBCC(&this->actor, play, 1);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- NULL, EnSb_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnSb_PostLimbDraw, this);
if (this->fire != 0) {
this->actor.colorFilterTimer++;
fireDecr = this->fire - 1;
diff --git a/soh/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c b/soh/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c
index 45e3b4e91..f3666e422 100644
--- a/soh/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c
+++ b/soh/src/overlays/actors/ovl_En_Shopnuts/z_en_shopnuts.c
@@ -313,6 +313,5 @@ void EnShopnuts_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s*
void EnShopnuts_Draw(Actor* thisx, PlayState* play) {
EnShopnuts* this = (EnShopnuts*)thisx;
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnShopnuts_OverrideLimbDraw, EnShopnuts_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnShopnuts_OverrideLimbDraw, EnShopnuts_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Skb/z_en_skb.c b/soh/src/overlays/actors/ovl_En_Skb/z_en_skb.c
index 956256ec4..6a5862747 100644
--- a/soh/src/overlays/actors/ovl_En_Skb/z_en_skb.c
+++ b/soh/src/overlays/actors/ovl_En_Skb/z_en_skb.c
@@ -556,6 +556,6 @@ void EnSkb_PostLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3s* rot,
void EnSkb_Draw(Actor* thisx, PlayState* play) {
EnSkb* this = (EnSkb*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnSkb_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnSkb_OverrideLimbDraw,
EnSkb_PostLimbDraw, &this->actor);
}
diff --git a/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c b/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c
index aecef5036..be92dfc82 100644
--- a/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c
+++ b/soh/src/overlays/actors/ovl_En_Skj/z_en_skj.c
@@ -1683,8 +1683,7 @@ void EnSkj_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x0C, EnSkj_OpaqueDL(play->state.gfxCtx, this->alpha));
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnSkj_OverrideLimbDraw, EnSkj_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnSkj_OverrideLimbDraw, EnSkj_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c b/soh/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
index 98910ffef..4751d049d 100644
--- a/soh/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
+++ b/soh/src/overlays/actors/ovl_En_Ssh/z_en_ssh.c
@@ -882,6 +882,6 @@ void EnSsh_Draw(Actor* thisx, PlayState* play) {
OPEN_DISPS(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(blinkTex[this->blinkState]));
CLOSE_DISPS(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnSsh_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnSsh_OverrideLimbDraw,
EnSsh_PostLimbDraw, &this->actor);
}
diff --git a/soh/src/overlays/actors/ovl_En_St/z_en_st.c b/soh/src/overlays/actors/ovl_En_St/z_en_st.c
index 9bb4a5720..59d4be6f3 100644
--- a/soh/src/overlays/actors/ovl_En_St/z_en_st.c
+++ b/soh/src/overlays/actors/ovl_En_St/z_en_st.c
@@ -1088,6 +1088,6 @@ void EnSt_Draw(Actor* thisx, PlayState* play) {
EnSt_CheckBodyStickHit(this, play);
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnSt_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnSt_OverrideLimbDraw,
EnSt_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Sth/z_en_sth.c b/soh/src/overlays/actors/ovl_En_Sth/z_en_sth.c
index 59204c6ca..46e3e73a9 100644
--- a/soh/src/overlays/actors/ovl_En_Sth/z_en_sth.c
+++ b/soh/src/overlays/actors/ovl_En_Sth/z_en_sth.c
@@ -441,8 +441,7 @@ void EnSth_Draw(Actor* thisx, PlayState* play) {
} else {
gSPSegment(POLY_OPA_DISP++, 0x09, EnSth_AllocColorDList(play->state.gfxCtx, 90, 110, 130, 255));
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnSth_OverrideLimbDraw, EnSth_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnSth_OverrideLimbDraw, EnSth_PostLimbDraw, &this->actor);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Sw/z_en_sw.c b/soh/src/overlays/actors/ovl_En_Sw/z_en_sw.c
index 8152e2e84..0a6825c0e 100644
--- a/soh/src/overlays/actors/ovl_En_Sw/z_en_sw.c
+++ b/soh/src/overlays/actors/ovl_En_Sw/z_en_sw.c
@@ -1034,7 +1034,7 @@ void EnSw_Draw(Actor* thisx, PlayState* play) {
}
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnSw_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnSw_OverrideLimbDraw,
EnSw_PostLimbDraw, this);
if (this->actionFunc == func_80B0E728) {
func_80B0EEA4(play);
diff --git a/soh/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c b/soh/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
index e74ef9732..2537ed6ad 100644
--- a/soh/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
+++ b/soh/src/overlays/actors/ovl_En_Syateki_Man/z_en_syateki_man.c
@@ -540,8 +540,7 @@ void EnSyatekiMan_Draw(Actor* thisx, PlayState* play) {
EnSyatekiMan* this = (EnSyatekiMan*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnSyatekiMan_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnSyatekiMan_OverrideLimbDraw, NULL, this);
}
void EnSyatekiMan_SetBgm(void) {
diff --git a/soh/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c b/soh/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
index c9831115b..367831fca 100644
--- a/soh/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
+++ b/soh/src/overlays/actors/ovl_En_Syateki_Niw/z_en_syateki_niw.c
@@ -703,8 +703,7 @@ void EnSyatekiNiw_Draw(Actor* thisx, PlayState* play) {
func_80026230(play, &sp30, 0, 0x14);
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, SyatekiNiw_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, SyatekiNiw_OverrideLimbDraw, NULL, this);
func_80026608(play);
func_80B13464(this, play);
}
diff --git a/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c b/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c
index b0fcc2ac6..3772b36f4 100644
--- a/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c
+++ b/soh/src/overlays/actors/ovl_En_Ta/z_en_ta.c
@@ -1236,8 +1236,7 @@ void EnTa_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x8, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeIndex]));
gSPSegment(POLY_OPA_DISP++, 0x9, SEGMENTED_TO_VIRTUAL(gTalonHeadSkinTex));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnTa_OverrideLimbDraw, EnTa_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnTa_OverrideLimbDraw, EnTa_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c b/soh/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
index dd157185a..f614e0f4c 100644
--- a/soh/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
+++ b/soh/src/overlays/actors/ovl_En_Takara_Man/z_en_takara_man.c
@@ -234,8 +234,7 @@ void EnTakaraMan_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTextures[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnTakaraMan_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnTakaraMan_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Test/z_en_test.c b/soh/src/overlays/actors/ovl_En_Test/z_en_test.c
index f3a2c89f4..46e9edc9e 100644
--- a/soh/src/overlays/actors/ovl_En_Test/z_en_test.c
+++ b/soh/src/overlays/actors/ovl_En_Test/z_en_test.c
@@ -1958,7 +1958,7 @@ void EnTest_Draw(Actor* thisx, PlayState* play) {
func_8002EBCC(&this->actor, play, 1);
if ((thisx->params <= STALFOS_TYPE_CEILING) || (thisx->child == NULL)) {
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnTest_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnTest_OverrideLimbDraw,
EnTest_PostLimbDraw, this);
}
diff --git a/soh/src/overlays/actors/ovl_En_Tg/z_en_tg.c b/soh/src/overlays/actors/ovl_En_Tg/z_en_tg.c
index a378c7edd..247db92f3 100644
--- a/soh/src/overlays/actors/ovl_En_Tg/z_en_tg.c
+++ b/soh/src/overlays/actors/ovl_En_Tg/z_en_tg.c
@@ -190,7 +190,6 @@ void EnTg_Draw(Actor* thisx, PlayState* play) {
// Set the girl's shirt to white
gSPSegment(POLY_OPA_DISP++, 0x09, EnTg_SetColor(play->state.gfxCtx, 255, 255, 255, 0));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnTg_OverrideLimbDraw, EnTg_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnTg_OverrideLimbDraw, EnTg_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Tite/z_en_tite.c b/soh/src/overlays/actors/ovl_En_Tite/z_en_tite.c
index 926e668ab..ba583c155 100644
--- a/soh/src/overlays/actors/ovl_En_Tite/z_en_tite.c
+++ b/soh/src/overlays/actors/ovl_En_Tite/z_en_tite.c
@@ -995,7 +995,7 @@ void EnTite_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(object_tite_Tex_001F00));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(object_tite_Tex_002100));
}
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, NULL, EnTite_PostLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, NULL, EnTite_PostLimbDraw,
thisx);
CLOSE_DISPS(play->state.gfxCtx);
diff --git a/soh/src/overlays/actors/ovl_En_Tk/z_en_tk.c b/soh/src/overlays/actors/ovl_En_Tk/z_en_tk.c
index c35be7c7f..2b2903809 100644
--- a/soh/src/overlays/actors/ovl_En_Tk/z_en_tk.c
+++ b/soh/src/overlays/actors/ovl_En_Tk/z_en_tk.c
@@ -786,8 +786,7 @@ void EnTk_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyesSegments[this->eyeTextureIdx]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnTk_OverrideLimbDraw, EnTk_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnTk_OverrideLimbDraw, EnTk_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c b/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
index 73ccc2c2b..9ebb94750 100644
--- a/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
+++ b/soh/src/overlays/actors/ovl_En_Toryo/z_en_toryo.c
@@ -395,8 +395,7 @@ void EnToryo_Draw(Actor* thisx, PlayState* play) {
EnToryo* this = (EnToryo*)thisx;
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnToryo_OverrideLimbDraw, EnToryo_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnToryo_OverrideLimbDraw, EnToryo_PostLimbDraw, this);
}
s32 EnToryo_OverrideLimbDraw(PlayState* play, s32 limbIndex, Gfx** dList, Vec3f* pos, Vec3s* rot,
diff --git a/soh/src/overlays/actors/ovl_En_Tr/z_en_tr.c b/soh/src/overlays/actors/ovl_En_Tr/z_en_tr.c
index e78405a1a..adf6c3ddc 100644
--- a/soh/src/overlays/actors/ovl_En_Tr/z_en_tr.c
+++ b/soh/src/overlays/actors/ovl_En_Tr/z_en_tr.c
@@ -443,8 +443,7 @@ void EnTr_Draw(Actor* thisx, PlayState* play) {
Gfx_SetupDL_37Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sEyeTextures[this->eyeIndex]));
func_8002EBCC(&this->actor, play, 0);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnTr_OverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnTr_OverrideLimbDraw, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
}
diff --git a/soh/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c b/soh/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c
index 4eefc3580..56d126a2c 100644
--- a/soh/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c
+++ b/soh/src/overlays/actors/ovl_En_Viewer/z_en_viewer.c
@@ -557,23 +557,21 @@ void EnViewer_DrawGanondorf(EnViewer* this, PlayState* play) {
}
if (type == ENVIEWER_TYPE_9_GANONDORF) {
- SkelAnime_DrawFlexOpa(play, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
- this->skin.skelAnime.dListCount, NULL, EnViewer_Ganondorf9PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skin.skelAnime, NULL, EnViewer_Ganondorf9PostLimbDraw, this);
} else if (type == ENVIEWER_TYPE_3_GANONDORF) {
- SkelAnime_DrawFlexOpa(play, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
- this->skin.skelAnime.dListCount, EnViewer_Ganondorf3OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skin.skelAnime, EnViewer_Ganondorf3OverrideLimbDraw,
EnViewer_GanondorfPostLimbDrawUpdateCapeVec, this);
EnViewer_UpdateGanondorfCape(play, this);
} else if (type == ENVIEWER_TYPE_3_GANONDORF || type == ENVIEWER_TYPE_5_GANONDORF ||
type == ENVIEWER_TYPE_7_GANONDORF || type == ENVIEWER_TYPE_8_GANONDORF) {
if ((play->csCtx.state != CS_STATE_IDLE) && (play->csCtx.npcActions[1] != NULL)) {
- SkelAnime_DrawFlexOpa(play, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
- this->skin.skelAnime.dListCount, NULL, EnViewer_GanondorfPostLimbDrawUpdateCapeVec,
+ SkelAnime_DrawSkeletonOpa(play, &this->skin.skelAnime, NULL, EnViewer_GanondorfPostLimbDrawUpdateCapeVec,
this);
EnViewer_UpdateGanondorfCape(play, this);
}
} else {
- SkelAnime_DrawOpa(play, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable, NULL, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skin.skelAnime, NULL, NULL,
+ this);
}
CLOSE_DISPS(play->state.gfxCtx);
}
@@ -661,8 +659,7 @@ void EnViewer_DrawZelda(EnViewer* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gChildZeldaEyeShutTex));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(gChildZeldaMouthWorriedTex));
}
- SkelAnime_DrawFlexOpa(play, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
- this->skin.skelAnime.dListCount, EnViewer_ZeldaOverrideLimbDraw, EnViewer_ZeldaPostLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skin.skelAnime, EnViewer_ZeldaOverrideLimbDraw, EnViewer_ZeldaPostLimbDraw,
this);
CLOSE_DISPS(play->state.gfxCtx);
}
@@ -681,8 +678,7 @@ void EnViewer_DrawImpa(EnViewer* this, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gImpaEyeOpenTex));
gDPSetEnvColor(POLY_OPA_DISP++, 0, 0, 0, 255);
gSPSegment(POLY_OPA_DISP++, 0x0C, &D_80116280[2]);
- SkelAnime_DrawFlexOpa(play, this->skin.skelAnime.skeleton, this->skin.skelAnime.jointTable,
- this->skin.skelAnime.dListCount, EnViewer_ImpaOverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skin.skelAnime, EnViewer_ImpaOverrideLimbDraw, NULL, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Vm/z_en_vm.c b/soh/src/overlays/actors/ovl_En_Vm/z_en_vm.c
index b567b0735..ba0a75613 100644
--- a/soh/src/overlays/actors/ovl_En_Vm/z_en_vm.c
+++ b/soh/src/overlays/actors/ovl_En_Vm/z_en_vm.c
@@ -528,7 +528,7 @@ void EnVm_Draw(Actor* thisx, PlayState* play2) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
Gfx_SetupDL_25Xlu(play->state.gfxCtx);
- SkelAnime_DrawOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, EnVm_OverrideLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnVm_OverrideLimbDraw,
EnVm_PostLimbDraw, this);
actorPos = this->actor.world.pos;
func_80033C30(&actorPos, &D_80B2EB7C, 255, play);
diff --git a/soh/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c b/soh/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
index 965c5b7af..9991f20eb 100644
--- a/soh/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
+++ b/soh/src/overlays/actors/ovl_En_Wallmas/z_en_wallmas.c
@@ -672,8 +672,7 @@ void EnWallmas_Draw(Actor* thisx, PlayState* play) {
if (this->actionFunc != EnWallmas_WaitToDrop) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnWallMas_OverrideLimbDraw, EnWallMas_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnWallMas_OverrideLimbDraw, EnWallMas_PostLimbDraw, this);
}
EnWallmas_DrawXlu(this, play);
diff --git a/soh/src/overlays/actors/ovl_En_Wf/z_en_wf.c b/soh/src/overlays/actors/ovl_En_Wf/z_en_wf.c
index 9ebac2a90..41a485bbc 100644
--- a/soh/src/overlays/actors/ovl_En_Wf/z_en_wf.c
+++ b/soh/src/overlays/actors/ovl_En_Wf/z_en_wf.c
@@ -1449,8 +1449,7 @@ void EnWf_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sWolfosWhiteEyeTextures[this->eyeIndex]));
}
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, EnWf_OverrideLimbDraw, EnWf_PostLimbDraw, &this->actor);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnWf_OverrideLimbDraw, EnWf_PostLimbDraw, &this->actor);
if (this->fireTimer != 0) {
this->actor.colorFilterTimer++;
diff --git a/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c b/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c
index afd8e7c5e..5bf11c5b3 100644
--- a/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c
+++ b/soh/src/overlays/actors/ovl_En_Xc/z_en_xc.c
@@ -1150,8 +1150,7 @@ void EnXc_DrawPullingOutHarp(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(gfxCtx);
func_8002EBCC(&this->actor, play, 0);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- EnXc_PullingOutHarpOverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, EnXc_PullingOutHarpOverrideLimbDraw, NULL, this);
CLOSE_DISPS(gfxCtx);
}
@@ -1173,8 +1172,7 @@ void EnXc_DrawHarp(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(gfxCtx);
func_8002EBCC(&this->actor, play, 0);
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- EnXc_HarpOverrideLimbDraw, NULL, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, EnXc_HarpOverrideLimbDraw, NULL, this);
CLOSE_DISPS(gfxCtx);
}
@@ -1801,8 +1799,7 @@ void EnXc_DrawTriforce(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(play->state.gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeTexture));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTexture));
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- EnXc_TriforceOverrideLimbDraw, EnXc_TriforcePostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, EnXc_TriforceOverrideLimbDraw, EnXc_TriforcePostLimbDraw, this);
CLOSE_DISPS(gfxCtx);
}
@@ -2203,7 +2200,7 @@ void EnXc_DrawSquintingEyes(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(gSheikEyeSquintingTex));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(gSheikEyeSquintingTex));
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount, NULL, NULL,
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, NULL, NULL,
NULL);
CLOSE_DISPS(gfxCtx);
}
@@ -2492,8 +2489,7 @@ void EnXc_DrawDefault(Actor* thisx, PlayState* play) {
Gfx_SetupDL_25Opa(gfxCtx);
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(eyeSegment));
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeSegment));
- SkelAnime_DrawFlexOpa(play, skelAnime->skeleton, skelAnime->jointTable, skelAnime->dListCount,
- EnXc_OverrideLimbDraw, EnXc_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, skelAnime, EnXc_OverrideLimbDraw, EnXc_PostLimbDraw, this);
CLOSE_DISPS(gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c b/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
index 4a5759862..133556f52 100644
--- a/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
+++ b/soh/src/overlays/actors/ovl_En_Zl1/z_en_zl1.c
@@ -623,8 +623,7 @@ void EnZl1_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(this->unk_1EC));
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnZl1_OverrideLimbDraw, EnZl1_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnZl1_OverrideLimbDraw, EnZl1_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c b/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
index 405d96407..77653aff5 100644
--- a/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
+++ b/soh/src/overlays/actors/ovl_En_Zl4/z_en_zl4.c
@@ -1327,7 +1327,6 @@ void EnZl4_Draw(Actor* thisx, PlayState* play) {
gSPSegment(POLY_OPA_DISP++, 0x09, SEGMENTED_TO_VIRTUAL(eyeTex[this->leftEyeState]));
gSPSegment(POLY_OPA_DISP++, 0x0A, SEGMENTED_TO_VIRTUAL(mouthTex[this->mouthState]));
Gfx_SetupDL_25Opa(play->state.gfxCtx);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable, this->skelAnime.dListCount,
- EnZl4_OverrideLimbDraw, EnZl4_PostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, EnZl4_OverrideLimbDraw, EnZl4_PostLimbDraw, this);
CLOSE_DISPS(play->state.gfxCtx);
}
diff --git a/soh/src/overlays/actors/ovl_Fishing/z_fishing.c b/soh/src/overlays/actors/ovl_Fishing/z_fishing.c
index 75157d6ef..170b90d8e 100644
--- a/soh/src/overlays/actors/ovl_Fishing/z_fishing.c
+++ b/soh/src/overlays/actors/ovl_Fishing/z_fishing.c
@@ -4329,16 +4329,14 @@ void Fishing_DrawFish(Actor* thisx, PlayState* play) {
Matrix_RotateY((this->unk_16C * (M_PI / 32768)) - (M_PI / 2), MTXMODE_APPLY);
Matrix_Translate(0.0f, 0.0f, this->unk_16C * 10.0f * 0.01f, MTXMODE_APPLY);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, Fishing_FishOverrideLimbDraw, Fishing_FishPostLimbDraw, this);
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, Fishing_FishOverrideLimbDraw, Fishing_FishPostLimbDraw, this);
} else {
Matrix_Translate(0.0f, 0.0f, 3000.0f, MTXMODE_APPLY);
Matrix_RotateY(this->unk_16C * (M_PI / 32768), MTXMODE_APPLY);
Matrix_Translate(0.0f, 0.0f, -3000.0f, MTXMODE_APPLY);
Matrix_RotateY(-(M_PI / 2), MTXMODE_APPLY);
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, Fishing_LoachOverrideLimbDraw, Fishing_LoachPostLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, Fishing_LoachOverrideLimbDraw, Fishing_LoachPostLimbDraw,
this);
}
}
@@ -5840,8 +5838,7 @@ void Fishing_DrawOwner(Actor* thisx, PlayState* play) {
(fabsf(this->actor.projectedPos.x) < (100.0f + this->actor.projectedPos.z))) {
gSPSegment(POLY_OPA_DISP++, 0x08, SEGMENTED_TO_VIRTUAL(sFishingOwnerEyeTexs[this->unk_160]));
- SkelAnime_DrawFlexOpa(play, this->skelAnime.skeleton, this->skelAnime.jointTable,
- this->skelAnime.dListCount, Fishing_OwnerOverrideLimbDraw, Fishing_OwnerPostLimbDraw,
+ SkelAnime_DrawSkeletonOpa(play, &this->skelAnime, Fishing_OwnerOverrideLimbDraw, Fishing_OwnerPostLimbDraw,
this);
}