Merge pull request #952 from Adam-/item-zoom

runelite-api: add scale to createItemSprite
This commit is contained in:
Adam
2018-03-13 14:28:40 -04:00
committed by GitHub
5 changed files with 27 additions and 3 deletions

View File

@@ -92,7 +92,7 @@ public interface Client extends GameEngine
ItemComposition getItemDefinition(int id);
SpritePixels createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted);
SpritePixels createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted, int scale);
int getBaseX();

View File

@@ -33,4 +33,5 @@ public class Constants
public static final int GAME_FIXED_HEIGHT = 503;
public static final Dimension GAME_FIXED_SIZE = new Dimension(GAME_FIXED_WIDTH, GAME_FIXED_HEIGHT);
public static final double GAME_FIXED_ASPECT_RATIO = (double) GAME_FIXED_WIDTH / (double) GAME_FIXED_HEIGHT;
public static final int CLIENT_DEFAULT_ZOOM = 512;
}

View File

@@ -37,6 +37,7 @@ import javax.inject.Inject;
import javax.inject.Singleton;
import lombok.Value;
import net.runelite.api.Client;
import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM;
import net.runelite.api.ItemComposition;
import net.runelite.api.SpritePixels;
import net.runelite.http.api.item.ItemClient;
@@ -193,7 +194,7 @@ public class ItemManager
*/
private BufferedImage loadImage(int itemId, int quantity, boolean stackable)
{
SpritePixels sprite = client.createItemSprite(itemId, quantity, 1, SpritePixels.DEFAULT_SHADOW_COLOR, stackable ? 1 : 0, false);
SpritePixels sprite = client.createItemSprite(itemId, quantity, 1, SpritePixels.DEFAULT_SHADOW_COLOR, stackable ? 1 : 0, false, CLIENT_DEFAULT_ZOOM);
return sprite.toBufferedImage();
}

View File

@@ -51,6 +51,7 @@ import net.runelite.api.Prayer;
import net.runelite.api.Projectile;
import net.runelite.api.Setting;
import net.runelite.api.Skill;
import net.runelite.api.SpritePixels;
import net.runelite.api.Varbits;
import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ExperienceChanged;
@@ -460,6 +461,22 @@ public abstract class RSClientMixin implements RSClient
return clanMemberManager != null && clanMemberManager.isMember(createName(name, getLoginType()));
}
@Inject
@Override
public SpritePixels createItemSprite(int itemId, int quantity, int border, int shadowColor, int stackable, boolean noted, int scale)
{
int zoom = get3dZoom();
set3dZoom(scale);
try
{
return createItemSprite(itemId, quantity, border, shadowColor, stackable, noted);
}
finally
{
set3dZoom(zoom);
}
}
@FieldHook("skillExperiences")
@Inject
public static void experiencedChanged(int idx)

View File

@@ -250,7 +250,6 @@ public interface RSClient extends RSGameEngine, Client
RSItemComposition getItemDefinition(int itemId);
@Import("createSprite")
@Override
RSSpritePixels createItemSprite(int itemId, int quantity, int thickness, int borderColor, int stackable, boolean noted);
@Import("componentTable")
@@ -500,6 +499,12 @@ public interface RSClient extends RSGameEngine, Client
@Import("pitchCos")
void setPitchCos(int v);
@Import("Rasterizer3D_zoom")
int get3dZoom();
@Import("Rasterizer3D_zoom")
void set3dZoom(int zoom);
@Import("renderOverview")
RSRenderOverview getRenderOverview();