diff --git a/Minecraft.Client/VillagerZombieModel.cpp b/Minecraft.Client/VillagerZombieModel.cpp index 707a5d63..4217b4b8 100644 --- a/Minecraft.Client/VillagerZombieModel.cpp +++ b/Minecraft.Client/VillagerZombieModel.cpp @@ -14,15 +14,61 @@ void VillagerZombieModel::_init(float g, float yOffset, bool isArmor) } else { + delete pants0; + delete pants1; + delete jacket; + head = new ModelPart(this); head->setPos(0, 0 + yOffset, 0); head->texOffs(0, 32)->addBox(-4, -10, -4, 8, 10, 8, g); head->texOffs(24, 32)->addBox(-1, -3, -6, 2, 4, 2, g); - } + delete body; + body = new ModelPart(this, 16, 16); + body->addBox(-4, 0, -2, 8, 12, 4, g); + body->setPos(0, 0 + yOffset, 0); + + delete arm0; + arm0 = new ModelPart(this, 40, 16); + arm0->addBox(-3, -2, -2, 4, 12, 4, g); + arm0->setPos(-5, 2 + yOffset, 0); + + pants0 = new ModelPart(this, 40, 16); + pants0->addBox(0, 0, 0, 0, 0, 0, g); + pants0->setPos(0, 0 + yOffset, 0); + + pants1 = new ModelPart(this, 40, 16); + pants1->addBox(0, 0, 0, 0, 0, 0, g); + pants1->setPos(0, 0 + yOffset, 0); + + delete arm1; + arm1 = new ModelPart(this, 40, 16); + arm1->bMirror = true; + arm1->addBox(-1, -2, -2, 4, 12, 4, g); + arm1->setPos(5, 2 + yOffset, 0); + + delete leg0; + leg0 = new ModelPart(this, 0, 16); + leg0->addBox(-2, 0, -2, 4, 12, 4, g); + leg0->setPos(-1.9f, 12 + yOffset, 0); + + delete leg1; + leg1 = new ModelPart(this, 0, 16); + leg1->bMirror = true; + leg1->addBox(-2, 0, -2, 4, 12, 4, g); + leg1->setPos(1.9f, 12 + yOffset, 0); + } // 4J added - compile now to avoid random performance hit first time cubes are rendered head->compile(1.0f/16.0f); + if (!isArmor) + { + body->compile(1.0f/16.0f); + arm0->compile(1.0f/16.0f); + arm1->compile(1.0f/16.0f); + leg0->compile(1.0f/16.0f); + leg1->compile(1.0f/16.0f); + } } VillagerZombieModel::VillagerZombieModel() : HumanoidModel(0, 0, 64, 64) diff --git a/Minecraft.Client/Windows64Media/Sound/Minecraft/fire/new_ignite.ogg b/Minecraft.Client/Windows64Media/Sound/Minecraft/fire/new_ignite.ogg new file mode 100644 index 00000000..2b390a48 Binary files /dev/null and b/Minecraft.Client/Windows64Media/Sound/Minecraft/fire/new_ignite.ogg differ diff --git a/Minecraft.Client/ZombieRenderer.cpp b/Minecraft.Client/ZombieRenderer.cpp index 1ff1ec9a..289ad7aa 100644 --- a/Minecraft.Client/ZombieRenderer.cpp +++ b/Minecraft.Client/ZombieRenderer.cpp @@ -99,6 +99,7 @@ void ZombieRenderer::swapArmor(shared_ptr mob) } humanoidModel = static_cast(model); + resModel = model; } void ZombieRenderer::setupRotations(shared_ptr _mob, float bob, float bodyRot, float a) diff --git a/Minecraft.World/Skeleton.cpp b/Minecraft.World/Skeleton.cpp index dfbbc11c..d152a8cd 100644 --- a/Minecraft.World/Skeleton.cpp +++ b/Minecraft.World/Skeleton.cpp @@ -188,7 +188,7 @@ void Skeleton::dropDeathLoot(bool wasKilledByPlayer, int playerBonusLevel) { if (getSkeletonType() == TYPE_WITHER) { - // drop some arrows + // drop some coal int count = random->nextInt(3 + playerBonusLevel) - 1; for (int i = 0; i < count; i++) {