From 1fbb8fafb968a17a2a6e67757473ab78ff5a6470 Mon Sep 17 00:00:00 2001 From: Archie Halliwell Date: Tue, 15 Apr 2025 20:22:50 +1000 Subject: [PATCH] reduce calls to System.currentTimeMillis --- .../java/com/hbm/render/loader/HbmFace.java | 10 +++++---- .../com/hbm/render/loader/HbmGroupObject.java | 8 +++---- .../com/hbm/render/loader/HbmModelObject.java | 21 ++++++++++++------- 3 files changed, 24 insertions(+), 15 deletions(-) diff --git a/src/main/java/com/hbm/render/loader/HbmFace.java b/src/main/java/com/hbm/render/loader/HbmFace.java index 90429cb58..5290eb29e 100644 --- a/src/main/java/com/hbm/render/loader/HbmFace.java +++ b/src/main/java/com/hbm/render/loader/HbmFace.java @@ -14,13 +14,13 @@ public class HbmFace { public TextureCoordinate[] textureCoordinates; @SideOnly(Side.CLIENT) - public void addFaceForRender(Tessellator tessellator) + public void addFaceForRender(float currentTime, Tessellator tessellator) { - addFaceForRender(tessellator, 0.0005F); + addFaceForRender(currentTime, tessellator, 0.0005F); } @SideOnly(Side.CLIENT) - public void addFaceForRender(Tessellator tessellator, float textureOffset) + public void addFaceForRender(float currentTime, Tessellator tessellator, float textureOffset) { if (faceNormal == null) { @@ -31,6 +31,7 @@ public class HbmFace { float averageU = 0F; float averageV = 0F; + float animOffset = 0F; if ((textureCoordinates != null) && (textureCoordinates.length > 0)) { @@ -42,6 +43,7 @@ public class HbmFace { averageU = averageU / textureCoordinates.length; averageV = averageV / textureCoordinates.length; + animOffset = (float)(((double)currentTime % HmfController.modoloMod) / HmfController.quotientMod); } float offsetU, offsetV; @@ -63,7 +65,7 @@ public class HbmFace { offsetV = -offsetV; } - tessellator.addVertexWithUV(vertices[i].x, vertices[i].y, vertices[i].z, textureCoordinates[i].u + offsetU, textureCoordinates[i].v + offsetV + (((double)System.currentTimeMillis() % HmfController.modoloMod) / HmfController.quotientMod)); + tessellator.addVertexWithUV(vertices[i].x, vertices[i].y, vertices[i].z, textureCoordinates[i].u + offsetU, textureCoordinates[i].v + offsetV + animOffset); } else { diff --git a/src/main/java/com/hbm/render/loader/HbmGroupObject.java b/src/main/java/com/hbm/render/loader/HbmGroupObject.java index 655394b31..77dc6c66c 100644 --- a/src/main/java/com/hbm/render/loader/HbmGroupObject.java +++ b/src/main/java/com/hbm/render/loader/HbmGroupObject.java @@ -29,25 +29,25 @@ public class HbmGroupObject { } @SideOnly(Side.CLIENT) - public void render() + public void render(float currentTime) { if (faces.size() > 0) { Tessellator tessellator = Tessellator.instance; tessellator.startDrawing(glDrawingMode); - render(tessellator); + render(currentTime, tessellator); tessellator.draw(); } } @SideOnly(Side.CLIENT) - public void render(Tessellator tessellator) + public void render(float currentTime, Tessellator tessellator) { if (faces.size() > 0) { for (HbmFace face : faces) { - face.addFaceForRender(tessellator); + face.addFaceForRender(currentTime, tessellator); } } } diff --git a/src/main/java/com/hbm/render/loader/HbmModelObject.java b/src/main/java/com/hbm/render/loader/HbmModelObject.java index 942961e18..767493055 100644 --- a/src/main/java/com/hbm/render/loader/HbmModelObject.java +++ b/src/main/java/com/hbm/render/loader/HbmModelObject.java @@ -188,9 +188,10 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void tessellateAll(Tessellator tessellator) { + float currentTime = System.currentTimeMillis(); for (HbmGroupObject groupObject : groupObjects) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } @@ -198,13 +199,14 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void renderOnly(String... groupNames) { + float currentTime = System.currentTimeMillis(); for (HbmGroupObject groupObject : groupObjects) { for (String groupName : groupNames) { if (groupName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(); + groupObject.render(currentTime); } } } @@ -212,13 +214,14 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void tessellateOnly(Tessellator tessellator, String... groupNames) { + float currentTime = System.currentTimeMillis(); for (HbmGroupObject groupObject : groupObjects) { for (String groupName : groupNames) { if (groupName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } } @@ -228,22 +231,24 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void renderPart(String partName) { + float currentTime = System.currentTimeMillis(); for (HbmGroupObject groupObject : groupObjects) { if (partName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(); + groupObject.render(currentTime); } } } @SideOnly(Side.CLIENT) public void tessellatePart(Tessellator tessellator, String partName) { + float currentTime = System.currentTimeMillis(); for (HbmGroupObject groupObject : groupObjects) { if (partName.equalsIgnoreCase(groupObject.name)) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } } @@ -252,6 +257,7 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void renderAllExcept(String... excludedGroupNames) { + float currentTime = System.currentTimeMillis(); for (HbmGroupObject groupObject : groupObjects) { boolean skipPart=false; @@ -264,7 +270,7 @@ public class HbmModelObject implements IModelCustom { } if(!skipPart) { - groupObject.render(); + groupObject.render(currentTime); } } } @@ -272,6 +278,7 @@ public class HbmModelObject implements IModelCustom { @SideOnly(Side.CLIENT) public void tessellateAllExcept(Tessellator tessellator, String... excludedGroupNames) { + float currentTime = System.currentTimeMillis(); boolean exclude; for (HbmGroupObject groupObject : groupObjects) { @@ -285,7 +292,7 @@ public class HbmModelObject implements IModelCustom { } if(!exclude) { - groupObject.render(tessellator); + groupObject.render(currentTime, tessellator); } } }