mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-05-15 17:03:51 +00:00
Fixed a few issues and added more functionality
Fixed player not rendering in third person and armor arm0 not moving with 64x64 skins. Added offsets to held item (main hand) and armor (boots).
This commit is contained in:
parent
0c50f9982c
commit
cef65c8df3
8 changed files with 306 additions and 39 deletions
|
|
@ -286,6 +286,7 @@ void ItemInHandRenderer::renderItem(shared_ptr<LivingEntity> mob, shared_ptr<Ite
|
|||
|
||||
float xo = 0.0f;
|
||||
float yo = 0.3f;
|
||||
float zo = 0.0f;
|
||||
|
||||
|
||||
// Re position height of held item if skin is small
|
||||
|
|
@ -301,8 +302,39 @@ void ItemInHandRenderer::renderItem(shared_ptr<LivingEntity> mob, shared_ptr<Ite
|
|||
}
|
||||
}
|
||||
|
||||
// Change height of held item by tool0 and arm0 offset
|
||||
shared_ptr<Player> player = dynamic_pointer_cast<Player>(mob);
|
||||
vector<SKIN_OFFSET *>* pModelOffsets = nullptr;
|
||||
if (player != nullptr)
|
||||
pModelOffsets = player->GetModelOffsets();
|
||||
if (pModelOffsets != nullptr)
|
||||
{
|
||||
for( SKIN_OFFSET *pModelOffset : *pModelOffsets )
|
||||
{
|
||||
switch (pModelOffset->ePart)
|
||||
{
|
||||
case eBodyOffset_Arm0:
|
||||
if(pModelOffset->fD == 1)
|
||||
xo += pModelOffset->fO / 16.0f;
|
||||
else if(pModelOffset->fD == 2)
|
||||
zo += pModelOffset->fO / 16.0f;
|
||||
else if(pModelOffset->fD == 3)
|
||||
yo += pModelOffset->fO / 16.0f;
|
||||
break;
|
||||
case eBodyOffset_Tool0:
|
||||
if(pModelOffset->fD == 1)
|
||||
xo += pModelOffset->fO / 16.0f;
|
||||
else if(pModelOffset->fD == 2)
|
||||
zo += pModelOffset->fO / 16.0f;
|
||||
else if(pModelOffset->fD == 3)
|
||||
yo += pModelOffset->fO / 16.0f;
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
glEnable(GL_RESCALE_NORMAL);
|
||||
glTranslatef(-xo, -yo, 0);
|
||||
glTranslatef(-xo, -yo, -zo);
|
||||
float s = 1.5f;
|
||||
glScalef(s, s, s);
|
||||
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue