From b3feddfef372618c8a9d7a0abcaf18cfad866c18 Mon Sep 17 00:00:00 2001 From: daoge <3523206925@qq.com> Date: Tue, 3 Mar 2026 03:04:10 +0800 Subject: feat: TU19 (Dec 2014) Features & Content (#155) * try to resolve merge conflict * feat: TU19 (Dec 2014) Features & Content (#32) * December 2014 files * Working release build * Fix compilation issues * Add sound to Windows64Media * Add DLC content and force Tutorial DLC * Revert "Add DLC content and force Tutorial DLC" This reverts commit 97a43994725008e35fceb984d5549df9c8cea470. * Disable broken light packing * Disable breakpoint during DLC texture map load Allows DLC loading but the DLC textures are still broken * Fix post build not working * ... * fix vs2022 build * fix cmake build --------- Co-authored-by: Loki --- Minecraft.Client/BatRenderer.cpp | 50 ++++++++++++++++++++++++++++++++++++++++ 1 file changed, 50 insertions(+) create mode 100644 Minecraft.Client/BatRenderer.cpp (limited to 'Minecraft.Client/BatRenderer.cpp') diff --git a/Minecraft.Client/BatRenderer.cpp b/Minecraft.Client/BatRenderer.cpp new file mode 100644 index 00000000..629fe014 --- /dev/null +++ b/Minecraft.Client/BatRenderer.cpp @@ -0,0 +1,50 @@ +#include "stdafx.h" +#include "..\Minecraft.World\net.minecraft.world.entity.ambient.h" +#include "BatRenderer.h" +#include "BatModel.h" + +ResourceLocation BatRenderer::BAT_LOCATION = ResourceLocation(TN_MOB_BAT); + +BatRenderer::BatRenderer() : MobRenderer(new BatModel(), 0.25f) +{ + modelVersion = ((BatModel *)model)->modelVersion(); +} + +void BatRenderer::render(shared_ptr _mob, double x, double y, double z, float rot, float a) +{ + int modelVersion = (dynamic_cast(model))->modelVersion(); + if (modelVersion != this->modelVersion) { + this->modelVersion = modelVersion; + model = new BatModel(); + } + MobRenderer::render(_mob, x, y, z, rot, a); +} + +ResourceLocation *BatRenderer::getTextureLocation(shared_ptr mob) +{ + return &BAT_LOCATION; +} + +void BatRenderer::scale(shared_ptr mob, float a) +{ + glScalef(.35f, .35f, .35f); +} + +void BatRenderer::setupPosition(shared_ptr mob, double x, double y, double z) +{ + MobRenderer::setupPosition(mob, x, y, z); +} + +void BatRenderer::setupRotations(shared_ptr _mob, float bob, float bodyRot, float a) +{ + shared_ptr mob = dynamic_pointer_cast(_mob); + if (!mob->isResting()) + { + glTranslatef(0, cos(bob * .3f) * .1f, 0); + } + else + { + glTranslatef(0, -.1f, 0); + } + MobRenderer::setupRotations(mob, bob, bodyRot, a); +} \ No newline at end of file -- cgit v1.2.3