aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/HorseRenderer.h
blob: cd3674d8a8d1debe669653059a243d6a4a2e42a9 (plain)
1
2
3
4
5
6
7
8
9
10
11
12
13
14
15
16
17
18
19
20
21
22
23
24
25
26
27
28
29
30
31
#pragma once
#include "MobRenderer.h"
#include "ResourceLocation.h"

class EntityHorse;
class PathfinderMob;

class HorseRenderer : public MobRenderer
{
private:
	static std::map<wstring, ResourceLocation *> LAYERED_LOCATION_CACHE;

	static ResourceLocation HORSE_LOCATION;
	static ResourceLocation HORSE_MULE_LOCATION;
	static ResourceLocation HORSE_DONKEY_LOCATION;
	static ResourceLocation HORSE_ZOMBIE_LOCATION;
	static ResourceLocation HORSE_SKELETON_LOCATION;

public:
	HorseRenderer(Model *model, float f);

protected:
	void adjustHeight(shared_ptr<PathfinderMob> mob, float FHeight);
	virtual void scale(shared_ptr<LivingEntity> entityliving, float f);
	virtual void renderModel(shared_ptr<LivingEntity> mob, float wp, float ws, float bob, float headRotMinusBodyRot, float headRotx, float scale);
	virtual void bindTexture(ResourceLocation *location);
	virtual ResourceLocation *getTextureLocation(shared_ptr<Entity> entity);

private:
	ResourceLocation *getOrCreateLayeredTextureLocation(shared_ptr<EntityHorse> horse);
};