mirror of
https://github.com/smartcmd/MinecraftConsoles.git
synced 2026-05-26 07:43:51 +00:00
Reduced code by adding functions
Reduced repetitive code by moving it into functions. New functions are setModelType() in PlayerRenderer.cpp and setPlayerModelType in LivingEntityRenderer.
This commit is contained in:
parent
6f12950c6b
commit
fe8e26867f
5 changed files with 25 additions and 40 deletions
|
|
@ -65,6 +65,13 @@ PlayerRenderer::PlayerRenderer() : LivingEntityRenderer( new HumanoidModel(0), 0
|
|||
armorParts2 = new HumanoidModel(0.5f, true);
|
||||
}
|
||||
|
||||
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;
|
||||
else resModel = humanoidModel;
|
||||
}
|
||||
|
||||
unsigned int PlayerRenderer::getNametagColour(int index)
|
||||
{
|
||||
if( index >= 0 && index < MINECRAFT_NET_MAX_PLAYERS)
|
||||
|
|
@ -76,11 +83,7 @@ int PlayerRenderer::prepareArmor(shared_ptr<LivingEntity> _player, int layer, fl
|
|||
{
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
shared_ptr<Player> player = dynamic_pointer_cast<Player>(_player);
|
||||
HumanoidModel *resModel;
|
||||
|
||||
if (humanoidModelWide != nullptr && (player->getCustomSkin() == 18 || player->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_WideModel))) resModel = humanoidModelWide;
|
||||
else if (humanoidModelSlim != nullptr && ((player->getCustomSkin() >= 8 && player->getCustomSkin() <= 17) || player->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_SlimModel))) resModel = humanoidModelSlim;
|
||||
else resModel = humanoidModel;
|
||||
setModelType(player);
|
||||
|
||||
// 4J-PB - need to disable rendering armour for some special skins (Daleks)
|
||||
unsigned int uiAnimOverrideBitmask=player->getAnimOverrideBitmask();
|
||||
|
|
@ -175,14 +178,12 @@ void PlayerRenderer::render(shared_ptr<Entity> _mob, double x, double y, double
|
|||
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
shared_ptr<Player> mob = dynamic_pointer_cast<Player>(_mob);
|
||||
HumanoidModel *resModel;
|
||||
|
||||
if(mob == nullptr) return;
|
||||
if(mob->hasInvisiblePrivilege()) return;
|
||||
|
||||
if (humanoidModelWide != nullptr && (mob->getCustomSkin() == 18 || mob->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_WideModel))) resModel = humanoidModelWide;
|
||||
else if (humanoidModelSlim != nullptr && ((mob->getCustomSkin() >= 8 && mob->getCustomSkin() <= 17) || mob->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_SlimModel))) resModel = humanoidModelSlim;
|
||||
else resModel = humanoidModel;
|
||||
setModelType(mob);
|
||||
setPlayerModelType(resModel);
|
||||
|
||||
shared_ptr<ItemInstance> item = mob->inventory->getSelected();
|
||||
|
||||
|
|
@ -316,11 +317,7 @@ void PlayerRenderer::additionalRendering(shared_ptr<LivingEntity> _mob, float a)
|
|||
|
||||
// 4J - dynamic cast required because we aren't using templates/generics in our version
|
||||
shared_ptr<Player> mob = dynamic_pointer_cast<Player>(_mob);
|
||||
HumanoidModel *resModel;
|
||||
|
||||
if (mob != nullptr && humanoidModelWide != nullptr && (mob->getCustomSkin() == 18 || mob->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_WideModel))) resModel = humanoidModelWide;
|
||||
else if (mob != nullptr && humanoidModelSlim != nullptr && ((mob->getCustomSkin() >= 8 && mob->getCustomSkin() <= 17) || mob->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_SlimModel))) resModel = humanoidModelSlim;
|
||||
else resModel = humanoidModel;
|
||||
setModelType(mob);
|
||||
|
||||
shared_ptr<ItemInstance> headGear = mob->inventory->getArmor(3);
|
||||
if (headGear != nullptr)
|
||||
|
|
@ -565,11 +562,7 @@ void PlayerRenderer::scale(shared_ptr<LivingEntity> player, float a)
|
|||
void PlayerRenderer::renderHand()
|
||||
{
|
||||
shared_ptr<Player> player = dynamic_pointer_cast<Player>(Minecraft::GetInstance()->player);
|
||||
HumanoidModel *resModel;
|
||||
|
||||
if (player != nullptr && humanoidModelWide != nullptr && (player->getCustomSkin() == 18 || player->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_WideModel))) resModel = humanoidModelWide;
|
||||
else if (player != nullptr && humanoidModelSlim != nullptr && ((player->getCustomSkin() >= 8 && player->getCustomSkin() <= 17) || player->getAnimOverrideBitmask()&(1<<HumanoidModel::eAnim_SlimModel))) resModel = humanoidModelSlim;
|
||||
else resModel = humanoidModel;
|
||||
setModelType(player);
|
||||
|
||||
float brightness = 1;
|
||||
glColor3f(brightness, brightness, brightness);
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue