aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/BatRenderer.cpp
diff options
context:
space:
mode:
authordaoge <3523206925@qq.com>2026-03-03 03:04:10 +0800
committerGitHub <noreply@github.com>2026-03-03 03:04:10 +0800
commitb3feddfef372618c8a9d7a0abcaf18cfad866c18 (patch)
tree267761c3bb39241ba5c347bfbe2254d06686e287 /Minecraft.Client/BatRenderer.cpp
parent84c31a2331f7a0ec85b9d438992e244f60e5020f (diff)
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 <lokirautio@gmail.com>
Diffstat (limited to 'Minecraft.Client/BatRenderer.cpp')
-rw-r--r--Minecraft.Client/BatRenderer.cpp50
1 files changed, 50 insertions, 0 deletions
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<Entity> _mob, double x, double y, double z, float rot, float a)
+{
+ int modelVersion = (dynamic_cast<BatModel*>(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<Entity> mob)
+{
+ return &BAT_LOCATION;
+}
+
+void BatRenderer::scale(shared_ptr<LivingEntity> mob, float a)
+{
+ glScalef(.35f, .35f, .35f);
+}
+
+void BatRenderer::setupPosition(shared_ptr<LivingEntity> mob, double x, double y, double z)
+{
+ MobRenderer::setupPosition(mob, x, y, z);
+}
+
+void BatRenderer::setupRotations(shared_ptr<LivingEntity> _mob, float bob, float bodyRot, float a)
+{
+ shared_ptr<Bat> mob = dynamic_pointer_cast<Bat>(_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