diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java index 6549bf397c..81ae00f5c5 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetID.java @@ -241,7 +241,12 @@ public class WidgetID static class Viewport { - static final int MINIMAP_WIDGET = 17; + static final int MINIMAP_RESIZABLE_WIDGET = 17; + static final int MINIMAP_RESIZABLE_CLICKBOX = 18; + static final int MINIMAP_RESIZABLE_DRAW_AREA = 25; + static final int MINIMAP_RESIZABLE_DECORATIONS = 27; + static final int MINIMAP_RESIZABLE_ORB_HOLDER = 28; + static final int MINIMAP_RESIZABLE_LOGOUT_BUTTON = 30; static final int FIXED_VIEWPORT = 17; static final int RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX = 12; static final int RESIZABLE_VIEWPORT_BOTTOM_LINE = 12; diff --git a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java index da31af9b92..41169393eb 100644 --- a/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java +++ b/runelite-api/src/main/java/net/runelite/api/widgets/WidgetInfo.java @@ -53,8 +53,6 @@ public enum WidgetInfo CLUE_SCROLL_TEXT(WidgetID.CLUE_SCROLL_GROUP_ID, WidgetID.Cluescroll.CLUE_TEXT), - QUICK_PRAYER_ORB(WidgetID.MINIMAP_GROUP_ID, WidgetID.Minimap.QUICK_PRAYER_ORB), - EQUIPMENT(WidgetID.EQUIPMENT_GROUP_ID, 0), EQUIPMENT_INVENTORY_ITEMS_CONTAINER(WidgetID.EQUIPMENT_INVENTORY_GROUP_ID, WidgetID.Equipment.INVENTORY_ITEM_CONTAINER), @@ -129,8 +127,10 @@ public enum WidgetInfo RUNE_POUCH_ITEM_CONTAINER(WidgetID.RUNE_POUCH_GROUP_ID, 0), + MINIMAP_ORBS(WidgetID.MINIMAP_GROUP_ID, 0), MINIMAP_XP_ORB(WidgetID.MINIMAP_GROUP_ID, WidgetID.Minimap.XP_ORB), MINIMAP_PRAYER_ORB(WidgetID.MINIMAP_GROUP_ID, WidgetID.Minimap.PRAYER_ORB), + MINIMAP_QUICK_PRAYER_ORB(WidgetID.MINIMAP_GROUP_ID, WidgetID.Minimap.QUICK_PRAYER_ORB), MINIMAP_RUN_ORB(WidgetID.MINIMAP_GROUP_ID, WidgetID.Minimap.RUN_ORB), MINIMAP_HEALTH_ORB(WidgetID.MINIMAP_GROUP_ID, WidgetID.Minimap.HEALTH_ORB), MINIMAP_SPEC_ORB(WidgetID.MINIMAP_GROUP_ID, WidgetID.Minimap.SPEC_ORB), @@ -170,7 +170,19 @@ public enum WidgetInfo FIXED_VIEWPORT_EMOTES_ICON(WidgetID.FIXED_VIEWPORT_GROUP_ID, WidgetID.FixedViewport.EMOTES_ICON), FIXED_VIEWPORT_MUSIC_ICON(WidgetID.FIXED_VIEWPORT_GROUP_ID, WidgetID.FixedViewport.MUSIC_ICON), - MINIMAP_WIDGET(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.MINIMAP_WIDGET), + RESIZABLE_MINIMAP_WIDGET(WidgetID.RESIZABLE_VIEWPORT_BOTTOM_LINE_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_WIDGET), + RESIZABLE_MINIMAP_CLICKBOX(WidgetID.RESIZABLE_VIEWPORT_BOTTOM_LINE_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_CLICKBOX), + RESIZABLE_MINIMAP_DRAW_AREA(WidgetID.RESIZABLE_VIEWPORT_BOTTOM_LINE_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_DRAW_AREA), + RESIZABLE_MINIMAP_DECORATIONS(WidgetID.RESIZABLE_VIEWPORT_BOTTOM_LINE_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_DECORATIONS), + RESIZABLE_MINIMAP_ORB_HOLDER(WidgetID.RESIZABLE_VIEWPORT_BOTTOM_LINE_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_ORB_HOLDER), + RESIZABLE_MINIMAP_LOGOUT_BUTTON(WidgetID.RESIZABLE_VIEWPORT_BOTTOM_LINE_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_LOGOUT_BUTTON), + + RESIZABLE_MINIMAP_STONES_WIDGET(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_WIDGET), + RESIZABLE_MINIMAP_STONES_CLICKBOX(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_CLICKBOX), + RESIZABLE_MINIMAP_STONES_DRAW_AREA(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_DRAW_AREA), + RESIZABLE_MINIMAP_STONES_DECORATIONS(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_DECORATIONS), + RESIZABLE_MINIMAP_STONES_ORB_HOLDER(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.MINIMAP_RESIZABLE_ORB_HOLDER), + RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.Viewport.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX), RESIZABLE_VIEWPORT_COMBAT_TAB(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.ResizableViewport.COMBAT_TAB), RESIZABLE_VIEWPORT_STATS_TAB(WidgetID.RESIZABLE_VIEWPORT_OLD_SCHOOL_BOX_GROUP_ID, WidgetID.ResizableViewport.STATS_TAB), diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java index 7c017ab713..3c9cd0fced 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/minimap/MinimapPlugin.java @@ -67,13 +67,7 @@ public class MinimapPlugin extends Plugin @Override protected void startUp() throws Exception { - Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); - - if (minimapWidget != null) - { - minimapWidget.setHidden(config.hideMinimap()); - } - + updateMinimapWidgetVisibility(config.hideMinimap()); storeOriginalDots(); replaceMapDots(); } @@ -81,13 +75,7 @@ public class MinimapPlugin extends Plugin @Override protected void shutDown() throws Exception { - Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); - - if (minimapWidget != null) - { - minimapWidget.setHidden(false); - } - + updateMinimapWidgetVisibility(false); restoreOriginalDots(); } @@ -101,6 +89,69 @@ public class MinimapPlugin extends Plugin } } + @Subscribe + public void configChanged(ConfigChanged event) + { + if (!event.getGroup().equals("minimap")) + { + return; + } + + if (event.getKey().equals("hideMinimap")) + { + updateMinimapWidgetVisibility(config.hideMinimap()); + return; + } + + replaceMapDots(); + } + + @Subscribe + public void onWidgetHiddenChange(WidgetHiddenChanged event) + { + updateMinimapWidgetVisibility(config.hideMinimap()); + } + + private void updateMinimapWidgetVisibility(boolean enable) + { + final Widget resizableStonesWidget = client.getWidget(WidgetInfo.RESIZABLE_MINIMAP_STONES_WIDGET); + + if (resizableStonesWidget != null) + { + resizableStonesWidget.setHidden(enable); + } + + final Widget resizableNormalWidget = client.getWidget(WidgetInfo.RESIZABLE_MINIMAP_WIDGET); + + if (resizableNormalWidget != null && !resizableNormalWidget.isSelfHidden()) + { + for (Widget widget : resizableNormalWidget.getStaticChildren()) + { + if (widget.getId() != WidgetInfo.RESIZABLE_VIEWPORT_BOTTOM_LINE_LOGOUT_BUTTON.getId() && + widget.getId() != WidgetInfo.RESIZABLE_MINIMAP_LOGOUT_BUTTON.getId()) + { + widget.setHidden(enable); + } + } + } + } + + private void replaceMapDots() + { + SpritePixels[] mapDots = client.getMapDots(); + + if (mapDots == null) + { + return; + } + + Color[] minimapDotColors = getColors(); + for (int i = 0; i < mapDots.length && i < minimapDotColors.length; ++i) + { + mapDots[i] = MinimapDot.create(this.client, minimapDotColors[i]); + } + } + private Color[] getColors() { Color[] colors = new Color[NUM_MAPDOTS]; @@ -136,54 +187,4 @@ public class MinimapPlugin extends Plugin System.arraycopy(originalDotSprites, 0, mapDots, 0, mapDots.length); } - - @Subscribe - public void configChanged(ConfigChanged event) - { - if (!event.getGroup().equals("minimap")) - { - return; - } - - if (event.getKey().equals("hideMinimap")) - { - Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); - - if (minimapWidget != null) - { - minimapWidget.setHidden(config.hideMinimap()); - } - return; - } - - replaceMapDots(); - } - - @Subscribe - public void onWidgetHiddenChange(WidgetHiddenChanged event) - { - Widget minimapWidget = client.getWidget(WidgetInfo.MINIMAP_WIDGET); - - if (event.getWidget() == minimapWidget) - { - minimapWidget.setHidden(config.hideMinimap()); - } - } - - private void replaceMapDots() - { - SpritePixels[] mapDots = client.getMapDots(); - - if (mapDots == null) - { - return; - } - - Color[] minimapDotColors = getColors(); - for (int i = 0; i < mapDots.length && i < minimapDotColors.length; ++i) - { - mapDots[i] = MinimapDot.create(this.client, minimapDotColors[i]); - } - } - -} +} \ No newline at end of file diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerDoseOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerDoseOverlay.java index b2cbdc0492..fd97daf0ce 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerDoseOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerDoseOverlay.java @@ -97,7 +97,7 @@ class PrayerDoseOverlay extends Overlay @Override public Dimension render(Graphics2D graphics) { - final Widget xpOrb = client.getWidget(WidgetInfo.QUICK_PRAYER_ORB); + final Widget xpOrb = client.getWidget(WidgetInfo.MINIMAP_QUICK_PRAYER_ORB); if (xpOrb == null) { return null; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerFlickOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerFlickOverlay.java index 0c89794974..929daa66c9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerFlickOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/prayer/PrayerFlickOverlay.java @@ -67,7 +67,7 @@ class PrayerFlickOverlay extends Overlay return null; } - Widget xpOrb = client.getWidget(WidgetInfo.QUICK_PRAYER_ORB); + Widget xpOrb = client.getWidget(WidgetInfo.MINIMAP_QUICK_PRAYER_ORB); if (xpOrb == null) { return null;