Add gameobject id's to dev tools via dynamicobjects
This commit is contained in:
@@ -20,10 +20,10 @@
|
||||
"size": "3168921"
|
||||
},
|
||||
{
|
||||
"hash": "7d64dafaf007613fef59f47884ce62db5fdc21e148b351e52a3f6ce7cc28928e",
|
||||
"hash": "877106b9b525477f8e9662704b00894d445dd7d476c51dad7a674f6a313e3f88",
|
||||
"name": "client-1.5.28-SNAPSHOT.jar",
|
||||
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/live/client-1.5.28-SNAPSHOT.jar",
|
||||
"size": "5845716"
|
||||
"size": "5845767"
|
||||
},
|
||||
{
|
||||
"hash": "18c4a0095d5c1da6b817592e767bb23d29dd2f560ad74df75ff3961dbde25b79",
|
||||
@@ -218,16 +218,16 @@
|
||||
"size": "1019717"
|
||||
},
|
||||
{
|
||||
"hash": "69eddc4155a66e07761c433dc83c0703afe7b1206063fc5e1ef77c787ce777ee",
|
||||
"hash": "303ac8f202bc169f30f16f3c5a3810aaae773515af4d6a7562bc996ed0f32054",
|
||||
"name": "runescape-api-1.5.28-SNAPSHOT.jar",
|
||||
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/live/runescape-api-1.5.28-SNAPSHOT.jar",
|
||||
"size": "56056"
|
||||
"size": "56043"
|
||||
},
|
||||
{
|
||||
"hash": "55426093ae731f5c25fe6d5eb28bfb8f645ea7e41faad9e12f53d40f683101be",
|
||||
"hash": "830499b8b8d65403536d20206d210f12e7524777dde9a6948d4681333c9b962a",
|
||||
"name": "http-api-1.5.28-SNAPSHOT.jar",
|
||||
"path": "https://raw.githubusercontent.com/runelite-extended/maven-repo/master/live/http-api-1.5.28-SNAPSHOT.jar",
|
||||
"size": "101785"
|
||||
"size": "101786"
|
||||
},
|
||||
{
|
||||
"hash": "f55abda036da75e1af45bd43b9dfa79b2a3d90905be9cb38687c6621597a8165",
|
||||
|
||||
@@ -0,0 +1,6 @@
|
||||
package net.runelite.api;
|
||||
|
||||
public interface DynamicObject extends Renderable
|
||||
{
|
||||
int getAnimationID();
|
||||
}
|
||||
@@ -42,6 +42,7 @@ import net.runelite.api.Actor;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.Constants;
|
||||
import net.runelite.api.DecorativeObject;
|
||||
import net.runelite.api.DynamicObject;
|
||||
import net.runelite.api.GameObject;
|
||||
import net.runelite.api.GraphicsObject;
|
||||
import net.runelite.api.GroundObject;
|
||||
@@ -54,6 +55,7 @@ import net.runelite.api.Perspective;
|
||||
import net.runelite.api.Player;
|
||||
import net.runelite.api.Point;
|
||||
import net.runelite.api.Projectile;
|
||||
import net.runelite.api.Renderable;
|
||||
import net.runelite.api.Scene;
|
||||
import net.runelite.api.Tile;
|
||||
import net.runelite.api.WallObject;
|
||||
@@ -307,7 +309,11 @@ class DevToolsOverlay extends Overlay
|
||||
{
|
||||
if (player.getLocalLocation().distanceTo(gameObject.getLocalLocation()) <= MAX_DISTANCE)
|
||||
{
|
||||
OverlayUtil.renderTileOverlay(graphics, gameObject, "ID: " + gameObject.getId(), GREEN);
|
||||
Renderable renderable = gameObject.getRenderable();
|
||||
if (renderable instanceof DynamicObject)
|
||||
{
|
||||
OverlayUtil.renderTileOverlay(graphics, gameObject, "ID: " + gameObject.getId() + " Anim: " + ((DynamicObject) renderable).getAnimationID(), GREEN);
|
||||
}
|
||||
}
|
||||
|
||||
// Draw a polygon around the convex hull
|
||||
@@ -417,7 +423,7 @@ class DevToolsOverlay extends Overlay
|
||||
}
|
||||
|
||||
int projectileId = projectile.getId();
|
||||
Actor projectileInteracting = null;
|
||||
Actor projectileInteracting = projectile.getInteracting();
|
||||
|
||||
String infoString = "";
|
||||
|
||||
|
||||
@@ -27,11 +27,13 @@ package net.runelite.mixins;
|
||||
import net.runelite.api.mixins.Copy;
|
||||
import net.runelite.api.mixins.FieldHook;
|
||||
import net.runelite.api.mixins.Inject;
|
||||
import net.runelite.api.mixins.MethodHook;
|
||||
import net.runelite.api.mixins.Mixin;
|
||||
import net.runelite.api.mixins.Replace;
|
||||
import net.runelite.api.mixins.Shadow;
|
||||
import net.runelite.rs.api.RSClient;
|
||||
import net.runelite.rs.api.RSDynamicObject;
|
||||
import net.runelite.rs.api.RSEntity;
|
||||
import net.runelite.rs.api.RSModel;
|
||||
|
||||
@Mixin(RSDynamicObject.class)
|
||||
@@ -40,6 +42,9 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject
|
||||
@Shadow("client")
|
||||
private static RSClient client;
|
||||
|
||||
@Inject
|
||||
public int animationID;
|
||||
|
||||
@Copy("getModel")
|
||||
public abstract RSModel rs$getModel();
|
||||
|
||||
@@ -78,4 +83,18 @@ public abstract class RSDynamicObjectMixin implements RSDynamicObject
|
||||
setAnimFrame(Integer.MIN_VALUE | objectFrameCycle << 16 | getAnimFrame());
|
||||
}
|
||||
}
|
||||
|
||||
@MethodHook(value = "<init>", end = true)
|
||||
@Inject
|
||||
public void rl$init(int id, int type, int orientation, int plane, int x, int y, int animationID, boolean var8, RSEntity var9)
|
||||
{
|
||||
this.animationID = animationID;
|
||||
}
|
||||
|
||||
@Inject
|
||||
@Override
|
||||
public int getAnimationID()
|
||||
{
|
||||
return animationID;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,9 +1,10 @@
|
||||
package net.runelite.rs.api;
|
||||
|
||||
import net.runelite.api.DynamicObject;
|
||||
import net.runelite.api.Renderable;
|
||||
import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSDynamicObject extends RSEntity, Renderable
|
||||
public interface RSDynamicObject extends RSEntity, DynamicObject, Renderable
|
||||
{
|
||||
@Import("id")
|
||||
int getId();
|
||||
|
||||
@@ -74,15 +74,15 @@ public class DynamicObject extends Entity {
|
||||
@ObfuscatedSignature(
|
||||
signature = "(IIIIIIIZLex;)V"
|
||||
)
|
||||
DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int var7, boolean var8, Entity var9) {
|
||||
DynamicObject(int var1, int var2, int var3, int var4, int var5, int var6, int animationID, boolean var8, Entity var9) {
|
||||
this.id = var1;
|
||||
this.type = var2;
|
||||
this.orientation = var3;
|
||||
this.plane = var4;
|
||||
this.x = var5;
|
||||
this.y = var6;
|
||||
if(var7 != -1) {
|
||||
this.sequenceDefinition = WorldMapAreaData.getSequenceDefinition(var7);
|
||||
if(animationID != -1) {
|
||||
this.sequenceDefinition = WorldMapAreaData.getSequenceDefinition(animationID);
|
||||
this.frame = 0;
|
||||
this.cycleStart = Client.cycle - 1;
|
||||
if(this.sequenceDefinition.__t == 0 && var9 != null && var9 instanceof DynamicObject) {
|
||||
|
||||
Reference in New Issue
Block a user