From 8a5a0f88f966d550ab1548d8e345b33d90ef52d8 Mon Sep 17 00:00:00 2001 From: James Shelton Date: Sat, 8 May 2021 00:10:06 +0100 Subject: [PATCH 01/17] xptracker: add option to reset per hour rates --- .../client/plugins/xptracker/XpAction.java | 1 + .../client/plugins/xptracker/XpInfoBox.java | 5 ++ .../client/plugins/xptracker/XpPanel.java | 5 ++ .../client/plugins/xptracker/XpState.java | 43 ++++++++++++----- .../plugins/xptracker/XpStateSingle.java | 48 ++++++++++++++----- .../plugins/xptracker/XpTrackerPlugin.java | 27 ++++++++++- 6 files changed, 103 insertions(+), 26 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpAction.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpAction.java index 4831c47cbf..861b414a7e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpAction.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpAction.java @@ -30,6 +30,7 @@ import lombok.Data; class XpAction { private int actions = 0; + private int actionsSinceReset = 0; private boolean actionsHistoryInitialized = false; private int[] actionExps = new int[10]; private int actionExpIndex = 0; diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java index 343765bb79..e188a1df57 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpInfoBox.java @@ -135,6 +135,10 @@ class XpInfoBox extends JPanel final JMenuItem resetOthers = new JMenuItem("Reset others"); resetOthers.addActionListener(e -> xpTrackerPlugin.resetOtherSkillState(skill)); + // Create reset per hour menu + final JMenuItem resetPerHour = new JMenuItem("Reset/hr"); + resetPerHour.addActionListener(e -> xpTrackerPlugin.resetSkillPerHourState(skill)); + // Create reset others menu pauseSkill.addActionListener(e -> xpTrackerPlugin.pauseSkill(skill, !paused)); @@ -144,6 +148,7 @@ class XpInfoBox extends JPanel popupMenu.add(openXpTracker); popupMenu.add(reset); popupMenu.add(resetOthers); + popupMenu.add(resetPerHour); popupMenu.add(pauseSkill); popupMenu.add(canvasItem); popupMenu.addPopupMenuListener(new PopupMenuListener() diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java index aa7af98aed..b346f2733d 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpPanel.java @@ -90,6 +90,10 @@ class XpPanel extends PluginPanel final JMenuItem reset = new JMenuItem("Reset All"); reset.addActionListener(e -> xpTrackerPlugin.resetAndInitState()); + // Create reset all per hour menu + final JMenuItem resetPerHour = new JMenuItem("Reset All/hr"); + resetPerHour.addActionListener(e -> xpTrackerPlugin.resetAllSkillsPerHourState()); + // Create pause all menu final JMenuItem pauseAll = new JMenuItem("Pause All"); pauseAll.addActionListener(e -> xpTrackerPlugin.pauseAllSkills(true)); @@ -104,6 +108,7 @@ class XpPanel extends PluginPanel popupMenu.setBorder(new EmptyBorder(5, 5, 5, 5)); popupMenu.add(openXpTracker); popupMenu.add(reset); + popupMenu.add(resetPerHour); popupMenu.add(pauseAll); popupMenu.add(unpauseAll); overallPanel.setComponentPopupMenu(popupMenu); diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java index 1fbbdb2c49..aefae895d8 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java @@ -32,7 +32,7 @@ import net.runelite.api.Skill; /** * Internal state for the XpTrackerPlugin - * + *

* Note: This class's operations are not currently synchronized. * It is intended to be called by the XpTrackerPlugin on the client thread. */ @@ -53,7 +53,8 @@ class XpState /** * Resets a single skill - * @param skill Skill to reset + * + * @param skill Skill to reset * @param currentXp Current XP to set to, if unknown set to -1 */ void resetSkill(Skill skill, long currentXp) @@ -62,15 +63,26 @@ class XpState xpSkills.put(skill, new XpStateSingle(skill, currentXp)); } + /** + * Resets the per hour rates of a single skill + * + * @param skill Skill to reset per hour rates + */ + void resetSkillPerHour(Skill skill) + { + xpSkills.get(skill).resetPerHour(); + } + /** * Updates a skill with the current known XP. * When the result of this operation is XpUpdateResult.UPDATED, the UI should be updated accordingly. * This is to distinguish events that reload all the skill's current values (such as world hopping) * and also first-login when the skills are not initialized (the start XP will be -1 in this case). - * @param skill Skill to update - * @param currentXp Current known XP for this skill + * + * @param skill Skill to update + * @param currentXp Current known XP for this skill * @param goalStartXp Possible XP start goal - * @param goalEndXp Possible XP end goal + * @param goalEndXp Possible XP end goal * @return Whether or not the skill has been initialized, there was no change, or it has been updated */ XpUpdateResult updateSkill(Skill skill, long currentXp, int goalStartXp, int goalEndXp) @@ -92,7 +104,7 @@ class XpState else { long startXp = state.getStartXp(); - int gainedXp = state.getXpGained(); + int gainedXp = state.getTotalXpGained(); if (startXp + gainedXp > currentXp) { @@ -119,8 +131,9 @@ class XpState /** * Updates skill with average actions based on currently interacted NPC. - * @param skill experience gained skill - * @param npc currently interacted NPC + * + * @param skill experience gained skill + * @param npc currently interacted NPC * @param npcHealth health of currently interacted NPC */ void updateNpcExperience(Skill skill, NPC npc, Integer npcHealth, int xpModifier) @@ -161,8 +174,9 @@ class XpState /** * Update number of actions performed for skill if last interacted NPC died. * (eg. amount of kills in this case) - * @param skill skill to update actions for - * @param npc npc that just died + * + * @param skill skill to update actions for + * @param npc npc that just died * @param npcHealth max health of npc that just died * @return UPDATED in case new kill was successfully added */ @@ -170,13 +184,13 @@ class XpState { XpStateSingle state = getSkill(skill); - if (state.getXpGained() <= 0 || npcHealth == null || npc != interactedNPC) + if (state.getXpGainedSinceReset() <= 0 || npcHealth == null || npc != interactedNPC) { return XpUpdateResult.NO_CHANGE; } final XpAction xpAction = state.getXpAction(XpActionType.ACTOR_HEALTH); - xpAction.setActions(xpAction.getActions() + 1); + xpAction.setActionsSinceReset(xpAction.getActionsSinceReset() + 1); return xpAction.isActionsHistoryInitialized() ? XpUpdateResult.UPDATED : XpUpdateResult.NO_CHANGE; } @@ -188,7 +202,8 @@ class XpState /** * Forcefully initialize a skill with a known start XP from the current XP. * This is used in resetAndInitState by the plugin. It should not result in showing the XP in the UI. - * @param skill Skill to initialize + * + * @param skill Skill to initialize * @param currentXp Current known XP for the skill */ void initializeSkill(Skill skill, long currentXp) @@ -211,6 +226,7 @@ class XpState /** * Obtain an immutable snapshot of the provided skill * intended for use with the UI which operates on another thread + * * @param skill Skill to obtain the snapshot for * @return An immutable snapshot of the specified skill for this session since first login or last reset */ @@ -223,6 +239,7 @@ class XpState /** * Obtain an immutable snapshot of the provided skill * intended for use with the UI which operates on another thread + * * @return An immutable snapshot of total information for this session since first login or last reset */ @NonNull diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java index e10684e322..ff2308998e 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java @@ -45,12 +45,16 @@ class XpStateSingle private long startXp; @Getter - private int xpGained = 0; + private int xpGainedSinceReset = 0; + + private int xpGainedBeforeReset = 0; @Setter private XpActionType actionType = XpActionType.EXPERIENCE; + @Setter private long skillTime = 0; + private int startLevelExp = 0; private int endLevelExp = 0; @@ -68,12 +72,17 @@ class XpStateSingle long getCurrentXp() { - return startXp + xpGained; + return startXp + getTotalXpGained(); + } + + int getTotalXpGained() + { + return xpGainedBeforeReset + xpGainedSinceReset; } private int getActionsHr() { - return toHourly(getXpAction(actionType).getActions()); + return toHourly(getXpAction(actionType).getActionsSinceReset()); } private int toHourly(int value) @@ -136,7 +145,7 @@ class XpStateSingle // below will be a custom formatter that handles spans larger than 1 day long seconds = getTimeElapsedInSeconds(); - if (seconds <= 0 || xpGained <= 0) + if (seconds <= 0 || xpGainedSinceReset <= 0) { return -1; } @@ -144,7 +153,7 @@ class XpStateSingle // formula is xpRemaining / xpPerSecond // xpPerSecond being xpGained / seconds // This can be simplified so division is only done once and we can work in whole numbers! - return (getXpRemaining() * seconds) / xpGained; + return (getXpRemaining() * seconds) / xpGainedSinceReset; } private String getTimeTillLevel(XpGoalTimeType goalTimeType) @@ -197,7 +206,22 @@ class XpStateSingle int getXpHr() { - return toHourly(xpGained); + return toHourly(xpGainedSinceReset); + } + + void resetPerHour() + { + //reset actions per hour + for (XpAction action : actions.values()) + { + action.setActions(action.getActions() + action.getActionsSinceReset()); + action.setActionsSinceReset(0); + } + + //reset xp per hour + xpGainedBeforeReset += xpGainedSinceReset; + xpGainedSinceReset = 0; + setSkillTime(0); } boolean update(long currentXp, int goalStartXp, int goalEndXp) @@ -208,7 +232,7 @@ class XpStateSingle return false; } - long originalXp = xpGained + startXp; + long originalXp = getTotalXpGained() + startXp; int actionExp = (int) (currentXp - originalXp); // No experience gained @@ -237,10 +261,10 @@ class XpStateSingle } action.setActionExpIndex((action.getActionExpIndex() + 1) % action.getActionExps().length); - action.setActions(action.getActions() + 1); + action.setActionsSinceReset(action.getActionsSinceReset() + 1); // Calculate experience gained - xpGained = (int) (currentXp - startXp); + xpGainedSinceReset = (int) (currentXp - (startXp + xpGainedBeforeReset)); // Determine XP goals, overall has no goals if (skill != Skill.OVERALL) @@ -273,7 +297,7 @@ class XpStateSingle public void tick(long delta) { // Don't tick skills that have not gained XP or have been reset. - if (xpGained <= 0) + if (xpGainedSinceReset <= 0) { return; } @@ -285,12 +309,12 @@ class XpStateSingle return XpSnapshotSingle.builder() .startLevel(Experience.getLevelForXp(startLevelExp)) .endLevel(Experience.getLevelForXp(endLevelExp)) - .xpGainedInSession(xpGained) + .xpGainedInSession(getTotalXpGained()) .xpRemainingToGoal(getXpRemaining()) .xpPerHour(getXpHr()) .skillProgressToGoal(getSkillProgress()) .actionType(actionType) - .actionsInSession(getXpAction(actionType).getActions()) + .actionsInSession(getXpAction(actionType).getActions() + getXpAction(actionType).getActionsSinceReset()) .actionsRemainingToGoal(getActionsRemaining()) .actionsPerHour(getActionsHr()) .timeTillGoal(getTimeTillLevel(XpGoalTimeType.DAYS)) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 4fd1f02516..37d14e2a41 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -323,6 +323,7 @@ public class XpTrackerPlugin extends Plugin /** * Reset an individual skill with the client's current known state of the skill * Will also clear the skill from the UI. + * * @param skill Skill to reset */ void resetSkillState(Skill skill) @@ -335,6 +336,7 @@ public class XpTrackerPlugin extends Plugin /** * Reset all skills except for the one provided + * * @param skill Skill to ignore during reset */ void resetOtherSkillState(Skill skill) @@ -349,6 +351,29 @@ public class XpTrackerPlugin extends Plugin } } + /** + * Reset the xp gained since last reset of the skill + * Does not clear the skill from the UI. + * + * @param skill Skill to reset per hour rate + */ + void resetSkillPerHourState(Skill skill) + { + xpState.resetSkillPerHour(skill); + } + + /** + * Reset the xp gained since last reset of all skills including OVERALL + * Does not clear the UI. + */ + void resetAllSkillsPerHourState() + { + for (Skill skill : Skill.values()) + { + resetSkillPerHourState(skill); + } + } + @Subscribe public void onStatChanged(StatChanged statChanged) { @@ -377,7 +402,7 @@ public class XpTrackerPlugin extends Plugin final Actor interacting = client.getLocalPlayer().getInteracting(); if (interacting instanceof NPC && COMBAT.contains(skill)) { - final int xpModifier = worldSetToType(client.getWorldType()).modifier(client);; + final int xpModifier = worldSetToType(client.getWorldType()).modifier(client); final NPC npc = (NPC) interacting; xpState.updateNpcExperience(skill, npc, npcManager.getHealth(npc.getId()), xpModifier); } From f00454fe236abc2b50c7bd04aa6e69d29b5b37cf Mon Sep 17 00:00:00 2001 From: James Shelton Date: Sun, 9 May 2021 01:20:27 +0100 Subject: [PATCH 02/17] xptracker: add auto reset per hour rates after set time --- .../client/plugins/xptracker/XpState.java | 21 ++++++++++++- .../plugins/xptracker/XpStateSingle.java | 12 ++++++-- .../plugins/xptracker/XpTrackerConfig.java | 30 +++++++++++++------ .../plugins/xptracker/XpTrackerPlugin.java | 4 ++- 4 files changed, 54 insertions(+), 13 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java index aefae895d8..0e46f8df18 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java @@ -26,6 +26,7 @@ package net.runelite.client.plugins.xptracker; import java.util.EnumMap; import java.util.Map; +import javax.inject.Inject; import lombok.NonNull; import net.runelite.api.NPC; import net.runelite.api.Skill; @@ -43,6 +44,9 @@ class XpState private final Map xpSkills = new EnumMap<>(Skill.class); private NPC interactedNPC; + @Inject + private XpTrackerConfig xpTrackerConfig; + /** * Destroys all internal state, however any XpSnapshotSingle or XpSnapshotTotal remain unaffected. */ @@ -196,7 +200,22 @@ class XpState void tick(Skill skill, long delta) { - getSkill(skill).tick(delta); + final XpStateSingle state = getSkill(skill); + + state.tick(delta); + + int resetAfterMinutes = xpTrackerConfig.resetSkillRateAfter(); + if (resetAfterMinutes > 0) + { + final long now = System.currentTimeMillis(); + final int resetAfterMillis = resetAfterMinutes * 60 * 1000; + final long lastChangeMillis = state.getLastChangeMillis(); + // When pauseSkillAfter is 0, it is effectively disabled + if (lastChangeMillis != 0 && (now - lastChangeMillis) >= resetAfterMillis) + { + state.resetPerHour(); + } + } } /** diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java index ff2308998e..70306d9f44 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java @@ -54,6 +54,8 @@ class XpStateSingle @Setter private long skillTime = 0; + @Getter + private long lastChangeMillis; private int startLevelExp = 0; private int endLevelExp = 0; @@ -75,6 +77,12 @@ class XpStateSingle return startXp + getTotalXpGained(); } + void setXpGainedSinceReset(int xpGainedSinceReset) + { + this.xpGainedSinceReset = xpGainedSinceReset; + lastChangeMillis = System.currentTimeMillis(); + } + int getTotalXpGained() { return xpGainedBeforeReset + xpGainedSinceReset; @@ -220,7 +228,7 @@ class XpStateSingle //reset xp per hour xpGainedBeforeReset += xpGainedSinceReset; - xpGainedSinceReset = 0; + setXpGainedSinceReset(0); setSkillTime(0); } @@ -264,7 +272,7 @@ class XpStateSingle action.setActionsSinceReset(action.getActionsSinceReset() + 1); // Calculate experience gained - xpGainedSinceReset = (int) (currentXp - (startXp + xpGainedBeforeReset)); + setXpGainedSinceReset((int) (currentXp - (startXp + xpGainedBeforeReset))); // Determine XP goals, overall has no goals if (skill != Skill.OVERALL) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java index f14c643f02..9ad62e3414 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerConfig.java @@ -88,6 +88,18 @@ public interface XpTrackerConfig extends Config @ConfigItem( position = 4, + keyName = "resetSkillRateAfter", + name = "Auto reset after", + description = "Configures how many minutes passes before resetting a skill's per hour rates while in game and there's no XP, 0 means disabled" + ) + @Units(Units.MINUTES) + default int resetSkillRateAfter() + { + return 0; + } + + @ConfigItem( + position = 5, keyName = "skillTabOverlayMenuOptions", name = "Add skill tab canvas menu option", description = "Configures whether a menu option to show/hide canvas XP trackers will be added to skills on the skill tab", @@ -99,7 +111,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 5, + position = 6, keyName = "onScreenDisplayMode", name = "On-screen tracker display mode (top)", description = "Configures the information displayed in the first line of on-screen XP overlays", @@ -111,7 +123,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 6, + position = 7, keyName = "onScreenDisplayModeBottom", name = "On-screen tracker display mode (bottom)", description = "Configures the information displayed in the second line of on-screen XP overlays", @@ -123,7 +135,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 7, + position = 8, keyName = "xpPanelLabel1", name = "Top-left XP info label", description = "Configures the information displayed in the top-left of XP info box" @@ -134,7 +146,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 8, + position = 9, keyName = "xpPanelLabel2", name = "Top-right XP info label", description = "Configures the information displayed in the top-right of XP info box" @@ -146,7 +158,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 9, + position = 10, keyName = "xpPanelLabel3", name = "Bottom-left XP info label", description = "Configures the information displayed in the bottom-left of XP info box" @@ -157,7 +169,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 10, + position = 11, keyName = "xpPanelLabel4", name = "Bottom-right XP info label", description = "Configures the information displayed in the bottom-right of XP info box" @@ -168,7 +180,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 11, + position = 12, keyName = "progressBarLabel", name = "Progress bar label", description = "Configures the info box progress bar to show Time to goal or percentage complete" @@ -179,7 +191,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 12, + position = 13, keyName = "progressBarTooltipLabel", name = "Tooltip label", description = "Configures the info box progress bar tooltip to show Time to goal or percentage complete" @@ -190,7 +202,7 @@ public interface XpTrackerConfig extends Config } @ConfigItem( - position = 13, + position = 14, keyName = "prioritizeRecentXpSkills", name = "Move recently trained skills to top", description = "Configures whether skills should be organized by most recently gained xp" diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java index 37d14e2a41..a69575503a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpTrackerPlugin.java @@ -120,6 +120,9 @@ public class XpTrackerPlugin extends Plugin @Inject private XpClient xpClient; + @Inject + private XpState xpState; + private NavigationButton navButton; @Setter(AccessLevel.PACKAGE) @VisibleForTesting @@ -131,7 +134,6 @@ public class XpTrackerPlugin extends Plugin private long lastXp = 0; private boolean initializeTracker; - private final XpState xpState = new XpState(); private final XpPauseState xpPauseState = new XpPauseState(); @Provides From 6c06ac4eafc6716e1dce9f760e2740754dbdba33 Mon Sep 17 00:00:00 2001 From: Adam Date: Sun, 16 May 2021 13:31:44 -0400 Subject: [PATCH 03/17] xptracker: use enum map for actions and other cleanup --- .../client/plugins/xptracker/XpState.java | 6 ++---- .../plugins/xptracker/XpStateSingle.java | 21 ++++++++----------- 2 files changed, 11 insertions(+), 16 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java index 0e46f8df18..ba12dd1599 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpState.java @@ -24,6 +24,7 @@ */ package net.runelite.client.plugins.xptracker; +import java.util.Arrays; import java.util.EnumMap; import java.util.Map; import javax.inject.Inject; @@ -163,10 +164,7 @@ class XpState else { // So we have a decent average off the bat, lets populate all values with what we see. - for (int i = 0; i < action.getActionExps().length; i++) - { - action.getActionExps()[i] = actionExp; - } + Arrays.fill(action.getActionExps(), actionExp); action.setActionsHistoryInitialized(true); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java index 70306d9f44..cc58c69b55 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/xptracker/XpStateSingle.java @@ -26,7 +26,8 @@ */ package net.runelite.client.plugins.xptracker; -import java.util.HashMap; +import java.util.Arrays; +import java.util.EnumMap; import java.util.Map; import lombok.Getter; import lombok.Setter; @@ -38,7 +39,7 @@ import net.runelite.api.Skill; class XpStateSingle { private final Skill skill; - private final Map actions = new HashMap<>(); + private final Map actions = new EnumMap<>(XpActionType.class); @Getter @Setter @@ -68,8 +69,7 @@ class XpStateSingle XpAction getXpAction(final XpActionType type) { - actions.putIfAbsent(type, new XpAction()); - return actions.get(type); + return actions.computeIfAbsent(type, k -> new XpAction()); } long getCurrentXp() @@ -148,9 +148,6 @@ class XpStateSingle private long getSecondsTillLevel() { - // Java 8 doesn't have good duration / period objects to represent spans of time that can be formatted - // Rather than importing another dependency like joda time (which is practically built into java 10) - // below will be a custom formatter that handles spans larger than 1 day long seconds = getTimeElapsedInSeconds(); if (seconds <= 0 || xpGainedSinceReset <= 0) @@ -172,6 +169,9 @@ class XpStateSingle return "\u221e"; } + // Java 8 doesn't have good duration / period objects to represent spans of time that can be formatted + // Rather than importing another dependency like joda time (which is practically built into java 10) + // below will be a custom formatter that handles spans larger than 1 day long durationDays = remainingSeconds / (24 * 60 * 60); long durationHours = (remainingSeconds % (24 * 60 * 60)) / (60 * 60); long durationHoursTotal = remainingSeconds / (60 * 60); @@ -236,7 +236,7 @@ class XpStateSingle { if (startXp == -1) { - log.warn("Attempted to update skill state " + skill + " but was not initialized with current xp"); + log.warn("Attempted to update skill state {} but was not initialized with current xp", skill); return false; } @@ -260,10 +260,7 @@ class XpStateSingle { // populate all values in our action history array with this first value that we see // so the average value of our action history starts out as this first value we see - for (int i = 0; i < action.getActionExps().length; i++) - { - action.getActionExps()[i] = actionExp; - } + Arrays.fill(action.getActionExps(), actionExp); action.setActionsHistoryInitialized(true); } From abc8d33b7ed60341f472db5791d9f206471f97c1 Mon Sep 17 00:00:00 2001 From: Hydrox6 Date: Mon, 17 May 2021 22:34:41 +0100 Subject: [PATCH 04/17] clues: support imcando hammer in skill challenges --- .../plugins/cluescrolls/clues/SkillChallengeClue.java | 11 ++++++++--- 1 file changed, 8 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java index 53dde73781..a9152aa70a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/cluescrolls/clues/SkillChallengeClue.java @@ -124,6 +124,11 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll, Nam item(ItemID.CRYSTAL_HARPOON_INACTIVE) ); + private static final AnyRequirementCollection ANY_HAMMER = any("Hammer", + item(ItemID.HAMMER), + item(ItemID.IMCANDO_HAMMER) + ); + private static final Set CLUES = ImmutableSet.of( // Charlie Tasks new SkillChallengeClue("Cook a Pike", "i need to cook charlie a pike.", "i need to take the cooked pike to charlie.", item(ItemID.PIKE), item(ItemID.RAW_PIKE)), @@ -133,7 +138,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll, Nam new SkillChallengeClue("Fish a Herring", "i need to fish charlie a herring.", "i need to take a raw herring to charlie.", item(ItemID.RAW_HERRING), any("Fishing rod", item(ItemID.FISHING_ROD), item(ItemID.PEARL_FISHING_ROD)), item(ItemID.FISHING_BAIT)), new SkillChallengeClue("Fish a Trout", "i need to fish charlie a trout.", "i need to take a raw trout to charlie.", item(ItemID.RAW_TROUT), any("Fly fishing rod", item(ItemID.FLY_FISHING_ROD), item(ItemID.PEARL_FLY_FISHING_ROD)), item(ItemID.FEATHER)), new SkillChallengeClue("Mine a piece of Iron Ore", "i need to mine charlie a piece of iron ore from an iron vein.", "i need to take the iron ore to charlie.", item(ItemID.IRON_ORE), ANY_PICKAXE), - new SkillChallengeClue("Smith an Iron Dagger", "i need to smith charlie one iron dagger.", "i need to take the iron dagger i smithed to charlie.", item(ItemID.IRON_DAGGER), item(ItemID.IRON_BAR), item(ItemID.HAMMER)), + new SkillChallengeClue("Smith an Iron Dagger", "i need to smith charlie one iron dagger.", "i need to take the iron dagger i smithed to charlie.", item(ItemID.IRON_DAGGER), item(ItemID.IRON_BAR), ANY_HAMMER), // Elite Sherlock Tasks new SkillChallengeClue("Equip a Dragon Scimitar.", true, any("Any Dragon Scimitar", item(ItemID.DRAGON_SCIMITAR), item(ItemID.DRAGON_SCIMITAR_OR))), new SkillChallengeClue("Enchant some Dragonstone Jewellery.", "enchant a piece of dragonstone jewellery.", @@ -153,7 +158,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll, Nam new SkillChallengeClue("Catch a black warlock.", item(ItemID.BUTTERFLY_JAR), any("Butterfly Net", item(ItemID.BUTTERFLY_NET), item(ItemID.MAGIC_BUTTERFLY_NET))), new SkillChallengeClue("Catch a red chinchompa.", item(ItemID.BOX_TRAP)), new SkillChallengeClue("Mine a mithril ore.", ANY_PICKAXE), - new SkillChallengeClue("Smith a mithril 2h sword.", item(ItemID.HAMMER), xOfItem(ItemID.MITHRIL_BAR, 3)), + new SkillChallengeClue("Smith a mithril 2h sword.", ANY_HAMMER, xOfItem(ItemID.MITHRIL_BAR, 3)), new SkillChallengeClue("Catch a raw shark.", ANY_HARPOON), new SkillChallengeClue("Cut a yew log.", ANY_AXE), new SkillChallengeClue("Fix a magical lamp in Dorgesh-Kaan.", new String[] { "Broken lamp" }, new int[] { 10834, 10835 }, item(ItemID.LIGHT_ORB)), @@ -165,7 +170,7 @@ public class SkillChallengeClue extends ClueScroll implements NpcClueScroll, Nam new SkillChallengeClue("Hand in a Tier 2 or higher set of Shayzien supply armour. (Requires 11 lovakite bars)", "take the lovakengj armourers a boxed set of shayzien supply armour at tier 2 or above.", any("Shayzien Supply Set (Tier 2 or higher)", item(ItemID.SHAYZIEN_SUPPLY_SET_2), item(ItemID.SHAYZIEN_SUPPLY_SET_3), item(ItemID.SHAYZIEN_SUPPLY_SET_4), item(ItemID.SHAYZIEN_SUPPLY_SET_5))), // Master Sherlock Tasks new SkillChallengeClue("Equip an abyssal whip in front of the abyssal demons of the Slayer Tower.", true, any("Abyssal Whip", item(ItemID.ABYSSAL_WHIP), item(ItemID.FROZEN_ABYSSAL_WHIP), item(ItemID.VOLCANIC_ABYSSAL_WHIP))), - new SkillChallengeClue("Smith a runite med helm.", item(ItemID.HAMMER), item(ItemID.RUNITE_BAR)), + new SkillChallengeClue("Smith a runite med helm.", ANY_HAMMER, item(ItemID.RUNITE_BAR)), new SkillChallengeClue("Teleport to a spirit tree you planted yourself."), new SkillChallengeClue("Create a Barrows teleport tablet.", item(ItemID.DARK_ESSENCE_BLOCK), xOfItem(ItemID.BLOOD_RUNE, 1), xOfItem(ItemID.LAW_RUNE, 2), xOfItem(ItemID.SOUL_RUNE, 2)), new SkillChallengeClue("Kill a Nechryael in the Slayer Tower.", "slay a nechryael in the slayer tower."), From b79b26e68689e27bb93677313afb9036c8806898 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Wed, 19 May 2021 11:03:12 +0000 Subject: [PATCH 05/17] Update 196 --- pom.xml | 2 +- 1 file changed, 1 insertion(+), 1 deletion(-) diff --git a/pom.xml b/pom.xml index cb0b8fa9f9..500e42d617 100644 --- a/pom.xml +++ b/pom.xml @@ -45,7 +45,7 @@ true - 195 + 196 From e588635ccc9e99a2083f355dee7309458cf83f9d Mon Sep 17 00:00:00 2001 From: Max Weber Date: Tue, 18 May 2021 12:07:36 -0600 Subject: [PATCH 06/17] friendschat: remove Tab Chat option this is now included in the vanilla client --- .../client/plugins/friendschat/FriendsChatConfig.java | 11 ----------- .../client/plugins/friendschat/FriendsChatPlugin.java | 9 --------- 2 files changed, 20 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatConfig.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatConfig.java index 17ce7b0098..0ff8362664 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatConfig.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatConfig.java @@ -139,17 +139,6 @@ public interface FriendsChatConfig extends Config return false; } - @ConfigItem( - keyName = "clanTabChat", - name = "Tab Chat", - description = "Message friends chat without appending '/' when the friends chat tab is selected.", - position = 9 - ) - default boolean friendsChatTabChat() - { - return false; - } - @ConfigItem( keyName = "confirmKicks", name = "Confirm Kicks", diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java index a350f4521d..b8cace077a 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java @@ -542,15 +542,6 @@ public class FriendsChatPlugin extends Plugin { switch (scriptCallbackEvent.getEventName()) { - case "friendsChatInput": - { - final int[] intStack = client.getIntStack(); - final int size = client.getIntStackSize(); - // If the user accidentally adds a / when the config and the friends chat chat tab is active, handle it like a normal message - boolean alterDispatch = config.friendsChatTabChat() && !client.getVar(VarClientStr.CHATBOX_TYPED_TEXT).startsWith("/"); - intStack[size - 1] = alterDispatch ? 1 : 0; - break; - } case "confirmFriendsChatKick": { if (!config.confirmKicks() || kickConfirmed) From 1cf90b4feb9cc93d36e0147adc4e45647d731275 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Tue, 18 May 2021 13:24:47 -0600 Subject: [PATCH 07/17] friendschat: remove user count this widget is gone, we can find a new place for it in the future maybe --- .../friendschat/FriendsChatPlugin.java | 26 +++++-------------- 1 file changed, 6 insertions(+), 20 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java index b8cace077a..9ac986f02b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java @@ -284,27 +284,16 @@ public class FriendsChatPlugin extends Plugin return; } - Widget chatTitleWidget = client.getWidget(WidgetInfo.FRIENDS_CHAT_TITLE); - if (chatTitleWidget != null) + Widget chatList = client.getWidget(WidgetInfo.FRIENDS_CHAT_LIST); + if (chatList != null) { - Widget chatList = client.getWidget(WidgetInfo.FRIENDS_CHAT_LIST); Widget owner = client.getWidget(WidgetInfo.FRIENDS_CHAT_OWNER); FriendsChatManager friendsChatManager = client.getFriendsChatManager(); - if (friendsChatManager != null && friendsChatManager.getCount() > 0) + if ((friendsChatManager == null || friendsChatManager.getCount() <= 0) + && chatList.getChildren() == null && !Strings.isNullOrEmpty(owner.getText()) + && config.recentChats()) { - chatTitleWidget.setText(TITLE + " (" + friendsChatManager.getCount() + "/100)"); - } - else if (chatList.getChildren() == null && !Strings.isNullOrEmpty(owner.getText())) - { - if (config.recentChats()) - { - chatTitleWidget.setText(RECENT_TITLE); - loadFriendsChats(); - } - else - { - chatTitleWidget.setText(TITLE); - } + loadFriendsChats(); } } @@ -605,7 +594,6 @@ public class FriendsChatPlugin extends Plugin private void resetChats() { Widget chatList = client.getWidget(WidgetInfo.FRIENDS_CHAT_LIST); - Widget chatTitleWidget = client.getWidget(WidgetInfo.FRIENDS_CHAT_TITLE); if (chatList == null) { @@ -617,8 +605,6 @@ public class FriendsChatPlugin extends Plugin { chatList.setChildren(null); } - - chatTitleWidget.setText(TITLE); } private void loadFriendsChats() From d57d89e733baf7c7c312772d609613bbb1142b94 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Tue, 18 May 2021 08:33:41 -0600 Subject: [PATCH 08/17] Update Item IDs to 2021-5-19 --- .../main/java/net/runelite/api/ItemID.java | 19 +++++++++++++++++++ .../java/net/runelite/api/NullItemID.java | 3 +++ 2 files changed, 22 insertions(+) diff --git a/runelite-api/src/main/java/net/runelite/api/ItemID.java b/runelite-api/src/main/java/net/runelite/api/ItemID.java index 5aa65bb3a5..64e5aa68ae 100644 --- a/runelite-api/src/main/java/net/runelite/api/ItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/ItemID.java @@ -11859,5 +11859,24 @@ public final class ItemID public static final int UNGAEL_LAB_NOTES = 25702; public static final int LITHKREN_VAULT_NOTES = 25704; public static final int DUSTY_NOTE = 25706; + public static final int BOARD_GAME_PIECE_25708 = 25708; + public static final int STOOL_25710 = 25710; + public static final int STOOL_25711 = 25711; + public static final int CLAN_CLOAK = 25712; + public static final int CLAN_CLOAK_25714 = 25714; + public static final int CLAN_CLOAK_25715 = 25715; + public static final int CLAN_CLOAK_25716 = 25716; + public static final int CLAN_CLOAK_25717 = 25717; + public static final int CLAN_CLOAK_25718 = 25718; + public static final int CLAN_CLOAK_25719 = 25719; + public static final int CLAN_CLOAK_25720 = 25720; + public static final int CLAN_VEXILLUM = 25721; + public static final int CLAN_VEXILLUM_25723 = 25723; + public static final int CLAN_VEXILLUM_25724 = 25724; + public static final int CLAN_VEXILLUM_25725 = 25725; + public static final int CLAN_VEXILLUM_25726 = 25726; + public static final int CLAN_VEXILLUM_25727 = 25727; + public static final int CLAN_VEXILLUM_25728 = 25728; + public static final int CLAN_VEXILLUM_25729 = 25729; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullItemID.java b/runelite-api/src/main/java/net/runelite/api/NullItemID.java index d3dde5b083..f8efd99efe 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullItemID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullItemID.java @@ -13638,5 +13638,8 @@ public final class NullItemID public static final int NULL_25703 = 25703; public static final int NULL_25705 = 25705; public static final int NULL_25707 = 25707; + public static final int NULL_25709 = 25709; + public static final int NULL_25713 = 25713; + public static final int NULL_25722 = 25722; /* This file is automatically generated. Do not edit. */ } From 6713268ac426fa60770e58f80b22ebf9faeefef0 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Tue, 18 May 2021 08:33:41 -0600 Subject: [PATCH 09/17] Update Item variations to 2021-5-19 --- .../src/main/resources/item_variations.json | 27 +++++++++++++++++-- 1 file changed, 25 insertions(+), 2 deletions(-) diff --git a/runelite-client/src/main/resources/item_variations.json b/runelite-client/src/main/resources/item_variations.json index 125af50230..26d9a3d9fd 100644 --- a/runelite-client/src/main/resources/item_variations.json +++ b/runelite-client/src/main/resources/item_variations.json @@ -3323,11 +3323,14 @@ 7104, 7105, 7106, - 7107 + 7107, + 25708 ], "stool": [ 3893, - 5732 + 5732, + 25710, + 25711 ], "wilderness sword": [ 3981, @@ -9770,5 +9773,25 @@ "ornate lockbox": [ 25650, 25651 + ], + "clan cloak": [ + 25712, + 25714, + 25715, + 25716, + 25717, + 25718, + 25719, + 25720 + ], + "clan vexillum": [ + 25721, + 25723, + 25724, + 25725, + 25726, + 25727, + 25728, + 25729 ] } \ No newline at end of file From ee1f619e5b5bc7ed58101ee66993adc1c544f94f Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Tue, 18 May 2021 08:33:41 -0600 Subject: [PATCH 10/17] Update Object IDs to 2021-5-19 --- .../java/net/runelite/api/NullObjectID.java | 70 ++++++++++++++ .../main/java/net/runelite/api/ObjectID.java | 92 ++++++++++++++++++- 2 files changed, 161 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java index 0ee3976904..c321869be7 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullObjectID.java @@ -18053,6 +18053,7 @@ public final class NullObjectID public static final int NULL_37481 = 37481; public static final int NULL_37490 = 37490; public static final int NULL_37491 = 37491; + public static final int NULL_37582 = 37582; public static final int NULL_37623 = 37623; public static final int NULL_37624 = 37624; public static final int NULL_37625 = 37625; @@ -19144,6 +19145,13 @@ public final class NullObjectID public static final int NULL_39123 = 39123; public static final int NULL_39124 = 39124; public static final int NULL_39125 = 39125; + public static final int NULL_39139 = 39139; + public static final int NULL_39140 = 39140; + public static final int NULL_39141 = 39141; + public static final int NULL_39142 = 39142; + public static final int NULL_39143 = 39143; + public static final int NULL_39144 = 39144; + public static final int NULL_39145 = 39145; public static final int NULL_39146 = 39146; public static final int NULL_39147 = 39147; public static final int NULL_39148 = 39148; @@ -20035,6 +20043,7 @@ public final class NullObjectID public static final int NULL_41001 = 41001; public static final int NULL_41002 = 41002; public static final int NULL_41003 = 41003; + public static final int NULL_41005 = 41005; public static final int NULL_41006 = 41006; public static final int NULL_41007 = 41007; public static final int NULL_41008 = 41008; @@ -20292,5 +20301,66 @@ public final class NullObjectID public static final int NULL_41597 = 41597; public static final int NULL_41598 = 41598; public static final int NULL_41599 = 41599; + public static final int NULL_41608 = 41608; + public static final int NULL_41609 = 41609; + public static final int NULL_41610 = 41610; + public static final int NULL_41611 = 41611; + public static final int NULL_41612 = 41612; + public static final int NULL_41614 = 41614; + public static final int NULL_41616 = 41616; + public static final int NULL_41628 = 41628; + public static final int NULL_41629 = 41629; + public static final int NULL_41630 = 41630; + public static final int NULL_41631 = 41631; + public static final int NULL_41632 = 41632; + public static final int NULL_41633 = 41633; + public static final int NULL_41634 = 41634; + public static final int NULL_41635 = 41635; + public static final int NULL_41636 = 41636; + public static final int NULL_41637 = 41637; + public static final int NULL_41638 = 41638; + public static final int NULL_41639 = 41639; + public static final int NULL_41640 = 41640; + public static final int NULL_41641 = 41641; + public static final int NULL_41642 = 41642; + public static final int NULL_41643 = 41643; + public static final int NULL_41657 = 41657; + public static final int NULL_41658 = 41658; + public static final int NULL_41659 = 41659; + public static final int NULL_41660 = 41660; + public static final int NULL_41661 = 41661; + public static final int NULL_41662 = 41662; + public static final int NULL_41663 = 41663; + public static final int NULL_41664 = 41664; + public static final int NULL_41665 = 41665; + public static final int NULL_41666 = 41666; + public static final int NULL_41667 = 41667; + public static final int NULL_41668 = 41668; + public static final int NULL_41669 = 41669; + public static final int NULL_41670 = 41670; + public static final int NULL_41673 = 41673; + public static final int NULL_41674 = 41674; + public static final int NULL_41675 = 41675; + public static final int NULL_41676 = 41676; + public static final int NULL_41677 = 41677; + public static final int NULL_41698 = 41698; + public static final int NULL_41699 = 41699; + public static final int NULL_41700 = 41700; + public static final int NULL_41702 = 41702; + public static final int NULL_41703 = 41703; + public static final int NULL_41712 = 41712; + public static final int NULL_41722 = 41722; + public static final int NULL_41725 = 41725; + public static final int NULL_41726 = 41726; + public static final int NULL_41727 = 41727; + public static final int NULL_41731 = 41731; + public static final int NULL_41735 = 41735; + public static final int NULL_41736 = 41736; + public static final int NULL_41737 = 41737; + public static final int NULL_41738 = 41738; + public static final int NULL_41739 = 41739; + public static final int NULL_41740 = 41740; + public static final int NULL_41741 = 41741; + public static final int NULL_41742 = 41742; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/ObjectID.java b/runelite-api/src/main/java/net/runelite/api/ObjectID.java index d1f5662fee..328cfcedfa 100644 --- a/runelite-api/src/main/java/net/runelite/api/ObjectID.java +++ b/runelite-api/src/main/java/net/runelite/api/ObjectID.java @@ -14231,6 +14231,7 @@ public final class ObjectID public static final int CRATE_27100 = 27100; public static final int CRATES_27101 = 27101; public static final int CRATES_27102 = 27102; + public static final int ROSES_27106 = 27106; public static final int CHARCOAL_FURNACE = 27107; public static final int CHARCOAL_FURNACE_27108 = 27108; public static final int CHARCOAL_FURNACE_27109 = 27109; @@ -19491,6 +19492,7 @@ public final class ObjectID public static final int PORTAL_NEXUS_37555 = 37555; public static final int PORTAL_NEXUS_37556 = 37556; public static final int PORTAL_NEXUS_37557 = 37557; + public static final int ROSES_37558 = 37558; public static final int PORTAL_NEXUS_37559 = 37559; public static final int PORTAL_NEXUS_37560 = 37560; public static final int PORTAL_NEXUS_37561 = 37561; @@ -19502,6 +19504,7 @@ public final class ObjectID public static final int PORTAL_NEXUS_37567 = 37567; public static final int PORTAL_NEXUS_37568 = 37568; public static final int PORTAL_NEXUS_37569 = 37569; + public static final int ROSES_37570 = 37570; public static final int PORTAL_NEXUS_37571 = 37571; public static final int PORTAL_NEXUS_37572 = 37572; public static final int PORTAL_NEXUS_37573 = 37573; @@ -19524,6 +19527,7 @@ public final class ObjectID public static final int BARROWS_PORTAL = 37591; public static final int APE_ATOLL_DUNGEON_PORTAL = 37592; public static final int WEISS_PORTAL_37593 = 37593; + public static final int TABLE_37594 = 37594; public static final int DRAYNOR_MANOR_PORTAL_37595 = 37595; public static final int BATTLEFRONT_PORTAL_37596 = 37596; public static final int MIND_ALTAR_PORTAL_37597 = 37597; @@ -19535,6 +19539,7 @@ public final class ObjectID public static final int BARROWS_PORTAL_37603 = 37603; public static final int APE_ATOLL_DUNGEON_PORTAL_37604 = 37604; public static final int WEISS_PORTAL_37605 = 37605; + public static final int TABLE_37606 = 37606; public static final int DRAYNOR_MANOR_PORTAL_37607 = 37607; public static final int BATTLEFRONT_PORTAL_37608 = 37608; public static final int MIND_ALTAR_PORTAL_37609 = 37609; @@ -19962,6 +19967,19 @@ public final class ObjectID public static final int DAEYALT_ESSENCE_39095 = 39095; public static final int MINE_CART_39117 = 39117; public static final int PLINTH_39118 = 39118; + public static final int TABLE_39126 = 39126; + public static final int TABLE_39127 = 39127; + public static final int TABLE_39128 = 39128; + public static final int TABLE_39129 = 39129; + public static final int TABLE_39130 = 39130; + public static final int TABLE_39131 = 39131; + public static final int TABLE_39132 = 39132; + public static final int TABLE_39133 = 39133; + public static final int TABLE_39134 = 39134; + public static final int TABLE_39135 = 39135; + public static final int TABLE_39136 = 39136; + public static final int STOOL_39137 = 39137; + public static final int STOOL_39138 = 39138; public static final int LAMP_39152 = 39152; public static final int BLOOD_TITHE = 39154; public static final int BLOOD_TITHE_39155 = 39155; @@ -20930,7 +20948,6 @@ public final class ObjectID public static final int MAST_40999 = 40999; public static final int WATER_PUMP_41000 = 41000; public static final int WATER_PUMP_41004 = 41004; - public static final int FIRE_41005 = 41005; public static final int DAMAGED_TOTEM_POLE = 41010; public static final int DAMAGED_TOTEM_POLE_41011 = 41011; public static final int TOTEM_POLE_41012 = 41012; @@ -21276,5 +21293,78 @@ public final class ObjectID public static final int BOXES_41605 = 41605; public static final int SIGNPOST_41606 = 41606; public static final int TABLE_41607 = 41607; + public static final int RED_BARRIER_41613 = 41613; + public static final int POSTER_41615 = 41615; + public static final int PORTAL_41617 = 41617; + public static final int PORTAL_41618 = 41618; + public static final int PASSAGE_41619 = 41619; + public static final int DOOR_41620 = 41620; + public static final int BOAT_41621 = 41621; + public static final int GATE_41622 = 41622; + public static final int GATE_41623 = 41623; + public static final int CART_41624 = 41624; + public static final int DOOR_41625 = 41625; + public static final int CLAN_COFFER = 41626; + public static final int STAIRCASE_41627 = 41627; + public static final int STOOL_41644 = 41644; + public static final int LARDER_41645 = 41645; + public static final int WOODEN_BENCH_41646 = 41646; + public static final int TABLE_41647 = 41647; + public static final int TABLE_41648 = 41648; + public static final int TABLE_41649 = 41649; + public static final int ALTAR_41650 = 41650; + public static final int PIANO_41651 = 41651; + public static final int DUMMY_41652 = 41652; + public static final int SOFA_41653 = 41653; + public static final int FIREPLACE_41654 = 41654; + public static final int BOOKCASE_41655 = 41655; + public static final int SWORD_CABINET_41656 = 41656; + public static final int FORTIFIED_GATE = 41671; + public static final int FORTIFIED_GATE_41672 = 41672; + public static final int CLAN_BANNER = 41678; + public static final int CLAN_BANNER_41679 = 41679; + public static final int CLAN_BANNER_41680 = 41680; + public static final int CLAN_BANNER_41681 = 41681; + public static final int CLAN_BANNER_41682 = 41682; + public static final int CLAN_BANNER_41683 = 41683; + public static final int CLAN_BANNER_41684 = 41684; + public static final int CLAN_BANNER_41685 = 41685; + public static final int CLAN_BANNER_41686 = 41686; + public static final int CLAN_BANNER_41687 = 41687; + public static final int CLAN_BANNER_41688 = 41688; + public static final int CLAN_BANNER_41689 = 41689; + public static final int CLAN_BANNER_41690 = 41690; + public static final int CLAN_BANNER_41691 = 41691; + public static final int CLAN_BANNER_41692 = 41692; + public static final int CLAN_BANNER_41693 = 41693; + public static final int TABLE_41694 = 41694; + public static final int TABLE_41695 = 41695; + public static final int HANNIBAL = 41696; + public static final int COOKING_POTS_41697 = 41697; + public static final int CHURCH_PEW_41701 = 41701; + public static final int SUIT_OF_ARMOUR_41704 = 41704; + public static final int SUIT_OF_ARMOUR_41705 = 41705; + public static final int SUIT_OF_ARMOUR_41706 = 41706; + public static final int SUIT_OF_ARMOUR_41707 = 41707; + public static final int SUIT_OF_ARMOUR_41708 = 41708; + public static final int SUIT_OF_ARMOUR_41709 = 41709; + public static final int SUIT_OF_ARMOUR_41710 = 41710; + public static final int SUIT_OF_ARMOUR_41711 = 41711; + public static final int SHIELD_41713 = 41713; + public static final int SHIELD_41714 = 41714; + public static final int SHIELD_41715 = 41715; + public static final int SHIELD_41716 = 41716; + public static final int SHIELD_41717 = 41717; + public static final int SHIELD_41718 = 41718; + public static final int SHIELD_41719 = 41719; + public static final int SHIELD_41720 = 41720; + public static final int SIGN_41721 = 41721; + public static final int BANK_DEPOSIT_BOX_41723 = 41723; + public static final int CLAN_HALL_PORTAL = 41724; + public static final int CLAN_RECRUITMENT_BOARD = 41728; + public static final int CLAN_BANNER_41729 = 41729; + public static final int CLAN_RECRUITMENT_BOARD_41730 = 41730; + public static final int STOOL_41733 = 41733; + public static final int WOODEN_BENCH_41734 = 41734; /* This file is automatically generated. Do not edit. */ } From 16dafbf3bd9e30737443e6e4123cbc809d7f2ea9 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Tue, 18 May 2021 08:33:41 -0600 Subject: [PATCH 11/17] Update NPC IDs to 2021-5-19 --- .../src/main/java/net/runelite/api/NpcID.java | 30 ++++++++++++++++++- .../main/java/net/runelite/api/NullNpcID.java | 2 ++ 2 files changed, 31 insertions(+), 1 deletion(-) diff --git a/runelite-api/src/main/java/net/runelite/api/NpcID.java b/runelite-api/src/main/java/net/runelite/api/NpcID.java index 1baa0805d4..d323c2c3d5 100644 --- a/runelite-api/src/main/java/net/runelite/api/NpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NpcID.java @@ -5970,7 +5970,7 @@ public final class NpcID public static final int GUARD_6583 = 6583; public static final int URI_6584 = 6584; public static final int SHERLOCK = 6586; - public static final int ARMADYLIAN_GUARD = 6587; + public static final int ARMADYLEAN_GUARD = 6587; public static final int BANDOSIAN_GUARD = 6588; public static final int DR_FORD = 6589; public static final int SISTER_SCAROPHIA = 6590; @@ -7742,6 +7742,8 @@ public final class NpcID public static final int THIRD_AGE_RANGER = 8636; public static final int THIRD_AGE_MAGE = 8637; public static final int URI_8638 = 8638; + public static final int FIRE_8643 = 8643; + public static final int SARADOMINIST_RECRUITER = 8644; public static final int ARTHUR_THE_CLUE_HUNTER = 8665; public static final int BANKER_8666 = 8666; public static final int PUFFER_FISH_8667 = 8667; @@ -9066,5 +9068,31 @@ public final class NpcID public static final int KOUREND_GUARD_10729 = 10729; public static final int KOUREND_HEAD_GUARD_10730 = 10730; public static final int ARCHER_10731 = 10731; + public static final int ZAMORAKIAN_RECRUITER = 10732; + public static final int MEREDITH = 10733; + public static final int BANKER_10734 = 10734; + public static final int BANKER_10735 = 10735; + public static final int BANKER_10736 = 10736; + public static final int BANKER_10737 = 10737; + public static final int RAQUEEL = 10739; + public static final int RAQUEEL_10740 = 10740; + public static final int RAQUEEL_10741 = 10741; + public static final int RAQUEEL_10742 = 10742; + public static final int RAQUEEL_10743 = 10743; + public static final int RAQUEEL_10744 = 10744; + public static final int RAQUEEL_10745 = 10745; + public static final int RAQUEEL_10746 = 10746; + public static final int GEM = 10748; + public static final int GEM_10749 = 10749; + public static final int GEM_10750 = 10750; + public static final int GEM_10751 = 10751; + public static final int GEM_10752 = 10752; + public static final int GEM_10753 = 10753; + public static final int GEM_10754 = 10754; + public static final int GEM_10755 = 10755; + public static final int GARDENER_JAY_JR = 10756; + public static final int GARDENER_JAY_JR_10757 = 10757; + public static final int GARDENER_JAY_JR_10758 = 10758; + public static final int CLERK_10759 = 10759; /* This file is automatically generated. Do not edit. */ } diff --git a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java index 8d481d20c7..790e4c8c50 100644 --- a/runelite-api/src/main/java/net/runelite/api/NullNpcID.java +++ b/runelite-api/src/main/java/net/runelite/api/NullNpcID.java @@ -1647,5 +1647,7 @@ public final class NullNpcID public static final int NULL_10711 = 10711; public static final int NULL_10712 = 10712; public static final int NULL_10713 = 10713; + public static final int NULL_10738 = 10738; + public static final int NULL_10747 = 10747; /* This file is automatically generated. Do not edit. */ } From 168199a1aa6748b8c96d0ac962bda4bf034ac643 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Tue, 18 May 2021 08:33:43 -0600 Subject: [PATCH 12/17] Update Widget IDs to 2021-5-19 --- .../net/runelite/api/widgets/WidgetID.java | 38 +++++++++---------- .../net/runelite/api/widgets/WidgetInfo.java | 2 - 2 files changed, 18 insertions(+), 22 deletions(-) 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 815f74e78c..dcb59909b2 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 @@ -251,10 +251,8 @@ public class WidgetID static class FriendsChat { - static final int TITLE = 1; - static final int NAME = 4; - static final int OWNER = 6; - static final int LIST = 16; + static final int OWNER = 2; + static final int LIST = 12; } static class Bank @@ -480,23 +478,23 @@ public class WidgetID static final int PARENT = 0; static final int BUTTONS = 1; static final int TAB_ALL = 4; - static final int TAB_GAME = 8; - static final int TAB_PUBLIC = 13; - static final int TAB_PRIVATE = 18; + static final int TAB_GAME = 7; + static final int TAB_PUBLIC = 11; + static final int TAB_PRIVATE = 19; static final int TAB_CLAN = 23; - static final int TAB_TRADE = 28; - static final int REPORT_TEXT = 36; - static final int FRAME = 37; - static final int TRANSPARENT_BACKGROUND = 38; - static final int CONTAINER = 40; - static final int TITLE = 44; - static final int FULL_INPUT = 45; - static final int GE_SEARCH_RESULTS = 53; - static final int MESSAGES = 56; - static final int TRANSPARENT_BACKGROUND_LINES = 57; - static final int INPUT = 58; - static final int MESSAGE_LINES = 59; - static final int FIRST_MESSAGE = 60; + static final int TAB_TRADE = 27; + static final int REPORT_TEXT = 33; + static final int FRAME = 34; + static final int TRANSPARENT_BACKGROUND = 35; + static final int CONTAINER = 37; + static final int TITLE = 41; + static final int FULL_INPUT = 42; + static final int GE_SEARCH_RESULTS = 50; + static final int MESSAGES = 53; + static final int TRANSPARENT_BACKGROUND_LINES = 54; + static final int INPUT = 55; + static final int MESSAGE_LINES = 56; + static final int FIRST_MESSAGE = 57; } static class Prayer 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 88e54965b9..328c289f61 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 @@ -126,8 +126,6 @@ public enum WidgetInfo EXPLORERS_RING_ALCH_INVENTORY(WidgetID.EXPLORERS_RING_ALCH_GROUP_ID, WidgetID.ExplorersRing.INVENTORY), - FRIENDS_CHAT_TITLE(WidgetID.FRIENDS_CHAT_GROUP_ID, WidgetID.FriendsChat.TITLE), - FRIENDS_CHAT_NAME(WidgetID.FRIENDS_CHAT_GROUP_ID, WidgetID.FriendsChat.NAME), FRIENDS_CHAT_OWNER(WidgetID.FRIENDS_CHAT_GROUP_ID, WidgetID.FriendsChat.OWNER), FRIENDS_CHAT_LIST(WidgetID.FRIENDS_CHAT_GROUP_ID, WidgetID.FriendsChat.LIST), From 9a5c9053a7acb2b581799a3579f7198e4ac45314 Mon Sep 17 00:00:00 2001 From: RuneLite Cache-Code Autoupdater Date: Tue, 18 May 2021 08:33:44 -0600 Subject: [PATCH 13/17] Update Scripts to 2021-5-19 Updated script does not assemble FriendsChatSendKick.rs2asm --- .../src/main/scripts/BankSearchLayout.hash | 2 +- .../src/main/scripts/BankSearchLayout.rs2asm | 4 +- .../src/main/scripts/ChatBuilder.hash | 2 +- .../src/main/scripts/ChatBuilder.rs2asm | 1589 ++++++++++++----- .../src/main/scripts/ChatSplitBuilder.hash | 2 +- .../src/main/scripts/ChatSplitBuilder.rs2asm | 271 +-- .../src/main/scripts/ChatboxInput.hash | 2 +- .../src/main/scripts/ChatboxInput.rs2asm | 18 +- .../scripts/ChatboxInputWidgetBuilder.hash | 2 +- .../scripts/ChatboxInputWidgetBuilder.rs2asm | 44 +- .../src/main/scripts/CommandScript.hash | 2 +- .../src/main/scripts/CommandScript.rs2asm | 654 +++++-- .../src/main/scripts/FriendsChatSendKick.hash | 2 +- .../main/scripts/FriendsChatSendKick.rs2asm | 14 +- .../src/main/scripts/OpenBankSearchInput.hash | 2 +- .../main/scripts/OpenBankSearchInput.rs2asm | 6 +- .../src/main/scripts/PrivateMessage.hash | 2 +- .../src/main/scripts/PrivateMessage.rs2asm | 186 +- .../src/main/scripts/ResetChatboxInput.hash | 2 +- .../src/main/scripts/ResetChatboxInput.rs2asm | 142 +- .../scripts/ToplevelChatboxBackground.hash | 2 +- .../scripts/ToplevelChatboxBackground.rs2asm | 46 +- 22 files changed, 2076 insertions(+), 920 deletions(-) diff --git a/runelite-client/src/main/scripts/BankSearchLayout.hash b/runelite-client/src/main/scripts/BankSearchLayout.hash index eb4360c955..a6d2a3aaf6 100644 --- a/runelite-client/src/main/scripts/BankSearchLayout.hash +++ b/runelite-client/src/main/scripts/BankSearchLayout.hash @@ -1 +1 @@ -D32D30CB1B79698A15B3314C3782659FF25382008857E7CEB07CA17C1CD5E62A \ No newline at end of file +90076B6F48BDA11B9905808D70A53D53F894350AD46B7ED3AF75C7C60BB304D1 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm index 485a6d08e9..70ed2a945d 100644 --- a/runelite-client/src/main/scripts/BankSearchLayout.rs2asm +++ b/runelite-client/src/main/scripts/BankSearchLayout.rs2asm @@ -794,7 +794,7 @@ LABEL703: sconst "setSearchBankInputTextFound" ; load event name runelite_callback ; invoke callback pop_int ; pop number of matches - iconst 10616876 + iconst 10616873 if_settext LABEL710: jump LABEL725 @@ -814,7 +814,7 @@ LABEL722: sconst "Show items whose names contain the following text:" sconst "setSearchBankInputText" ; load event name runelite_callback ; invoke callback - iconst 10616876 + iconst 10616873 if_settext LABEL725: jump LABEL729 diff --git a/runelite-client/src/main/scripts/ChatBuilder.hash b/runelite-client/src/main/scripts/ChatBuilder.hash index 8a4a68666c..68eba8647c 100644 --- a/runelite-client/src/main/scripts/ChatBuilder.hash +++ b/runelite-client/src/main/scripts/ChatBuilder.hash @@ -1 +1 @@ -E5BD8C9AD501548FDE7AA21B76E6186E5E2B30B7824959D09E517989EFE30687 \ No newline at end of file +4AEE5325C78CB639C5CB3DC6838082DBD926696CEBDE6DEE0D84D7CD929B8197 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatBuilder.rs2asm b/runelite-client/src/main/scripts/ChatBuilder.rs2asm index 30e4da40d4..c4967ebecf 100644 --- a/runelite-client/src/main/scripts/ChatBuilder.rs2asm +++ b/runelite-client/src/main/scripts/ChatBuilder.rs2asm @@ -1,9 +1,9 @@ .id 84 .int_stack_count 1 .string_stack_count 0 -.int_var_count 17 -.string_var_count 13 - iconst 10616891 +.int_var_count 23 +.string_var_count 17 + iconst 10616888 if_getwidth istore 1 chat_playername @@ -35,15 +35,21 @@ LABEL14: sstore 5 sconst "" sstore 6 - sconst "" + sconst "" sstore 7 - sconst "" + sconst "" sstore 8 + sconst "" + sstore 9 + sconst "" + sstore 10 + iconst 0 + istore 5 invoke 921 iconst 1 - if_icmpeq LABEL38 - jump LABEL58 -LABEL38: + if_icmpeq LABEL44 + jump LABEL68 +LABEL44: iconst 16777215 iconst 1 istore 4 @@ -57,40 +63,66 @@ LABEL38: sstore 2 sstore 1 sconst "" + sconst "" sconst "" sconst "" sconst "" - sstore 8 - sstore 7 + sstore 10 + sstore 9 sstore 6 sstore 5 -LABEL58: - iconst 0 + sstore 7 + iconst 1 istore 5 +LABEL68: + iload 3 + sconst "col" + invoke 3739 + sstore 11 + sload 1 + sload 2 + sload 3 + sload 11 + sload 6 + sload 8 + sload 9 + sload 10 + iload 5 + invoke 4484 + sstore 10 + sstore 9 + sstore 8 + sstore 6 + sstore 11 + sstore 3 + sstore 2 + sstore 1 iconst 0 istore 6 iconst 0 istore 7 + iconst 0 + istore 8 iconst 105 iconst 73 iconst 579 - iload 7 + iload 8 enum - istore 8 + istore 9 get_varc_int 41 iconst 0 - if_icmpeq LABEL77 + if_icmpeq LABEL109 get_varc_int 41 iconst 2 - if_icmpeq LABEL77 - jump LABEL133 -LABEL77: + if_icmpeq LABEL109 + jump LABEL165 +LABEL109: chat_getmessagefilter string_length iconst 0 - if_icmpgt LABEL82 - jump LABEL133 -LABEL82: + if_icmpgt LABEL114 + jump LABEL165 +LABEL114: sload 1 sconst "Public chat filtering:" sconst "" @@ -101,274 +133,321 @@ LABEL82: lowercase sconst "" join_string 7 - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 199 - istore 6 - iload 8 + istore 7 + iload 9 if_clearops iconst -1 sconst "" - iload 8 + iload 9 if_setonop iconst -1 sconst "" - iload 8 + iload 9 if_setonmouserepeat iconst -1 sconst "" - iload 8 + iload 9 if_setonmouseleave - iload 5 iload 6 - sub - istore 5 iload 7 + sub + istore 6 + iload 8 iconst 1 add - istore 7 + istore 8 iconst 105 iconst 73 iconst 579 - iload 7 + iload 8 enum - istore 8 -LABEL133: - iload 0 istore 9 - iconst 0 +LABEL165: + iload 0 istore 10 - iconst -1 + iconst 0 istore 11 - sconst "" - sstore 9 - sconst "" - sstore 10 - sconst "" - sstore 11 - sconst "" - sstore 12 iconst -1 istore 12 - iconst 0 + sconst "" + sstore 12 + sconst "" + sstore 13 + sconst "" + sstore 14 + sconst "" + sstore 15 + iconst -1 istore 13 iconst 0 istore 14 -LABEL153: - iload 9 + iconst 0 + istore 15 + sconst "" + sstore 16 iconst -1 - if_icmpne LABEL157 - jump LABEL689 -LABEL157: - iload 8 + istore 16 iconst -1 - if_icmpne LABEL161 - jump LABEL689 -LABEL161: - iload 9 - chat_gethistory_byuid - istore 14 - sstore 11 - sstore 10 - sstore 9 - istore 11 - istore 10 + istore 17 + iconst -1 + istore 18 + iconst 126 + istore 19 + iconst 126 + istore 20 + iconst 0 + 3801 + iconst 1 + if_icmpeq LABEL202 + jump LABEL222 +LABEL202: + iconst 0 + 3851 + iconst 1 + if_icmpeq LABEL207 + jump LABEL222 +LABEL207: + sload 0 + 3860 + istore 17 + iload 17 + iconst -1 + if_icmpne LABEL214 + jump LABEL217 +LABEL214: + iload 17 + 3857 + istore 18 +LABEL217: + 3853 + iconst 2956 + invoke 4456 + istore 20 + istore 19 +LABEL222: iload 10 - sload 9 - iload 14 + iconst -1 + if_icmpne LABEL226 + jump LABEL1270 +LABEL226: + iload 9 + iconst -1 + if_icmpne LABEL230 + jump LABEL1270 +LABEL230: + iload 10 + chat_gethistory_byuid + istore 15 + sstore 14 + sstore 13 + sstore 12 + istore 12 + istore 11 + iload 11 + sload 12 + iload 15 invoke 193 iconst 1 if_icmpeq CHAT_FILTER - jump LABEL685 + jump LABEL1266 CHAT_FILTER: - sload 11 ; Load the message + sload 14 ; Load the message iconst 1 ; Gets changed to 0 if message is blocked - iload 10 ; Load the messageType - iload 9 ; Load the id of the messageNode + iload 11 ; Load the messageType + iload 10 ; Load the id of the messageNode sconst "chatFilterCheck" runelite_callback pop_int ; Pop the id of the messageNode pop_int ; Pop the messageType iconst 1 ; 2nd half of conditional - sstore 11 ; Override the message with our filtered message - if_icmpeq LABEL176 ; Check if we are building this message - jump LABEL685 ; continue to next message, skipping this -LABEL176: - iload 10 - sload 9 - sload 11 + sstore 14 ; Override the message with our filtered message + if_icmpeq LABEL245 ; Check if we are building this message + jump LABEL1266 ; continue to next message, skipping this +LABEL245: iload 11 + sload 12 + sload 14 + iload 12 iload 2 sload 0 - iload 14 + iload 15 invoke 90 iconst 1 - if_icmpeq LABEL187 - jump LABEL685 -LABEL187: - iload 10 + if_icmpeq LABEL256 + jump LABEL1266 +LABEL256: + iload 11 switch - 1: LABEL190 - 2: LABEL190 - 3: LABEL232 - 101: LABEL254 - 5: LABEL272 - 6: LABEL305 - 7: LABEL232 - 103: LABEL327 - 104: LABEL327 - 9: LABEL345 - 107: LABEL395 - 14: LABEL371 - 90: LABEL211 - 91: LABEL211 - jump LABEL431 -LABEL190: - iload 9 ; The id of the messageNode of the message being built + 1: LABEL259 + 2: LABEL259 + 3: LABEL301 + 101: LABEL323 + 5: LABEL341 + 6: LABEL374 + 7: LABEL301 + 103: LABEL396 + 104: LABEL396 + 9: LABEL432 + 41: LABEL458 + 43: LABEL766 + 107: LABEL892 + 44: LABEL613 + 109: LABEL414 + 110: LABEL396 + 46: LABEL816 + 14: LABEL865 + 90: LABEL280 + 91: LABEL280 + jump LABEL928 +LABEL259: + iload 10 ; The id of the messageNode of the message being built sconst "" sconst "addTimestamp" runelite_callback pop_int ; pop message id - sload 9 + sload 12 sconst ":" join_string 3 ; + 1 for timestamp sload 1 - sload 11 + sload 14 sconst "" join_string 3 - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 203 - istore 6 - jump LABEL445 -LABEL211: - iload 9 ; The id of the messageNode of the message being built + istore 7 + jump LABEL942 +LABEL280: + iload 10 ; The id of the messageNode of the message being built sconst "" sconst "addTimestamp" runelite_callback pop_int ; pop message id - sload 9 + sload 12 sconst ":" join_string 3 ; + 1 for timestamp sload 3 - sload 11 + sload 14 sconst "" join_string 3 - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 203 - istore 6 - jump LABEL445 -LABEL232: - iload 9 ; The id of the messageNode of the message being built + istore 7 + jump LABEL942 +LABEL301: + iload 10 ; The id of the messageNode of the message being built sconst "" sconst "addTimestamp" runelite_callback pop_int ; pop message id sconst "From " - sload 9 + sload 12 sconst ":" sconst "privateChatFrom" runelite_callback ; for prepending color tags join_string 4 ; + 1 for timestamp sload 2 - sload 11 + sload 14 sconst "" join_string 3 - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 203 - istore 6 - jump LABEL445 -LABEL254: - iload 9 ; The id of the messageNode of the message being built + istore 7 + jump LABEL942 +LABEL323: + iload 10 ; The id of the messageNode of the message being built sconst "" sconst "addTimestamp" runelite_callback pop_int ; pop message id - sload 7 - sload 11 + sload 9 + sload 14 sconst "" join_string 4 ; + 1 for timestamp - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 199 - istore 6 - jump LABEL445 -LABEL272: - iload 9 ; The id of the messageNode of the message being built + istore 7 + jump LABEL942 +LABEL341: + iload 10 ; The id of the messageNode of the message being built sconst "" sconst "addTimestamp" runelite_callback pop_int ; pop message id sload 2 - sload 11 + sload 14 sconst "" join_string 4 ; + 1 for timestamp - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 199 - istore 6 + istore 7 get_varbit 1627 iconst 0 - if_icmpeq LABEL293 - jump LABEL304 -LABEL293: - iload 11 + if_icmpeq LABEL362 + jump LABEL373 +LABEL362: + iload 12 iconst 500 add iconst 1 @@ -379,634 +458,1256 @@ LABEL293: sconst "1" iconst 10616832 if_setontimer -LABEL304: - jump LABEL445 -LABEL305: - iload 9 ; The id of the messageNode of the message being built +LABEL373: + jump LABEL942 +LABEL374: + iload 10 ; The id of the messageNode of the message being built sconst "" sconst "addTimestamp" runelite_callback pop_int ; pop message id sconst "To " - sload 9 + sload 12 sconst ":" sconst "privateChatTo" runelite_callback ; for chat recolors join_string 4 ; + 1 for timestamp sload 2 - sload 11 + sload 14 sconst "" join_string 3 - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 203 - istore 6 - jump LABEL445 -LABEL327: - iload 9 ; The id of the messageNode of the message being built - sconst "" - sconst "addTimestamp" - runelite_callback - pop_int ; pop message id - sload 8 - sload 11 + istore 7 + jump LABEL942 +LABEL396: + sload 10 + sload 14 sconst "" - join_string 4 ; + 1 for time stamp - iload 7 + join_string 3 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 199 - istore 6 - jump LABEL445 -LABEL345: - iload 9 ; The id of the messageNode of the message being built + istore 7 + jump LABEL942 +LABEL414: + sconst "" + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 199 + istore 7 + jump LABEL942 +LABEL432: + iload 10 ; The id of the messageNode of the message being built sconst "" sconst "addTimestamp" runelite_callback pop_int ; pop message id sconst "[" sload 5 - sload 10 + sload 13 sconst "" sconst "] " - sload 9 + sload 12 sconst ":" - join_string 8 ; + 1 for timestamp + join_string 8 ; + 1 for time stamp sload 6 - sload 11 + sload 14 sconst "" join_string 3 - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 203 - istore 6 - jump LABEL445 -LABEL371: - sload 11 + istore 7 + jump LABEL942 +LABEL458: + iconst 0 + 3801 + iconst 1 + if_icmpeq LABEL463 + jump LABEL583 +LABEL463: + iconst 0 + 3851 + iconst 1 + if_icmpeq LABEL468 + jump LABEL583 +LABEL468: + sload 12 + removetags + 3860 + istore 17 + iload 17 + iconst -1 + if_icmpne LABEL476 + jump LABEL549 +LABEL476: + iload 17 + 3857 + invoke 4302 + istore 16 + sstore 16 + iload 16 + iconst -1 + if_icmpne LABEL485 + jump LABEL515 +LABEL485: + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 5 + iload 16 + iconst 13 + iconst 13 + sload 12 + sconst ":" + join_string 2 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 + jump LABEL548 +LABEL515: + iload 10 ; The id of the messageNode of the message being built + sconst "" + sconst "addTimestamp" + runelite_callback + pop_int ; pop message id + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 6 ; + 1 for timestamp + iconst -1 + iconst 0 + iconst 0 + sload 7 + sload 16 + sconst "" + sconst " " + sload 12 + sconst ":" + join_string 6 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL548: + jump LABEL582 +LABEL549: + iconst -1 + invoke 4302 + istore 16 + sstore 16 + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 5 + iload 16 + iconst 13 + iconst 13 + sload 12 + sconst ":" + join_string 2 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL582: + jump LABEL612 +LABEL583: + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 5 + iconst -1 + iconst 0 + iconst 0 + sload 12 + sconst ":" + join_string 2 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL612: + jump LABEL942 +LABEL613: + 3800 + iconst 1 + if_icmpeq LABEL617 + jump LABEL736 +LABEL617: + 3850 + iconst 1 + if_icmpeq LABEL621 + jump LABEL736 +LABEL621: + sload 12 + removetags + 3860 + istore 17 + iload 17 + iconst -1 + if_icmpne LABEL629 + jump LABEL702 +LABEL629: + iload 17 + 3857 + invoke 4302 + istore 16 + sstore 16 + iload 16 + iconst -1 + if_icmpne LABEL638 + jump LABEL668 +LABEL638: + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 5 + iload 16 + iconst 13 + iconst 13 + sload 12 + sconst ":" + join_string 2 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 + jump LABEL701 +LABEL668: + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 5 + iconst -1 + iconst 0 + iconst 0 + sload 7 + sload 16 + sconst "" + sconst " " + sload 12 + sconst ":" + join_string 6 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL701: + jump LABEL735 +LABEL702: + iconst -1 + invoke 4302 + istore 16 + sstore 16 + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 5 + iload 16 + iconst 13 + iconst 13 + sload 12 + sconst ":" + join_string 2 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL735: + jump LABEL765 +LABEL736: + sconst "[" + sload 7 + sload 13 + sconst "" + sconst "]" + join_string 5 + iconst -1 + iconst 0 + iconst 0 + sload 12 + sconst ":" + join_string 2 + sload 8 + sload 14 + sconst "" + join_string 3 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL765: + jump LABEL942 +LABEL766: + iconst 0 + 3851 + iconst 1 + if_icmpeq LABEL771 + jump LABEL796 +LABEL771: + sconst "[" + sload 7 + 3852 + sconst "" + sconst "]" + join_string 5 + iconst -1 + iconst 0 + iconst 0 + sconst "" + sload 14 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 + jump LABEL815 +LABEL796: + sconst "" + iconst -1 + iconst 0 + iconst 0 + sconst "" + sload 14 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL815: + jump LABEL942 +LABEL816: + 3850 + iconst 1 + if_icmpeq LABEL820 + jump LABEL845 +LABEL820: + sconst "[" + sload 7 + 3852 + sconst "" + sconst "]" + join_string 5 + iconst -1 + iconst 0 + iconst 0 + sconst "" + sload 14 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 + jump LABEL864 +LABEL845: + sconst "" + iconst -1 + iconst 0 + iconst 0 + sconst "" + sload 14 + iload 8 + iload 9 + iconst 10616888 + iload 1 + iconst 3 + iconst 14 + iload 6 + iconst 0 + iconst 103 + iload 3 + iload 4 + invoke 4483 + istore 7 +LABEL864: + jump LABEL942 +LABEL865: + iload 10 ; The id of the messageNode of the message being built + sconst "" + sconst "addTimestamp" + runelite_callback + pop_int ; pop message id + sload 14 + join_string 2 invoke 2066 - istore 12 - sstore 12 - sstore 11 + istore 13 + sstore 15 + sstore 14 sload 4 sconst "Broadcast:" sconst "" join_string 3 sload 11 - iload 7 + sload 14 + sconst "" + join_string 3 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 203 - istore 6 - jump LABEL445 -LABEL395: + istore 7 + jump LABEL942 +LABEL892: clientclock - iload 11 + iload 12 sub iconst 500 - if_icmpgt LABEL401 - jump LABEL416 -LABEL401: + if_icmpgt LABEL898 + jump LABEL913 +LABEL898: sconst "jk :P" - iload 7 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 199 - istore 6 - jump LABEL430 -LABEL416: - sload 11 - iload 7 + istore 7 + jump LABEL927 +LABEL913: + sload 14 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 199 - istore 6 -LABEL430: - jump LABEL445 -LABEL431: - iload 9 ; The id of the messageNode of the message being built - sconst "" - sconst "addTimestamp" - runelite_callback - pop_int ; pop message id - sload 11 - join_string 2 - iload 7 + istore 7 +LABEL927: + jump LABEL942 +LABEL928: + sload 14 iload 8 - iconst 10616891 + iload 9 + iconst 10616888 iload 1 iconst 3 iconst 14 - iload 5 + iload 6 iconst 0 iconst 103 iload 3 iload 4 invoke 199 - istore 6 -LABEL445: - iload 8 + istore 7 +LABEL942: + iload 9 if_clearops - iload 10 + iload 11 switch - 1: LABEL450 - 2: LABEL450 - 3: LABEL450 - 101: LABEL515 - 6: LABEL450 - 7: LABEL450 - 103: LABEL557 - 104: LABEL557 - 9: LABEL450 - 106: LABEL450 - 14: LABEL599 - 90: LABEL450 - 91: LABEL450 - jump LABEL659 -LABEL450: + 1: LABEL947 + 2: LABEL947 + 3: LABEL947 + 101: LABEL1051 + 6: LABEL947 + 7: LABEL947 + 103: LABEL1094 + 104: LABEL1094 + 9: LABEL947 + 41: LABEL947 + 106: LABEL947 + 44: LABEL947 + 109: LABEL1197 + 110: LABEL1094 + 14: LABEL1137 + 90: LABEL947 + 91: LABEL947 + jump LABEL1240 +LABEL947: sconst "" - sload 9 + sload 12 sconst "" join_string 3 - iload 8 + iload 9 if_setopbase iconst 86 iconst -2147483644 sconst "event_opbase" - sconst "is" - iload 8 + iload 11 + sconst "isi" + iload 9 if_setonop iconst -1 sconst "" - iload 8 + iload 9 if_setonmouserepeat iconst -1 sconst "" - iload 8 + iload 9 if_setonmouseleave sload 0 - sload 9 + sload 12 removetags compare iconst 0 - if_icmpne LABEL477 - jump LABEL514 -LABEL477: - iload 14 + if_icmpne LABEL975 + jump LABEL1050 +LABEL975: + iload 15 iconst 1 - if_icmpeq LABEL481 - jump LABEL486 -LABEL481: + if_icmpeq LABEL979 + jump LABEL984 +LABEL979: iconst 6 sconst "Message" - iload 8 + iload 9 if_setop - jump LABEL494 -LABEL486: + jump LABEL992 +LABEL984: iconst 6 sconst "Add friend" - iload 8 + iload 9 if_setop iconst 7 sconst "Add ignore" - iload 8 + iload 9 if_setop -LABEL494: +LABEL992: iconst 8 sconst "Report" - iload 8 + iload 9 if_setop - iload 10 + iload 11 iconst 9 - if_icmpeq LABEL502 - jump LABEL514 -LABEL502: + if_icmpeq LABEL1000 + jump LABEL1013 +LABEL1000: clan_getchatcount iconst 0 - if_icmpgt LABEL506 - jump LABEL514 -LABEL506: + if_icmpgt LABEL1004 + jump LABEL1012 +LABEL1004: clan_getchatrank clan_getchatminkick - if_icmpge LABEL510 - jump LABEL514 -LABEL510: + if_icmpge LABEL1008 + jump LABEL1012 +LABEL1008: iconst 9 sconst "Kick" - iload 8 + iload 9 if_setop -LABEL514: - jump LABEL671 -LABEL515: +LABEL1012: + jump LABEL1050 +LABEL1013: + iload 11 + iconst 41 + if_icmpeq LABEL1017 + jump LABEL1050 +LABEL1017: + iload 18 + iload 19 + if_icmpge LABEL1021 + jump LABEL1050 +LABEL1021: + iconst 0 + 3851 + iconst 1 + if_icmpeq LABEL1026 + jump LABEL1050 +LABEL1026: + sload 12 + removetags + 3860 + istore 17 + iload 17 + iconst -1 + if_icmpeq LABEL1038 + iload 17 + 3857 + iconst -1 + if_icmple LABEL1038 + jump LABEL1050 +LABEL1038: + iconst 9 + sconst "Kick" + iload 9 + if_setop + iload 18 + iload 20 + if_icmpge LABEL1046 + jump LABEL1050 +LABEL1046: + iconst 10 + sconst "Ban" + iload 9 + if_setop +LABEL1050: + jump LABEL1252 +LABEL1051: sconst "" - sload 9 + sload 12 sconst "" join_string 3 - iload 8 + iload 9 if_setopbase iconst 86 iconst -2147483644 sconst "event_opbase" - sconst "is" - iload 8 + iload 11 + sconst "isi" + iload 9 if_setonop iconst -1 sconst "" - iload 8 + iload 9 if_setonmouserepeat iconst -1 sconst "" - iload 8 + iload 9 if_setonmouseleave iconst 1 sconst "Accept trade" - iload 8 + iload 9 if_setop - iload 14 + iload 15 iconst 1 - if_icmpeq LABEL543 - jump LABEL548 -LABEL543: + if_icmpeq LABEL1080 + jump LABEL1085 +LABEL1080: iconst 6 sconst "Message" - iload 8 + iload 9 if_setop - jump LABEL556 -LABEL548: + jump LABEL1093 +LABEL1085: iconst 6 sconst "Add friend" - iload 8 + iload 9 if_setop iconst 7 sconst "Add ignore" - iload 8 + iload 9 if_setop -LABEL556: - jump LABEL671 -LABEL557: +LABEL1093: + jump LABEL1252 +LABEL1094: sconst "" - sload 9 + sload 12 sconst "" join_string 3 - iload 8 + iload 9 if_setopbase iconst 86 iconst -2147483644 sconst "event_opbase" - sconst "is" - iload 8 + iload 11 + sconst "isi" + iload 9 if_setonop iconst -1 sconst "" - iload 8 + iload 9 if_setonmouserepeat iconst -1 sconst "" - iload 8 + iload 9 if_setonmouseleave iconst 2 sconst "Accept challenge" - iload 8 + iload 9 if_setop - iload 14 + iload 15 iconst 1 - if_icmpeq LABEL585 - jump LABEL590 -LABEL585: + if_icmpeq LABEL1123 + jump LABEL1128 +LABEL1123: iconst 6 sconst "Message" - iload 8 + iload 9 if_setop - jump LABEL598 -LABEL590: + jump LABEL1136 +LABEL1128: iconst 6 sconst "Add friend" - iload 8 + iload 9 if_setop iconst 7 sconst "Add ignore" - iload 8 + iload 9 if_setop -LABEL598: - jump LABEL671 -LABEL599: - sload 12 +LABEL1136: + jump LABEL1252 +LABEL1137: + sload 15 string_length iconst 0 - if_icmpgt LABEL604 - jump LABEL633 -LABEL604: - iload 12 + if_icmpgt LABEL1142 + jump LABEL1171 +LABEL1142: + iload 13 iconst -1 - if_icmpne LABEL608 - jump LABEL633 -LABEL608: + if_icmpne LABEL1146 + jump LABEL1171 +LABEL1146: iconst 6 sconst "Open" - iload 8 + iload 9 if_setop iconst 7 sconst "Check" - iload 8 + iload 9 if_setop iconst 2065 - iload 8 + iload 9 if_getlayer - iload 7 + iload 8 iconst 3158271 sconst "Iii" - iload 8 + iload 9 if_setonmouserepeat iconst 2065 - iload 8 + iload 9 if_getlayer - iload 7 + iload 8 iload 3 sconst "Iii" - iload 8 + iload 9 if_setonmouseleave - jump LABEL641 -LABEL633: + jump LABEL1179 +LABEL1171: iconst -1 sconst "" - iload 8 + iload 9 if_setonmouserepeat iconst -1 sconst "" - iload 8 + iload 9 if_setonmouseleave -LABEL641: +LABEL1179: iconst 9 sconst "Clear history" - iload 8 + iload 9 if_setop sconst "" sconst "Notification" sconst "" join_string 3 - iload 8 + iload 9 if_setopbase iconst 2064 iconst -2147483644 - sload 12 - iload 12 + sload 15 + iload 13 sconst "isi" - iload 8 + iload 9 if_setonop - jump LABEL671 -LABEL659: - iconst -1 - sconst "" - iload 8 + jump LABEL1252 +LABEL1197: + sconst "" + sload 12 + sconst "" + join_string 3 + iload 9 + if_setopbase + iconst 2 + sconst "Form clan" + iload 9 + if_setop + iconst 86 + iconst -2147483644 + sconst "event_opbase" + iload 11 + sconst "isi" + iload 9 if_setonop iconst -1 sconst "" - iload 8 + iload 9 if_setonmouserepeat iconst -1 sconst "" - iload 8 + iload 9 if_setonmouseleave -LABEL671: - iload 5 + iload 15 + iconst 1 + if_icmpeq LABEL1226 + jump LABEL1231 +LABEL1226: + iconst 6 + sconst "Message" + iload 9 + if_setop + jump LABEL1239 +LABEL1231: + iconst 6 + sconst "Add friend" + iload 9 + if_setop + iconst 7 + sconst "Add ignore" + iload 9 + if_setop +LABEL1239: + jump LABEL1252 +LABEL1240: + iconst -1 + sconst "" + iload 9 + if_setonop + iconst -1 + sconst "" + iload 9 + if_setonmouserepeat + iconst -1 + sconst "" + iload 9 + if_setonmouseleave +LABEL1252: iload 6 - sub - istore 5 iload 7 + sub + istore 6 + iload 8 iconst 1 add - istore 7 + istore 8 iconst 105 iconst 73 iconst 579 - iload 7 + iload 8 enum - istore 8 -LABEL685: - iload 9 - chat_getprevuid istore 9 - jump LABEL153 -LABEL689: - iload 7 - istore 15 -LABEL691: +LABEL1266: + iload 10 + chat_getprevuid + istore 10 + jump LABEL222 +LABEL1270: iload 8 + istore 21 +LABEL1272: + iload 9 iconst -1 - if_icmpne LABEL695 - jump LABEL752 -LABEL695: - iload 8 + if_icmpne LABEL1276 + jump LABEL1359 +LABEL1276: + iload 9 if_clearops iconst -1 sconst "" - iload 8 + iload 9 if_setonop iconst -1 sconst "" - iload 8 + iload 9 if_setonmouserepeat iconst -1 sconst "" - iload 8 + iload 9 if_setonmouseleave iconst 0 iconst 0 iconst 0 iconst 0 - iload 8 + iload 9 if_setsize - iconst 10616891 - iload 7 - iconst 2 + iconst 10616888 + iload 8 + iconst 4 multiply cc_find iconst 1 - if_icmpeq LABEL723 - jump LABEL727 -LABEL723: + if_icmpeq LABEL1304 + jump LABEL1308 +LABEL1304: sconst "" cc_settext iconst 1 cc_sethide -LABEL727: - iconst 10616891 - iload 7 - iconst 2 +LABEL1308: + iconst 10616888 + iload 8 + iconst 4 multiply iconst 1 add cc_find iconst 1 - if_icmpeq LABEL737 - jump LABEL741 -LABEL737: + if_icmpeq LABEL1318 + jump LABEL1322 +LABEL1318: sconst "" cc_settext iconst 1 cc_sethide -LABEL741: - iload 7 +LABEL1322: + iconst 10616888 + iload 8 + iconst 4 + multiply + iconst 2 + add + cc_find + iconst 1 + if_icmpeq LABEL1332 + jump LABEL1336 +LABEL1332: + sconst "" + cc_settext + iconst 1 + cc_sethide +LABEL1336: + iconst 10616888 + iload 8 + iconst 4 + multiply + iconst 3 + add + cc_find + iconst 1 + if_icmpeq LABEL1346 + jump LABEL1348 +LABEL1346: + iconst 1 + cc_sethide +LABEL1348: + iload 8 iconst 1 add - istore 7 + istore 8 iconst 105 iconst 73 iconst 579 - iload 7 + iload 8 enum - istore 8 - jump LABEL691 -LABEL752: - iload 5 + istore 9 + jump LABEL1272 +LABEL1359: + iload 6 iconst 2 sub - istore 5 + istore 6 iconst 0 - iload 5 + iload 6 sub - istore 5 - iconst 10616891 + istore 6 + iconst 10616888 if_getheight - istore 16 - iload 5 - iload 16 - if_icmpgt LABEL767 - jump LABEL769 -LABEL767: - iload 5 - istore 16 -LABEL769: - iload 15 - istore 7 -LABEL771: - iload 7 + istore 22 + iload 6 + iload 22 + if_icmpgt LABEL1374 + jump LABEL1376 +LABEL1374: + iload 6 + istore 22 +LABEL1376: + iload 21 + istore 8 +LABEL1378: + iload 8 iconst 0 - if_icmpgt LABEL775 - jump LABEL828 -LABEL775: - iload 7 + if_icmpgt LABEL1382 + jump LABEL1465 +LABEL1382: + iload 8 iconst 1 sub - istore 7 + istore 8 iconst 105 iconst 73 iconst 579 - iload 7 - enum - istore 8 iload 8 + enum + istore 9 + iload 9 if_gety - iload 16 + iload 22 add iconst 2 sub - istore 5 - iload 8 + istore 6 + iload 9 if_getx - iload 5 + iload 6 iconst 0 iconst 0 - iload 8 + iload 9 if_setposition - iconst 10616891 - iload 7 - iconst 2 + iconst 10616888 + iload 8 + iconst 4 multiply cc_find iconst 1 - if_icmpeq LABEL807 - jump LABEL812 -LABEL807: + if_icmpeq LABEL1414 + jump LABEL1419 +LABEL1414: cc_getx - iload 5 + iload 6 iconst 0 iconst 0 cc_setposition -LABEL812: - iconst 10616891 - iload 7 - iconst 2 +LABEL1419: + iconst 10616888 + iload 8 + iconst 4 multiply iconst 1 add cc_find iconst 1 - if_icmpeq LABEL822 - jump LABEL827 -LABEL822: + if_icmpeq LABEL1429 + jump LABEL1434 +LABEL1429: cc_getx - iload 5 + iload 6 iconst 0 iconst 0 cc_setposition -LABEL827: - jump LABEL771 -LABEL828: +LABEL1434: + iconst 10616888 + iload 8 + iconst 4 + multiply + iconst 2 + add + cc_find + iconst 1 + if_icmpeq LABEL1444 + jump LABEL1449 +LABEL1444: + cc_getx + iload 6 iconst 0 - iload 16 - iconst 10616891 + iconst 0 + cc_setposition +LABEL1449: + iconst 10616888 + iload 8 + iconst 4 + multiply + iconst 3 + add + cc_find + iconst 1 + if_icmpeq LABEL1459 + jump LABEL1464 +LABEL1459: + cc_getx + iload 6 + iconst 0 + iconst 0 + cc_setposition +LABEL1464: + jump LABEL1378 +LABEL1465: + iconst 0 + iload 22 + iconst 10616888 if_setscrollsize - iconst 10617392 - iconst 10616891 + iconst 10617389 + iconst 10616888 get_varc_int 7 - iload 16 + iload 22 get_varc_int 8 sub add invoke 72 - iconst 10616891 + iconst 10616888 if_getscrolly - iload 16 + iload 22 set_varc_int 8 set_varc_int 7 return diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.hash b/runelite-client/src/main/scripts/ChatSplitBuilder.hash index c6e0b7405d..d780d97885 100644 --- a/runelite-client/src/main/scripts/ChatSplitBuilder.hash +++ b/runelite-client/src/main/scripts/ChatSplitBuilder.hash @@ -1 +1 @@ -C8549F688E1AEF9A485BFA552D7FEA8E0C9FDFAC006A879883320FFD82F5786B \ No newline at end of file +574EDB2E12BB45156BFCF57D301C12AD82DF34648A95478E666FA97F09065C22 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm b/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm index 892a4f0a05..96519f314c 100644 --- a/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm +++ b/runelite-client/src/main/scripts/ChatSplitBuilder.rs2asm @@ -2,7 +2,7 @@ .int_stack_count 1 .string_stack_count 0 .int_var_count 18 -.string_var_count 4 +.string_var_count 6 iconst 0 istore 1 iconst 2 @@ -187,24 +187,33 @@ LABEL156: istore 15 iconst 0 istore 16 + sconst "" + sstore 4 + sconst "" + sstore 5 + sload 4 + sload 5 + invoke 4485 + sstore 5 + sstore 4 get_varc_int 55 get_varc_int 202 - if_icmpge LABEL176 - jump LABEL299 -LABEL176: + if_icmpge LABEL185 + jump LABEL311 +LABEL185: get_varc_int 55 clientclock iconst 3000 sub - if_icmpgt LABEL182 - jump LABEL299 -LABEL182: + if_icmpgt LABEL191 + jump LABEL311 +LABEL191: iconst 14 chat_gethistorylength iconst 0 - if_icmpgt LABEL187 - jump LABEL299 -LABEL187: + if_icmpgt LABEL196 + jump LABEL311 +LABEL196: iconst 14 iconst 0 chat_gethistory_bytypeandline @@ -216,9 +225,9 @@ LABEL187: istore 12 iload 12 iconst -1 - if_icmpne LABEL200 - jump LABEL299 -LABEL200: + if_icmpne LABEL209 + jump LABEL311 +LABEL209: sload 0 invoke 2066 istore 15 @@ -226,14 +235,17 @@ LABEL200: sstore 0 iload 15 iconst 4 - if_icmpne LABEL212 + if_icmpne LABEL221 reboottimer iconst 0 - if_icmple LABEL212 - jump LABEL299 -LABEL212: + if_icmple LABEL221 + jump LABEL311 +LABEL221: iload 7 + sload 5 sload 0 + sconst "" + join_string 3 iload 9 iload 10 iconst 10682368 @@ -253,14 +265,14 @@ LABEL212: sload 3 string_length iconst 0 - if_icmpgt LABEL235 - jump LABEL264 -LABEL235: + if_icmpgt LABEL247 + jump LABEL276 +LABEL247: iload 15 iconst -1 - if_icmpne LABEL239 - jump LABEL264 -LABEL239: + if_icmpne LABEL251 + jump LABEL276 +LABEL251: iconst 6 sconst "Open" iload 10 @@ -285,8 +297,8 @@ LABEL239: sconst "Iii" iload 10 if_setonmouseleave - jump LABEL272 -LABEL264: + jump LABEL284 +LABEL276: iconst -1 sconst "" iload 10 @@ -295,7 +307,7 @@ LABEL264: sconst "" iload 10 if_setonmouseleave -LABEL272: +LABEL284: iconst 9 sconst "Clear history" iload 10 @@ -323,41 +335,41 @@ LABEL272: iload 9 enum istore 10 -LABEL299: +LABEL311: iload 0 istore 12 iconst 0 istore 17 get_varp 287 iconst 1 - if_icmpeq LABEL307 - jump LABEL496 -LABEL307: + if_icmpeq LABEL319 + jump LABEL534 +LABEL319: get_varc_int 41 iconst 1337 - if_icmpne LABEL314 + if_icmpne LABEL326 get_varbit 4089 iconst 0 - if_icmpeq LABEL314 - jump LABEL496 -LABEL314: + if_icmpeq LABEL326 + jump LABEL534 +LABEL326: iload 12 iconst -1 - if_icmpne LABEL318 - jump LABEL496 -LABEL318: + if_icmpne LABEL330 + jump LABEL534 +LABEL330: iload 10 iconst -1 - if_icmpne LABEL322 - jump LABEL496 -LABEL322: + if_icmpne LABEL334 + jump LABEL534 +LABEL334: iload 7 iload 4 sub iconst 57 - if_icmplt LABEL328 - jump LABEL496 -LABEL328: + if_icmplt LABEL340 + jump LABEL534 +LABEL340: iload 12 chat_gethistory_byuid istore 14 @@ -373,7 +385,7 @@ LABEL328: invoke 91 iconst 1 if_icmpeq CHAT_FILTER ; Jump to our new label instead - jump LABEL492 + jump LABEL530 CHAT_FILTER: sload 0 ; Load the message iconst 1 ; Gets changed to 0 if message is blocked @@ -385,29 +397,35 @@ CHAT_FILTER: pop_int ; Pop the messageType iconst 1 ; 2nd half of conditional sstore 0 ; Override the message with our filtered message - if_icmpeq LABEL344 ; Check if we are building this message - jump LABEL492 -LABEL344: + if_icmpeq LABEL356 ; Check if we are building this message + jump LABEL530 +LABEL356: iload 17 switch - 3: LABEL347 - 6: LABEL368 - 7: LABEL347 - jump LABEL389 -LABEL347: + 3: LABEL359 + 5: LABEL411 + 6: LABEL385 + 7: LABEL359 + jump LABEL446 +LABEL359: iload 7 iload 12 ; Load the id of the messageNode sconst "" ; Push a container for the timestamp sconst "addTimestamp" ; Push event name runelite_callback ; Invoke callback pop_int ; Pop the id of the messageNode + sload 4 sconst "From " sload 1 sconst ":" sconst "privateChatSplitFrom" runelite_callback - join_string 4 ; Add the timestamp to the message + sconst "" + join_string 6 ; Add the timestamp to the message + sload 4 sload 0 + sconst "" + join_string 3 iload 9 iload 10 iconst 10682368 @@ -422,21 +440,26 @@ LABEL347: invoke 203 add istore 7 - jump LABEL424 -LABEL368: + jump LABEL462 +LABEL385: iload 7 iload 12 ; Load the id of the messageNode sconst "" ; Push container for the timestamp sconst "addTimestamp" ; Push event name runelite_callback ; Invoke callback pop_int ; Pop the id of the messageNode + sload 4 sconst "To " sload 1 sconst ":" sconst "privateChatSplitTo" runelite_callback - join_string 4 ; Add the timestamp to the message + sconst "" + join_string 6 ; Add the timestamp to the message + sload 4 sload 0 + sconst "" + join_string 3 iload 9 iload 10 iconst 10682368 @@ -451,16 +474,18 @@ LABEL368: invoke 203 add istore 7 - jump LABEL424 -LABEL389: + jump LABEL462 +LABEL411: iload 7 iload 12 ; Load the id of the messageNode sconst "" ; Push a container for the timestamp sconst "addTimestamp" ; Push event name runelite_callback ; Invoke callback pop_int ; Pop the id of the messageNode - sload 0 ; Load the log in/out message - join_string 2 ; Add the timestamp to the message + sload 4 ; Load the log in/out message + sload 0 + sconst "" + join_string 4 iload 9 iload 10 iconst 10682368 @@ -475,16 +500,11 @@ LABEL389: invoke 199 add istore 7 - iload 17 - iconst 5 - if_icmpeq LABEL409 - jump LABEL424 -LABEL409: get_varbit 1627 iconst 0 - if_icmpeq LABEL413 - jump LABEL424 -LABEL413: + if_icmpeq LABEL434 + jump LABEL445 +LABEL434: iload 13 iconst 500 add @@ -496,31 +516,50 @@ LABEL413: sconst "1" iconst 10616832 if_setontimer -LABEL424: +LABEL445: + jump LABEL462 +LABEL446: + iload 7 + sload 0 + iload 9 + iload 10 + iconst 10682368 + iload 8 + iload 1 + iconst 13 + iload 7 + iload 2 + iload 3 + iconst 65535 + iconst 1 + invoke 199 + add + istore 7 +LABEL462: iload 10 if_clearops iload 17 iconst 3 - if_icmpeq LABEL436 + if_icmpeq LABEL474 iload 17 iconst 6 - if_icmpeq LABEL436 + if_icmpeq LABEL474 iload 17 iconst 7 - if_icmpeq LABEL436 - jump LABEL470 -LABEL436: + if_icmpeq LABEL474 + jump LABEL508 +LABEL474: iload 14 iconst 1 - if_icmpeq LABEL440 - jump LABEL445 -LABEL440: + if_icmpeq LABEL478 + jump LABEL483 +LABEL478: iconst 8 sconst "Message" iload 10 if_setop - jump LABEL453 -LABEL445: + jump LABEL491 +LABEL483: iconst 8 sconst "Add friend" iload 10 @@ -529,7 +568,7 @@ LABEL445: sconst "Add ignore" iload 10 if_setop -LABEL453: +LABEL491: iconst 10 sconst "Report" iload 10 @@ -546,13 +585,13 @@ LABEL453: sconst "is" iload 10 if_setonop - jump LABEL474 -LABEL470: + jump LABEL512 +LABEL508: iconst -1 sconst "" iload 10 if_setonop -LABEL474: +LABEL512: iconst -1 sconst "" iload 10 @@ -571,17 +610,17 @@ LABEL474: iload 9 enum istore 10 -LABEL492: +LABEL530: iload 12 chat_getprevuid istore 12 - jump LABEL314 -LABEL496: + jump LABEL326 +LABEL534: iload 10 iconst -1 - if_icmpne LABEL500 - jump LABEL557 -LABEL500: + if_icmpne LABEL538 + jump LABEL621 +LABEL538: iload 10 if_clearops iconst -1 @@ -604,34 +643,64 @@ LABEL500: if_setsize iconst 10682368 iload 9 - iconst 2 + iconst 4 multiply cc_find iconst 1 - if_icmpeq LABEL528 - jump LABEL532 -LABEL528: + if_icmpeq LABEL566 + jump LABEL570 +LABEL566: sconst "" cc_settext iconst 1 cc_sethide -LABEL532: +LABEL570: iconst 10682368 iload 9 - iconst 2 + iconst 4 multiply iconst 1 add cc_find iconst 1 - if_icmpeq LABEL542 - jump LABEL546 -LABEL542: + if_icmpeq LABEL580 + jump LABEL584 +LABEL580: sconst "" cc_settext iconst 1 cc_sethide -LABEL546: +LABEL584: + iconst 10682368 + iload 9 + iconst 4 + multiply + iconst 2 + add + cc_find + iconst 1 + if_icmpeq LABEL594 + jump LABEL598 +LABEL594: + sconst "" + cc_settext + iconst 1 + cc_sethide +LABEL598: + iconst 10682368 + iload 9 + iconst 4 + multiply + iconst 3 + add + cc_find + iconst 1 + if_icmpeq LABEL608 + jump LABEL610 +LABEL608: + iconst 1 + cc_sethide +LABEL610: iload 9 iconst 1 add @@ -642,6 +711,6 @@ LABEL546: iload 9 enum istore 10 - jump LABEL496 -LABEL557: + jump LABEL534 +LABEL621: return diff --git a/runelite-client/src/main/scripts/ChatboxInput.hash b/runelite-client/src/main/scripts/ChatboxInput.hash index b1540d80f2..068042f3ab 100644 --- a/runelite-client/src/main/scripts/ChatboxInput.hash +++ b/runelite-client/src/main/scripts/ChatboxInput.hash @@ -1 +1 @@ -7D172258726F2B866D2EFFB0F2E401D0551A377DCA7F72CCD8839AC88B3EA6A2 \ No newline at end of file +F7D45F13B835E5F5B889D4ECF3A4A61829794BAB447B7FFE676B19659238DAA9 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatboxInput.rs2asm b/runelite-client/src/main/scripts/ChatboxInput.rs2asm index 98567e8f1c..f2321db0ac 100644 --- a/runelite-client/src/main/scripts/ChatboxInput.rs2asm +++ b/runelite-client/src/main/scripts/ChatboxInput.rs2asm @@ -40,12 +40,26 @@ LABEL16: join_string 5 mes LABEL23: - jump LABEL27 + jump LABEL39 LABEL24: + iload 0 + iconst 3 + if_icmpeq LABEL31 + iload 0 + iconst 4 + if_icmpeq LABEL31 + jump LABEL36 +LABEL31: + sload 0 + iload 0 + iconst 0 + 5010 + jump LABEL39 +LABEL36: sload 0 iload 0 chat_sendpublic -LABEL27: +LABEL39: clientclock set_varc_int 61 return diff --git a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash index a030722f69..13638f4e91 100644 --- a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash +++ b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.hash @@ -1 +1 @@ -7AA081A68C6157F9B74DDB6B04F00B1691113941EED8996A4DEABF643F45EA25 \ No newline at end of file +F62AC1D5CB6A0C94DFCAEB8E4DC62E3513D0A757CADFDE2B1FF4418AF18AE841 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm index c523d51759..7656454e47 100644 --- a/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm +++ b/runelite-client/src/main/scripts/ChatboxInputWidgetBuilder.rs2asm @@ -21,16 +21,16 @@ LABEL10: istore 0 sstore 0 iconst 1 - iconst 10616890 + iconst 10616887 if_settextshadow jump LABEL23 LABEL20: iconst 0 - iconst 10616890 + iconst 10616887 if_settextshadow LABEL23: iload 0 - iconst 10616890 + iconst 10616887 if_setcolour get_varc_string 335 string_length @@ -118,13 +118,13 @@ LABEL95: iconst 30 iconst 0 iconst 0 - iconst 10616871 + iconst 10616868 if_setsize iconst 0 iconst 0 iconst 0 iconst 2 - iconst 10616871 + iconst 10616868 if_setposition jump LABEL124 LABEL112: @@ -132,17 +132,17 @@ LABEL112: iconst 30 iconst 0 iconst 1 - iconst 10616871 + iconst 10616868 if_setsize iconst 0 iconst 0 iconst 0 iconst 2 - iconst 10616871 + iconst 10616868 if_setposition LABEL124: iload 3 - iconst 10616890 + iconst 10616887 if_getwidth if_icmpgt LABEL129 jump LABEL135 @@ -150,29 +150,29 @@ LABEL129: iconst 2 iconst 2 iconst 0 - iconst 10616890 + iconst 10616887 if_settextalign jump LABEL140 LABEL135: iconst 0 iconst 2 iconst 0 - iconst 10616890 + iconst 10616887 if_settextalign LABEL140: - iconst 10616890 + iconst 10616887 if_clearops iconst -1 sconst "" - iconst 10616890 + iconst 10616887 if_setonmouserepeat iconst -1 sconst "" - iconst 10616890 + iconst 10616887 if_setonmouseleave iconst -1 sconst "" - iconst 10616890 + iconst 10616887 if_setonop jump LABEL205 LABEL155: @@ -199,39 +199,39 @@ LABEL172: iconst 1 iconst 2 iconst 0 - iconst 10616890 + iconst 10616887 if_settextalign iconst 10 sconst "Configure" - iconst 10616890 + iconst 10616887 if_setop sconst "" sconst "Display name" sconst "" join_string 3 - iconst 10616890 + iconst 10616887 if_setopbase iconst 45 iconst -2147483645 iload 1 sconst "Ii" - iconst 10616890 + iconst 10616887 if_setonmouserepeat iconst 45 iconst -2147483645 iload 0 sconst "Ii" - iconst 10616890 + iconst 10616887 if_setonmouseleave iconst 489 iconst -2147483644 iconst 1024 sconst "ii" - iconst 10616890 + iconst 10616887 if_setonop LABEL205: sload 2 - iconst 10616890 + iconst 10616887 if_settext sconst "setChatboxInput" runelite_callback @@ -239,6 +239,6 @@ LABEL205: iconst 16 iconst 1 iconst 0 - iconst 10616890 + iconst 10616887 if_setsize return diff --git a/runelite-client/src/main/scripts/CommandScript.hash b/runelite-client/src/main/scripts/CommandScript.hash index 83ad002c3b..2aac5e8d08 100644 --- a/runelite-client/src/main/scripts/CommandScript.hash +++ b/runelite-client/src/main/scripts/CommandScript.hash @@ -1 +1 @@ -49F71301DDB45F2010BA8EFCA9D32D08C2CEF0A5F4F441A1CC1F1FE2CCFD7C36 \ No newline at end of file +2FE66C1A3B63EEF10142A955C927054613F59A34C4A929C8AC79DBE0F1B06C30 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/CommandScript.rs2asm b/runelite-client/src/main/scripts/CommandScript.rs2asm index 8616a625be..010bb90d02 100644 --- a/runelite-client/src/main/scripts/CommandScript.rs2asm +++ b/runelite-client/src/main/scripts/CommandScript.rs2asm @@ -1,13 +1,13 @@ .id 73 .int_stack_count 2 .string_stack_count 0 -.int_var_count 5 +.int_var_count 8 .string_var_count 0 - iconst 10616888 + iconst 10616885 if_gethide iconst 1 if_icmpeq LABEL9 - iconst 10616889 + iconst 10616886 if_gethide iconst 1 if_icmpeq LABEL9 @@ -32,193 +32,465 @@ LABEL20: istore 2 iconst 0 istore 3 - iconst 0 - istore 4 - invoke 1972 - iconst 1 - if_icmpeq LABEL31 - iconst 0 ; Modified to enable clanchat input - sconst "friendsChatInput" - runelite_callback - iconst 1 - if_icmpeq LABEL31 ; Compare to 1 - jump LABEL37 -LABEL31: - get_varc_int 41 - iconst 4 - if_icmpeq LABEL35 - jump LABEL37 -LABEL35: - iconst 1 - istore 4 -LABEL37: staffmodlevel iconst 0 - if_icmpgt LABEL41 - jump LABEL43 -LABEL41: + if_icmpgt LABEL29 + jump LABEL60 +LABEL29: iconst 1 istore 3 -LABEL43: - iload 3 - iconst 1 - if_icmpeq LABEL47 - jump LABEL58 -LABEL47: sconst "`" iload 1 string_indexof_char iconst -1 - if_icmpne LABEL53 - jump LABEL58 -LABEL53: + if_icmpne LABEL37 + jump LABEL42 +LABEL37: iload 2 iconst 0 - if_icmpeq LABEL57 - jump LABEL58 -LABEL57: + if_icmpeq LABEL41 + jump LABEL42 +LABEL41: return -LABEL58: - iload 0 - iconst 84 - if_icmpeq LABEL62 - jump LABEL194 -LABEL62: - invoke 1984 - iload 2 - iconst 0 - if_icmpgt LABEL67 - jump LABEL193 -LABEL67: - get_varc_string 335 - sconst "/" - iconst 0 - string_indexof_string - iconst 0 - if_icmpeq LABEL77 - iload 4 - iconst 1 - if_icmpeq LABEL77 - jump LABEL112 -LABEL77: - clan_getchatcount - iconst 0 - if_icmpgt LABEL81 - jump LABEL108 -LABEL81: - iload 2 - iconst 1 - if_icmple LABEL85 - jump LABEL90 -LABEL85: - iload 4 - iconst 0 - if_icmpeq LABEL89 - jump LABEL90 -LABEL89: - return -LABEL90: - get_varbit 4394 - iconst 1 - if_icmpeq LABEL94 - jump LABEL96 -LABEL94: - clan_leavechat - jump LABEL107 -LABEL96: - iload 4 - iconst 1 - if_icmpeq LABEL100 - jump LABEL104 -LABEL100: - sconst "/" - get_varc_string 335 - append - set_varc_string 335 -LABEL104: - get_varc_string 335 - iconst 2 - invoke 96 -LABEL107: - jump LABEL111 -LABEL108: - get_varc_string 335 - iconst 0 - invoke 96 -LABEL111: - jump LABEL189 -LABEL112: +LABEL42: + sconst ":" + iload 1 + string_indexof_char + iconst -1 + if_icmpne LABEL48 + jump LABEL60 +LABEL48: get_varc_string 335 sconst "::" iconst 0 string_indexof_string iconst 0 - if_icmpeq LABEL119 - jump LABEL186 -LABEL119: + if_icmpeq LABEL55 + jump LABEL60 +LABEL55: iload 2 iconst 2 - if_icmpgt LABEL123 - jump LABEL182 -LABEL123: + if_icmpeq LABEL59 + jump LABEL60 +LABEL59: + return +LABEL60: + iconst 0 + istore 4 + iconst -1 + istore 5 + iconst 0 + istore 6 + iconst -1 + istore 7 + iload 0 + iconst 84 + if_icmpeq LABEL72 + jump LABEL421 +LABEL72: + invoke 1984 + iload 2 + iconst 0 + if_icmpgt LABEL77 + jump LABEL420 +LABEL77: + iload 3 + iconst 1 + if_icmpeq LABEL81 + jump LABEL148 +LABEL81: + sconst "give" + iload 2 + invoke 4481 + iconst 1 + if_icmpeq LABEL87 + jump LABEL91 +LABEL87: + get_varc_string 335 + string_length + istore 2 + jump LABEL148 +LABEL91: + sconst "set" + iload 2 + invoke 4481 + iconst 1 + if_icmpeq LABEL97 + jump LABEL101 +LABEL97: + get_varc_string 335 + string_length + istore 2 + jump LABEL148 +LABEL101: + sconst "get" + iload 2 + invoke 4481 + iconst 1 + if_icmpeq LABEL107 + jump LABEL111 +LABEL107: + get_varc_string 335 + string_length + istore 2 + jump LABEL148 +LABEL111: + sconst "tele" + iload 2 + invoke 4481 + iconst 1 + if_icmpeq LABEL117 + jump LABEL121 +LABEL117: + get_varc_string 335 + string_length + istore 2 + jump LABEL148 +LABEL121: + sconst "~" + iload 2 + invoke 4481 + iconst 1 + if_icmpeq LABEL127 + jump LABEL131 +LABEL127: + get_varc_string 335 + string_length + istore 2 + jump LABEL148 +LABEL131: + get_varc_string 335 + sconst "::" + iconst 0 + string_indexof_string + istore 7 + iload 7 + iconst 0 + if_icmpgt LABEL140 + jump LABEL148 +LABEL140: + get_varc_string 335 + iload 7 + iload 2 + substring + set_varc_string 335 + get_varc_string 335 + string_length + istore 2 +LABEL148: + get_varc_string 335 + sconst "::" + iconst 0 + string_indexof_string + iconst 0 + if_icmpeq LABEL155 + jump LABEL158 +LABEL155: + iconst 1 + istore 4 + jump LABEL171 +LABEL158: + get_varc_int 41 + iconst 5 + if_icmpeq LABEL162 + jump LABEL165 +LABEL162: + iconst 41 + istore 5 + jump LABEL171 +LABEL165: + get_varc_int 41 + iconst 4 + if_icmpeq LABEL169 + jump LABEL171 +LABEL169: + iconst 9 + istore 5 +LABEL171: + get_varc_string 335 + sconst "///" + iconst 0 + string_indexof_string + iconst 0 + if_icmpeq LABEL185 + get_varc_string 335 + lowercase + sconst "/g " + iconst 0 + string_indexof_string + iconst 0 + if_icmpeq LABEL185 + jump LABEL190 +LABEL185: + iconst 3 + iconst 44 + istore 5 + istore 6 + jump LABEL226 +LABEL190: + get_varc_string 335 + sconst "//" + iconst 0 + string_indexof_string + iconst 0 + if_icmpeq LABEL197 + jump LABEL202 +LABEL197: + iconst 2 + iconst 41 + istore 5 + istore 6 + jump LABEL226 +LABEL202: + get_varc_string 335 + lowercase + sconst "/c " + iconst 0 + string_indexof_string + iconst 0 + if_icmpeq LABEL210 + jump LABEL215 +LABEL210: + iconst 3 + iconst 41 + istore 5 + istore 6 + jump LABEL226 +LABEL215: + get_varc_string 335 + sconst "/" + iconst 0 + string_indexof_string + iconst 0 + if_icmpeq LABEL222 + jump LABEL226 +LABEL222: + iconst 1 + iconst 9 + istore 5 + istore 6 +LABEL226: + iload 5 + iconst 44 + if_icmpeq LABEL230 + jump LABEL260 +LABEL230: + 3800 + iconst 1 + if_icmpeq LABEL234 + jump LABEL257 +LABEL234: + 3850 + iconst 1 + if_icmpeq LABEL238 + jump LABEL257 +LABEL238: + iload 2 + iload 6 + if_icmple LABEL242 + jump LABEL243 +LABEL242: + return +LABEL243: + 3803 + iconst 1 + if_icmpeq LABEL247 + jump LABEL254 +LABEL247: + get_varc_string 335 + iload 6 + iload 2 + substring + iconst 4 + invoke 96 + jump LABEL256 +LABEL254: + sconst "Guests are not invited to speak in this clan's channel." + mes +LABEL256: + jump LABEL259 +LABEL257: + sconst "You are not chatting as a guest in a clan channel at the moment." + mes +LABEL259: + jump LABEL416 +LABEL260: + iload 5 + iconst 41 + if_icmpeq LABEL264 + jump LABEL307 +LABEL264: + iconst 0 + 3851 + iconst 1 + if_icmpeq LABEL269 + jump LABEL304 +LABEL269: + get_varbit 931 + iconst 0 + if_icmpeq LABEL273 + jump LABEL301 +LABEL273: + iload 2 + iload 6 + if_icmple LABEL277 + jump LABEL278 +LABEL277: + return +LABEL278: + chat_playername + removetags + 3860 + istore 7 + iload 7 + iconst -1 + if_icmpne LABEL286 + jump LABEL298 +LABEL286: + iload 7 + 3857 + 3854 + if_icmpge LABEL291 + jump LABEL298 +LABEL291: + get_varc_string 335 + iload 6 + iload 2 + substring + iconst 3 + invoke 96 + jump LABEL300 +LABEL298: + sconst "You do not have the required rank to talk in the clan's channel." + mes +LABEL300: + jump LABEL303 +LABEL301: + sconst "You have muted your clan's channel. Unmute it if you wish to talk in it." + mes +LABEL303: + jump LABEL306 +LABEL304: + sconst "You are not chatting in the channel of your own clan at the moment." + mes +LABEL306: + jump LABEL416 +LABEL307: + iload 5 + iconst 9 + if_icmpeq LABEL311 + jump LABEL342 +LABEL311: + clan_getchatcount + iconst 0 + if_icmpgt LABEL315 + jump LABEL338 +LABEL315: + iload 2 + iload 6 + if_icmple LABEL319 + jump LABEL320 +LABEL319: + return +LABEL320: + get_varbit 4394 + iconst 1 + if_icmpeq LABEL324 + jump LABEL326 +LABEL324: + clan_leavechat + jump LABEL337 +LABEL326: + iload 6 + iconst 1 + if_icmplt LABEL330 + jump LABEL334 +LABEL330: + sconst "/" + get_varc_string 335 + append + set_varc_string 335 +LABEL334: + get_varc_string 335 + iconst 2 + invoke 96 +LABEL337: + jump LABEL341 +LABEL338: + get_varc_string 335 + iconst 0 + invoke 96 +LABEL341: + jump LABEL416 +LABEL342: + iload 4 + iconst 1 + if_icmpeq LABEL346 + jump LABEL413 +LABEL346: + iload 2 + iconst 2 + if_icmpgt LABEL350 + jump LABEL409 +LABEL350: get_varc_string 335 sconst "::toggleroof" iconst 0 string_indexof_string iconst 0 - if_icmpeq LABEL130 - jump LABEL144 -LABEL130: + if_icmpeq LABEL357 + jump LABEL371 +LABEL357: getremoveroofs iconst 1 - if_icmpeq LABEL134 - jump LABEL139 -LABEL134: + if_icmpeq LABEL361 + jump LABEL366 +LABEL361: iconst 0 setremoveroofs sconst "Roofs will only be removed selectively." mes - jump LABEL143 -LABEL139: + jump LABEL370 +LABEL366: iconst 1 setremoveroofs sconst "Roofs are now all hidden." mes -LABEL143: - jump LABEL181 -LABEL144: +LABEL370: + jump LABEL408 +LABEL371: get_varc_string 335 sconst "::wiki " iconst 0 string_indexof_string iconst 0 - if_icmpeq LABEL156 + if_icmpeq LABEL383 get_varc_string 335 sconst "::wiki" compare iconst 0 - if_icmpeq LABEL156 + if_icmpeq LABEL383 sconst "runeliteCommand" ; load callback name runelite_callback ; invoke callback - jump LABEL159 -LABEL156: + jump LABEL386 +LABEL383: get_varc_string 335 invoke 3299 - jump LABEL181 -LABEL159: + jump LABEL408 +LABEL386: get_varc_string 335 sconst "::bank" iconst 0 string_indexof_string iconst 0 - if_icmpeq LABEL166 - jump LABEL170 -LABEL166: + if_icmpeq LABEL393 + jump LABEL397 +LABEL393: sconst "Hey, everyone, I just tried to do something very silly!" iconst 0 invoke 96 - jump LABEL181 -LABEL170: + jump LABEL408 +LABEL397: get_varc_string 335 invoke 224 set_varc_string 335 @@ -230,91 +502,91 @@ LABEL170: iload 2 substring docheat -LABEL181: - jump LABEL185 -LABEL182: +LABEL408: + jump LABEL412 +LABEL409: get_varc_string 335 iconst 0 invoke 96 -LABEL185: - jump LABEL189 -LABEL186: +LABEL412: + jump LABEL416 +LABEL413: get_varc_string 335 iconst 0 invoke 96 -LABEL189: +LABEL416: get_varc_string 335 invoke 77 sconst "" set_varc_string 335 -LABEL193: - jump LABEL269 -LABEL194: +LABEL420: + jump LABEL496 +LABEL421: iload 0 iconst 104 - if_icmpeq LABEL198 - jump LABEL204 -LABEL198: + if_icmpeq LABEL425 + jump LABEL431 +LABEL425: iload 3 iconst 1 - if_icmpeq LABEL202 - jump LABEL203 -LABEL202: + if_icmpeq LABEL429 + jump LABEL430 +LABEL429: invoke 75 -LABEL203: - jump LABEL269 -LABEL204: +LABEL430: + jump LABEL496 +LABEL431: iload 0 iconst 105 - if_icmpeq LABEL208 - jump LABEL214 -LABEL208: + if_icmpeq LABEL435 + jump LABEL441 +LABEL435: iload 3 iconst 1 - if_icmpeq LABEL212 - jump LABEL213 -LABEL212: + if_icmpeq LABEL439 + jump LABEL440 +LABEL439: invoke 76 -LABEL213: - jump LABEL269 -LABEL214: +LABEL440: + jump LABEL496 +LABEL441: iload 0 iconst 80 - if_icmpeq LABEL218 - jump LABEL263 -LABEL218: + if_icmpeq LABEL445 + jump LABEL490 +LABEL445: iconst 40697935 iconst 1 cc_find iconst 1 - if_icmpeq LABEL224 - jump LABEL225 -LABEL224: + if_icmpeq LABEL451 + jump LABEL452 +LABEL451: return -LABEL225: +LABEL452: get_varc_string 356 string_length iconst 0 - if_icmpgt LABEL230 - jump LABEL250 -LABEL230: + if_icmpgt LABEL457 + jump LABEL477 +LABEL457: get_varc_string 356 friend_test iconst 1 - if_icmpeq LABEL235 - jump LABEL238 -LABEL235: + if_icmpeq LABEL462 + jump LABEL465 +LABEL462: get_varc_string 356 invoke 107 return -LABEL238: +LABEL465: get_varc_int 60 clientclock - if_icmpgt LABEL242 - jump LABEL243 -LABEL242: + if_icmpgt LABEL469 + jump LABEL470 +LABEL469: return -LABEL243: +LABEL470: clientclock iconst 50 add @@ -322,14 +594,14 @@ LABEL243: sconst "That player was not found on your Friends list." mes return -LABEL250: +LABEL477: get_varc_int 60 clientclock - if_icmpgt LABEL254 - jump LABEL255 -LABEL254: + if_icmpgt LABEL481 + jump LABEL482 +LABEL481: return -LABEL255: +LABEL482: clientclock iconst 50 add @@ -337,8 +609,8 @@ LABEL255: sconst "You haven't received any messages to which you can reply." mes return - jump LABEL269 -LABEL263: + jump LABEL496 +LABEL490: get_varc_string 335 iconst 0 iload 0 @@ -350,9 +622,9 @@ LABEL263: runelite_callback ; if_icmpeq SKIPSETVARC ; skip setting varc with input set_varc_string 335 - jump LABEL269 ; jump over SKIPSETVARC + jump LABEL496 ; jump over SKIPSETVARC SKIPSETVARC: pop_string ; pop message -LABEL269: +LABEL496: invoke 223 return diff --git a/runelite-client/src/main/scripts/FriendsChatSendKick.hash b/runelite-client/src/main/scripts/FriendsChatSendKick.hash index e1fb1db404..af362b7e58 100644 --- a/runelite-client/src/main/scripts/FriendsChatSendKick.hash +++ b/runelite-client/src/main/scripts/FriendsChatSendKick.hash @@ -1 +1 @@ -9B3B448D76D57F6D63C9CDA06E58695F6DEBE91F9EDF2D2C4876E064D1067FD6 \ No newline at end of file +5A68D15CBC52892CD84A0961CC0D5A84B653B4320F0AA3B11E80EE0D2126B584 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/FriendsChatSendKick.rs2asm b/runelite-client/src/main/scripts/FriendsChatSendKick.rs2asm index 5dc390b9fe..c0b56b46a4 100644 --- a/runelite-client/src/main/scripts/FriendsChatSendKick.rs2asm +++ b/runelite-client/src/main/scripts/FriendsChatSendKick.rs2asm @@ -12,23 +12,23 @@ jump CONFIRM_KICK ; Jump to our new label instead LABEL4: sconst "You can't kick players from your team during Wilderness Wars." - mes - return + mes + return LABEL7: - sconst "-Attempting to kick player from friends chat..." + sconst "-Attempting to kick player from chat-channel..." iconst 2 invoke 96 sload 0 - clan_kickuser + clan_kickuser jump LABEL73 LABEL73: - return + return CONFIRM_KICK: sload 0 ; Username we are trying to kick iconst 0 ; Modified if we are confirming the kick inside the plugin sconst "confirmFriendsChatKick" - runelite_callback - pop_string ; Pop username + runelite_callback + pop_string ; Pop username iconst 0 ; Compare against zero if_icmpgt LABEL73 ; Early return for chatbox panel confirmation jump LABEL7 diff --git a/runelite-client/src/main/scripts/OpenBankSearchInput.hash b/runelite-client/src/main/scripts/OpenBankSearchInput.hash index 0ce901832b..1e9b3ddc9a 100644 --- a/runelite-client/src/main/scripts/OpenBankSearchInput.hash +++ b/runelite-client/src/main/scripts/OpenBankSearchInput.hash @@ -1 +1 @@ -D503F0A0BDEC3DDA9719AB601F5EF294FBBE2747BA4B13529E61806FC65DDF77 \ No newline at end of file +1DEBBDF2928F79FE6BDEC5FB3BBF52A18A111D16CF7E079F51B349C6F6DB654A \ No newline at end of file diff --git a/runelite-client/src/main/scripts/OpenBankSearchInput.rs2asm b/runelite-client/src/main/scripts/OpenBankSearchInput.rs2asm index 547863277a..c5c4212f0c 100644 --- a/runelite-client/src/main/scripts/OpenBankSearchInput.rs2asm +++ b/runelite-client/src/main/scripts/OpenBankSearchInput.rs2asm @@ -15,7 +15,7 @@ LABEL5: sconst "Show items whose names contain the following text:" sconst "setSearchBankInputText" ; load event name runelite_callback ; invoke callback - iconst 10616876 + iconst 10616873 if_settext sconst "" invoke 222 @@ -26,11 +26,11 @@ LABEL5: iconst -2147483639 sload 0 sconst "izs" - iconst 10616877 + iconst 10616874 if_setonkey iconst 138 sconst "" - iconst 10616877 + iconst 10616874 if_setondialogabort invoke 1972 iconst 1 diff --git a/runelite-client/src/main/scripts/PrivateMessage.hash b/runelite-client/src/main/scripts/PrivateMessage.hash index 2153464d80..40e5d70cc6 100644 --- a/runelite-client/src/main/scripts/PrivateMessage.hash +++ b/runelite-client/src/main/scripts/PrivateMessage.hash @@ -1 +1 @@ -12B91B740FE760F73A23EF34E1D4F53EA00F829EF7FC33E648F6FF5EA17417A0 \ No newline at end of file +559DA005256EF939AA48F2B0B2B8C5D05168D50D378253DF81B0B68C20331A95 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/PrivateMessage.rs2asm b/runelite-client/src/main/scripts/PrivateMessage.rs2asm index 79ca64e02c..ee8c024fa3 100644 --- a/runelite-client/src/main/scripts/PrivateMessage.rs2asm +++ b/runelite-client/src/main/scripts/PrivateMessage.rs2asm @@ -25,7 +25,7 @@ LABEL10: iload 1 iconst 0 if_icmpgt LABEL21 - jump LABEL187 + jump LABEL255 LABEL21: get_varc_int 5 switch @@ -36,18 +36,22 @@ LABEL21: 5: LABEL26 6: LABEL47 7: LABEL110 - 8: LABEL114 - 9: LABEL120 - 10: LABEL123 - 11: LABEL179 - 12: LABEL139 - 13: LABEL157 - 15: LABEL120 - 16: LABEL184 - jump LABEL186 + 8: LABEL116 + 9: LABEL124 + 10: LABEL191 + 11: LABEL247 + 12: LABEL207 + 13: LABEL225 + 15: LABEL124 + 16: LABEL252 + 18: LABEL247 + 19: LABEL110 + 20: LABEL124 + 21: LABEL124 + jump LABEL254 LABEL24: return - jump LABEL186 + jump LABEL254 LABEL26: ignore_count iconst 0 @@ -75,7 +79,7 @@ LABEL44: get_varc_string 359 ignore_del LABEL46: - jump LABEL186 + jump LABEL254 LABEL47: friend_count iconst 0 @@ -159,77 +163,149 @@ LABEL107: clientclock set_varc_int 61 LABEL109: - jump LABEL186 + jump LABEL254 LABEL110: get_varc_string 359 invoke 212 resume_countdialog - jump LABEL186 -LABEL114: + iconst 0 + set_varc_int 5 + jump LABEL254 +LABEL116: get_varc_string 359 removetags set_varc_string 361 get_varc_string 359 resume_namedialog + iconst 0 + set_varc_int 5 + jump LABEL254 +LABEL124: + get_varc_int 5 + iconst 20 + if_icmpeq LABEL128 + jump LABEL132 +LABEL128: + get_varc_string 359 + removetags + invoke 4394 jump LABEL186 -LABEL120: +LABEL132: + get_varc_int 5 + iconst 21 + if_icmpeq LABEL136 + jump LABEL186 +LABEL136: + get_varc_string 359 + sconst "jagex" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "jaqex" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "jagx" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "jgex" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "jgx" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "admin" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "staff" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "-" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst "_" + sconst " " + invoke 4191 + set_varc_string 359 + get_varc_string 359 + sconst " " + sconst " " + invoke 4191 + set_varc_string 359 +LABEL186: get_varc_string 359 resume_stringdialog - jump LABEL186 -LABEL123: + iconst 0 + set_varc_int 5 + jump LABEL254 +LABEL191: get_varbit 8119 iconst 0 - if_icmpeq LABEL127 - jump LABEL133 -LABEL127: + if_icmpeq LABEL195 + jump LABEL201 +LABEL195: iconst 1 iconst 1 invoke 299 sconst "You must set a name before you can chat." mes return -LABEL133: +LABEL201: get_varc_string 359 removetags set_varc_string 362 get_varc_string 359 clan_joinchat - jump LABEL186 -LABEL139: + jump LABEL254 +LABEL207: iload 1 iconst 10 - if_icmpgt LABEL143 - jump LABEL149 -LABEL143: + if_icmpgt LABEL211 + jump LABEL217 +LABEL211: get_varc_string 359 iconst 0 iconst 9 substring sstore 0 - jump LABEL151 -LABEL149: + jump LABEL219 +LABEL217: get_varc_string 359 sstore 0 -LABEL151: +LABEL219: sload 0 lowercase chat_setmessagefilter invoke 553 invoke 84 - jump LABEL186 -LABEL157: + jump LABEL254 +LABEL225: get_varbit 8119 iconst 0 - if_icmpeq LABEL161 - jump LABEL167 -LABEL161: + if_icmpeq LABEL229 + jump LABEL235 +LABEL229: iconst 1 iconst 1 invoke 299 sconst "You must set a name before you can chat." mes return -LABEL167: +LABEL235: get_varc_string 359 iconst 0 set_varc_int 62 @@ -239,35 +315,37 @@ LABEL167: iconst -2147483645 iconst 1 sconst "I1" - iconst 10616845 + iconst 10616843 if_setontimer - jump LABEL186 -LABEL179: + jump LABEL254 +LABEL247: iconst 0 iconst 1 invoke 299 return - jump LABEL186 -LABEL184: + jump LABEL254 +LABEL252: get_varc_string 359 invoke 2061 -LABEL186: - jump LABEL193 -LABEL187: +LABEL254: + jump LABEL261 +LABEL255: get_varc_int 5 switch - 16: LABEL192 - 7: LABEL190 - 8: LABEL190 - 9: LABEL190 - 15: LABEL190 - jump LABEL193 -LABEL190: + 16: LABEL260 + 20: LABEL258 + 21: LABEL258 + 7: LABEL258 + 8: LABEL258 + 9: LABEL258 + 15: LABEL258 + jump LABEL261 +LABEL258: return - jump LABEL193 -LABEL192: + jump LABEL261 +LABEL260: return -LABEL193: +LABEL261: iconst 1 iconst 1 invoke 299 diff --git a/runelite-client/src/main/scripts/ResetChatboxInput.hash b/runelite-client/src/main/scripts/ResetChatboxInput.hash index 6f2b789612..88a7f5569b 100644 --- a/runelite-client/src/main/scripts/ResetChatboxInput.hash +++ b/runelite-client/src/main/scripts/ResetChatboxInput.hash @@ -1 +1 @@ -A9577B60999F586BCC424D2312B2D4A5D033DB0A3228719B9BA1DFD9742B92E7 \ No newline at end of file +FDFF71BAC7D5E10C1E88F445D60100552D0C5B14A66F8648FFEC39573ECFBE8E \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm b/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm index 899616d7fa..1455a92161 100644 --- a/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm +++ b/runelite-client/src/main/scripts/ResetChatboxInput.rs2asm @@ -6,10 +6,10 @@ sconst "resetChatboxInput" runelite_callback iconst 1 - iconst 10616872 + iconst 10616869 if_sethide iconst 0 - iconst 10616888 + iconst 10616885 if_sethide invoke 923 iconst 0 @@ -42,206 +42,228 @@ LABEL27: LABEL31: invoke 2581 LABEL32: + get_varc_int 5 + switch + 19: LABEL35 + 20: LABEL41 + 21: LABEL41 + 7: LABEL35 + 8: LABEL38 + 9: LABEL41 + 15: LABEL41 + jump LABEL43 +LABEL35: + sconst "0" + resume_countdialog + jump LABEL43 +LABEL38: + sconst "" + resume_namedialog + jump LABEL43 +LABEL41: + sconst "" + resume_stringdialog +LABEL43: iconst 0 set_varc_int 5 iload 0 iconst 1 - if_icmpeq LABEL38 - jump LABEL40 -LABEL38: + if_icmpeq LABEL49 + jump LABEL51 +LABEL49: sconst "" set_varc_string 359 -LABEL40: +LABEL51: iconst 0 iconst -8 iconst 1 iconst 1 - iconst 10616876 + iconst 10616873 if_setposition iconst 0 iconst 40 iconst 1 iconst 0 - iconst 10616876 + iconst 10616873 if_setsize iconst 0 iconst 22 iconst 1 iconst 1 - iconst 10616877 + iconst 10616874 if_setposition iconst 0 iconst 20 iconst 1 iconst 0 - iconst 10616877 + iconst 10616874 if_setsize iconst 0 - iconst 10616876 + iconst 10616873 if_sethide iconst 0 - iconst 10616877 + iconst 10616874 if_sethide iconst 1 - iconst 10616881 + iconst 10616878 if_sethide iconst 1 - iconst 10616887 + iconst 10616884 if_sethide iconst 0 iconst 0 - iconst 10616885 + iconst 10616882 if_setscrollpos - iconst 10616885 + iconst 10616882 cc_deleteall - iconst 10616886 + iconst 10616883 cc_deleteall iconst 0 iconst -8 iconst 1 iconst 1 - iconst 10616876 + iconst 10616873 if_setposition iconst 0 iconst 40 iconst 1 iconst 0 - iconst 10616876 + iconst 10616873 if_setsize iconst 1 iconst 1 iconst 0 - iconst 10616876 + iconst 10616873 if_settextalign iconst 496 - iconst 10616876 + iconst 10616873 if_settextfont iconst 496 - iconst 10616877 + iconst 10616874 if_settextfont iconst 128 - iconst 10616877 + iconst 10616874 if_setcolour iconst -1 sconst "" - iconst 10616877 + iconst 10616874 if_setonmouseover iconst -1 sconst "" - iconst 10616877 + iconst 10616874 if_setonmouseleave sconst "" - iconst 10616877 + iconst 10616874 if_settext iconst 0 iconst 22 iconst 1 iconst 1 - iconst 10616877 + iconst 10616874 if_setposition iconst -1 sconst "" - iconst 10616872 + iconst 10616869 if_setonclick iconst -1 sconst "" - iconst 10616877 + iconst 10616874 if_setonclick iconst -1 sconst "" - iconst 10616877 + iconst 10616874 if_setonkey iconst 1 - iconst 10616874 + iconst 10616871 if_sethide iconst -1 sconst "" - iconst 10616872 + iconst 10616869 if_setonclick iconst -1 sconst "" - iconst 10616872 + iconst 10616869 if_setontimer - iconst 10616872 + iconst 10616869 cc_deleteall - iconst 10616878 + iconst 10616875 cc_deleteall - iconst 10616879 + iconst 10616876 cc_deleteall - iconst 10616880 + iconst 10616877 cc_deleteall iconst 1 - iconst 10616878 + iconst 10616875 if_sethide iconst 1 - iconst 10616879 + iconst 10616876 if_sethide iconst 1 - iconst 10616880 + iconst 10616877 if_sethide iconst -1 sconst "" - iconst 10616878 + iconst 10616875 if_setonmouserepeat iconst -1 sconst "" - iconst 10616879 + iconst 10616876 if_setonmouserepeat iconst -1 sconst "" - iconst 10616880 + iconst 10616877 if_setonmouserepeat iconst -1 sconst "" - iconst 10616878 + iconst 10616875 if_setonmouseleave iconst -1 sconst "" - iconst 10616879 + iconst 10616876 if_setonmouseleave iconst -1 sconst "" - iconst 10616880 + iconst 10616877 if_setonmouseleave iconst -1 sconst "" - iconst 10616878 + iconst 10616875 if_setontimer iconst -1 sconst "" - iconst 10616879 + iconst 10616876 if_setontimer iconst -1 sconst "" - iconst 10616880 + iconst 10616877 if_setontimer iconst -1 sconst "" - iconst 10616878 + iconst 10616875 if_setonclick iconst -1 sconst "" - iconst 10616879 + iconst 10616876 if_setonclick iconst -1 sconst "" - iconst 10616880 + iconst 10616877 if_setonclick get_varc_int 41 iconst 1337 - if_icmpeq LABEL219 - jump LABEL223 -LABEL219: + if_icmpeq LABEL230 + jump LABEL234 +LABEL230: invoke 2526 pop_int clientclock set_varc_int 384 -LABEL223: +LABEL234: invoke 1972 iconst 1 - if_icmpeq LABEL227 - jump LABEL228 -LABEL227: + if_icmpeq LABEL238 + jump LABEL239 +LABEL238: invoke 2581 -LABEL228: +LABEL239: return diff --git a/runelite-client/src/main/scripts/ToplevelChatboxBackground.hash b/runelite-client/src/main/scripts/ToplevelChatboxBackground.hash index f5ddb51c2a..f3f2393a6d 100644 --- a/runelite-client/src/main/scripts/ToplevelChatboxBackground.hash +++ b/runelite-client/src/main/scripts/ToplevelChatboxBackground.hash @@ -1 +1 @@ -8567736DBA2A2558DBD5883204C10FF794768C18DB4D85FE44C0959EB7F40885 \ No newline at end of file +1CEB4F2F85A8FECA9D9CB80DCAF0CB6A1FB3670607C6CDE80363BC40E95CA1E3 \ No newline at end of file diff --git a/runelite-client/src/main/scripts/ToplevelChatboxBackground.rs2asm b/runelite-client/src/main/scripts/ToplevelChatboxBackground.rs2asm index aae32a2576..c2c74f11c5 100644 --- a/runelite-client/src/main/scripts/ToplevelChatboxBackground.rs2asm +++ b/runelite-client/src/main/scripts/ToplevelChatboxBackground.rs2asm @@ -45,7 +45,7 @@ LABEL26: invoke 183 LABEL31: iload 0 - iconst 10616869 + iconst 10616866 if_sethide get_varbit 6374 iconst 1 @@ -61,13 +61,13 @@ LABEL42: iconst 0 iconst 2 iconst 0 - iconst 10616891 + iconst 10616888 if_setposition iconst -1 iconst 0 iconst 0 iconst 0 - iconst 10617392 + iconst 10617389 if_setposition jump LABEL67 LABEL55: @@ -75,18 +75,18 @@ LABEL55: iconst 0 iconst 0 iconst 0 - iconst 10616891 + iconst 10616888 if_setposition iconst 0 iconst 0 iconst 2 iconst 0 - iconst 10617392 + iconst 10617389 if_setposition LABEL67: - iconst 10616870 + iconst 10616867 cc_deleteall - iconst 10616889 + iconst 10616886 cc_deleteall iconst 0 istore 1 @@ -105,13 +105,13 @@ LABEL81: iconst 2155 get_varc_int 223 sconst "i" - iconst 10616870 + iconst 10616867 if_setontimer jump LABEL93 LABEL89: iconst -1 sconst "" - iconst 10616870 + iconst 10616867 if_setontimer LABEL93: invoke 921 @@ -120,14 +120,14 @@ LABEL93: jump LABEL163 LABEL97: iconst 1 - iconst 10616870 + iconst 10616867 if_setnoclickthrough iload 1 iconst 0 if_icmpeq LABEL104 jump LABEL142 LABEL104: - iconst 10616870 + iconst 10616867 iconst 5 iconst 0 cc_create @@ -147,7 +147,7 @@ LABEL104: cc_settiling iconst 0 cc_settrans - iconst 10616889 + iconst 10616886 iconst 3 iconst 0 cc_create @@ -166,7 +166,7 @@ LABEL104: iconst 1 cc_setfill LABEL142: - iconst 10617392 + iconst 10617389 iconst 792 iconst 789 iconst 790 @@ -203,15 +203,15 @@ LABEL163: jump LABEL177 LABEL173: iconst 1 - iconst 10616870 + iconst 10616867 if_setnoclickthrough jump LABEL183 LABEL177: iconst 0 - iconst 10616870 + iconst 10616867 if_setnoclickthrough iconst 1 - iconst 10616870 + iconst 10616867 2006 LABEL183: iconst 0 @@ -231,7 +231,7 @@ LABEL193: if_icmplt LABEL197 jump LABEL272 LABEL197: - iconst 10616870 + iconst 10616867 iconst 3 iload 4 cc_create @@ -251,13 +251,13 @@ LABEL197: cc_setfill iconst 254 cc_settrans - iconst 10616889 + iconst 10616886 iconst 3 iload 4 iconst 2 multiply cc_create - iconst 10616889 + iconst 10616886 iconst 3 iload 4 iconst 2 @@ -311,7 +311,7 @@ LABEL272: runelite_callback jump LABEL339 LABEL273: - iconst 10616870 + iconst 10616867 iconst 3 iload 4 cc_create @@ -331,13 +331,13 @@ LABEL273: cc_setfill iconst 225 cc_settrans - iconst 10616889 + iconst 10616886 iconst 3 iload 4 iconst 2 multiply cc_create - iconst 10616889 + iconst 10616886 iconst 3 iload 4 iconst 2 @@ -378,7 +378,7 @@ LABEL273: iconst 130 cc_settrans 1 LABEL339: - iconst 10617392 + iconst 10617389 iconst 1190 iconst 1187 iconst 1188 From 401fbf3ca4b4f232a85b77bed16b364a2fb2023a Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 19 May 2021 05:17:39 -0600 Subject: [PATCH 14/17] gpu: increase texture limit --- .../main/java/net/runelite/client/plugins/gpu/GpuPlugin.java | 4 ++-- .../main/resources/net/runelite/client/plugins/gpu/frag.glsl | 2 +- 2 files changed, 3 insertions(+), 3 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java index fd35d806b3..2c54f1744b 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/gpu/GpuPlugin.java @@ -218,7 +218,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks private int textureArrayId; private final GLBuffer uniformBuffer = new GLBuffer(); - private final float[] textureOffsets = new float[128]; + private final float[] textureOffsets = new float[256]; private GpuIntBuffer vertexBuffer; private GpuFloatBuffer uvBuffer; @@ -1198,7 +1198,7 @@ public class GpuPlugin extends Plugin implements DrawCallbacks // Bind uniforms gl.glUniformBlockBinding(glProgram, uniBlockMain, 0); gl.glUniform1i(uniTextures, 1); // texture sampler array is bound to texture1 - gl.glUniform2fv(uniTextureOffsets, 128, textureOffsets, 0); + gl.glUniform2fv(uniTextureOffsets, textureOffsets.length, textureOffsets, 0); // We just allow the GL to do face culling. Note this requires the priority renderer // to have logic to disregard culled faces in the priority depth testing. diff --git a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl index 9b6ae61db8..d028c4ce40 100644 --- a/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl +++ b/runelite-client/src/main/resources/net/runelite/client/plugins/gpu/frag.glsl @@ -25,7 +25,7 @@ #version 330 uniform sampler2DArray textures; -uniform vec2 textureOffsets[64]; +uniform vec2 textureOffsets[128]; uniform float brightness; uniform float smoothBanding; uniform vec4 fogColor; From 56dcbe2e63a514ae94258aed3606772776a663a0 Mon Sep 17 00:00:00 2001 From: Max Weber Date: Wed, 19 May 2021 06:05:34 -0600 Subject: [PATCH 15/17] friendschat: remove unused title strings --- .../runelite/client/plugins/friendschat/FriendsChatPlugin.java | 2 -- 1 file changed, 2 deletions(-) diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java index 9ac986f02b..c851c05697 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/friendschat/FriendsChatPlugin.java @@ -96,8 +96,6 @@ import net.runelite.client.util.Text; public class FriendsChatPlugin extends Plugin { private static final int MAX_CHATS = 10; - private static final String TITLE = "FC"; - private static final String RECENT_TITLE = "Recent FCs"; private static final int MESSAGE_DELAY = 10; @Inject From 9aa7da5be59c8322d5b2639b427416565b513a90 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Wed, 19 May 2021 12:19:38 +0000 Subject: [PATCH 16/17] Release 1.7.8 --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-jshell/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 4579f05227..5cfb8f4330 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index 1401cd397f..f90c41b1cc 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index 05793a12f6..f05f0ecf0f 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 cache diff --git a/http-api/pom.xml b/http-api/pom.xml index e1ae3f5194..e7443ef5ff 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index 8d6ca1fa45..d2c015ced2 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 Web Service diff --git a/pom.xml b/pom.xml index 500e42d617..494f05b850 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - HEAD + runelite-parent-1.7.8 diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index d3dcff8d77..a53d154249 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index b0eaf9961e..20621c9dd8 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 client diff --git a/runelite-jshell/pom.xml b/runelite-jshell/pom.xml index deb4c592d2..d32c998d6d 100644 --- a/runelite-jshell/pom.xml +++ b/runelite-jshell/pom.xml @@ -30,7 +30,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 jshell diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index cebf69870a..8203ca77e8 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8-SNAPSHOT + 1.7.8 script-assembler-plugin From a5e39e72afc815d236ca5b2978f695ba4bedce55 Mon Sep 17 00:00:00 2001 From: Runelite auto updater Date: Wed, 19 May 2021 12:19:48 +0000 Subject: [PATCH 17/17] Bump for 1.7.9-SNAPSHOT --- cache-client/pom.xml | 2 +- cache-updater/pom.xml | 2 +- cache/pom.xml | 2 +- http-api/pom.xml | 2 +- http-service/pom.xml | 2 +- pom.xml | 4 ++-- runelite-api/pom.xml | 2 +- runelite-client/pom.xml | 2 +- runelite-jshell/pom.xml | 2 +- runelite-script-assembler-plugin/pom.xml | 2 +- 10 files changed, 11 insertions(+), 11 deletions(-) diff --git a/cache-client/pom.xml b/cache-client/pom.xml index 5cfb8f4330..4af3fd9ba1 100644 --- a/cache-client/pom.xml +++ b/cache-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT cache-client diff --git a/cache-updater/pom.xml b/cache-updater/pom.xml index f90c41b1cc..58623dfb8d 100644 --- a/cache-updater/pom.xml +++ b/cache-updater/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT Cache Updater diff --git a/cache/pom.xml b/cache/pom.xml index f05f0ecf0f..c96021d85b 100644 --- a/cache/pom.xml +++ b/cache/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT cache diff --git a/http-api/pom.xml b/http-api/pom.xml index e7443ef5ff..08141910b4 100644 --- a/http-api/pom.xml +++ b/http-api/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT Web API diff --git a/http-service/pom.xml b/http-service/pom.xml index d2c015ced2..726215cd28 100644 --- a/http-service/pom.xml +++ b/http-service/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT Web Service diff --git a/pom.xml b/pom.xml index 494f05b850..b0a95fdd28 100644 --- a/pom.xml +++ b/pom.xml @@ -28,7 +28,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT pom RuneLite @@ -61,7 +61,7 @@ https://github.com/runelite/runelite scm:git:git://github.com/runelite/runelite scm:git:git@github.com:runelite/runelite - runelite-parent-1.7.8 + HEAD diff --git a/runelite-api/pom.xml b/runelite-api/pom.xml index a53d154249..dcaf4a73d0 100644 --- a/runelite-api/pom.xml +++ b/runelite-api/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT runelite-api diff --git a/runelite-client/pom.xml b/runelite-client/pom.xml index 20621c9dd8..585af5a554 100644 --- a/runelite-client/pom.xml +++ b/runelite-client/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT client diff --git a/runelite-jshell/pom.xml b/runelite-jshell/pom.xml index d32c998d6d..592232a900 100644 --- a/runelite-jshell/pom.xml +++ b/runelite-jshell/pom.xml @@ -30,7 +30,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT jshell diff --git a/runelite-script-assembler-plugin/pom.xml b/runelite-script-assembler-plugin/pom.xml index 8203ca77e8..098fa98120 100644 --- a/runelite-script-assembler-plugin/pom.xml +++ b/runelite-script-assembler-plugin/pom.xml @@ -29,7 +29,7 @@ net.runelite runelite-parent - 1.7.8 + 1.7.9-SNAPSHOT script-assembler-plugin