Make interface styles not replace entire override map
Signed-off-by: Tomas Slusny <slusnucky@gmail.com>
This commit is contained in:
@@ -32,8 +32,6 @@ import java.awt.image.BufferedImage;
|
||||
import java.awt.image.PixelGrabber;
|
||||
import java.io.IOException;
|
||||
import java.io.InputStream;
|
||||
import java.util.HashMap;
|
||||
import java.util.Map;
|
||||
import javax.imageio.ImageIO;
|
||||
import javax.inject.Inject;
|
||||
import lombok.extern.slf4j.Slf4j;
|
||||
@@ -80,13 +78,7 @@ public class InterfaceStylesPlugin extends Plugin
|
||||
@Override
|
||||
protected void startUp() throws Exception
|
||||
{
|
||||
clientThread.invoke(() ->
|
||||
{
|
||||
overrideSprites();
|
||||
overrideWidgetSprites();
|
||||
restoreWidgetDimensions();
|
||||
adjustWidgetDimensions();
|
||||
});
|
||||
clientThread.invoke(this::updateAllOverrides);
|
||||
}
|
||||
|
||||
@Override
|
||||
@@ -104,14 +96,7 @@ public class InterfaceStylesPlugin extends Plugin
|
||||
{
|
||||
if (config.getGroup().equals("interfaceStyles"))
|
||||
{
|
||||
clientThread.invoke(() ->
|
||||
{
|
||||
removeGameframe();
|
||||
overrideSprites();
|
||||
overrideWidgetSprites();
|
||||
restoreWidgetDimensions();
|
||||
adjustWidgetDimensions();
|
||||
});
|
||||
clientThread.invoke(this::updateAllOverrides);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -121,10 +106,17 @@ public class InterfaceStylesPlugin extends Plugin
|
||||
adjustWidgetDimensions();
|
||||
}
|
||||
|
||||
private void updateAllOverrides()
|
||||
{
|
||||
removeGameframe();
|
||||
overrideSprites();
|
||||
overrideWidgetSprites();
|
||||
restoreWidgetDimensions();
|
||||
adjustWidgetDimensions();
|
||||
}
|
||||
|
||||
private void overrideSprites()
|
||||
{
|
||||
Map<Integer, SpritePixels> overrides = new HashMap<>();
|
||||
|
||||
for (SpriteOverride spriteOverride : SpriteOverride.values())
|
||||
{
|
||||
for (Skin skin : spriteOverride.getSkin())
|
||||
@@ -139,21 +131,25 @@ public class InterfaceStylesPlugin extends Plugin
|
||||
}
|
||||
else
|
||||
{
|
||||
overrides.put(spriteOverride.getSpriteID(), spritePixels);
|
||||
client.getSpriteOverrides().put(spriteOverride.getSpriteID(), spritePixels);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private void restoreSprites()
|
||||
{
|
||||
client.getWidgetSpriteCache().reset();
|
||||
client.getSpriteOverrides().clear();
|
||||
client.getSpriteOverrides().putAll(overrides);
|
||||
|
||||
for (SpriteOverride spriteOverride : SpriteOverride.values())
|
||||
{
|
||||
client.getSpriteOverrides().remove(spriteOverride.getSpriteID());
|
||||
}
|
||||
}
|
||||
|
||||
private void overrideWidgetSprites()
|
||||
{
|
||||
Map<Integer, SpritePixels> widgetOverrides = new HashMap<>();
|
||||
|
||||
for (WidgetOverride widgetOverride : WidgetOverride.values())
|
||||
{
|
||||
if (widgetOverride.getSkin() == config.skin())
|
||||
@@ -164,14 +160,22 @@ public class InterfaceStylesPlugin extends Plugin
|
||||
{
|
||||
for (WidgetInfo widgetInfo : widgetOverride.getWidgetInfo())
|
||||
{
|
||||
widgetOverrides.put(widgetInfo.getPackedId(), spritePixels);
|
||||
client.getWidgetSpriteOverrides().put(widgetInfo.getPackedId(), spritePixels);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
client.getWidgetSpriteOverrides().clear();
|
||||
client.getWidgetSpriteOverrides().putAll(widgetOverrides);
|
||||
private void restoreWidgetSprites()
|
||||
{
|
||||
for (WidgetOverride widgetOverride : WidgetOverride.values())
|
||||
{
|
||||
for (WidgetInfo widgetInfo : widgetOverride.getWidgetInfo())
|
||||
{
|
||||
client.getWidgetSpriteOverrides().remove(widgetInfo.getPackedId());
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private SpritePixels getFileSpritePixels(String file, String subfolder)
|
||||
@@ -295,8 +299,8 @@ public class InterfaceStylesPlugin extends Plugin
|
||||
|
||||
private void removeGameframe()
|
||||
{
|
||||
client.getSpriteOverrides().clear();
|
||||
client.getWidgetSpriteOverrides().clear();
|
||||
restoreSprites();
|
||||
restoreWidgetSprites();
|
||||
|
||||
BufferedImage compassImage = spriteManager.getSprite(SpriteID.COMPASS_TEXTURE, 0);
|
||||
|
||||
|
||||
Reference in New Issue
Block a user