diff options
Diffstat (limited to 'Minecraft.Client/SkeletonRenderer.cpp')
| -rw-r--r-- | Minecraft.Client/SkeletonRenderer.cpp | 35 |
1 files changed, 35 insertions, 0 deletions
diff --git a/Minecraft.Client/SkeletonRenderer.cpp b/Minecraft.Client/SkeletonRenderer.cpp new file mode 100644 index 00000000..56682ddf --- /dev/null +++ b/Minecraft.Client/SkeletonRenderer.cpp @@ -0,0 +1,35 @@ +#include "stdafx.h" +#include "SkeletonRenderer.h" +#include "SkeletonModel.h" +#include "../Minecraft.World/Skeleton.h" + +ResourceLocation SkeletonRenderer::SKELETON_LOCATION = ResourceLocation(TN_MOB_SKELETON); +ResourceLocation SkeletonRenderer::WITHER_SKELETON_LOCATION = ResourceLocation(TN_MOB_WITHER_SKELETON); + +SkeletonRenderer::SkeletonRenderer() : HumanoidMobRenderer(new SkeletonModel(), .5f) +{ +} + +void SkeletonRenderer::scale(shared_ptr<LivingEntity> mob, float a) +{ + if (dynamic_pointer_cast<Skeleton>(mob)->getSkeletonType() == Skeleton::TYPE_WITHER) + { + glScalef(1.2f, 1.2f, 1.2f); + } +} + +void SkeletonRenderer::translateWeaponItem() +{ + glTranslatef(1.5f / 16.0f, 3 / 16.0f, 0); +} + +ResourceLocation *SkeletonRenderer::getTextureLocation(shared_ptr<Entity> entity) +{ + shared_ptr<Skeleton> skeleton = dynamic_pointer_cast<Skeleton>(entity); + + if (skeleton->getSkeletonType() == Skeleton::TYPE_WITHER) + { + return &WITHER_SKELETON_LOCATION; + } + return &SKELETON_LOCATION; +}
\ No newline at end of file |
