···11-package com.jagex.runescape.media;
22-33-public class VertexNormal {
44-55- public VertexNormal() {
66- }
77-88- public int x;
99- public int y;
1010- public int z;
1111- public int magnitude;
1212-}
···11+package com.jagex.runescape.media
22+33+class VertexNormal {
44+ @JvmField var x: Int = 0
55+ @JvmField var y: Int = 0
66+ @JvmField var z: Int = 0
77+ @JvmField var magnitude: Int = 0
88+}
···11-package com.jagex.runescape.media.renderable;
22-33-public class ModelHeader {
44-55- public byte modelData[];
66- public int vertexCount;
77- public int triangleCount;
88- public int texturedTriangleCount;
99- public int vertexDirectionOffset;
1010- public int xDataOffset;
1111- public int yDataOffset;
1212- public int zDataOffset;
1313- public int vertexSkinOffset;
1414- public int triangleDataOffset;
1515- public int triangleTypeOffset;
1616- public int colorDataOffset;
1717- public int texturePointerOffset;
1818- public int trianglePriorityOffset;
1919- public int triangleAlphaOffset;
2020- public int triangleSkinOffset;
2121- public int uvMapTriangleOffset;
2222-}
···11+package com.jagex.runescape.media.renderable
22+33+class ModelHeader {
44+ @JvmField var modelData: ByteArray? = null
55+ @JvmField var vertexCount: Int = 0
66+ @JvmField var triangleCount: Int = 0
77+ @JvmField var texturedTriangleCount: Int = 0
88+ @JvmField var vertexDirectionOffset: Int = 0
99+ @JvmField var xDataOffset: Int = 0
1010+ @JvmField var yDataOffset: Int = 0
1111+ @JvmField var zDataOffset: Int = 0
1212+ @JvmField var vertexSkinOffset: Int = 0
1313+ @JvmField var triangleDataOffset: Int = 0
1414+ @JvmField var triangleTypeOffset: Int = 0
1515+ @JvmField var colorDataOffset: Int = 0
1616+ @JvmField var texturePointerOffset: Int = 0
1717+ @JvmField var trianglePriorityOffset: Int = 0
1818+ @JvmField var triangleAlphaOffset: Int = 0
1919+ @JvmField var triangleSkinOffset: Int = 0
2020+ @JvmField var uvMapTriangleOffset: Int = 0
2121+}
···11-package com.jagex.runescape.media.renderable;
22-33-import com.jagex.runescape.collection.CacheableNode;
44-import com.jagex.runescape.media.VertexNormal;
55-66-public class Renderable extends CacheableNode {
77-88- public VertexNormal[] verticesNormal;
99- public int modelHeight = 1000;
1010-1111- public void renderAtPoint(int i, int j, int k, int l, int i1, int j1, int k1, int l1, int i2) {
1212- Model model = getRotatedModel();
1313- if (model != null) {
1414- modelHeight = model.modelHeight;
1515- model.renderAtPoint(i, j, k, l, i1, j1, k1, l1, i2);
1616- }
1717- }
1818-1919- public Model getRotatedModel() {
2020- return null;
2121- }
2222-2323-2424-}
···11-package com.jagex.runescape.scene;
22-33-import com.jagex.runescape.media.renderable.Renderable;
44-55-public class GroundItemTile {
66-77- public GroundItemTile() {
88- }
99-1010- public int z;
1111- public int x;
1212- public int y;
1313- public Renderable firstGroundItem;
1414- public Renderable secondGroundItem;
1515- public Renderable thirdGroundItem;
1616- public int uid;
1717- public int anInt180;
1818-}
···11+package com.jagex.runescape.scene
22+33+import com.jagex.runescape.media.renderable.Renderable
44+55+class GroundItemTile {
66+ @JvmField var z: Int = 0
77+ @JvmField var x: Int = 0
88+ @JvmField var y: Int = 0
99+ @JvmField var firstGroundItem: Renderable? = null
1010+ @JvmField var secondGroundItem: Renderable? = null
1111+ @JvmField var thirdGroundItem: Renderable? = null
1212+ @JvmField var uid: Int = 0
1313+ @JvmField var anInt180: Int = 0
1414+}
···11-package com.jagex.runescape.scene;
22-33-import com.jagex.runescape.media.renderable.Renderable;
44-55-public class InteractiveObject {
66-77- public int z;
88- public int worldZ;
99- public int worldX;
1010- public int worldY;
1111- public Renderable renderable;
1212- public int rotation;
1313- public int tileLeft;
1414- public int tileRight;
1515- public int tileTop;
1616- public int tileBottom;
1717- public int anInt123;
1818- public int cycle;
1919- public int uid;
2020- public byte config;
2121-}
···11+package com.jagex.runescape.scene
22+33+import com.jagex.runescape.media.renderable.Renderable
44+55+class InteractiveObject {
66+ @JvmField var z: Int = 0
77+ @JvmField var worldZ: Int = 0
88+ @JvmField var worldX: Int = 0
99+ @JvmField var worldY: Int = 0
1010+ @JvmField var renderable: Renderable? = null
1111+ @JvmField var rotation: Int = 0
1212+ @JvmField var tileLeft: Int = 0
1313+ @JvmField var tileRight: Int = 0
1414+ @JvmField var tileTop: Int = 0
1515+ @JvmField var tileBottom: Int = 0
1616+ @JvmField var anInt123: Int = 0
1717+ @JvmField var cycle: Int = 0
1818+ @JvmField var uid: Int = 0
1919+ @JvmField var config: Byte = 0
2020+}
···11-package com.jagex.runescape.scene;
22-33-public class SceneCluster {
44-55- public int tileStartX;
66- public int tileEndX;
77- public int tileStartY;
88- public int tileEndY;
99- public int searchMask;
1010- public int worldStartX;
1111- public int worldEndX;
1212- public int worldStartY;
1313- public int worldEndY;
1414- public int worldEndZ;
1515- public int worldStartZ;
1616- public int tileDistanceEnum;
1717- public int worldDistanceFromCameraStartX;
1818- public int worldDistanceFromCameraEndX;
1919- public int worldDistanceFromCameraStartY;
2020- public int worldDistanceFromCameraEndY;
2121- public int worldDistanceFromCameraStartZ;
2222- public int worldDistanceFromCameraEndZ;
2323-}
···11+package com.jagex.runescape.scene
22+33+class SceneCluster {
44+ @JvmField var tileStartX: Int = 0
55+ @JvmField var tileEndX: Int = 0
66+ @JvmField var tileStartY: Int = 0
77+ @JvmField var tileEndY: Int = 0
88+ @JvmField var searchMask: Int = 0
99+ @JvmField var worldStartX: Int = 0
1010+ @JvmField var worldEndX: Int = 0
1111+ @JvmField var worldStartY: Int = 0
1212+ @JvmField var worldEndY: Int = 0
1313+ @JvmField var worldEndZ: Int = 0
1414+ @JvmField var worldStartZ: Int = 0
1515+ @JvmField var tileDistanceEnum: Int = 0
1616+ @JvmField var worldDistanceFromCameraStartX: Int = 0
1717+ @JvmField var worldDistanceFromCameraEndX: Int = 0
1818+ @JvmField var worldDistanceFromCameraStartY: Int = 0
1919+ @JvmField var worldDistanceFromCameraEndY: Int = 0
2020+ @JvmField var worldDistanceFromCameraStartZ: Int = 0
2121+ @JvmField var worldDistanceFromCameraEndZ: Int = 0
2222+}
···11-package com.jagex.runescape.scene;
22-33-import com.jagex.runescape.collection.Node;
44-55-public class SpawnObjectNode extends Node {
66-77- public int locationIndex;
88- public int locationRotation;
99- public int locationType;
1010- public int index;
1111- public int rotation;
1212- public int type;
1313- public int cycle = -1;
1414- public int plane;
1515- public int classType;
1616- public int x;
1717- public int y;
1818- public int spawnCycle;
1919-}
···11+package com.jagex.runescape.scene
22+33+import com.jagex.runescape.collection.Node
44+55+class SpawnObjectNode : Node() {
66+ @JvmField var locationIndex: Int = 0
77+ @JvmField var locationRotation: Int = 0
88+ @JvmField var locationType: Int = 0
99+ @JvmField var index: Int = 0
1010+ @JvmField var rotation: Int = 0
1111+ @JvmField var type: Int = 0
1212+ @JvmField var cycle: Int = -1
1313+ @JvmField var plane: Int = 0
1414+ @JvmField var classType: Int = 0
1515+ @JvmField var x: Int = 0
1616+ @JvmField var y: Int = 0
1717+ @JvmField var spawnCycle: Int = 0
1818+}
···11-package com.jagex.runescape.scene.tile;
22-33-import com.jagex.runescape.media.renderable.Renderable;
44-55-public class FloorDecoration {
66- public int z;
77- public int x;
88- public int y;
99- public Renderable renderable;
1010- public int uid;
1111- public byte config;
1212-}
···11+package com.jagex.runescape.scene.tile
22+33+import com.jagex.runescape.media.renderable.Renderable
44+55+class FloorDecoration {
66+ @JvmField var z: Int = 0
77+ @JvmField var x: Int = 0
88+ @JvmField var y: Int = 0
99+ @JvmField var renderable: Renderable? = null
1010+ @JvmField var uid: Int = 0
1111+ @JvmField var config: Byte = 0
1212+}
···11-package com.jagex.runescape.scene.tile;
22-33-public class GenericTile {
44-55- public GenericTile(int colourA, int colourB, int colourC, int colourD, int texture, int rgbColor, boolean flat) {
66- this.colourA = colourA;
77- this.colourB = colourB;
88- this.colourC = colourC;
99- this.colourD = colourD;
1010- this.texture = texture;
1111- this.rgbColor = rgbColor;
1212- this.flat = flat;
1313- }
1414-1515- public int colourA;
1616- public int colourB;
1717- public int colourD;
1818- public int colourC;
1919- public int texture;
2020- public boolean flat;
2121- public int rgbColor;
2222-}
···11-package com.jagex.runescape.scene.tile;
22-import com.jagex.runescape.scene.GroundItemTile;
33-import com.jagex.runescape.scene.InteractiveObject;
44-import com.jagex.runescape.collection.Node;
55-66-public class SceneTile extends Node {
77-88- public SceneTile(int x, int y, int z) {
99- renderLevel = this.z = z;
1010- this.x = x;
1111- this.y = y;
1212- }
1313-1414- public int z;
1515- public int x;
1616- public int y;
1717- public int renderLevel;
1818- public GenericTile plainTile;
1919- public ComplexTile shapedTile;
2020- public Wall wall;
2121- public WallDecoration wallDecoration;
2222- public FloorDecoration floorDecoration;
2323- public GroundItemTile groundItemTile;
2424- public int entityCount;
2525- public InteractiveObject[] interactiveObjects = new InteractiveObject[5];
2626- public int[] sceneSpawnRequestsSize = new int[5];
2727- public int interactiveObjectsSizeOR;
2828- public int logicHeight;
2929- public boolean draw;
3030- public boolean visible;
3131- public boolean drawEntities;
3232- public int wallCullDirection;
3333- public int wallUncullDirection;
3434- public int wallCullOppositeDirection;
3535- public int wallDrawFlags;
3636- public SceneTile tileBelow;
3737-}
···11-package com.jagex.runescape.scene.tile;
22-33-import com.jagex.runescape.media.renderable.Renderable;
44-55-public class Wall {
66-77- public int z;
88- public int x;
99- public int y;
1010- public int orientation;
1111- public int orientation2;
1212- public Renderable primary;
1313- public Renderable secondary;
1414- public int uid;
1515- public byte config;
1616-}
···11+package com.jagex.runescape.scene.tile
22+33+import com.jagex.runescape.media.renderable.Renderable
44+55+class Wall {
66+ @JvmField var z: Int = 0
77+ @JvmField var x: Int = 0
88+ @JvmField var y: Int = 0
99+ @JvmField var orientation: Int = 0
1010+ @JvmField var orientation2: Int = 0
1111+ @JvmField var primary: Renderable? = null
1212+ @JvmField var secondary: Renderable? = null
1313+ @JvmField var uid: Int = 0
1414+ @JvmField var config: Byte = 0
1515+}
···11-package com.jagex.runescape.scene.tile;
22-33-import com.jagex.runescape.media.renderable.Renderable;
44-55-public class WallDecoration {
66-77- public WallDecoration() {
88- }
99-1010- public int z;
1111- public int x;
1212- public int y;
1313- public int configBits;
1414- public int face;
1515- public Renderable renderable;
1616- public int uid;
1717- public byte config;
1818-}
···11+package com.jagex.runescape.scene.tile
22+33+import com.jagex.runescape.media.renderable.Renderable
44+55+class WallDecoration {
66+ @JvmField var z: Int = 0
77+ @JvmField var x: Int = 0
88+ @JvmField var y: Int = 0
99+ @JvmField var configBits: Int = 0
1010+ @JvmField var face: Int = 0
1111+ @JvmField var renderable: Renderable? = null
1212+ @JvmField var uid: Int = 0
1313+ @JvmField var config: Byte = 0
1414+}