Small correction to modified skin code

Adjusted modified code to work with default wide 64x64 skins.
This commit is contained in:
Langtanium 2026-05-18 11:12:12 -07:00
parent e41b579603
commit 7bc9a87027
3 changed files with 8 additions and 9 deletions

View file

@ -309,7 +309,7 @@ void UIControl_PlayerSkinPreview::render(EntityRenderer *renderer, double x, dou
glDisable(GL_CULL_FACE);
Textures *t = Minecraft::GetInstance()->textures;
HumanoidModel *model = static_cast<HumanoidModel *>(renderer->getModel(Player::GetModelTypeFromTextureId(t->loadMemTexture(m_customTextureUrl, m_backupTexture))+Player::GetModelTypeFromAnimBitmask(m_uiAnimOverrideBitmask)));
HumanoidModel *model = static_cast<HumanoidModel *>(renderer->getModel(Player::GetModelTypeFromTextureId(t->loadMemTexture(m_customTextureUrl, m_backupTexture)-36)+Player::GetModelTypeFromAnimBitmask(m_uiAnimOverrideBitmask)));
//getAttackAnim(mob, a);
//if (armor != nullptr) armor->attackTime = model->attackTime;

View file

@ -76,8 +76,8 @@ PlayerRenderer::PlayerRenderer() : LivingEntityRenderer( new HumanoidModel(0), 0
void PlayerRenderer::setModelType(shared_ptr<Player> player)
{
if (Player::GetModelTypeFromTextureId(player->getCustomSkin()) == 1 || Player::GetModelTypeFromAnimBitmask(player->getAnimOverrideBitmask()) == 1) resModel = humanoidModelWide;
else if (Player::GetModelTypeFromTextureId(player->getCustomSkin()) == 2 || Player::GetModelTypeFromAnimBitmask(player->getAnimOverrideBitmask()) == 2) resModel = humanoidModelSlim;
if (Player::GetModelTypeFromTextureId(player->getCustomSkin()) == 2 || Player::GetModelTypeFromAnimBitmask(player->getAnimOverrideBitmask()) == 2) resModel = humanoidModelSlim;
else if (Player::GetModelTypeFromTextureId(player->getCustomSkin()) == 1 || Player::GetModelTypeFromAnimBitmask(player->getAnimOverrideBitmask()) == 1) resModel = humanoidModelWide;
else resModel = humanoidModel;
}

View file

@ -727,19 +727,18 @@ void Player::setCustomSkin(DWORD skinId)
}
int Player::GetModelTypeFromAnimBitmask(unsigned int uiAnimOverrideBitmask)
int Player::GetModelTypeFromAnimBitmask(unsigned int animBitmask)
{
if (uiAnimOverrideBitmask&(1<<HumanoidModel::eAnim_SlimModel)) return 2;
else if (uiAnimOverrideBitmask&(1<<HumanoidModel::eAnim_WideModel)) return 1;
return 0;
if (animBitmask&(1<<HumanoidModel::eAnim_SlimModel)) return 2;
else if (animBitmask&(1<<HumanoidModel::eAnim_WideModel)) return 1;
else return 0;
}
int Player::GetModelTypeFromTextureId(int textureId)
{
if (textureId > 8 && textureId < 18) return 2;
else if (textureId == 18) return 1;
else if (textureId > 44 && textureId < 54) return 2;
else if (textureId == 54) return 1;
else if (textureId >= 0 && textureId < 9) return 1;
else return 0;
}