Update almost everything to the new API

This commit is contained in:
Max Weber
2018-03-09 04:51:02 -07:00
parent cf4d5d8333
commit b75dddca28
32 changed files with 157 additions and 174 deletions

View File

@@ -30,10 +30,11 @@ import java.awt.image.BufferedImage;
import net.runelite.api.Actor;
import net.runelite.api.NPC;
import net.runelite.api.Perspective;
import static net.runelite.api.Perspective.LOCAL_COORD_BITS;
import net.runelite.api.Player;
import net.runelite.api.Point;
import net.runelite.api.SpritePixels;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.GraphicChanged;
import net.runelite.api.mixins.FieldHook;
import net.runelite.api.mixins.Inject;
@@ -123,24 +124,16 @@ public abstract class RSActorMixin implements RSActor
@Override
@Inject
public Point getWorldLocation()
public WorldPoint getWorldLocation()
{
Point localLocation = getLocalLocation();
return Perspective.localToWorld(client, localLocation);
return WorldPoint.fromLocal(client, getX(), getY(), client.getPlane());
}
@Inject
@Override
public Point getRegionLocation()
public LocalPoint getLocalLocation()
{
return new Point(getX() >>> LOCAL_COORD_BITS, getY() >>> LOCAL_COORD_BITS);// divided by 128
}
@Inject
@Override
public Point getLocalLocation()
{
return new Point(getX(), getY());
return new LocalPoint(getX(), getY());
}
@Inject

View File

@@ -26,6 +26,7 @@ package net.runelite.mixins;
import java.util.ArrayList;
import java.util.List;
import javax.annotation.Nullable;
import net.runelite.api.ChatMessageType;
import net.runelite.api.ClanMember;
import net.runelite.api.GameState;
@@ -43,6 +44,7 @@ import net.runelite.api.Projectile;
import net.runelite.api.Setting;
import net.runelite.api.Skill;
import net.runelite.api.Varbits;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ExperienceChanged;
import net.runelite.api.events.GameStateChanged;
import net.runelite.api.events.GrandExchangeOfferChanged;
@@ -366,9 +368,16 @@ public abstract class RSClientMixin implements RSClient
@Inject
@Override
public Point getSceneDestinationLocation()
@Nullable
public LocalPoint getLocalDestinationLocation()
{
return new Point(getDestinationX(), getDestinationY());
int regionX = getDestinationX();
int regionY = getDestinationY();
if (regionX != 0 && regionY != 0)
{
return LocalPoint.fromRegion(regionX, regionY);
}
return null;
}
@Inject

View File

@@ -28,9 +28,10 @@ import net.runelite.api.Actor;
import net.runelite.api.DecorativeObject;
import net.runelite.api.GameObject;
import net.runelite.api.GroundObject;
import net.runelite.api.Perspective;
import net.runelite.api.Point;
import net.runelite.api.WallObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.events.DecorativeObjectChanged;
import net.runelite.api.events.DecorativeObjectDespawned;
import net.runelite.api.events.DecorativeObjectSpawned;
@@ -75,10 +76,9 @@ public abstract class RSTileMixin implements RSTile
@Inject
@Override
public Point getWorldLocation()
public WorldPoint getWorldLocation()
{
Point regionLocation = getRegionLocation();
return Perspective.regionToWorld(client, regionLocation);
return WorldPoint.fromRegion(client, getX(), getY(), getPlane());
}
@Inject
@@ -90,10 +90,9 @@ public abstract class RSTileMixin implements RSTile
@Inject
@Override
public Point getLocalLocation()
public LocalPoint getLocalLocation()
{
Point regionLocation = getRegionLocation();
return Perspective.regionToLocal(client, regionLocation);
return LocalPoint.fromRegion(getX(), getY());
}
@FieldHook("wallObject")

View File

@@ -30,9 +30,10 @@ import java.util.ArrayList;
import java.util.List;
import net.runelite.api.Model;
import net.runelite.api.Perspective;
import static net.runelite.api.Perspective.LOCAL_COORD_BITS;
import net.runelite.api.Point;
import net.runelite.api.TileObject;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.coords.WorldPoint;
import net.runelite.api.mixins.Inject;
import net.runelite.api.mixins.Mixin;
import net.runelite.api.mixins.Mixins;
@@ -68,25 +69,16 @@ public abstract class TileObjectMixin implements TileObject
@Override
@Inject
public Point getWorldLocation()
public WorldPoint getWorldLocation()
{
Point localLocation = getLocalLocation();
return Perspective.localToWorld(client, localLocation);
return WorldPoint.fromLocal(client, getX(), getY(), client.getPlane()); //TODO: use the correct plane
}
@Override
@Inject
public Point getLocalLocation()
public LocalPoint getLocalLocation()
{
return new Point(getX(), getY());
}
@Override
@Inject
public Point getRegionLocation()
{
Point localLocation = getLocalLocation();
return new Point(localLocation.getX() >>> LOCAL_COORD_BITS, localLocation.getY() >>> LOCAL_COORD_BITS);
return new LocalPoint(getX(), getY());
}
@Override
@@ -100,8 +92,7 @@ public abstract class TileObjectMixin implements TileObject
@Inject
public Point getCanvasLocation(int zOffset)
{
Point localLocation = getLocalLocation();
return Perspective.worldToCanvas(client, localLocation.getX(), localLocation.getY(), 0, zOffset);
return Perspective.worldToCanvas(client, getX(), getY(), 0, zOffset);
}
@Override