mirror of
https://github.com/neoStudiosLCE/neoLegacy.git
synced 2026-06-20 15:42:55 +00:00
Renamed all Alex skins and Developer Steve skin to match the official file names, reordered default skin to match the order in the official release of LCE, modified model type logic to be more optimized, added more anim flags to HumanoidModel.h, added code to show armor if the corresponding part is hidden but the "show armor" part anim flag is present, added code to handle extra skin box values of "hide with armor", "mirror skin box", and "scale", corrected player model second/overlay layer scale from 0.5 to 0.25, and fixed skin boxes not rendering on 64x64 DLC skins.
49 lines
2.3 KiB
C++
49 lines
2.3 KiB
C++
#pragma once
|
|
#include "ResourceLocation.h"
|
|
#include "EntityRenderer.h"
|
|
#include "../Minecraft.World/LivingEntity.h"
|
|
|
|
class LivingEntity;
|
|
|
|
class LivingEntityRenderer : public EntityRenderer
|
|
{
|
|
static const int PLAYER_NAME_READABLE_FULLSCREEN = 16;
|
|
static const int PLAYER_NAME_READABLE_DISTANCE_SPLITSCREEN = 8;
|
|
static const int PLAYER_NAME_READABLE_DISTANCE_SD = 8;
|
|
|
|
static ResourceLocation ENCHANT_GLINT_LOCATION;
|
|
static int MAX_ARMOR_LAYERS;
|
|
|
|
protected:
|
|
//Model *model; // 4J Stu - This shadows the one in EntityRenderer
|
|
Model *armor;
|
|
Model *resModel;
|
|
|
|
public:
|
|
LivingEntityRenderer(Model *model, float shadow, bool isPlayer = false);
|
|
virtual void render(shared_ptr<Entity> mob, double x, double y, double z, float rot, float a);
|
|
virtual void setArmor(Model *armor);
|
|
virtual void setPlayerModelType(Model *humanoidModel);
|
|
|
|
private:
|
|
float rotlerp(float from, float to, float a);
|
|
|
|
protected:
|
|
virtual void renderModel(shared_ptr<LivingEntity> mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale);
|
|
virtual void setupPosition(shared_ptr<LivingEntity> mob, double x, double y, double z);
|
|
virtual void setupRotations(shared_ptr<LivingEntity> mob, float bob, float bodyRot, float a);
|
|
virtual float getAttackAnim(shared_ptr<LivingEntity> mob, float a);
|
|
virtual float getBob(shared_ptr<LivingEntity> mob, float a);
|
|
virtual void additionalRendering(shared_ptr<LivingEntity> mob, float a);
|
|
virtual void renderArrows(shared_ptr<LivingEntity> mob, float a);
|
|
virtual int prepareArmorOverlay(shared_ptr<LivingEntity> mob, int layer, float a);
|
|
virtual int prepareArmor(shared_ptr<LivingEntity> mob, int layer, float a);
|
|
virtual void prepareSecondPassArmor(shared_ptr<LivingEntity> mob, int layer, float a);
|
|
virtual float getFlipDegrees(shared_ptr<LivingEntity> mob);
|
|
virtual int getOverlayColor(shared_ptr<LivingEntity> mob, float br, float a);
|
|
virtual void scale(shared_ptr<LivingEntity> mob, float a);
|
|
virtual void renderName(shared_ptr<LivingEntity> mob, double x, double y, double z);
|
|
virtual bool shouldShowName(shared_ptr<LivingEntity> mob);
|
|
virtual void renderNameTags(shared_ptr<LivingEntity> mob, double x, double y, double z, const wstring &msg, float scale, double dist);
|
|
virtual void renderNameTag(shared_ptr<LivingEntity> mob, const wstring &name, double x, double y, double z, int maxDist, int color = 0xff000000);
|
|
}; |