api: update 178
This commit is contained in:
@@ -634,20 +634,10 @@ public interface Client extends GameEngine
|
|||||||
int[] getVarps();
|
int[] getVarps();
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets an array of all integer client variables.
|
* Gets an array of all client variables.
|
||||||
*
|
|
||||||
* @return local variables
|
|
||||||
*/
|
*/
|
||||||
@VisibleForDevtools
|
@VisibleForDevtools
|
||||||
int[] getIntVarcs();
|
Map<Integer, Object> getVarcMap();
|
||||||
|
|
||||||
/**
|
|
||||||
* Gets an array of all string client variables.
|
|
||||||
*
|
|
||||||
* @return local variables
|
|
||||||
*/
|
|
||||||
@VisibleForDevtools
|
|
||||||
String[] getStrVarcs();
|
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Gets the value corresponding to the passed player variable.
|
* Gets the value corresponding to the passed player variable.
|
||||||
|
|||||||
@@ -32,6 +32,8 @@ import java.awt.event.AdjustmentEvent;
|
|||||||
import java.awt.event.AdjustmentListener;
|
import java.awt.event.AdjustmentListener;
|
||||||
import java.awt.event.WindowAdapter;
|
import java.awt.event.WindowAdapter;
|
||||||
import java.awt.event.WindowEvent;
|
import java.awt.event.WindowEvent;
|
||||||
|
import java.util.HashMap;
|
||||||
|
import java.util.Map;
|
||||||
import java.util.Objects;
|
import java.util.Objects;
|
||||||
import javax.swing.BorderFactory;
|
import javax.swing.BorderFactory;
|
||||||
import javax.swing.JButton;
|
import javax.swing.JButton;
|
||||||
@@ -95,8 +97,7 @@ class VarInspector extends JFrame
|
|||||||
private int[] oldVarps2 = null;
|
private int[] oldVarps2 = null;
|
||||||
private int numVarbits = 10000;
|
private int numVarbits = 10000;
|
||||||
|
|
||||||
private int[] oldIntVarcs = null;
|
private Map<Integer, Object> varcs = null;
|
||||||
private String[] oldStrVarcs = null;
|
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
VarInspector(Client client, EventBus eventBus, DevToolsPlugin plugin)
|
VarInspector(Client client, EventBus eventBus, DevToolsPlugin plugin)
|
||||||
@@ -279,9 +280,9 @@ class VarInspector extends JFrame
|
|||||||
public void onVarClientIntChanged(VarClientIntChanged e)
|
public void onVarClientIntChanged(VarClientIntChanged e)
|
||||||
{
|
{
|
||||||
int idx = e.getIndex();
|
int idx = e.getIndex();
|
||||||
int neew = client.getIntVarcs()[idx];
|
int neew = (Integer) client.getVarcMap().getOrDefault(idx, 0);
|
||||||
int old = oldIntVarcs[idx];
|
int old = (Integer) varcs.getOrDefault(idx, 0);
|
||||||
oldIntVarcs[idx] = neew;
|
varcs.put(idx, neew);
|
||||||
|
|
||||||
if (old != neew)
|
if (old != neew)
|
||||||
{
|
{
|
||||||
@@ -302,9 +303,9 @@ class VarInspector extends JFrame
|
|||||||
public void onVarClientStrChanged(VarClientStrChanged e)
|
public void onVarClientStrChanged(VarClientStrChanged e)
|
||||||
{
|
{
|
||||||
int idx = e.getIndex();
|
int idx = e.getIndex();
|
||||||
String neew = client.getStrVarcs()[idx];
|
String neew = (String) client.getVarcMap().getOrDefault(idx, "");
|
||||||
String old = oldStrVarcs[idx];
|
String old = (String) varcs.getOrDefault(idx, "");
|
||||||
oldStrVarcs[idx] = neew;
|
varcs.put(idx, neew);
|
||||||
|
|
||||||
if (!Objects.equals(old, neew))
|
if (!Objects.equals(old, neew))
|
||||||
{
|
{
|
||||||
@@ -343,14 +344,11 @@ class VarInspector extends JFrame
|
|||||||
{
|
{
|
||||||
oldVarps = new int[client.getVarps().length];
|
oldVarps = new int[client.getVarps().length];
|
||||||
oldVarps2 = new int[client.getVarps().length];
|
oldVarps2 = new int[client.getVarps().length];
|
||||||
oldIntVarcs = new int[client.getIntVarcs().length];
|
|
||||||
oldStrVarcs = new String[client.getStrVarcs().length];
|
|
||||||
}
|
}
|
||||||
|
|
||||||
System.arraycopy(client.getVarps(), 0, oldVarps, 0, oldVarps.length);
|
System.arraycopy(client.getVarps(), 0, oldVarps, 0, oldVarps.length);
|
||||||
System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length);
|
System.arraycopy(client.getVarps(), 0, oldVarps2, 0, oldVarps2.length);
|
||||||
System.arraycopy(client.getIntVarcs(), 0, oldIntVarcs, 0, oldIntVarcs.length);
|
varcs = new HashMap<>(client.getVarcMap());
|
||||||
System.arraycopy(client.getStrVarcs(), 0, oldStrVarcs, 0, oldStrVarcs.length);
|
|
||||||
|
|
||||||
eventBus.register(this);
|
eventBus.register(this);
|
||||||
setVisible(true);
|
setVisible(true);
|
||||||
|
|||||||
@@ -2,8 +2,8 @@ package net.runelite.mixins;
|
|||||||
|
|
||||||
import net.runelite.api.events.VarClientIntChanged;
|
import net.runelite.api.events.VarClientIntChanged;
|
||||||
import net.runelite.api.events.VarClientStrChanged;
|
import net.runelite.api.events.VarClientStrChanged;
|
||||||
import net.runelite.api.mixins.FieldHook;
|
|
||||||
import net.runelite.api.mixins.Inject;
|
import net.runelite.api.mixins.Inject;
|
||||||
|
import net.runelite.api.mixins.MethodHook;
|
||||||
import net.runelite.api.mixins.Mixin;
|
import net.runelite.api.mixins.Mixin;
|
||||||
import net.runelite.api.mixins.Shadow;
|
import net.runelite.api.mixins.Shadow;
|
||||||
import net.runelite.rs.api.RSClient;
|
import net.runelite.rs.api.RSClient;
|
||||||
@@ -15,17 +15,17 @@ public abstract class RSVarcsMixin implements RSVarcs
|
|||||||
@Shadow("clientInstance")
|
@Shadow("clientInstance")
|
||||||
private static RSClient client;
|
private static RSClient client;
|
||||||
|
|
||||||
@FieldHook("varCInts")
|
@MethodHook(value = "putVarc", end = true)
|
||||||
@Inject
|
@Inject
|
||||||
public void onVarCIntChanged(int idx)
|
public void onVarCIntChanged(int id, int value)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new VarClientIntChanged(idx));
|
client.getCallbacks().post(new VarClientIntChanged(id));
|
||||||
}
|
}
|
||||||
|
|
||||||
@FieldHook("varCStrings")
|
@MethodHook(value = "putVarcStringNew", end = true)
|
||||||
@Inject
|
@Inject
|
||||||
public void onVarCStrChanged(int idx)
|
public void onVarCStrChanged(int id, String value)
|
||||||
{
|
{
|
||||||
client.getCallbacks().post(new VarClientStrChanged(idx));
|
client.getCallbacks().post(new VarClientStrChanged(id));
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -26,6 +26,7 @@ package net.runelite.mixins;
|
|||||||
|
|
||||||
import com.google.common.cache.Cache;
|
import com.google.common.cache.Cache;
|
||||||
import com.google.common.cache.CacheBuilder;
|
import com.google.common.cache.CacheBuilder;
|
||||||
|
import java.util.Map;
|
||||||
import net.runelite.api.VarClientInt;
|
import net.runelite.api.VarClientInt;
|
||||||
import net.runelite.api.VarClientStr;
|
import net.runelite.api.VarClientStr;
|
||||||
import net.runelite.api.Varbits;
|
import net.runelite.api.Varbits;
|
||||||
@@ -118,43 +119,40 @@ public abstract class VarbitMixin implements RSClient
|
|||||||
@Override
|
@Override
|
||||||
public int getVar(VarClientInt varClientInt)
|
public int getVar(VarClientInt varClientInt)
|
||||||
{
|
{
|
||||||
return getIntVarcs()[varClientInt.getIndex()];
|
Map<Integer, Object> varcmap = getVarcMap();
|
||||||
|
Object object = varcmap.get(varClientInt.getIndex());
|
||||||
|
return object instanceof Integer ? (Integer) object : 0;
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Override
|
@Override
|
||||||
public String getVar(VarClientStr varClientStr)
|
public String getVar(VarClientStr varClientStr)
|
||||||
{
|
{
|
||||||
return getStrVarcs()[varClientStr.getIndex()];
|
Map<Integer, Object> varcmap = getVarcMap();
|
||||||
|
Object var2 = varcmap.get(varClientStr.getIndex());
|
||||||
|
return var2 instanceof String ? (String) var2 : "";
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Override
|
@Override
|
||||||
public void setVar(VarClientStr varClientStr, String value)
|
public void setVar(VarClientStr varClientStr, String value)
|
||||||
{
|
{
|
||||||
String[] vars = getStrVarcs();
|
Map<Integer, Object> varcmap = getVarcMap();
|
||||||
vars[varClientStr.getIndex()] = value;
|
varcmap.put(varClientStr.getIndex(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Override
|
@Override
|
||||||
public void setVar(VarClientInt varClientInt, int value)
|
public void setVar(VarClientInt varClientInt, int value)
|
||||||
{
|
{
|
||||||
int[] vars = getIntVarcs();
|
Map<Integer, Object> varcmap = getVarcMap();
|
||||||
vars[varClientInt.getIndex()] = value;
|
varcmap.put(varClientInt.getIndex(), value);
|
||||||
}
|
}
|
||||||
|
|
||||||
@Inject
|
@Inject
|
||||||
@Override
|
@Override
|
||||||
public int[] getIntVarcs()
|
public Map<Integer, Object> getVarcMap()
|
||||||
{
|
{
|
||||||
return getVarcs().getIntVarcs();
|
return getVarcs().getVarcMap();
|
||||||
}
|
|
||||||
|
|
||||||
@Inject
|
|
||||||
@Override
|
|
||||||
public String[] getStrVarcs()
|
|
||||||
{
|
|
||||||
return getVarcs().getStrVarcs();
|
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -24,13 +24,11 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.rs.api;
|
package net.runelite.rs.api;
|
||||||
|
|
||||||
|
import java.util.Map;
|
||||||
import net.runelite.mapping.Import;
|
import net.runelite.mapping.Import;
|
||||||
|
|
||||||
public interface RSVarcs
|
public interface RSVarcs
|
||||||
{
|
{
|
||||||
@Import("varCInts")
|
@Import("varcMap")
|
||||||
int[] getIntVarcs();
|
Map<Integer, Object> getVarcMap();
|
||||||
|
|
||||||
@Import("varCStrings")
|
|
||||||
String[] getStrVarcs();
|
|
||||||
}
|
}
|
||||||
|
|||||||
Reference in New Issue
Block a user