aboutsummaryrefslogtreecommitdiff
path: root/Minecraft.Client/MobRenderer.cpp
diff options
context:
space:
mode:
authorModMaker101 <119018978+ModMaker101@users.noreply.github.com>2026-03-08 19:08:36 -0400
committerGitHub <noreply@github.com>2026-03-08 18:08:36 -0500
commit28614b922fb77149a54da1a87bebfbc98736f296 (patch)
tree7f828ba86a4ee18d0a80d29de64f6199a5412512 /Minecraft.Client/MobRenderer.cpp
parent88798b501d0cf6287b6f87acb2592676e3cec58d (diff)
Modernize project codebase (#906)
* Fixed boats falling and a TP glitch #266 * Replaced every C-style cast with C++ ones * Replaced every C-style cast with C++ ones * Fixed boats falling and a TP glitch #266 * Updated NULL to nullptr and fixing some type issues * Modernized and fixed a few bugs - Replaced most instances of `NULL` with `nullptr`. - Replaced most `shared_ptr(new ...)` with `make_shared`. - Removed the `nullptr` macro as it was interfering with the actual nullptr keyword in some instances. * Fixing more conflicts * Replace int loops with size_t and start work on overrides * Add safety checks and fix a issue with vector going OOR
Diffstat (limited to 'Minecraft.Client/MobRenderer.cpp')
-rw-r--r--Minecraft.Client/MobRenderer.cpp30
1 files changed, 20 insertions, 10 deletions
diff --git a/Minecraft.Client/MobRenderer.cpp b/Minecraft.Client/MobRenderer.cpp
index ee512530..53998070 100644
--- a/Minecraft.Client/MobRenderer.cpp
+++ b/Minecraft.Client/MobRenderer.cpp
@@ -15,8 +15,18 @@ MobRenderer::MobRenderer(Model *model, float shadow) : LivingEntityRenderer(mode
void MobRenderer::render(shared_ptr<Entity> _mob, double x, double y, double z, float rot, float a)
{
+ if (_mob == nullptr)
+ {
+ return;
+ }
+
shared_ptr<Mob> mob = dynamic_pointer_cast<Mob>(_mob);
+ if (mob == nullptr)
+ {
+ return;
+ }
+
LivingEntityRenderer::render(mob, x, y, z, rot, a);
renderLeash(mob, x, y, z, rot, a);
}
@@ -30,7 +40,7 @@ void MobRenderer::renderLeash(shared_ptr<Mob> entity, double x, double y, double
{
shared_ptr<Entity> roper = entity->getLeashHolder();
// roper = entityRenderDispatcher.cameraEntity;
- if (roper != NULL)
+ if (roper != nullptr)
{
glColor4f(1.0f, 1.0f, 1.0f, 1.0f);
@@ -61,9 +71,9 @@ void MobRenderer::renderLeash(shared_ptr<Mob> entity, double x, double y, double
x += rotOffCos;
z += rotOffSin;
- double dx = (float) (endX - startX);
- double dy = (float) (endY - startY);
- double dz = (float) (endZ - startZ);
+ double dx = static_cast<float>(endX - startX);
+ double dy = static_cast<float>(endY - startY);
+ double dz = static_cast<float>(endZ - startZ);
glDisable(GL_TEXTURE_2D);
glDisable(GL_LIGHTING);
@@ -92,9 +102,9 @@ void MobRenderer::renderLeash(shared_ptr<Mob> entity, double x, double y, double
{
tessellator->color(rDarkCol, gDarkCol, bDarkCol, 1.0F);
}
- float aa = (float) k / (float) steps;
- tessellator->vertex(x + (dx * aa) + 0, y + (dy * ((aa * aa) + aa) * 0.5) + ((((float) steps - (float) k) / (steps * 0.75F)) + 0.125F), z + (dz * aa));
- tessellator->vertex(x + (dx * aa) + width, y + (dy * ((aa * aa) + aa) * 0.5) + ((((float) steps - (float) k) / (steps * 0.75F)) + 0.125F) + width, z + (dz * aa));
+ float aa = static_cast<float>(k) / static_cast<float>(steps);
+ tessellator->vertex(x + (dx * aa) + 0, y + (dy * ((aa * aa) + aa) * 0.5) + (((static_cast<float>(steps) - static_cast<float>(k)) / (steps * 0.75F)) + 0.125F), z + (dz * aa));
+ tessellator->vertex(x + (dx * aa) + width, y + (dy * ((aa * aa) + aa) * 0.5) + (((static_cast<float>(steps) - static_cast<float>(k)) / (steps * 0.75F)) + 0.125F) + width, z + (dz * aa));
}
tessellator->end();
@@ -109,9 +119,9 @@ void MobRenderer::renderLeash(shared_ptr<Mob> entity, double x, double y, double
{
tessellator->color(rDarkCol, gDarkCol, bDarkCol, 1.0F);
}
- float aa = (float) k / (float) steps;
- tessellator->vertex(x + (dx * aa) + 0, y + (dy * ((aa * aa) + aa) * 0.5) + ((((float) steps - (float) k) / (steps * 0.75F)) + 0.125F) + width, z + (dz * aa));
- tessellator->vertex(x + (dx * aa) + width, y + (dy * ((aa * aa) + aa) * 0.5) + ((((float) steps - (float) k) / (steps * 0.75F)) + 0.125F), z + (dz * aa) + width);
+ float aa = static_cast<float>(k) / static_cast<float>(steps);
+ tessellator->vertex(x + (dx * aa) + 0, y + (dy * ((aa * aa) + aa) * 0.5) + (((static_cast<float>(steps) - static_cast<float>(k)) / (steps * 0.75F)) + 0.125F) + width, z + (dz * aa));
+ tessellator->vertex(x + (dx * aa) + width, y + (dy * ((aa * aa) + aa) * 0.5) + (((static_cast<float>(steps) - static_cast<float>(k)) / (steps * 0.75F)) + 0.125F), z + (dz * aa) + width);
}
tessellator->end();