diff --git a/runelite-api/src/main/java/net/runelite/api/VarClient.java b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java similarity index 96% rename from runelite-api/src/main/java/net/runelite/api/VarClient.java rename to runelite-api/src/main/java/net/runelite/api/VarClientInt.java index 32a7606917..9bd821ec67 100644 --- a/runelite-api/src/main/java/net/runelite/api/VarClient.java +++ b/runelite-api/src/main/java/net/runelite/api/VarClientInt.java @@ -1,37 +1,37 @@ -/* - * Copyright (c) 2018, Adam - * All rights reserved. - * - * Redistribution and use in source and binary forms, with or without - * modification, are permitted provided that the following conditions are met: - * - * 1. Redistributions of source code must retain the above copyright notice, this - * list of conditions and the following disclaimer. - * 2. Redistributions in binary form must reproduce the above copyright notice, - * this list of conditions and the following disclaimer in the documentation - * and/or other materials provided with the distribution. - * - * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND - * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED - * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE - * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR - * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES - * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; - * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND - * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT - * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS - * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. - */ -package net.runelite.api; - -import lombok.AllArgsConstructor; -import lombok.Getter; - -@AllArgsConstructor -@Getter -public enum VarClient -{ - TOOLTIP_TIMEOUT(1); - - private final int index; -} +/* + * Copyright (c) 2018, Adam + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum VarClientInt +{ + TOOLTIP_TIMEOUT(1); + + private final int index; +} diff --git a/runelite-api/src/main/java/net/runelite/api/VarClientStr.java b/runelite-api/src/main/java/net/runelite/api/VarClientStr.java new file mode 100644 index 0000000000..170d50d96f --- /dev/null +++ b/runelite-api/src/main/java/net/runelite/api/VarClientStr.java @@ -0,0 +1,37 @@ +/* + * Copyright (c) 2018, Kamiel + * All rights reserved. + * + * Redistribution and use in source and binary forms, with or without + * modification, are permitted provided that the following conditions are met: + * + * 1. Redistributions of source code must retain the above copyright notice, this + * list of conditions and the following disclaimer. + * 2. Redistributions in binary form must reproduce the above copyright notice, + * this list of conditions and the following disclaimer in the documentation + * and/or other materials provided with the distribution. + * + * THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND + * ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED + * WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE + * DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR + * ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES + * (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES; + * LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND + * ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT + * (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS + * SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE. + */ +package net.runelite.api; + +import lombok.AllArgsConstructor; +import lombok.Getter; + +@AllArgsConstructor +@Getter +public enum VarClientStr +{ + CHATBOX_TYPED_TEXT(1); + + private final int index; +} diff --git a/runelite-api/src/main/java/net/runelite/api/Varcs.java b/runelite-api/src/main/java/net/runelite/api/Varcs.java index caadc54047..9d34b004af 100644 --- a/runelite-api/src/main/java/net/runelite/api/Varcs.java +++ b/runelite-api/src/main/java/net/runelite/api/Varcs.java @@ -26,5 +26,7 @@ package net.runelite.api; public interface Varcs { - int getIntVar(VarClient var); + int getIntVar(VarClientInt var); + + String getStrVar(VarClientStr var); } diff --git a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java index 4aee637663..bb17fce5c9 100644 --- a/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java +++ b/runelite-client/src/main/java/net/runelite/client/plugins/mousehighlight/MouseHighlightOverlay.java @@ -30,7 +30,7 @@ import java.awt.Graphics2D; import javax.inject.Inject; import net.runelite.api.Client; import net.runelite.api.MenuEntry; -import net.runelite.api.VarClient; +import net.runelite.api.VarClientInt; import net.runelite.api.Varcs; import net.runelite.api.widgets.Widget; import net.runelite.api.widgets.WidgetInfo; @@ -113,7 +113,7 @@ class MouseHighlightOverlay extends Overlay { // If this varc is set, some CS is showing tooltip Varcs varcs = client.getVarcs(); - int tooltipTimeout = varcs.getIntVar(VarClient.TOOLTIP_TIMEOUT); + int tooltipTimeout = varcs.getIntVar(VarClientInt.TOOLTIP_TIMEOUT); if (tooltipTimeout > client.getGameCycle()) { return null; diff --git a/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java b/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java index cb86752675..0104fec76c 100644 --- a/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java +++ b/runelite-mixins/src/main/java/net/runelite/mixins/RSVarcsMixin.java @@ -24,7 +24,8 @@ */ package net.runelite.mixins; -import net.runelite.api.VarClient; +import net.runelite.api.VarClientInt; +import net.runelite.api.VarClientStr; import net.runelite.api.mixins.Inject; import net.runelite.api.mixins.Mixin; import net.runelite.rs.api.RSVarcs; @@ -34,9 +35,17 @@ public abstract class RSVarcsMixin implements RSVarcs { @Inject @Override - public int getIntVar(VarClient var) + public int getIntVar(VarClientInt var) { - int[] varcs = getVarcs(); + int[] varcs = getIntVarcs(); + return varcs[var.getIndex()]; + } + + @Inject + @Override + public String getStrVar(VarClientStr var) + { + String[] varcs = getStrVarcs(); return varcs[var.getIndex()]; } } \ No newline at end of file diff --git a/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java b/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java index cd6ae87921..cad5243dc1 100644 --- a/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java +++ b/runescape-api/src/main/java/net/runelite/rs/api/RSVarcs.java @@ -30,5 +30,8 @@ import net.runelite.mapping.Import; public interface RSVarcs extends Varcs { @Import("varcs") - int[] getVarcs(); + int[] getIntVarcs(); + + @Import("varcstrings") + String[] getStrVarcs(); }