Merge pull request #2440 from Owain94/upstream-1803
project: Merge upstream
This commit is contained in:
@@ -74,7 +74,7 @@ object Libraries {
|
|||||||
const val lombok = "1.18.12"
|
const val lombok = "1.18.12"
|
||||||
const val mavenPluginAnnotations = "3.6.0"
|
const val mavenPluginAnnotations = "3.6.0"
|
||||||
const val mavenPluginApi = "3.6.3"
|
const val mavenPluginApi = "3.6.3"
|
||||||
const val mockito = "3.3.1"
|
const val mockito = "3.3.3"
|
||||||
const val netty = "4.1.45.Final"
|
const val netty = "4.1.45.Final"
|
||||||
const val okhttp3 = "4.4.0"
|
const val okhttp3 = "4.4.0"
|
||||||
const val orangeExtensions = "1.0"
|
const val orangeExtensions = "1.0"
|
||||||
@@ -82,7 +82,7 @@ object Libraries {
|
|||||||
const val pf4j = "3.2.0"
|
const val pf4j = "3.2.0"
|
||||||
const val pf4jUpdate = "2.3.0"
|
const val pf4jUpdate = "2.3.0"
|
||||||
const val radiance = "2.5.1"
|
const val radiance = "2.5.1"
|
||||||
const val rxjava = "3.0.0"
|
const val rxjava = "3.0.1"
|
||||||
const val rxrelay = "3.0.0-SNAPSHOT"
|
const val rxrelay = "3.0.0-SNAPSHOT"
|
||||||
const val sisu = "0.3.4"
|
const val sisu = "0.3.4"
|
||||||
const val sentry = "1.7.30"
|
const val sentry = "1.7.30"
|
||||||
|
|||||||
@@ -47,6 +47,11 @@
|
|||||||
<module name="AvoidStarImport">
|
<module name="AvoidStarImport">
|
||||||
<property name="allowStaticMemberImports" value="true"/>
|
<property name="allowStaticMemberImports" value="true"/>
|
||||||
</module>
|
</module>
|
||||||
|
<module name="RegexpSinglelineJava">
|
||||||
|
<property name="format" value="[^\s]\s+$"/>
|
||||||
|
<property name="message" value="No trailing whitespace"/>
|
||||||
|
<property name="ignoreComments" value="true"/>
|
||||||
|
</module>
|
||||||
<module name="WhitespaceAround">
|
<module name="WhitespaceAround">
|
||||||
<property name="allowEmptyTypes" value="true"/>
|
<property name="allowEmptyTypes" value="true"/>
|
||||||
</module>
|
</module>
|
||||||
|
|||||||
@@ -127,8 +127,8 @@ public class Experience
|
|||||||
private static double getMeleeRangeOrMagicCombatLevelContribution(int attackLevel, int strengthLevel, int magicLevel, int rangeLevel)
|
private static double getMeleeRangeOrMagicCombatLevelContribution(int attackLevel, int strengthLevel, int magicLevel, int rangeLevel)
|
||||||
{
|
{
|
||||||
double melee = 0.325 * (attackLevel + strengthLevel);
|
double melee = 0.325 * (attackLevel + strengthLevel);
|
||||||
double range = 0.325 * (Math.floor(rangeLevel / 2) + rangeLevel);
|
double range = 0.325 * (rangeLevel / 2 + rangeLevel);
|
||||||
double magic = 0.325 * (Math.floor(magicLevel / 2) + magicLevel);
|
double magic = 0.325 * (magicLevel / 2 + magicLevel);
|
||||||
|
|
||||||
return Math.max(melee, Math.max(range, magic));
|
return Math.max(melee, Math.max(range, magic));
|
||||||
}
|
}
|
||||||
@@ -152,7 +152,7 @@ public class Experience
|
|||||||
int defenceLevel, int hitpointsLevel, int magicLevel,
|
int defenceLevel, int hitpointsLevel, int magicLevel,
|
||||||
int rangeLevel, int prayerLevel)
|
int rangeLevel, int prayerLevel)
|
||||||
{
|
{
|
||||||
double base = 0.25 * (defenceLevel + hitpointsLevel + Math.floor(prayerLevel / 2));
|
double base = 0.25 * (defenceLevel + hitpointsLevel + (prayerLevel / 2));
|
||||||
|
|
||||||
double typeContribution = getMeleeRangeOrMagicCombatLevelContribution(attackLevel, strengthLevel, magicLevel, rangeLevel);
|
double typeContribution = getMeleeRangeOrMagicCombatLevelContribution(attackLevel, strengthLevel, magicLevel, rangeLevel);
|
||||||
|
|
||||||
|
|||||||
@@ -270,5 +270,37 @@ public final class ScriptID
|
|||||||
*/
|
*/
|
||||||
@ScriptArguments(integer = 2)
|
@ScriptArguments(integer = 2)
|
||||||
public static final int TOPLEVEL_RESIZE = 909;
|
public static final int TOPLEVEL_RESIZE = 909;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the friends list is updated
|
||||||
|
* <ul>
|
||||||
|
* <li> int (WidgetID) Friends list "full container" </li>
|
||||||
|
* <li> int (WidgetID) Friends list sort by name button </li>
|
||||||
|
* <li> int (WidgetID) Friends list sort by last world change button </li>
|
||||||
|
* <li> int (WidgetID) Friends list sort by world button </li>
|
||||||
|
* <li> int (WidgetID) Friends list legacy sort button </li>
|
||||||
|
* <li> int (WidgetID) Friends list names container </li>
|
||||||
|
* <li> int (WidgetID) Friends list scroll bar </li>
|
||||||
|
* <li> int (WidgetID) Friends list "loading please wait" text </li>
|
||||||
|
* <li> int (WidgetID) Friends list player previous name holder </li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
@ScriptArguments(integer = 9)
|
||||||
|
public static final int FRIENDS_UPDATE = 631;
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Called when the ignore list is updated
|
||||||
|
* <ul>
|
||||||
|
* <li> int (WidgetID) Ignore list "full container" </li>
|
||||||
|
* <li> int (WidgetID) Ignore list sort by name button </li>
|
||||||
|
* <li> int (WidgetID) Ignore list legacy sort button </li>
|
||||||
|
* <li> int (WidgetID) Ignore list names container </li>
|
||||||
|
* <li> int (WidgetID) Ignore list scroll bar </li>
|
||||||
|
* <li> int (WidgetID) Ignore list "loading please wait" text </li>
|
||||||
|
* <li> int (WidgetID) Ignore list player previous name holder </li>
|
||||||
|
* </ul>
|
||||||
|
*/
|
||||||
|
@ScriptArguments(integer = 7)
|
||||||
|
public static final int IGNORE_UPDATE = 630;
|
||||||
}
|
}
|
||||||
|
|
||||||
|
|||||||
@@ -499,6 +499,34 @@ public enum Varbits
|
|||||||
*/
|
*/
|
||||||
OXYGEN_LEVEL(5811),
|
OXYGEN_LEVEL(5811),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drift net status
|
||||||
|
*
|
||||||
|
* Expected values
|
||||||
|
* 0 = Unset
|
||||||
|
* 1 = Set up
|
||||||
|
* 2 = Caught some fish
|
||||||
|
* 3 = Full
|
||||||
|
*/
|
||||||
|
NORTH_NET_STATUS(5812),
|
||||||
|
SOUTH_NET_STATUS(5814),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drift net catch count
|
||||||
|
*/
|
||||||
|
NORTH_NET_CATCH_COUNT(5813),
|
||||||
|
SOUTH_NET_CATCH_COUNT(5815),
|
||||||
|
|
||||||
|
/**
|
||||||
|
* Drift net collect interface
|
||||||
|
*
|
||||||
|
* Expected values:
|
||||||
|
* 0 = Not open
|
||||||
|
* 1 = North interface open
|
||||||
|
* 2 = South interface open
|
||||||
|
*/
|
||||||
|
DRIFT_NET_COLLECT(5933),
|
||||||
|
|
||||||
/**
|
/**
|
||||||
* Corp beast damage
|
* Corp beast damage
|
||||||
*/
|
*/
|
||||||
|
|||||||
@@ -249,11 +249,27 @@ public class WidgetID
|
|||||||
static class FriendList
|
static class FriendList
|
||||||
{
|
{
|
||||||
static final int TITLE = 3;
|
static final int TITLE = 3;
|
||||||
|
static final int FULL_CONTAINER = 5;
|
||||||
|
static final int SORT_BY_NAME_BUTTON = 7;
|
||||||
|
static final int SORT_BY_LAST_WORLD_CHANGE_BUTTON = 8;
|
||||||
|
static final int SORT_BY_WORLD_BUTTON = 9;
|
||||||
|
static final int LEGACY_SORT_BUTTON = 10;
|
||||||
|
static final int NAMES_CONTAINER = 11;
|
||||||
|
static final int SCROLL_BAR = 12;
|
||||||
|
static final int LOADING_TEXT = 13;
|
||||||
|
static final int PREVIOUS_NAME_HOLDER = 18;
|
||||||
}
|
}
|
||||||
|
|
||||||
static class IgnoreList
|
static class IgnoreList
|
||||||
{
|
{
|
||||||
static final int TITLE = 3;
|
static final int TITLE = 3;
|
||||||
|
static final int FULL_CONTAINER = 5;
|
||||||
|
static final int SORT_BY_NAME_BUTTON = 7;
|
||||||
|
static final int LEGACY_SORT_BUTTON = 8;
|
||||||
|
static final int NAMES_CONTAINER = 9;
|
||||||
|
static final int SCROLL_BAR = 10;
|
||||||
|
static final int LOADING_TEXT = 11;
|
||||||
|
static final int PREVIOUS_NAME_HOLDER = 16;
|
||||||
}
|
}
|
||||||
|
|
||||||
static class ClanChat
|
static class ClanChat
|
||||||
|
|||||||
@@ -123,8 +123,24 @@ public enum WidgetInfo
|
|||||||
VOLCANIC_MINE_VENT_C_STATUS(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_C_STATUS),
|
VOLCANIC_MINE_VENT_C_STATUS(WidgetID.VOLCANIC_MINE_GROUP_ID, WidgetID.VolcanicMine.VENT_C_STATUS),
|
||||||
|
|
||||||
FRIEND_CHAT_TITLE(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.TITLE),
|
FRIEND_CHAT_TITLE(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.TITLE),
|
||||||
|
FRIEND_LIST_FULL_CONTAINER(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.FULL_CONTAINER),
|
||||||
|
FRIEND_LIST_SORT_BY_NAME_BUTTON(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.SORT_BY_NAME_BUTTON),
|
||||||
|
FRIEND_LIST_SORT_BY_LAST_WORLD_CHANGE_BUTTON(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.SORT_BY_LAST_WORLD_CHANGE_BUTTON),
|
||||||
|
FRIEND_LIST_SORT_BY_WORLD_BUTTON(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.SORT_BY_WORLD_BUTTON),
|
||||||
|
FRIEND_LIST_LEGACY_SORT_BUTTON(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.LEGACY_SORT_BUTTON),
|
||||||
|
FRIEND_LIST_NAMES_CONTAINER(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.NAMES_CONTAINER),
|
||||||
|
FRIEND_LIST_SCROLL_BAR(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.SCROLL_BAR),
|
||||||
|
FRIEND_LIST_LOADING_TEXT(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.LOADING_TEXT),
|
||||||
|
FRIEND_LIST_PREVIOUS_NAME_HOLDER(WidgetID.FRIENDS_LIST_GROUP_ID, WidgetID.FriendList.PREVIOUS_NAME_HOLDER),
|
||||||
|
|
||||||
IGNORE_TITLE(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.TITLE),
|
IGNORE_TITLE(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.TITLE),
|
||||||
|
IGNORE_FULL_CONTAINER(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.FULL_CONTAINER),
|
||||||
|
IGNORE_SORT_BY_NAME_BUTTON(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.SORT_BY_NAME_BUTTON),
|
||||||
|
IGNORE_LEGACY_SORT_BUTTON(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.LEGACY_SORT_BUTTON),
|
||||||
|
IGNORE_NAMES_CONTAINER(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.NAMES_CONTAINER),
|
||||||
|
IGNORE_SCROLL_BAR(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.SCROLL_BAR),
|
||||||
|
IGNORE_LOADING_TEXT(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.LOADING_TEXT),
|
||||||
|
IGNORE_PREVIOUS_NAME_HOLDER(WidgetID.IGNORE_LIST_GROUP_ID, WidgetID.IgnoreList.PREVIOUS_NAME_HOLDER),
|
||||||
|
|
||||||
EXPLORERS_RING_ALCH_INVENTORY(WidgetID.EXPLORERS_RING_ALCH_GROUP_ID, WidgetID.ExplorersRing.INVENTORY),
|
EXPLORERS_RING_ALCH_INVENTORY(WidgetID.EXPLORERS_RING_ALCH_GROUP_ID, WidgetID.ExplorersRing.INVENTORY),
|
||||||
|
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import java.awt.Rectangle;
|
|||||||
import lombok.Builder;
|
import lombok.Builder;
|
||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import net.runelite.api.util.Text;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@Builder
|
@Builder
|
||||||
@@ -73,6 +74,7 @@ public class LineComponent implements LayoutableRenderableEntity
|
|||||||
int y = baseY;
|
int y = baseY;
|
||||||
final int leftFullWidth = getLineWidth(left, metrics);
|
final int leftFullWidth = getLineWidth(left, metrics);
|
||||||
final int rightFullWidth = getLineWidth(right, metrics);
|
final int rightFullWidth = getLineWidth(right, metrics);
|
||||||
|
final TextComponent textComponent = new TextComponent();
|
||||||
|
|
||||||
if (preferredSize.width < leftFullWidth + rightFullWidth)
|
if (preferredSize.width < leftFullWidth + rightFullWidth)
|
||||||
{
|
{
|
||||||
@@ -92,30 +94,24 @@ public class LineComponent implements LayoutableRenderableEntity
|
|||||||
|
|
||||||
for (int i = 0; i < lineCount; i++)
|
for (int i = 0; i < lineCount; i++)
|
||||||
{
|
{
|
||||||
String leftText = "";
|
|
||||||
String rightText = "";
|
|
||||||
|
|
||||||
if (i < leftSplitLines.length)
|
if (i < leftSplitLines.length)
|
||||||
{
|
{
|
||||||
leftText = leftSplitLines[i];
|
final String leftText = leftSplitLines[i];
|
||||||
|
textComponent.setPosition(new Point(x, y));
|
||||||
|
textComponent.setText(leftText);
|
||||||
|
textComponent.setColor(leftColor);
|
||||||
|
textComponent.render(graphics);
|
||||||
}
|
}
|
||||||
|
|
||||||
if (i < rightSplitLines.length)
|
if (i < rightSplitLines.length)
|
||||||
{
|
{
|
||||||
rightText = rightSplitLines[i];
|
final String rightText = rightSplitLines[i];
|
||||||
|
textComponent.setPosition(new Point(x + preferredSize.width - getLineWidth(rightText, metrics), y));
|
||||||
|
textComponent.setText(rightText);
|
||||||
|
textComponent.setColor(rightColor);
|
||||||
|
textComponent.render(graphics);
|
||||||
}
|
}
|
||||||
|
|
||||||
final TextComponent leftLineComponent = new TextComponent();
|
|
||||||
leftLineComponent.setPosition(new Point(x, y));
|
|
||||||
leftLineComponent.setText(leftText);
|
|
||||||
leftLineComponent.setColor(leftColor);
|
|
||||||
leftLineComponent.render(graphics);
|
|
||||||
|
|
||||||
final TextComponent rightLineComponent = new TextComponent();
|
|
||||||
rightLineComponent.setPosition(new Point(x + leftSmallWidth + rightSmallWidth - getLineWidth(rightText, metrics), y));
|
|
||||||
rightLineComponent.setText(rightText);
|
|
||||||
rightLineComponent.setColor(rightColor);
|
|
||||||
rightLineComponent.render(graphics);
|
|
||||||
y += metrics.getHeight();
|
y += metrics.getHeight();
|
||||||
}
|
}
|
||||||
|
|
||||||
@@ -125,17 +121,22 @@ public class LineComponent implements LayoutableRenderableEntity
|
|||||||
return dimension;
|
return dimension;
|
||||||
}
|
}
|
||||||
|
|
||||||
final TextComponent leftLineComponent = new TextComponent();
|
if (!left.isEmpty())
|
||||||
leftLineComponent.setPosition(new Point(x, y));
|
{
|
||||||
leftLineComponent.setText(left);
|
textComponent.setPosition(new Point(x, y));
|
||||||
leftLineComponent.setColor(leftColor);
|
textComponent.setText(left);
|
||||||
leftLineComponent.render(graphics);
|
textComponent.setColor(leftColor);
|
||||||
|
textComponent.render(graphics);
|
||||||
|
}
|
||||||
|
|
||||||
|
if (!right.isEmpty())
|
||||||
|
{
|
||||||
|
textComponent.setPosition(new Point(x + preferredSize.width - rightFullWidth, y));
|
||||||
|
textComponent.setText(right);
|
||||||
|
textComponent.setColor(rightColor);
|
||||||
|
textComponent.render(graphics);
|
||||||
|
}
|
||||||
|
|
||||||
final TextComponent rightLineComponent = new TextComponent();
|
|
||||||
rightLineComponent.setPosition(new Point(x + preferredSize.width - getLineWidth(right, metrics), y));
|
|
||||||
rightLineComponent.setText(right);
|
|
||||||
rightLineComponent.setColor(rightColor);
|
|
||||||
rightLineComponent.render(graphics);
|
|
||||||
y += metrics.getHeight();
|
y += metrics.getHeight();
|
||||||
|
|
||||||
final Dimension dimension = new Dimension(preferredSize.width, y - baseY);
|
final Dimension dimension = new Dimension(preferredSize.width, y - baseY);
|
||||||
@@ -146,7 +147,7 @@ public class LineComponent implements LayoutableRenderableEntity
|
|||||||
|
|
||||||
private static int getLineWidth(final String line, final FontMetrics metrics)
|
private static int getLineWidth(final String line, final FontMetrics metrics)
|
||||||
{
|
{
|
||||||
return metrics.stringWidth(TextComponent.textWithoutColTags(line));
|
return metrics.stringWidth(Text.removeTags(line));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String[] lineBreakText(String text, int maxWidth, FontMetrics metrics)
|
private static String[] lineBreakText(String text, int maxWidth, FontMetrics metrics)
|
||||||
|
|||||||
@@ -167,8 +167,14 @@ public class PanelComponent implements LayoutableRenderableEntity
|
|||||||
}
|
}
|
||||||
|
|
||||||
// Remove last child gap
|
// Remove last child gap
|
||||||
|
if (orientation == ComponentOrientation.HORIZONTAL)
|
||||||
|
{
|
||||||
totalWidth -= gap.x;
|
totalWidth -= gap.x;
|
||||||
|
}
|
||||||
|
else // VERTICAL
|
||||||
|
{
|
||||||
totalHeight -= gap.y;
|
totalHeight -= gap.y;
|
||||||
|
}
|
||||||
|
|
||||||
// Cache children bounds
|
// Cache children bounds
|
||||||
childDimensions.setSize(totalWidth, totalHeight);
|
childDimensions.setSize(totalWidth, totalHeight);
|
||||||
|
|||||||
@@ -35,6 +35,7 @@ import java.awt.Shape;
|
|||||||
import java.awt.font.GlyphVector;
|
import java.awt.font.GlyphVector;
|
||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import net.runelite.api.util.Text;
|
||||||
import net.runelite.client.ui.overlay.RenderableEntity;
|
import net.runelite.client.ui.overlay.RenderableEntity;
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
@@ -42,32 +43,26 @@ public class TextComponent implements RenderableEntity
|
|||||||
{
|
{
|
||||||
private static final String COL_TAG_REGEX = "(<col=([0-9a-fA-F]){2,6}>)";
|
private static final String COL_TAG_REGEX = "(<col=([0-9a-fA-F]){2,6}>)";
|
||||||
private static final Pattern COL_TAG_PATTERN_W_LOOKAHEAD = Pattern.compile("(?=" + COL_TAG_REGEX + ")");
|
private static final Pattern COL_TAG_PATTERN_W_LOOKAHEAD = Pattern.compile("(?=" + COL_TAG_REGEX + ")");
|
||||||
private static final Pattern COL_TAG_PATTERN = Pattern.compile(COL_TAG_REGEX);
|
|
||||||
|
|
||||||
private String text;
|
private String text;
|
||||||
private Point position = new Point();
|
private Point position = new Point();
|
||||||
private Color color = Color.WHITE;
|
private Color color = Color.WHITE;
|
||||||
private Color borderColor = Color.BLACK;
|
private Color borderColor = Color.BLACK;
|
||||||
|
|
||||||
public static String textWithoutColTags(String text)
|
|
||||||
{
|
|
||||||
return COL_TAG_PATTERN.matcher(text).replaceAll("");
|
|
||||||
}
|
|
||||||
|
|
||||||
@Override
|
@Override
|
||||||
public Dimension render(Graphics2D graphics)
|
public Dimension render(Graphics2D graphics)
|
||||||
{
|
{
|
||||||
final FontMetrics fontMetrics = graphics.getFontMetrics();
|
final FontMetrics fontMetrics = graphics.getFontMetrics();
|
||||||
|
|
||||||
if (COL_TAG_PATTERN.matcher(text).find())
|
if (COL_TAG_PATTERN_W_LOOKAHEAD.matcher(text).find())
|
||||||
{
|
{
|
||||||
final String[] parts = COL_TAG_PATTERN_W_LOOKAHEAD.split(text);
|
final String[] parts = COL_TAG_PATTERN_W_LOOKAHEAD.split(text);
|
||||||
int x = position.x;
|
int x = position.x;
|
||||||
|
|
||||||
for (String textSplitOnCol : parts)
|
for (String textSplitOnCol : parts)
|
||||||
{
|
{
|
||||||
final String textWithoutCol = textWithoutColTags(textSplitOnCol);
|
final String textWithoutCol = Text.removeTags(textSplitOnCol);
|
||||||
final String colColor = textSplitOnCol.substring(textSplitOnCol.indexOf('=') + 1, textSplitOnCol.indexOf('>'));
|
final String colColor = textSplitOnCol.substring(textSplitOnCol.indexOf("=") + 1, textSplitOnCol.indexOf(">"));
|
||||||
|
|
||||||
renderText(graphics, x, position.y, textWithoutCol, Color.decode("#" + colColor), borderColor);
|
renderText(graphics, x, position.y, textWithoutCol, Color.decode("#" + colColor), borderColor);
|
||||||
|
|
||||||
|
|||||||
@@ -34,10 +34,9 @@ import java.awt.Rectangle;
|
|||||||
import java.util.regex.Pattern;
|
import java.util.regex.Pattern;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
import net.runelite.api.IndexedSprite;
|
import net.runelite.api.IndexedSprite;
|
||||||
import net.runelite.client.ui.overlay.RenderableEntity;
|
|
||||||
|
|
||||||
@Setter
|
@Setter
|
||||||
public class TooltipComponent implements RenderableEntity
|
public class TooltipComponent implements LayoutableRenderableEntity
|
||||||
{
|
{
|
||||||
private static final Pattern BR = Pattern.compile("</br>");
|
private static final Pattern BR = Pattern.compile("</br>");
|
||||||
private static final int OFFSET = 4;
|
private static final int OFFSET = 4;
|
||||||
@@ -225,4 +224,21 @@ public class TooltipComponent implements RenderableEntity
|
|||||||
}
|
}
|
||||||
}
|
}
|
||||||
}
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public Rectangle getBounds()
|
||||||
|
{
|
||||||
|
return null;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPreferredLocation(Point position)
|
||||||
|
{
|
||||||
|
this.position = position;
|
||||||
|
}
|
||||||
|
|
||||||
|
@Override
|
||||||
|
public void setPreferredSize(Dimension dimension)
|
||||||
|
{
|
||||||
|
}
|
||||||
}
|
}
|
||||||
@@ -39,6 +39,7 @@ import javax.annotation.Nullable;
|
|||||||
import lombok.Getter;
|
import lombok.Getter;
|
||||||
import lombok.NonNull;
|
import lombok.NonNull;
|
||||||
import lombok.Setter;
|
import lombok.Setter;
|
||||||
|
import net.runelite.api.util.Text;
|
||||||
import net.runelite.client.ui.overlay.components.ComponentConstants;
|
import net.runelite.client.ui.overlay.components.ComponentConstants;
|
||||||
import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity;
|
import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity;
|
||||||
import net.runelite.client.ui.overlay.components.TextComponent;
|
import net.runelite.client.ui.overlay.components.TextComponent;
|
||||||
@@ -255,7 +256,7 @@ public class TableComponent implements LayoutableRenderableEntity
|
|||||||
|
|
||||||
private static int getTextWidth(final FontMetrics metrics, final String cell)
|
private static int getTextWidth(final FontMetrics metrics, final String cell)
|
||||||
{
|
{
|
||||||
return metrics.stringWidth(TextComponent.textWithoutColTags(cell));
|
return metrics.stringWidth(Text.removeTags(cell));
|
||||||
}
|
}
|
||||||
|
|
||||||
private static String[] lineBreakText(final String text, final int maxWidth, final FontMetrics metrics)
|
private static String[] lineBreakText(final String text, final int maxWidth, final FontMetrics metrics)
|
||||||
|
|||||||
@@ -24,12 +24,22 @@
|
|||||||
*/
|
*/
|
||||||
package net.runelite.client.ui.overlay.tooltip;
|
package net.runelite.client.ui.overlay.tooltip;
|
||||||
|
|
||||||
import lombok.AllArgsConstructor;
|
|
||||||
import lombok.Data;
|
import lombok.Data;
|
||||||
|
import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity;
|
||||||
|
|
||||||
@Data
|
@Data
|
||||||
@AllArgsConstructor
|
|
||||||
public class Tooltip
|
public class Tooltip
|
||||||
{
|
{
|
||||||
private final String text;
|
private String text;
|
||||||
|
private LayoutableRenderableEntity component;
|
||||||
|
|
||||||
|
public Tooltip(final String text)
|
||||||
|
{
|
||||||
|
this.text = text;
|
||||||
|
}
|
||||||
|
|
||||||
|
public Tooltip(final LayoutableRenderableEntity component)
|
||||||
|
{
|
||||||
|
this.component = component;
|
||||||
|
}
|
||||||
}
|
}
|
||||||
|
|||||||
@@ -38,6 +38,7 @@ import net.runelite.client.ui.overlay.Overlay;
|
|||||||
import net.runelite.client.ui.overlay.OverlayLayer;
|
import net.runelite.client.ui.overlay.OverlayLayer;
|
||||||
import net.runelite.client.ui.overlay.OverlayPosition;
|
import net.runelite.client.ui.overlay.OverlayPosition;
|
||||||
import net.runelite.client.ui.overlay.OverlayPriority;
|
import net.runelite.client.ui.overlay.OverlayPriority;
|
||||||
|
import net.runelite.client.ui.overlay.components.LayoutableRenderableEntity;
|
||||||
import net.runelite.client.ui.overlay.components.TooltipComponent;
|
import net.runelite.client.ui.overlay.components.TooltipComponent;
|
||||||
|
|
||||||
@Singleton
|
@Singleton
|
||||||
@@ -96,13 +97,23 @@ public class TooltipOverlay extends Overlay
|
|||||||
final Rectangle newBounds = new Rectangle(tooltipX, tooltipY, 0, 0);
|
final Rectangle newBounds = new Rectangle(tooltipX, tooltipY, 0, 0);
|
||||||
|
|
||||||
for (Tooltip tooltip : tooltips)
|
for (Tooltip tooltip : tooltips)
|
||||||
|
{
|
||||||
|
final LayoutableRenderableEntity entity;
|
||||||
|
|
||||||
|
if (tooltip.getComponent() != null)
|
||||||
|
{
|
||||||
|
entity = tooltip.getComponent();
|
||||||
|
}
|
||||||
|
else
|
||||||
{
|
{
|
||||||
final TooltipComponent tooltipComponent = new TooltipComponent();
|
final TooltipComponent tooltipComponent = new TooltipComponent();
|
||||||
tooltipComponent.setModIcons(client.getModIcons());
|
tooltipComponent.setModIcons(client.getModIcons());
|
||||||
tooltipComponent.setText(tooltip.getText());
|
tooltipComponent.setText(tooltip.getText());
|
||||||
tooltipComponent.setPosition(new Point(tooltipX, tooltipY + newBounds.height));
|
entity = tooltipComponent;
|
||||||
|
}
|
||||||
|
|
||||||
final Dimension dimension = tooltipComponent.render(graphics);
|
entity.setPreferredLocation(new Point(tooltipX, tooltipY + newBounds.height));
|
||||||
|
final Dimension dimension = entity.render(graphics);
|
||||||
|
|
||||||
// Create incremental tooltip newBounds
|
// Create incremental tooltip newBounds
|
||||||
newBounds.height += dimension.height + PADDING;
|
newBounds.height += dimension.height + PADDING;
|
||||||
|
|||||||
1
runelite-client/src/main/scripts/FriendUpdate.hash
Normal file
1
runelite-client/src/main/scripts/FriendUpdate.hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
6DC2945220E60445B7857ECFB97908E0B28FF0E96E533BB8DC8293DC68A986C2
|
||||||
571
runelite-client/src/main/scripts/FriendUpdate.rs2asm
Normal file
571
runelite-client/src/main/scripts/FriendUpdate.rs2asm
Normal file
@@ -0,0 +1,571 @@
|
|||||||
|
.id 125
|
||||||
|
.int_stack_count 9
|
||||||
|
.string_stack_count 0
|
||||||
|
.int_var_count 16
|
||||||
|
.string_var_count 2
|
||||||
|
; callback "friend_cc_settext"
|
||||||
|
; Fired just before the client pops the name off the stack
|
||||||
|
; Modified by the friendnotes plugin to show the icon
|
||||||
|
; callback "friend_cc_setposition"
|
||||||
|
; Fired just before the client sets the position of "friend changed their name" icon
|
||||||
|
; Modified by the friendnotes plugin to offset the name changed icon
|
||||||
|
iload 1
|
||||||
|
iconst 2
|
||||||
|
iconst 3
|
||||||
|
iconst 2
|
||||||
|
sconst "Sort by name"
|
||||||
|
iload 0
|
||||||
|
iload 1
|
||||||
|
iload 2
|
||||||
|
iload 3
|
||||||
|
iload 4
|
||||||
|
iload 5
|
||||||
|
iload 6
|
||||||
|
iload 7
|
||||||
|
iload 8
|
||||||
|
invoke 1669
|
||||||
|
iload 2
|
||||||
|
iconst 8
|
||||||
|
iconst 9
|
||||||
|
iconst 9
|
||||||
|
sconst "Sort by last world change"
|
||||||
|
iload 0
|
||||||
|
iload 1
|
||||||
|
iload 2
|
||||||
|
iload 3
|
||||||
|
iload 4
|
||||||
|
iload 5
|
||||||
|
iload 6
|
||||||
|
iload 7
|
||||||
|
iload 8
|
||||||
|
invoke 1669
|
||||||
|
iload 3
|
||||||
|
iconst 4
|
||||||
|
iconst 5
|
||||||
|
iconst 4
|
||||||
|
sconst "Sort by world"
|
||||||
|
iload 0
|
||||||
|
iload 1
|
||||||
|
iload 2
|
||||||
|
iload 3
|
||||||
|
iload 4
|
||||||
|
iload 5
|
||||||
|
iload 6
|
||||||
|
iload 7
|
||||||
|
iload 8
|
||||||
|
invoke 1669
|
||||||
|
iload 4
|
||||||
|
iconst 0
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
sconst "Legacy sort"
|
||||||
|
iload 0
|
||||||
|
iload 1
|
||||||
|
iload 2
|
||||||
|
iload 3
|
||||||
|
iload 4
|
||||||
|
iload 5
|
||||||
|
iload 6
|
||||||
|
iload 7
|
||||||
|
iload 8
|
||||||
|
invoke 1669
|
||||||
|
iload 5
|
||||||
|
cc_deleteall
|
||||||
|
iconst 0
|
||||||
|
istore 9
|
||||||
|
iconst 0
|
||||||
|
istore 10
|
||||||
|
sconst ""
|
||||||
|
sstore 0
|
||||||
|
sconst ""
|
||||||
|
sstore 1
|
||||||
|
iconst 0
|
||||||
|
istore 11
|
||||||
|
iconst 0
|
||||||
|
istore 12
|
||||||
|
iconst 15
|
||||||
|
istore 13
|
||||||
|
iconst -1
|
||||||
|
istore 14
|
||||||
|
friend_count
|
||||||
|
istore 15
|
||||||
|
iload 15
|
||||||
|
iconst -2
|
||||||
|
if_icmple LABEL84
|
||||||
|
jump LABEL105
|
||||||
|
LABEL84:
|
||||||
|
get_varbit 8119
|
||||||
|
iconst 1
|
||||||
|
if_icmpeq LABEL88
|
||||||
|
jump LABEL95
|
||||||
|
LABEL88:
|
||||||
|
sconst "Loading friends list"
|
||||||
|
sconst "<br>"
|
||||||
|
sconst "Please wait..."
|
||||||
|
join_string 3
|
||||||
|
iload 7
|
||||||
|
if_settext
|
||||||
|
jump LABEL101
|
||||||
|
LABEL95:
|
||||||
|
sconst "You must set a name"
|
||||||
|
sconst "<br>"
|
||||||
|
sconst "before using this."
|
||||||
|
join_string 3
|
||||||
|
iload 7
|
||||||
|
if_settext
|
||||||
|
LABEL101:
|
||||||
|
iconst 1
|
||||||
|
iload 0
|
||||||
|
if_sethide
|
||||||
|
jump LABEL468
|
||||||
|
LABEL105:
|
||||||
|
iload 15
|
||||||
|
iconst -1
|
||||||
|
if_icmpeq LABEL109
|
||||||
|
jump LABEL130
|
||||||
|
LABEL109:
|
||||||
|
get_varbit 8119
|
||||||
|
iconst 1
|
||||||
|
if_icmpeq LABEL113
|
||||||
|
jump LABEL120
|
||||||
|
LABEL113:
|
||||||
|
sconst "Loading friends list"
|
||||||
|
sconst "<br>"
|
||||||
|
sconst "Please wait..."
|
||||||
|
join_string 3
|
||||||
|
iload 7
|
||||||
|
if_settext
|
||||||
|
jump LABEL126
|
||||||
|
LABEL120:
|
||||||
|
sconst "You must set a name"
|
||||||
|
sconst "<br>"
|
||||||
|
sconst "before using this."
|
||||||
|
join_string 3
|
||||||
|
iload 7
|
||||||
|
if_settext
|
||||||
|
LABEL126:
|
||||||
|
iconst 1
|
||||||
|
iload 0
|
||||||
|
if_sethide
|
||||||
|
jump LABEL468
|
||||||
|
LABEL130:
|
||||||
|
invoke 1972
|
||||||
|
istore 14
|
||||||
|
iload 14
|
||||||
|
iconst 1
|
||||||
|
if_icmpeq LABEL136
|
||||||
|
jump LABEL141
|
||||||
|
LABEL136:
|
||||||
|
iconst 8
|
||||||
|
iconst 5
|
||||||
|
iload 13
|
||||||
|
scale
|
||||||
|
istore 13
|
||||||
|
LABEL141:
|
||||||
|
sconst ""
|
||||||
|
iload 7
|
||||||
|
if_settext
|
||||||
|
iconst 0
|
||||||
|
iload 0
|
||||||
|
if_sethide
|
||||||
|
3628
|
||||||
|
get_varc_int 183
|
||||||
|
switch
|
||||||
|
1: LABEL151
|
||||||
|
2: LABEL154
|
||||||
|
3: LABEL159
|
||||||
|
4: LABEL174
|
||||||
|
5: LABEL194
|
||||||
|
8: LABEL164
|
||||||
|
9: LABEL169
|
||||||
|
jump LABEL213
|
||||||
|
LABEL151:
|
||||||
|
iconst 0
|
||||||
|
3629
|
||||||
|
jump LABEL213
|
||||||
|
LABEL154:
|
||||||
|
iconst 1
|
||||||
|
3633
|
||||||
|
iconst 1
|
||||||
|
3630
|
||||||
|
jump LABEL213
|
||||||
|
LABEL159:
|
||||||
|
iconst 1
|
||||||
|
3633
|
||||||
|
iconst 0
|
||||||
|
3630
|
||||||
|
jump LABEL213
|
||||||
|
LABEL164:
|
||||||
|
iconst 1
|
||||||
|
3633
|
||||||
|
iconst 1
|
||||||
|
3632
|
||||||
|
jump LABEL213
|
||||||
|
LABEL169:
|
||||||
|
iconst 1
|
||||||
|
3633
|
||||||
|
iconst 0
|
||||||
|
3632
|
||||||
|
jump LABEL213
|
||||||
|
LABEL174:
|
||||||
|
iconst 1
|
||||||
|
3633
|
||||||
|
iconst 1
|
||||||
|
3636
|
||||||
|
iconst 1
|
||||||
|
3631
|
||||||
|
get_varc_int 205
|
||||||
|
switch
|
||||||
|
3: LABEL185
|
||||||
|
8: LABEL188
|
||||||
|
9: LABEL191
|
||||||
|
iconst 1
|
||||||
|
3630
|
||||||
|
jump LABEL193
|
||||||
|
LABEL185:
|
||||||
|
iconst 0
|
||||||
|
3630
|
||||||
|
jump LABEL193
|
||||||
|
LABEL188:
|
||||||
|
iconst 1
|
||||||
|
3632
|
||||||
|
jump LABEL193
|
||||||
|
LABEL191:
|
||||||
|
iconst 0
|
||||||
|
3632
|
||||||
|
LABEL193:
|
||||||
|
jump LABEL213
|
||||||
|
LABEL194:
|
||||||
|
iconst 1
|
||||||
|
3633
|
||||||
|
iconst 1
|
||||||
|
3636
|
||||||
|
iconst 0
|
||||||
|
3631
|
||||||
|
get_varc_int 205
|
||||||
|
switch
|
||||||
|
3: LABEL205
|
||||||
|
8: LABEL208
|
||||||
|
9: LABEL211
|
||||||
|
iconst 1
|
||||||
|
3630
|
||||||
|
jump LABEL213
|
||||||
|
LABEL205:
|
||||||
|
iconst 0
|
||||||
|
3630
|
||||||
|
jump LABEL213
|
||||||
|
LABEL208:
|
||||||
|
iconst 1
|
||||||
|
3632
|
||||||
|
jump LABEL213
|
||||||
|
LABEL211:
|
||||||
|
iconst 0
|
||||||
|
3632
|
||||||
|
LABEL213:
|
||||||
|
3639
|
||||||
|
LABEL214:
|
||||||
|
iload 9
|
||||||
|
iload 15
|
||||||
|
if_icmplt LABEL218
|
||||||
|
jump LABEL460
|
||||||
|
LABEL218:
|
||||||
|
iload 9
|
||||||
|
friend_getname
|
||||||
|
sstore 1
|
||||||
|
sstore 0
|
||||||
|
iload 5
|
||||||
|
iconst 4
|
||||||
|
iload 10
|
||||||
|
cc_create
|
||||||
|
iload 10
|
||||||
|
iconst 1
|
||||||
|
add
|
||||||
|
istore 10
|
||||||
|
sload 0
|
||||||
|
sconst "friend_cc_settext"
|
||||||
|
runelite_callback
|
||||||
|
cc_settext
|
||||||
|
iconst 0
|
||||||
|
iload 13
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_setsize
|
||||||
|
iconst 0
|
||||||
|
iload 12
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_setposition
|
||||||
|
iconst 16777215
|
||||||
|
cc_setcolour
|
||||||
|
iconst 495
|
||||||
|
cc_settextfont
|
||||||
|
iconst 0
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_settextalign
|
||||||
|
iconst 1
|
||||||
|
cc_settextshadow
|
||||||
|
sconst "<col=ff9040>"
|
||||||
|
sload 0
|
||||||
|
sconst "</col>"
|
||||||
|
join_string 3
|
||||||
|
cc_setopbase
|
||||||
|
iload 9
|
||||||
|
friend_getworld
|
||||||
|
istore 11
|
||||||
|
iload 11
|
||||||
|
iconst 0
|
||||||
|
if_icmpne LABEL264
|
||||||
|
jump LABEL271
|
||||||
|
LABEL264:
|
||||||
|
iconst 1
|
||||||
|
sconst "Message"
|
||||||
|
cc_setop
|
||||||
|
iconst 2
|
||||||
|
sconst ""
|
||||||
|
cc_setop
|
||||||
|
jump LABEL277
|
||||||
|
LABEL271:
|
||||||
|
iconst 1
|
||||||
|
sconst ""
|
||||||
|
cc_setop
|
||||||
|
iconst 2
|
||||||
|
sconst "Message"
|
||||||
|
cc_setop
|
||||||
|
LABEL277:
|
||||||
|
iconst 3
|
||||||
|
sconst "Delete"
|
||||||
|
cc_setop
|
||||||
|
iload 5
|
||||||
|
iconst 5
|
||||||
|
iload 10
|
||||||
|
cc_create 1
|
||||||
|
iload 10
|
||||||
|
iconst 1
|
||||||
|
add
|
||||||
|
istore 10
|
||||||
|
iconst 14
|
||||||
|
iconst 14
|
||||||
|
iconst 0
|
||||||
|
iconst 0
|
||||||
|
cc_setsize 1
|
||||||
|
sload 0
|
||||||
|
iconst 190
|
||||||
|
iconst 495
|
||||||
|
parawidth
|
||||||
|
iconst 3
|
||||||
|
add
|
||||||
|
iload 12
|
||||||
|
iload 13
|
||||||
|
iconst 14
|
||||||
|
sub
|
||||||
|
iconst 2
|
||||||
|
div
|
||||||
|
add
|
||||||
|
iconst 0
|
||||||
|
iconst 0
|
||||||
|
sconst "friend_cc_setposition"
|
||||||
|
runelite_callback
|
||||||
|
cc_setposition 1
|
||||||
|
iconst 1093
|
||||||
|
cc_setgraphic 1
|
||||||
|
iconst 3355443
|
||||||
|
cc_setgraphicshadow 1
|
||||||
|
sload 1
|
||||||
|
string_length
|
||||||
|
iconst 0
|
||||||
|
if_icmpgt LABEL318
|
||||||
|
jump LABEL367
|
||||||
|
LABEL318:
|
||||||
|
iload 14
|
||||||
|
iconst 1
|
||||||
|
if_icmpeq LABEL322
|
||||||
|
jump LABEL336
|
||||||
|
LABEL322:
|
||||||
|
iconst 10
|
||||||
|
sconst "Reveal previous name"
|
||||||
|
cc_setop
|
||||||
|
iconst 126
|
||||||
|
iconst -2147483644
|
||||||
|
sconst "event_opbase"
|
||||||
|
iconst -2147483645
|
||||||
|
cc_getid
|
||||||
|
cc_getid 1
|
||||||
|
sload 1
|
||||||
|
sload 0
|
||||||
|
sconst "isIiiss"
|
||||||
|
cc_setonop
|
||||||
|
jump LABEL364
|
||||||
|
LABEL336:
|
||||||
|
sconst "Previous name:"
|
||||||
|
sconst "<br>"
|
||||||
|
sload 1
|
||||||
|
join_string 3
|
||||||
|
sstore 1
|
||||||
|
iconst 526
|
||||||
|
iconst -2147483645
|
||||||
|
iconst -2147483643
|
||||||
|
iload 8
|
||||||
|
sload 1
|
||||||
|
iconst 25
|
||||||
|
iconst 190
|
||||||
|
sconst "IiIsii"
|
||||||
|
cc_setonmouserepeat
|
||||||
|
iconst 40
|
||||||
|
iload 8
|
||||||
|
sconst "I"
|
||||||
|
cc_setonmouseleave
|
||||||
|
iconst 126
|
||||||
|
iconst -2147483644
|
||||||
|
sconst "event_opbase"
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
sconst "null"
|
||||||
|
sconst "null"
|
||||||
|
sconst "isIiiss"
|
||||||
|
cc_setonop
|
||||||
|
LABEL364:
|
||||||
|
iconst 0
|
||||||
|
cc_sethide 1
|
||||||
|
jump LABEL383
|
||||||
|
LABEL367:
|
||||||
|
iconst 40
|
||||||
|
iload 8
|
||||||
|
sconst "I"
|
||||||
|
cc_setonmouseover
|
||||||
|
iconst 1
|
||||||
|
cc_sethide 1
|
||||||
|
iconst 126
|
||||||
|
iconst -2147483644
|
||||||
|
sconst "event_opbase"
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
sconst "null"
|
||||||
|
sconst "null"
|
||||||
|
sconst "isIiiss"
|
||||||
|
cc_setonop
|
||||||
|
LABEL383:
|
||||||
|
iload 5
|
||||||
|
iconst 4
|
||||||
|
iload 10
|
||||||
|
cc_create
|
||||||
|
iload 10
|
||||||
|
iconst 1
|
||||||
|
add
|
||||||
|
istore 10
|
||||||
|
iconst 0
|
||||||
|
iload 13
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_setsize
|
||||||
|
iconst 0
|
||||||
|
iload 12
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_setposition
|
||||||
|
iconst 495
|
||||||
|
cc_settextfont
|
||||||
|
iconst 2
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_settextalign
|
||||||
|
iconst 1
|
||||||
|
cc_settextshadow
|
||||||
|
iload 11
|
||||||
|
iconst 0
|
||||||
|
if_icmpeq LABEL413
|
||||||
|
jump LABEL418
|
||||||
|
LABEL413:
|
||||||
|
sconst "Offline"
|
||||||
|
cc_settext
|
||||||
|
iconst 16711680
|
||||||
|
cc_setcolour
|
||||||
|
jump LABEL451
|
||||||
|
LABEL418:
|
||||||
|
iload 11
|
||||||
|
map_world
|
||||||
|
if_icmpeq LABEL422
|
||||||
|
jump LABEL430
|
||||||
|
LABEL422:
|
||||||
|
sconst "World "
|
||||||
|
iload 11
|
||||||
|
tostring
|
||||||
|
join_string 2
|
||||||
|
cc_settext
|
||||||
|
iconst 901389
|
||||||
|
cc_setcolour
|
||||||
|
jump LABEL451
|
||||||
|
LABEL430:
|
||||||
|
iload 11
|
||||||
|
iconst 5000
|
||||||
|
if_icmpgt LABEL434
|
||||||
|
jump LABEL443
|
||||||
|
LABEL434:
|
||||||
|
sconst "<col=ffff00>"
|
||||||
|
sconst "Classic "
|
||||||
|
iload 11
|
||||||
|
iconst 5000
|
||||||
|
sub
|
||||||
|
tostring
|
||||||
|
join_string 3
|
||||||
|
cc_settext
|
||||||
|
jump LABEL449
|
||||||
|
LABEL443:
|
||||||
|
sconst "<col=ffff00>"
|
||||||
|
sconst "World "
|
||||||
|
iload 11
|
||||||
|
tostring
|
||||||
|
join_string 3
|
||||||
|
cc_settext
|
||||||
|
LABEL449:
|
||||||
|
iconst 16776960
|
||||||
|
cc_setcolour
|
||||||
|
LABEL451:
|
||||||
|
iload 9
|
||||||
|
iconst 1
|
||||||
|
add
|
||||||
|
iload 12
|
||||||
|
iload 13
|
||||||
|
add
|
||||||
|
istore 12
|
||||||
|
istore 9
|
||||||
|
jump LABEL214
|
||||||
|
LABEL460:
|
||||||
|
iload 15
|
||||||
|
iconst 1
|
||||||
|
if_icmpge LABEL464
|
||||||
|
jump LABEL468
|
||||||
|
LABEL464:
|
||||||
|
iload 12
|
||||||
|
iconst 5
|
||||||
|
add
|
||||||
|
istore 12
|
||||||
|
LABEL468:
|
||||||
|
iload 12
|
||||||
|
iload 5
|
||||||
|
if_getheight
|
||||||
|
if_icmpgt LABEL473
|
||||||
|
jump LABEL482
|
||||||
|
LABEL473:
|
||||||
|
iconst 0
|
||||||
|
iload 12
|
||||||
|
iload 5
|
||||||
|
if_setscrollsize
|
||||||
|
iload 6
|
||||||
|
iload 5
|
||||||
|
get_varc_int 9
|
||||||
|
invoke 72
|
||||||
|
jump LABEL490
|
||||||
|
LABEL482:
|
||||||
|
iconst 0
|
||||||
|
iconst 0
|
||||||
|
iload 5
|
||||||
|
if_setscrollsize
|
||||||
|
iload 6
|
||||||
|
iload 5
|
||||||
|
iconst 0
|
||||||
|
invoke 72
|
||||||
|
LABEL490:
|
||||||
|
return
|
||||||
1
runelite-client/src/main/scripts/IgnoreUpdate.hash
Normal file
1
runelite-client/src/main/scripts/IgnoreUpdate.hash
Normal file
@@ -0,0 +1 @@
|
|||||||
|
256A38E234D9D44532175F4C98AA923327EE050E23D122573426D94FBF15936E
|
||||||
330
runelite-client/src/main/scripts/IgnoreUpdate.rs2asm
Normal file
330
runelite-client/src/main/scripts/IgnoreUpdate.rs2asm
Normal file
@@ -0,0 +1,330 @@
|
|||||||
|
.id 129
|
||||||
|
.int_stack_count 7
|
||||||
|
.string_stack_count 0
|
||||||
|
.int_var_count 13
|
||||||
|
.string_var_count 2
|
||||||
|
; callback "ignore_cc_settext"
|
||||||
|
; Fired just before the client pops the name off the stack
|
||||||
|
; Modified by the friendnotes plugin to show the icon
|
||||||
|
; callback "ignore_cc_setposition"
|
||||||
|
; Fired just before the client sets the position of "ignored person changed their name" icon
|
||||||
|
; Modified by the friendnotes plugin to offset the name changed icon
|
||||||
|
iload 1
|
||||||
|
iconst 2
|
||||||
|
iconst 3
|
||||||
|
sconst "Sort by name"
|
||||||
|
iload 0
|
||||||
|
iload 1
|
||||||
|
iload 2
|
||||||
|
iload 3
|
||||||
|
iload 4
|
||||||
|
iload 5
|
||||||
|
iload 6
|
||||||
|
invoke 1653
|
||||||
|
iload 2
|
||||||
|
iconst 0
|
||||||
|
iconst 1
|
||||||
|
sconst "Legacy sort"
|
||||||
|
iload 0
|
||||||
|
iload 1
|
||||||
|
iload 2
|
||||||
|
iload 3
|
||||||
|
iload 4
|
||||||
|
iload 5
|
||||||
|
iload 6
|
||||||
|
invoke 1653
|
||||||
|
iload 3
|
||||||
|
cc_deleteall
|
||||||
|
iconst 0
|
||||||
|
istore 7
|
||||||
|
iconst 0
|
||||||
|
istore 8
|
||||||
|
sconst ""
|
||||||
|
sstore 0
|
||||||
|
sconst ""
|
||||||
|
sstore 1
|
||||||
|
iconst 0
|
||||||
|
istore 9
|
||||||
|
iconst 15
|
||||||
|
istore 10
|
||||||
|
iconst -1
|
||||||
|
istore 11
|
||||||
|
ignore_count
|
||||||
|
istore 12
|
||||||
|
iload 12
|
||||||
|
iconst 0
|
||||||
|
if_icmplt LABEL46
|
||||||
|
jump LABEL67
|
||||||
|
LABEL46:
|
||||||
|
get_varbit 8119
|
||||||
|
iconst 1
|
||||||
|
if_icmpeq LABEL50
|
||||||
|
jump LABEL57
|
||||||
|
LABEL50:
|
||||||
|
sconst "Loading ignore list"
|
||||||
|
sconst "<br>"
|
||||||
|
sconst "Please wait..."
|
||||||
|
join_string 3
|
||||||
|
iload 5
|
||||||
|
if_settext
|
||||||
|
jump LABEL63
|
||||||
|
LABEL57:
|
||||||
|
sconst "You must set a name"
|
||||||
|
sconst "<br>"
|
||||||
|
sconst "before using this."
|
||||||
|
join_string 3
|
||||||
|
iload 5
|
||||||
|
if_settext
|
||||||
|
LABEL63:
|
||||||
|
iconst 1
|
||||||
|
iload 0
|
||||||
|
if_sethide
|
||||||
|
jump LABEL263
|
||||||
|
LABEL67:
|
||||||
|
invoke 1972
|
||||||
|
istore 11
|
||||||
|
iload 11
|
||||||
|
iconst 1
|
||||||
|
if_icmpeq LABEL73
|
||||||
|
jump LABEL78
|
||||||
|
LABEL73:
|
||||||
|
iconst 8
|
||||||
|
iconst 5
|
||||||
|
iload 10
|
||||||
|
scale
|
||||||
|
istore 10
|
||||||
|
LABEL78:
|
||||||
|
sconst ""
|
||||||
|
iload 5
|
||||||
|
if_settext
|
||||||
|
iconst 0
|
||||||
|
iload 0
|
||||||
|
if_sethide
|
||||||
|
3640
|
||||||
|
get_varc_int 184
|
||||||
|
switch
|
||||||
|
1: LABEL88
|
||||||
|
2: LABEL91
|
||||||
|
3: LABEL94
|
||||||
|
jump LABEL96
|
||||||
|
LABEL88:
|
||||||
|
iconst 0
|
||||||
|
3641
|
||||||
|
jump LABEL96
|
||||||
|
LABEL91:
|
||||||
|
iconst 1
|
||||||
|
3642
|
||||||
|
jump LABEL96
|
||||||
|
LABEL94:
|
||||||
|
iconst 0
|
||||||
|
3642
|
||||||
|
LABEL96:
|
||||||
|
3643
|
||||||
|
LABEL97:
|
||||||
|
iload 7
|
||||||
|
iload 12
|
||||||
|
if_icmplt LABEL101
|
||||||
|
jump LABEL255
|
||||||
|
LABEL101:
|
||||||
|
iload 7
|
||||||
|
ignore_getname
|
||||||
|
sstore 1
|
||||||
|
sstore 0
|
||||||
|
iload 3
|
||||||
|
iconst 4
|
||||||
|
iload 8
|
||||||
|
cc_create
|
||||||
|
iload 8
|
||||||
|
iconst 1
|
||||||
|
add
|
||||||
|
istore 8
|
||||||
|
sload 0
|
||||||
|
sconst "ignore_cc_settext"
|
||||||
|
runelite_callback
|
||||||
|
cc_settext
|
||||||
|
iconst 0
|
||||||
|
iload 10
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_setsize
|
||||||
|
iconst 0
|
||||||
|
iload 9
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_setposition
|
||||||
|
iconst 16777215
|
||||||
|
cc_setcolour
|
||||||
|
iconst 495
|
||||||
|
cc_settextfont
|
||||||
|
iconst 0
|
||||||
|
iconst 1
|
||||||
|
iconst 0
|
||||||
|
cc_settextalign
|
||||||
|
iconst 1
|
||||||
|
cc_settextshadow
|
||||||
|
sconst "<col=ff9040>"
|
||||||
|
sload 0
|
||||||
|
sconst "</col>"
|
||||||
|
join_string 3
|
||||||
|
cc_setopbase
|
||||||
|
iconst 1
|
||||||
|
sconst "Delete"
|
||||||
|
cc_setop
|
||||||
|
iload 3
|
||||||
|
iconst 5
|
||||||
|
iload 8
|
||||||
|
cc_create 1
|
||||||
|
iload 8
|
||||||
|
iconst 1
|
||||||
|
add
|
||||||
|
istore 8
|
||||||
|
iconst 14
|
||||||
|
iconst 14
|
||||||
|
iconst 0
|
||||||
|
iconst 0
|
||||||
|
cc_setsize 1
|
||||||
|
sload 0
|
||||||
|
iconst 190
|
||||||
|
iconst 495
|
||||||
|
parawidth
|
||||||
|
iconst 3
|
||||||
|
add
|
||||||
|
iload 9
|
||||||
|
iload 10
|
||||||
|
iconst 14
|
||||||
|
sub
|
||||||
|
iconst 2
|
||||||
|
div
|
||||||
|
add
|
||||||
|
iconst 0
|
||||||
|
iconst 0
|
||||||
|
sconst "ignore_cc_setposition"
|
||||||
|
runelite_callback
|
||||||
|
cc_setposition 1
|
||||||
|
iconst 1093
|
||||||
|
cc_setgraphic 1
|
||||||
|
iconst 3355443
|
||||||
|
cc_setgraphicshadow 1
|
||||||
|
sload 1
|
||||||
|
string_length
|
||||||
|
iconst 0
|
||||||
|
if_icmpgt LABEL181
|
||||||
|
jump LABEL230
|
||||||
|
LABEL181:
|
||||||
|
iload 11
|
||||||
|
iconst 1
|
||||||
|
if_icmpeq LABEL185
|
||||||
|
jump LABEL199
|
||||||
|
LABEL185:
|
||||||
|
iconst 10
|
||||||
|
sconst "Reveal previous name"
|
||||||
|
cc_setop
|
||||||
|
iconst 130
|
||||||
|
iconst -2147483644
|
||||||
|
sconst "event_opbase"
|
||||||
|
iconst -2147483645
|
||||||
|
cc_getid
|
||||||
|
cc_getid 1
|
||||||
|
sload 1
|
||||||
|
sload 0
|
||||||
|
sconst "isIiiss"
|
||||||
|
cc_setonop
|
||||||
|
jump LABEL227
|
||||||
|
LABEL199:
|
||||||
|
sconst "Previous name:"
|
||||||
|
sconst "<br>"
|
||||||
|
sload 1
|
||||||
|
join_string 3
|
||||||
|
sstore 1
|
||||||
|
iconst 526
|
||||||
|
iconst -2147483645
|
||||||
|
iconst -2147483643
|
||||||
|
iload 6
|
||||||
|
sload 1
|
||||||
|
iconst 25
|
||||||
|
iconst 190
|
||||||
|
sconst "IiIsii"
|
||||||
|
cc_setonmouserepeat
|
||||||
|
iconst 40
|
||||||
|
iload 6
|
||||||
|
sconst "I"
|
||||||
|
cc_setonmouseleave
|
||||||
|
iconst 130
|
||||||
|
iconst -2147483644
|
||||||
|
sconst "event_opbase"
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
sconst "null"
|
||||||
|
sconst "null"
|
||||||
|
sconst "isIiiss"
|
||||||
|
cc_setonop
|
||||||
|
LABEL227:
|
||||||
|
iconst 0
|
||||||
|
cc_sethide 1
|
||||||
|
jump LABEL246
|
||||||
|
LABEL230:
|
||||||
|
iconst 40
|
||||||
|
iload 6
|
||||||
|
sconst "I"
|
||||||
|
cc_setonmouseover
|
||||||
|
iconst 1
|
||||||
|
cc_sethide 1
|
||||||
|
iconst 130
|
||||||
|
iconst -2147483644
|
||||||
|
sconst "event_opbase"
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
iconst -1
|
||||||
|
sconst "null"
|
||||||
|
sconst "null"
|
||||||
|
sconst "isIiiss"
|
||||||
|
cc_setonop
|
||||||
|
LABEL246:
|
||||||
|
iload 7
|
||||||
|
iconst 1
|
||||||
|
add
|
||||||
|
iload 9
|
||||||
|
iload 10
|
||||||
|
add
|
||||||
|
istore 9
|
||||||
|
istore 7
|
||||||
|
jump LABEL97
|
||||||
|
LABEL255:
|
||||||
|
iload 12
|
||||||
|
iconst 1
|
||||||
|
if_icmpge LABEL259
|
||||||
|
jump LABEL263
|
||||||
|
LABEL259:
|
||||||
|
iload 9
|
||||||
|
iconst 5
|
||||||
|
add
|
||||||
|
istore 9
|
||||||
|
LABEL263:
|
||||||
|
iload 9
|
||||||
|
iload 3
|
||||||
|
if_getheight
|
||||||
|
if_icmpgt LABEL268
|
||||||
|
jump LABEL278
|
||||||
|
LABEL268:
|
||||||
|
iconst 0
|
||||||
|
iload 9
|
||||||
|
iload 3
|
||||||
|
if_setscrollsize
|
||||||
|
iload 4
|
||||||
|
iload 3
|
||||||
|
iload 3
|
||||||
|
if_getscrolly
|
||||||
|
invoke 72
|
||||||
|
jump LABEL286
|
||||||
|
LABEL278:
|
||||||
|
iconst 0
|
||||||
|
iconst 0
|
||||||
|
iload 3
|
||||||
|
if_setscrollsize
|
||||||
|
iload 4
|
||||||
|
iload 3
|
||||||
|
iconst 0
|
||||||
|
invoke 72
|
||||||
|
LABEL286:
|
||||||
|
return
|
||||||
Reference in New Issue
Block a user