Merge pull request #724 from devLotto/model-fix

Fix ArrayIndexOutOfBoundsException on getting vertices of certain gameobjects
This commit is contained in:
Tomas Slusny
2018-02-27 17:10:12 +01:00
committed by GitHub
2 changed files with 9 additions and 3 deletions

View File

@@ -45,7 +45,7 @@ public abstract class RSModelMixin implements RSModel
List<Vertex> vertices = new ArrayList<Vertex>();
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<Vertex> vertices = getVertices();
List<Triangle> triangles = new ArrayList<Triangle>(trianglesX.length);
List<Triangle> triangles = new ArrayList<Triangle>(getTrianglesCount());
for (int i = 0; i < trianglesX.length; ++i)
for (int i = 0; i < getTrianglesCount(); ++i)
{
int triangleX = trianglesX[i];
int triangleY = trianglesY[i];

View File

@@ -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();