diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java index 7451255ebb..10e2b089c0 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSModelMixin.java @@ -45,7 +45,7 @@ public abstract class RSModelMixin implements RSModel List vertices = new ArrayList(); - for (int i = 0; i < verticesX.length; ++i) + for (int i = 0; i < getVerticesCount(); ++i) { Vertex v = new Vertex( verticesX[i], @@ -67,9 +67,9 @@ public abstract class RSModelMixin implements RSModel int[] trianglesZ = getTrianglesZ(); List vertices = getVertices(); - List triangles = new ArrayList(trianglesX.length); + List triangles = new ArrayList(getTrianglesCount()); - for (int i = 0; i < trianglesX.length; ++i) + for (int i = 0; i < getTrianglesCount(); ++i) { int triangleX = trianglesX[i]; int triangleY = trianglesY[i]; diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSModel.java b/runescape-api/src/main/java/net/runelite/rs/api/RSModel.java index 14ac5379d3..a1273f0cdb 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSModel.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSModel.java @@ -29,6 +29,9 @@ import net.runelite.mapping.Import; public interface RSModel extends RSRenderable, Model { + @Import("verticesCount") + int getVerticesCount(); + @Import("verticesX") int[] getVerticesX(); @@ -38,6 +41,9 @@ public interface RSModel extends RSRenderable, Model @Import("verticesZ") int[] getVerticesZ(); + @Import("indicesCount") + int getTrianglesCount(); + @Import("indices1") int[] getTrianglesX();