Merge pull request #3820 from deathbeam/fix-resizable-minimap
Use correct widget when hiding resizable minimap
This commit is contained in:
@@ -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;
|
||||
|
||||
@@ -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),
|
||||
|
||||
@@ -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]);
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -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;
|
||||
|
||||
@@ -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;
|
||||
|
||||
Reference in New Issue
Block a user