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); 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(); int getBaseX();

View File

@@ -33,4 +33,5 @@ public class Constants
public static final int GAME_FIXED_HEIGHT = 503; 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 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 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 javax.inject.Singleton;
import lombok.Value; import lombok.Value;
import net.runelite.api.Client; import net.runelite.api.Client;
import static net.runelite.api.Constants.CLIENT_DEFAULT_ZOOM;
import net.runelite.api.ItemComposition; import net.runelite.api.ItemComposition;
import net.runelite.api.SpritePixels; import net.runelite.api.SpritePixels;
import net.runelite.http.api.item.ItemClient; import net.runelite.http.api.item.ItemClient;
@@ -193,7 +194,7 @@ public class ItemManager
*/ */
private BufferedImage loadImage(int itemId, int quantity, boolean stackable) 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(); return sprite.toBufferedImage();
} }

View File

@@ -51,6 +51,7 @@ import net.runelite.api.Prayer;
import net.runelite.api.Projectile; import net.runelite.api.Projectile;
import net.runelite.api.Setting; import net.runelite.api.Setting;
import net.runelite.api.Skill; import net.runelite.api.Skill;
import net.runelite.api.SpritePixels;
import net.runelite.api.Varbits; import net.runelite.api.Varbits;
import net.runelite.api.coords.LocalPoint; import net.runelite.api.coords.LocalPoint;
import net.runelite.api.events.ExperienceChanged; import net.runelite.api.events.ExperienceChanged;
@@ -460,6 +461,22 @@ public abstract class RSClientMixin implements RSClient
return clanMemberManager != null && clanMemberManager.isMember(createName(name, getLoginType())); 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") @FieldHook("skillExperiences")
@Inject @Inject
public static void experiencedChanged(int idx) public static void experiencedChanged(int idx)

View File

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