Added small additions

Added more code referencing skin offsets. Still doesn't work correctly.
This commit is contained in:
Langtanium
2026-04-03 21:50:42 -07:00
parent d28a751d9c
commit a1d9ae591a
5 changed files with 20 additions and 9 deletions

View File

@@ -1696,3 +1696,7 @@ void LocalPlayer::SetPlayerAdditionalModelParts(vector<ModelPart *>pAdditionalMo
{
m_pAdditionalModelParts=pAdditionalModelParts;
}
void LocalPlayer::SetPlayerModelOffsets(vector<SKIN_OFFSET *>pModelOffsets)
{
m_pModelOffsets=pModelOffsets;
}

View File

@@ -211,9 +211,11 @@ public:
virtual void handleCollectItem(shared_ptr<ItemInstance> item);
void SetPlayerAdditionalModelParts(vector<ModelPart *>pAdditionalModelParts);
void SetPlayerModelOffsets(vector<SKIN_OFFSET *>pModelOffsets);
private:
vector<ModelPart *> m_pAdditionalModelParts;
vector<SKIN_OFFSET *> m_pModelOffsets;
};

View File

@@ -273,21 +273,20 @@ void PlayerRenderer::render(shared_ptr<Entity> _mob, double x, double y, double
}
}
vector<SKIN_OFFSET*>* modelOffsets = Minecraft::GetInstance()->player->GetModelOffsets();
if (modelOffsets)
vector<SKIN_OFFSET *>* pModelOffsets=mob->GetModelOffsets();
if (pModelOffsets!=nullptr)
{
std::unordered_set<SKIN_OFFSET*> modelOffsetSet(modelOffsets->begin(), modelOffsets->end());
for( auto& offset : modelOffsetSet )
for( SKIN_OFFSET pModelOffset : pModelOffsets )
{
switch (offset->ePart)
switch (pModelOffset->ePart)
{
case eBodyOffset_Head:
if (offset->fD == L'Y')
resModel->head->y += offset->fO;
if (pModelOffset->fD == L'Y')
resModel->head->y += pModelOffset->fO;
break;
case eBodyOffset_Body:
if (offset->fD == L'Y')
resModel->body->y += offset->fO;
if (pModelOffset->fD == L'Y')
resModel->body->y += pModelOffset->fO;
break;
}
}

View File

@@ -3194,6 +3194,11 @@ void Player::SetAdditionalModelParts(vector<ModelPart *> *ppAdditionalModelParts
m_ppAdditionalModelParts=ppAdditionalModelParts;
}
void Player::SetModelOffsets(vector<SKIN_OFFSET *> *ppModelOffsets)
{
m_ppModelOffsets=ppModelOffsets;
}
#if defined(__PS3__) || defined(__ORBIS__)
Player::ePlayerNameValidState Player::GetPlayerNameValidState(void)

View File

@@ -521,6 +521,7 @@ public:
vector<ModelPart *> *GetAdditionalModelParts();
void SetAdditionalModelParts(vector<ModelPart *> *ppAdditionalModelParts);
vector<SKIN_OFFSET *> *GetModelOffsets();
void SetModelOffsets(vector<SKIN_OFFSET *> *ppModelOffsets);
#if defined(__PS3__) || defined(__ORBIS__)
enum ePlayerNameValidState