runelite-api: expose scene tile colors

This commit is contained in:
Dennis
2018-07-24 23:51:09 +02:00
committed by Lucwousin
parent 7f362afe63
commit 2b32d49e53
3 changed files with 193 additions and 0 deletions

View File

@@ -85,4 +85,36 @@ public interface TileModel
int getBufferLen();
void setBufferLen(int bufferLen);
int getUnderlaySwColor();
void setUnderlaySwColor(int color);
int getUnderlaySeColor();
void setUnderlaySeColor(int color);
int getUnderlayNeColor();
void setUnderlayNeColor(int color);
int getUnderlayNwColor();
void setUnderlayNwColor(int color);
int getOverlaySwColor();
void setOverlaySwColor(int color);
int getOverlaySeColor();
void setOverlaySeColor(int color);
int getOverlayNeColor();
void setOverlayNeColor(int color);
int getOverlayNwColor();
void setOverlayNwColor(int color);
}

View File

@@ -33,6 +33,7 @@ import net.runelite.api.coords.WorldPoint;
import net.runelite.api.hooks.DrawCallbacks;
import net.runelite.api.mixins.Copy;
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;
@@ -787,4 +788,28 @@ public abstract class RSSceneMixin implements RSScene
client.updateItemPile(sceneX, sceneY);
}
@MethodHook(value = "addTile", end = true)
@Inject
public void rl$addTile(int z, int x, int y, int shape, int rotation, int texture, int heightSw, int heightSe,
int heightNe, int heightNw, int underlaySwColor, int underlaySeColor, int underlayNeColor,
int underlayNwColor, int overlaySwColor, int overlaySeColor, int overlayNeColor,
int overlayNwColor, int underlayRgb, int overlayRgb)
{
if (shape != 0 && shape != 1)
{
Tile tile = getTiles()[z][x][y];
TileModel sceneTileModel = tile.getTileModel();
sceneTileModel.setUnderlaySwColor(underlaySwColor);
sceneTileModel.setUnderlaySeColor(underlaySeColor);
sceneTileModel.setUnderlayNeColor(underlayNeColor);
sceneTileModel.setUnderlayNwColor(underlayNwColor);
sceneTileModel.setOverlaySwColor(overlaySwColor);
sceneTileModel.setOverlaySeColor(overlaySeColor);
sceneTileModel.setOverlayNeColor(overlayNeColor);
sceneTileModel.setOverlayNwColor(overlayNwColor);
}
}
}

View File

@@ -16,6 +16,30 @@ public abstract class RSTileModelMixin implements RSTileModel
@Inject
private int rl$modelBufferLen;
@Inject
private int underlaySwColor;
@Inject
private int underlaySeColor;
@Inject
private int underlayNeColor;
@Inject
private int underlayNwColor;
@Inject
private int overlaySwColor;
@Inject
private int overlaySeColor;
@Inject
private int overlayNeColor;
@Inject
private int overlayNwColor;
@Inject
@Override
public int getBufferOffset()
@@ -57,4 +81,116 @@ public abstract class RSTileModelMixin implements RSTileModel
{
rl$modelBufferLen = bufferLen;
}
@Inject
@Override
public int getUnderlaySwColor()
{
return underlaySwColor;
}
@Inject
@Override
public void setUnderlaySwColor(int color)
{
underlaySwColor = color;
}
@Inject
@Override
public int getUnderlaySeColor()
{
return underlaySeColor;
}
@Inject
@Override
public void setUnderlaySeColor(int color)
{
underlaySeColor = color;
}
@Inject
@Override
public int getUnderlayNeColor()
{
return underlayNeColor;
}
@Inject
@Override
public void setUnderlayNeColor(int color)
{
underlayNeColor = color;
}
@Inject
@Override
public int getUnderlayNwColor()
{
return underlayNwColor;
}
@Inject
@Override
public void setUnderlayNwColor(int color)
{
underlayNwColor = color;
}
@Inject
@Override
public int getOverlaySwColor()
{
return overlaySwColor;
}
@Inject
@Override
public void setOverlaySwColor(int color)
{
overlaySwColor = color;
}
@Inject
@Override
public int getOverlaySeColor()
{
return overlaySeColor;
}
@Inject
@Override
public void setOverlaySeColor(int color)
{
overlaySeColor = color;
}
@Inject
@Override
public int getOverlayNeColor()
{
return overlayNeColor;
}
@Inject
@Override
public void setOverlayNeColor(int color)
{
overlayNeColor = color;
}
@Inject
@Override
public int getOverlayNwColor()
{
return overlayNwColor;
}
@Inject
@Override
public void setOverlayNwColor(int color)
{
overlayNwColor = color;
}
}