Add GPU renderer

This commit is contained in:
Adam
2018-11-15 09:19:37 -05:00
parent 3c84d98638
commit 3f5e273349
74 changed files with 6201 additions and 22 deletions

View File

@@ -26,7 +26,7 @@ package net.runelite.rs.api;
import net.runelite.mapping.Import;
public interface RSBuffer
public interface RSBuffer extends RSNode
{
@Import("payload")
byte[] getPayload();

View File

@@ -29,6 +29,18 @@ import net.runelite.mapping.Import;
public interface RSBufferProvider extends BufferProvider
{
@Import("pixels")
@Override
int[] getPixels();
@Import("width")
@Override
int getWidth();
@Import("height")
@Override
int getHeight();
@Import("setRaster")
void setRaster();
}

View File

@@ -48,6 +48,18 @@ public interface RSClient extends RSGameEngine, Client
@Override
int getCameraZ();
@Import("cameraX2")
@Override
int getCameraX2();
@Import("cameraY2")
@Override
int getCameraY2();
@Import("cameraZ2")
@Override
int getCameraZ2();
@Import("plane")
@Override
int getPlane();
@@ -146,9 +158,15 @@ public interface RSClient extends RSGameEngine, Client
@Import("selectedSceneTileX")
int getSelectedSceneTileX();
@Import("selectedSceneTileX")
void setSelectedSceneTileX(int selectedSceneTileX);
@Import("selectedSceneTileY")
int getSelectedSceneTileY();
@Import("selectedSceneTileY")
void setSelectedSceneTileY(int selectedSceneTileY);
@Import("draggingWidget")
@Override
boolean isDraggingWidget();
@@ -246,6 +264,18 @@ public interface RSClient extends RSGameEngine, Client
@Import("mouseY")
int getMouseY();
@Import("mouseX2")
int getMouseX2();
@Import("mouseY2")
int getMouseY2();
@Import("containsBounds")
boolean containsBounds(int var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7);
@Import("checkClick")
boolean isCheckClick();
@Import("menuOptionCount")
int getMenuOptionCount();
@@ -289,6 +319,14 @@ public interface RSClient extends RSGameEngine, Client
@Override
int getScale();
@Import("canvasHeight")
@Override
int getCanvasHeight();
@Import("canvasWidth")
@Override
int getCanvasWidth();
@Import("viewportHeight")
@Override
int getViewportHeight();
@@ -565,11 +603,36 @@ public interface RSClient extends RSGameEngine, Client
void setYawCos(int v);
@Import("Rasterizer3D_zoom")
@Override
int get3dZoom();
@Import("Rasterizer3D_zoom")
void set3dZoom(int zoom);
@Import("Rasterizer3D_clipMidX2")
@Override
int getRasterizer3D_clipMidX2();
@Import("Rasterizer3D_clipNegativeMidX")
@Override
int getRasterizer3D_clipNegativeMidX();
@Import("Rasterizer3D_clipNegativeMidY")
@Override
int getRasterizer3D_clipNegativeMidY();
@Import("Rasterizer3D_clipMidY2")
@Override
int getRasterizer3D_clipMidY2();
@Import("centerX")
@Override
int getCenterX();
@Import("centerY")
@Override
int getCenterY();
@Import("renderOverview")
RSRenderOverview getRenderOverview();
@@ -664,6 +727,10 @@ public interface RSClient extends RSGameEngine, Client
@Override
RSNodeCache getWidgetSpriteCache();
@Import("oculusOrbState")
@Override
int getOculusOrbState();
@Import("oculusOrbState")
@Override
void setOculusOrbState(int state);
@@ -689,9 +756,31 @@ public interface RSClient extends RSGameEngine, Client
@Protect
void menuAction(int var0, int var1, int var2, int var3, String var4, String var5, int var6, int var7);
@Import("Viewport_entityCountAtMouse")
int getEntitiesAtMouseCount();
@Import("Viewport_entityCountAtMouse")
void setEntitiesAtMouseCount(int i);
@Import("Viewport_entitiesAtMouse")
long[] getEntitiesAtMouse();
@Import("Viewport_mouseX")
int getViewportMouseX();
@Import("Viewport_mouseY")
int getViewportMouseY();
@Import("textureProvider")
@Override
RSTextureProvider getTextureProvider();
@Import("occupiedTilesTick")
int[][] getOccupiedTilesTick();
@Import("cachedModels2")
RSNodeCache getCachedModels2();
@Import("cycle")
int getCycle();
@@ -739,4 +828,28 @@ public interface RSClient extends RSGameEngine, Client
@Import("tileUpdateCount")
void setTileUpdateCount(int tileUpdateCount);
@Import("Viewport_containsMouse")
boolean getViewportContainsMouse();
@Import("graphicsPixels")
int[] getGraphicsPixels();
@Import("graphicsPixelsWidth")
int getGraphicsPixelsWidth();
@Import("graphicsPixelsHeight")
int getGraphicsPixelsHeight();
@Import("startX")
int getStartX();
@Import("startY")
int getStartY();
@Import("endX")
int getEndX();
@Import("endY")
int getEndY();
}

View File

@@ -43,7 +43,12 @@ public interface RSDecorativeObject extends DecorativeObject
int getOrientation();
@Import("renderable1")
@Override
RSRenderable getRenderable();
@Import("renderable2")
@Override
RSRenderable getRenderable2();
void setPlane(int plane);
}

View File

@@ -33,6 +33,22 @@ public interface RSGameEngine extends GameEngine
@Import("canvas")
Canvas getCanvas();
@Import("post")
void post(Object canvas);
@Import("resizeCanvas")
@Override
void resizeCanvas();
@Import("resizeCanvasNextFrame")
void setResizeCanvasNextFrame(boolean state);
boolean isResizeCanvasNextFrame();
@Import("resizeCanvasNextFrame")
void setResizeCanvasNextFrame(boolean resize);
@Import("replaceCanvasNextFrame")
boolean isReplaceCanvasNextFrame();
@Import("replaceCanvasNextFrame")
void setReplaceCanvasNextFrame(boolean replace);
}

View File

@@ -25,7 +25,6 @@
package net.runelite.rs.api;
import net.runelite.api.GroundObject;
import net.runelite.api.Renderable;
import net.runelite.mapping.Import;
public interface RSGroundObject extends GroundObject
@@ -41,7 +40,8 @@ public interface RSGroundObject extends GroundObject
int getY();
@Import("renderable")
Renderable getRenderable();
@Override
RSRenderable getRenderable();
void setPlane(int plane);
}

View File

@@ -24,6 +24,7 @@
*/
package net.runelite.rs.api;
import java.awt.Component;
import java.awt.Image;
import net.runelite.api.MainBufferProvider;
import net.runelite.mapping.Import;
@@ -33,4 +34,10 @@ public interface RSMainBufferProvider extends RSBufferProvider, MainBufferProvid
@Import("image")
@Override
Image getImage();
@Import("image")
void setImage(Image image);
@Import("canvas")
Component getCanvas();
}

View File

@@ -31,35 +31,75 @@ import net.runelite.mapping.Import;
public interface RSModel extends RSRenderable, Model
{
@Import("verticesCount")
@Override
int getVerticesCount();
@Import("verticesX")
@Override
int[] getVerticesX();
@Import("verticesY")
@Override
int[] getVerticesY();
@Import("verticesZ")
@Override
int[] getVerticesZ();
@Import("indicesCount")
@Override
int getTrianglesCount();
@Import("indices1")
@Override
int[] getTrianglesX();
@Import("indices2")
@Override
int[] getTrianglesY();
@Import("indices3")
@Override
int[] getTrianglesZ();
@Import("faceColors1")
@Override
int[] getFaceColors1();
@Import("faceColors2")
@Override
int[] getFaceColors2();
@Import("faceColors3")
@Override
int[] getFaceColors3();
@Import("triangleTransparencies")
@Override
byte[] getTriangleTransparencies();
@Import("faceRenderPriorities")
@Override
byte[] getFaceRenderPriorities();
@Import("vertexGroups")
int[][] getVertexGroups();
@Import("modelHeight")
@Override
int getModelHeight();
@Import("animate")
void animate(int type, int[] list, int x, int y, int z);
@Import("calculateBoundsCylinder")
@Override
void calculateBoundsCylinder();
@Import("calculateExtreme")
@Override
void calculateExtreme(int orientation);
@Import("resetBounds")
void resetBounds();
@@ -78,6 +118,45 @@ public interface RSModel extends RSRenderable, Model
@Import("rotateY270Ccw")
void rotateY270Ccw();
@Import("isClickable")
boolean isClickable();
@Import("radius")
@Override
int getRadius();
@Import("centerX")
@Override
int getCenterX();
@Import("centerY")
@Override
int getCenterY();
@Import("centerZ")
@Override
int getCenterZ();
@Import("extremeX")
@Override
int getExtremeX();
@Import("extremeY")
@Override
int getExtremeY();
@Import("extremeZ")
@Override
int getExtremeZ();
@Import("faceTextures")
@Override
short[] getFaceTextures();
@Import("XYZMag")
@Override
int getXYZMag();
void interpolateFrames(RSFrames frames, int frameId, RSFrames nextFrames, int nextFrameId, int interval,
int intervalCount);
@@ -89,4 +168,10 @@ public interface RSModel extends RSRenderable, Model
* @return
*/
Polygon getConvexHull(int localX, int localY, int orientation);
float[][] getFaceTextureUCoordinates();
void setFaceTextureUCoordinates(float[][] rl$faceTextureUCoordinates);
float[][] getFaceTextureVCoordinates();
void setFaceTextureVCoordinates(float[][] rl$faceTextureVCoordinates);
}

View File

@@ -0,0 +1,69 @@
/*
* Copyright (c) 2018, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.rs.api;
import net.runelite.mapping.Import;
public interface RSModelData extends RSRenderable
{
@Import("triangleFaceCount")
int getTriangleFaceCount();
@Import("trianglePointsX")
int[] getTrianglePointsX();
@Import("trianglePointsY")
int[] getTrianglePointsY();
@Import("trianglePointsZ")
int[] getTrianglePointsZ();
@Import("vertexX")
int[] getVertexX();
@Import("vertexY")
int[] getVertexY();
@Import("vertexZ")
int[] getVertexZ();
@Import("texTriangleX")
short[] getTexTriangleX();
@Import("texTriangleY")
short[] getTexTriangleY();
@Import("texTriangleZ")
short[] getTexTriangleZ();
@Import("faceTextures")
short[] getFaceTextures();
@Import("textureCoords")
byte[] getTextureCoords();
@Import("textureRenderTypes")
byte[] getTextureRenderTypes();
}

View File

@@ -33,5 +33,14 @@ public interface RSNodeCache extends NodeCache
RSCacheableNode get(long id);
@Import("reset")
@Override
void reset();
@Import("capacity")
@Override
void setCapacity(int capacity);
@Import("remainingCapacity")
@Override
void setRemainingCapacity(int remainingCapacity);
}

View File

@@ -32,7 +32,15 @@ public interface RSRenderable extends RSNode, Renderable
@Import("modelHeight")
int getModelHeight();
@Import("modelHeight")
@Override
void setModelHeight(int modelHeight);
@Import("getModel")
@Override
RSModel getModel();
@Import("draw")
@Override
void draw(int orientation, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y, int z, long hash);
}

View File

@@ -40,6 +40,9 @@ public interface RSScene extends Scene
@Import("draw")
void draw(Tile tile, boolean var2);
@Import("tileHeights")
int[][][] getTileHeights();
@Import("drawTile")
void drawTile(int[] pixels, int pixelOffset, int width, int z, int x, int y);

View File

@@ -44,4 +44,44 @@ public interface RSSceneTileModel extends SceneTileModel
@Import("rotation")
@Override
int getRotation();
@Import("faceX")
@Override
int[] getFaceX();
@Import("faceY")
@Override
int[] getFaceY();
@Import("faceZ")
@Override
int[] getFaceZ();
@Import("vertexX")
@Override
int[] getVertexX();
@Import("vertexY")
@Override
int[] getVertexY();
@Import("vertexZ")
@Override
int[] getVertexZ();
@Import("triangleColorA")
@Override
int[] getTriangleColorA();
@Import("triangleColorB")
@Override
int[] getTriangleColorB();
@Import("triangleColorC")
@Override
int[] getTriangleColorC();
@Import("triangleTextureId")
@Override
int[] getTriangleTextureId();
}

View File

@@ -32,4 +32,24 @@ public interface RSSceneTilePaint extends SceneTilePaint
@Import("rgb")
@Override
int getRBG();
@Import("swColor")
@Override
int getSwColor();
@Import("seColor")
@Override
int getSeColor();
@Import("nwColor")
@Override
int getNwColor();
@Import("neColor")
@Override
int getNeColor();
@Import("texture")
@Override
int getTexture();
}

View File

@@ -0,0 +1,47 @@
/*
* Copyright (c) 2018, Adam <Adam@sigterm.info>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* 1. Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
* 2. Redistributions in binary form must reproduce the above copyright notice,
* this list of conditions and the following disclaimer in the documentation
* and/or other materials provided with the distribution.
*
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
*/
package net.runelite.rs.api;
import net.runelite.api.Texture;
import net.runelite.mapping.Import;
public interface RSTexture extends Texture, RSNode
{
@Import("pixels")
@Override
int[] getPixels();
@Import("animationDirection")
@Override
int getAnimationDirection();
@Import("animationSpeed")
@Override
int getAnimationSpeed();
@Import("loaded")
@Override
boolean isLoaded();
}

View File

@@ -29,7 +29,25 @@ import net.runelite.mapping.Import;
public interface RSTextureProvider extends TextureProvider
{
@Import("brightness")
@Override
@Import("checkTextures")
void checkTextures(int var1);
double getBrightness();
@Import("setBrightness")
@Override
void setBrightness(double brightness);
@Import("maxSize")
void setMaxSize(int maxSize);
@Import("size")
void setSize(int size);
@Import("textures")
@Override
RSTexture[] getTextures();
@Import("load")
@Override
int[] load(int textureId);
}

View File

@@ -74,9 +74,20 @@ public interface RSTile extends Tile
@Override
int getPlane();
@Import("renderLevel")
@Override
int getRenderLevel();
@Import("physicalLevel")
int getPhysicalLevel();
@Import("flags")
int getFlags();
@Import("bridge")
@Override
RSTile getBridge();
@Import("draw")
boolean isDraw();
@@ -89,9 +100,6 @@ public interface RSTile extends Tile
@Import("visible")
void setVisible(boolean visible);
@Import("drawEntities")
boolean isDrawEntities();
@Import("drawEntities")
void setDrawEntities(boolean drawEntities);

View File

@@ -24,7 +24,6 @@
*/
package net.runelite.rs.api;
import net.runelite.api.Renderable;
import net.runelite.api.WallObject;
import net.runelite.mapping.Import;
@@ -51,10 +50,12 @@ public interface RSWallObject extends WallObject
int getOrientationB();
@Import("renderable1")
Renderable getRenderable1();
@Override
RSRenderable getRenderable1();
@Import("renderable2")
Renderable getRenderable2();
@Override
RSRenderable getRenderable2();
@Import("config")
@Override