#pragma once #include "Model.h" class HumanoidModel : public Model { public: ModelPart *head, *hair, *body, *jacket, *arm0, *sleeve0, *arm1, *sleeve1, *leg0, *pants0, *leg1, *pants1, *ear, *cloak; //ModelPart *hat; int holdingLeftHand; int holdingRightHand; bool idle; bool sneaking; bool bowAndArrow; bool eating; // 4J added float eating_t; // 4J added float eating_swing; // 4J added unsigned int m_uiAnimOverrideBitmask; // 4J added float m_fYOffset; // 4J added bool m_isArmor; enum animbits { eAnim_ArmsDown =0, eAnim_ArmsOutFront, eAnim_NoLegAnim, eAnim_HasIdle, eAnim_ForceAnim, // Claptrap looks bad if the user turns off custom skin anim // 4J-PB - DaveK wants Fish characters to move both legs in the same way eAnim_SingleLegs, eAnim_SingleArms, eAnim_StatueOfLiberty, // Dr Who Weeping Angel eAnim_DontRenderArmour, // Dr Who Daleks eAnim_NoBobbing, // Dr Who Daleks eAnim_DisableRenderHead, eAnim_DisableRenderArm0, eAnim_DisableRenderArm1, eAnim_DisableRenderTorso, eAnim_DisableRenderLeg0, eAnim_DisableRenderLeg1, eAnim_DisableRenderHair, eAnim_SmallModel, // Maggie Simpson for riding horse, etc eAnim_ClassicModel, eAnim_SlimModel, // Hide overlay/second layer on 64x64 skins eAnim_DisableRenderSleeve1, eAnim_DisableRenderSleeve0, eAnim_DisableRenderPants1, eAnim_DisableRenderPants0, eAnim_DisableRenderJacket, eAnim_RenderArmorHead, eAnim_RenderArmorArm0, eAnim_RenderArmorArm1, eAnim_RenderArmorTorso, eAnim_RenderArmorLeg0, eAnim_RenderArmorLeg1, eAnim_Dinnerbone }; static const unsigned int m_staticBitmaskIgnorePlayerCustomAnimSetting= (1< entity, float time, float r, float bob, float yRot, float xRot, float scale, bool usecompiled); virtual void setupAnim(float time, float r, float bob, float yRot, float xRot, float scale, shared_ptr entity, unsigned int uiBitmaskOverrideAnim = 0); void renderHair(float scale, bool usecompiled); void renderEars(float scale, bool usecompiled); void renderCloak(float scale, bool usecompiled); void render(HumanoidModel *model, float scale, bool usecompiled); // Add new bits to models ModelPart * AddOrRetrievePart(SKIN_BOX *pBox); };