Merge pull request #952 from Adam-/item-zoom
runelite-api: add scale to createItemSprite
This commit is contained in:
@@ -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();
|
||||
|
||||
|
||||
@@ -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;
|
||||
}
|
||||
|
||||
@@ -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();
|
||||
}
|
||||
|
||||
|
||||
@@ -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)
|
||||
|
||||
@@ -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();
|
||||
|
||||
|
||||
Reference in New Issue
Block a user