summaryrefslogtreecommitdiff
diff options
context:
space:
mode:
authorJameriquiah <42100286+Jameriquiah@users.noreply.github.com>2026-07-18 14:08:39 -0400
committerGitHub <noreply@github.com>2026-07-18 18:08:39 +0000
commit8e810fb963325d189a0461b9f592f95190bd9f5e (patch)
tree742eb7212d4ff3ec4300a2a41fa50a2ce53c9b94
parent033613a6cf00dc60399f1b227880b9c5ddb0bf33 (diff)
cleanup redundant code + fix waist dl (#6928)
-rw-r--r--soh/soh/resource/type/Skeleton.cpp23
-rw-r--r--soh/soh/resource/type/Skeleton.h2
2 files changed, 7 insertions, 18 deletions
diff --git a/soh/soh/resource/type/Skeleton.cpp b/soh/soh/resource/type/Skeleton.cpp
index 1871688ff..704d7e872 100644
--- a/soh/soh/resource/type/Skeleton.cpp
+++ b/soh/soh/resource/type/Skeleton.cpp
@@ -108,7 +108,7 @@ void SkeletonPatcher::ClearSkeletons() {
void SkeletonPatcher::UpdateSkeletons() {
auto resourceMgr = Ship::Context::GetRawInstance()->GetResourceManager();
bool isAlt = resourceMgr->IsAltAssetsEnabled();
- for (auto skel : skeletons) {
+ for (auto& skel : skeletons) {
Skeleton* newSkel =
(Skeleton*)resourceMgr
->LoadResource((isAlt ? Ship::IResource::gAltAssetPrefix : "") + skel.vanillaSkeletonPath, true)
@@ -124,7 +124,7 @@ void SkeletonPatcher::UpdateSkeletons() {
}
void SkeletonPatcher::UpdateCustomSkeletons() {
- for (auto skel : skeletons) {
+ for (auto& skel : skeletons) {
if (!skel.isLocalPlayer) {
continue;
}
@@ -152,48 +152,36 @@ void SkeletonPatcher::UpdateTunicSkeletons(SkeletonPatchInfo& skel) {
// Check if we even need updating
s32 skelID = ageID << 4 | tunicID;
- if (skelID == skel.lastSkeletonId)
+ if (skelID == skel.lastSkeletonId) {
return;
- skel.lastSkeletonId = skelID;
+ }
// Check if this is one of Link's skeletons
if (ageID == 2) {
// Check what Link's current tunic is
switch (tunicID) {
case PLAYER_TUNIC_KOKIRI:
- if (skel.lastSkeletonId == (ageID << 4 | PLAYER_TUNIC_KOKIRI))
- return;
skeletonPath = std::string(gLinkAdultKokiriTunicSkel).substr(sOtr.length());
break;
case PLAYER_TUNIC_GORON:
- if (skel.lastSkeletonId == (ageID << 4 | PLAYER_TUNIC_GORON))
- return;
skeletonPath = std::string(gLinkAdultGoronTunicSkel).substr(sOtr.length());
break;
case PLAYER_TUNIC_ZORA:
- if (skel.lastSkeletonId == (ageID << 4 | PLAYER_TUNIC_ZORA))
- return;
skeletonPath = std::string(gLinkAdultZoraTunicSkel).substr(sOtr.length());
break;
default:
return;
}
- } else if (skelID == 1) {
+ } else if (ageID == 1) {
// Check what Link's current tunic is
switch (tunicID) {
case PLAYER_TUNIC_KOKIRI:
- if (skel.lastSkeletonId == (ageID << 4 | PLAYER_TUNIC_KOKIRI))
- return;
skeletonPath = std::string(gLinkChildKokiriTunicSkel).substr(sOtr.length());
break;
case PLAYER_TUNIC_GORON:
- if (skel.lastSkeletonId == (ageID << 4 | PLAYER_TUNIC_GORON))
- return;
skeletonPath = std::string(gLinkChildGoronTunicSkel).substr(sOtr.length());
break;
case PLAYER_TUNIC_ZORA:
- if (skel.lastSkeletonId == (ageID << 4 | PLAYER_TUNIC_ZORA))
- return;
skeletonPath = std::string(gLinkChildZoraTunicSkel).substr(sOtr.length());
break;
default:
@@ -202,6 +190,7 @@ void SkeletonPatcher::UpdateTunicSkeletons(SkeletonPatchInfo& skel) {
}
UpdateCustomSkeletonFromPath(skeletonPath, skel);
+ skel.lastSkeletonId = skelID;
}
void SkeletonPatcher::UpdateCustomSkeletonFromPath(const std::string& skeletonPath, SkeletonPatchInfo& skel) {
diff --git a/soh/soh/resource/type/Skeleton.h b/soh/soh/resource/type/Skeleton.h
index 8e5805c0a..9ab143889 100644
--- a/soh/soh/resource/type/Skeleton.h
+++ b/soh/soh/resource/type/Skeleton.h
@@ -79,7 +79,7 @@ struct SkeletonPatchInfo {
SkelAnime* skelAnime;
std::string vanillaSkeletonPath;
- u8 lastSkeletonId;
+ u8 lastSkeletonId = 0xFF;
bool isLocalPlayer;
};