diff options
Diffstat (limited to 'Minecraft.Client/MobRenderer.h')
| -rw-r--r-- | Minecraft.Client/MobRenderer.h | 44 |
1 files changed, 11 insertions, 33 deletions
diff --git a/Minecraft.Client/MobRenderer.h b/Minecraft.Client/MobRenderer.h index a8b2b93e..6ab4af0c 100644 --- a/Minecraft.Client/MobRenderer.h +++ b/Minecraft.Client/MobRenderer.h @@ -1,46 +1,24 @@ #pragma once -#include "EntityRenderer.h" +#include "LivingEntityRenderer.h" class Mob; using namespace std; -#define PLAYER_NAME_READABLE_FULLSCREEN 16 +// This was used in MobRenderer but lots of code moved to LivingEntity and I haven't put this back yet +/*#define PLAYER_NAME_READABLE_FULLSCREEN 16 #define PLAYER_NAME_READABLE_DISTANCE_SPLITSCREEN 8 -#define PLAYER_NAME_READABLE_DISTANCE_SD 8 +#define PLAYER_NAME_READABLE_DISTANCE_SD 8*/ // 4J - this used to be a generic : public class MobRenderer<T extends Mob> extends EntityRenderer<T> -class MobRenderer : public EntityRenderer +class MobRenderer : public LivingEntityRenderer { -private: - static const int MAX_ARMOR_LAYERS = 4; - -protected: - Model *model; - Model *armor; - public: MobRenderer(Model *model, float shadow); - virtual void setArmor(Model *armor); -private: - float rotlerp(float from, float to, float a); -public: virtual void render(shared_ptr<Entity> mob, double x, double y, double z, float rot, float a); -protected: - virtual void renderModel(shared_ptr<Entity> mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale); - virtual void setupPosition(shared_ptr<Mob> mob, double x, double y, double z); - virtual void setupRotations(shared_ptr<Mob> mob, float bob, float bodyRot, float a); - virtual float getAttackAnim(shared_ptr<Mob> mob, float a); - virtual float getBob(shared_ptr<Mob> mob, float a); - virtual void additionalRendering(shared_ptr<Mob> mob, float a); - virtual int prepareArmorOverlay(shared_ptr<Mob> mob, int layer, float a); - virtual int prepareArmor(shared_ptr<Mob> mob, int layer, float a); - virtual void prepareSecondPassArmor(shared_ptr<Mob> mob, int layer, float a); - virtual float getFlipDegrees(shared_ptr<Mob> mob); - virtual int getOverlayColor(shared_ptr<Mob> mob, float br, float a); - virtual void scale(shared_ptr<Mob> mob, float a); - virtual void renderName(shared_ptr<Mob> mob, double x, double y, double z); - virtual void renderNameTag(shared_ptr<Mob> mob, const wstring& name, double x, double y, double z, int maxDist, int color = 0xff000000); -public: - // 4J Added - virtual Model *getModel() { return model; } +protected: + virtual bool shouldShowName(shared_ptr<LivingEntity> mob); + virtual void renderLeash(shared_ptr<Mob> entity, double x, double y, double z, float rot, float a); + +private: + double lerp(double prev, double next, double a); }; |
