the game where you go into mines and start crafting! but for consoles (forked directly from smartcmd's github)
at main 120 lines 2.8 kB view raw
1#include "stdafx.h" 2#include "EndermanModel.h" 3#include "ModelPart.h" 4 5EndermanModel::EndermanModel() : HumanoidModel(0, -14, 64, 32) 6{ 7 carrying = false; 8 creepy = false; 9 10 float yOffset = -14.0f; 11 float g = 0; 12 13 delete hair; 14 hair = new ModelPart(this, 0, 16); 15 hair->addBox(-4.0f, -8.0f, -4.0f, 8, 8, 8, g - 0.5f); // Head 16 hair->setPos(0.0f, 0.0f + yOffset, 0.0f); 17 18 delete body; 19 body = new ModelPart(this, 32, 16); 20 body->addBox(-4.0f, 0.0f, -2.0f, 8, 12, 4, g); // Body 21 body->setPos(0.0f, 0.0f + yOffset, 0.0f); 22 23 24 delete arm0; 25 arm0 = new ModelPart(this, 56, 0); 26 arm0->addBox(-1.0f, -2.0f, -1.0f, 2, 30, 2, g); // Arm0 27 arm0->setPos(-3.0f, 2.0f + yOffset, 0.0f); 28 29 30 delete arm1; 31 arm1 = new ModelPart(this, 56, 0); 32 arm1->bMirror = true; 33 arm1->addBox(-1.0f, -2.0f, -1.0f, 2, 30, 2, g); // Arm1 34 arm1->setPos(5.0f, 2.0f + yOffset, 0.0f); 35 36 delete leg0; 37 leg0 = new ModelPart(this, 56, 0); 38 leg0->addBox(-1.0f, 0.0f, -1.0f, 2, 30, 2, g); // Leg0 39 leg0->setPos(-2.0f, 12.0f + yOffset, 0.0f); 40 41 delete leg1; 42 leg1 = new ModelPart(this, 56, 0); 43 leg1->bMirror = true; 44 leg1->addBox(-1.0f, 0.0f, -1.0f, 2, 30, 2, g); // Leg1 45 leg1->setPos(2.0f, 12.0f + yOffset, 0.0f); 46 47 // 4J added - compile now to avoid random performance hit first time cubes are rendered 48 body->compile(1.0f/16.0f); 49 arm0->compile(1.0f/16.0f); 50 arm1->compile(1.0f/16.0f); 51 leg0->compile(1.0f/16.0f); 52 leg1->compile(1.0f/16.0f); 53 hair->compile(1.0f/16.0f); 54} 55 56void EndermanModel::setupAnim(float time, float r, float bob, float yRot, float xRot, float scale, shared_ptr<Entity> entity, unsigned int uiBitmaskOverrideAnim) 57{ 58 HumanoidModel::setupAnim(time, r, bob, yRot, xRot, scale, entity, uiBitmaskOverrideAnim); 59 60 head->visible = true; 61 62 float yOffs = -14.0f; 63 body->xRot = 0.0f; 64 body->y = yOffs; 65 body->z = -0.0f; 66 67 leg0->xRot -= 0.0f; 68 leg1->xRot -= 0.0f; 69 70 arm0->xRot *= 0.5f; 71 arm1->xRot *= 0.5f; 72 leg0->xRot *= 0.5f; 73 leg1->xRot *= 0.5f; 74 75 float max = 0.4f; 76 if (arm0->xRot > +max) arm0->xRot = +max; 77 if (arm1->xRot > +max) arm1->xRot = +max; 78 if (arm0->xRot < -max) arm0->xRot = -max; 79 if (arm1->xRot < -max) arm1->xRot = -max; 80 if (leg0->xRot > +max) leg0->xRot = +max; 81 if (leg1->xRot > +max) leg1->xRot = +max; 82 if (leg0->xRot < -max) leg0->xRot = -max; 83 if (leg1->xRot < -max) leg1->xRot = -max; 84 85 86 if (carrying) 87 { 88 arm0->xRot = -0.5f; 89 arm1->xRot = -0.5f; 90 arm0->zRot = 0.05f; 91 arm1->zRot = -0.05f; 92 } 93 94 arm0->z = -0.0f; 95 arm1->z = -0.0f; 96 leg0->z = -0.0f; 97 leg1->z = -0.0f; 98 99 arm0->y = 2.0f + yOffs; 100 arm1->y = 2.0f + yOffs; 101 102 leg0->y = +9.0f + yOffs; 103 leg1->y = +9.0f + yOffs; 104 105 head->z = -0.0f; 106 head->y = +yOffs + 1; 107 108 hair->x = head->x; 109 hair->y = head->y; 110 hair->z = head->z; 111 hair->xRot = head->xRot; 112 hair->yRot = head->yRot; 113 hair->zRot = head->zRot; 114 115 if (creepy) 116 { 117 float amt = 1; 118 head->y -= (float) (amt * 5); 119 } 120}