upstream: merge and version bump
upstream: merge and version bump
This commit is contained in:
@@ -25,9 +25,9 @@
|
||||
|
||||
object ProjectVersions {
|
||||
const val launcherVersion = "2.2.0"
|
||||
const val rlVersion = "1.6.11"
|
||||
const val rlVersion = "1.6.12"
|
||||
|
||||
const val openosrsVersion = "3.2.2"
|
||||
const val openosrsVersion = "3.3.0"
|
||||
const val openosrsInjectorVersion = "1.0.3.1"
|
||||
|
||||
const val rsversion = 189
|
||||
|
||||
@@ -162,6 +162,7 @@ public final class AnimationID
|
||||
public static final int MAGIC_ENCHANTING_AMULET_1 = 719; // sapphire, opal, diamond
|
||||
public static final int MAGIC_ENCHANTING_AMULET_2 = 720; // emerald, jade, dragonstone
|
||||
public static final int MAGIC_ENCHANTING_AMULET_3 = 721; // ruby, topaz, onyx, zenyte
|
||||
public static final int MAGIC_ENCHANTING_BOLTS = 4462;
|
||||
public static final int BURYING_BONES = 827;
|
||||
public static final int USING_GILDED_ALTAR = 3705;
|
||||
public static final int LOOKING_INTO = 832;
|
||||
|
||||
@@ -52,6 +52,38 @@ public class Hitsplat
|
||||
* Taking damage by others (red).
|
||||
*/
|
||||
DAMAGE_OTHER,
|
||||
/**
|
||||
* Taking damage by me (cyan).
|
||||
*/
|
||||
DAMAGE_ME_CYAN,
|
||||
/**
|
||||
* Taking damage by others (cyan).
|
||||
*/
|
||||
DAMAGE_OTHER_CYAN,
|
||||
/**
|
||||
* Taking damage by me (orange).
|
||||
*/
|
||||
DAMAGE_ME_ORANGE,
|
||||
/**
|
||||
* Taking damage by others (orange).
|
||||
*/
|
||||
DAMAGE_OTHER_ORANGE,
|
||||
/**
|
||||
* Taking damage by me (yellow).
|
||||
*/
|
||||
DAMAGE_ME_YELLOW,
|
||||
/**
|
||||
* Taking damage by others (yellow).
|
||||
*/
|
||||
DAMAGE_OTHER_YELLOW,
|
||||
/**
|
||||
* Taking damage by me (white).
|
||||
*/
|
||||
DAMAGE_ME_WHITE,
|
||||
/**
|
||||
* Taking damage by others (white/black).
|
||||
*/
|
||||
DAMAGE_OTHER_WHITE,
|
||||
/**
|
||||
* Damage from poison (green).
|
||||
*/
|
||||
@@ -88,6 +120,14 @@ public class Hitsplat
|
||||
case 4: return DISEASE;
|
||||
case 5: return VENOM;
|
||||
case 6: return HEAL;
|
||||
case 18: return DAMAGE_ME_CYAN;
|
||||
case 19: return DAMAGE_OTHER_CYAN;
|
||||
case 20: return DAMAGE_ME_ORANGE;
|
||||
case 21: return DAMAGE_OTHER_ORANGE;
|
||||
case 22: return DAMAGE_ME_YELLOW;
|
||||
case 23: return DAMAGE_OTHER_YELLOW;
|
||||
case 24: return DAMAGE_ME_WHITE;
|
||||
case 25: return DAMAGE_OTHER_WHITE;
|
||||
}
|
||||
return null;
|
||||
}
|
||||
@@ -117,4 +157,36 @@ public class Hitsplat
|
||||
this.amount = amount;
|
||||
this.disappearsOnGameCycle = disappearsOnGameCycle;
|
||||
}
|
||||
|
||||
public boolean isMine()
|
||||
{
|
||||
switch (this.getHitsplatType())
|
||||
{
|
||||
case BLOCK_ME:
|
||||
case DAMAGE_ME:
|
||||
case DAMAGE_ME_CYAN:
|
||||
case DAMAGE_ME_YELLOW:
|
||||
case DAMAGE_ME_ORANGE:
|
||||
case DAMAGE_ME_WHITE:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
public boolean isOthers()
|
||||
{
|
||||
switch (this.getHitsplatType())
|
||||
{
|
||||
case BLOCK_OTHER:
|
||||
case DAMAGE_OTHER:
|
||||
case DAMAGE_OTHER_CYAN:
|
||||
case DAMAGE_OTHER_YELLOW:
|
||||
case DAMAGE_OTHER_ORANGE:
|
||||
case DAMAGE_OTHER_WHITE:
|
||||
return true;
|
||||
default:
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -24,6 +24,9 @@
|
||||
*/
|
||||
package net.runelite.api;
|
||||
|
||||
import javax.annotation.Nonnull;
|
||||
import javax.annotation.Nullable;
|
||||
|
||||
/**
|
||||
* Represents an inventory that contains items.
|
||||
*/
|
||||
@@ -34,5 +37,34 @@ public interface ItemContainer extends Node
|
||||
*
|
||||
* @return the items held
|
||||
*/
|
||||
@Nonnull
|
||||
Item[] getItems();
|
||||
|
||||
/**
|
||||
* Gets an item from the container at the given slot.
|
||||
*
|
||||
* @param slot
|
||||
* @return the item
|
||||
* @see Item
|
||||
*/
|
||||
@Nullable
|
||||
Item getItem(int slot);
|
||||
|
||||
/**
|
||||
* Check if this item container contains the given item
|
||||
*
|
||||
* @param itemId
|
||||
* @return
|
||||
* @see ItemID
|
||||
*/
|
||||
boolean contains(int itemId);
|
||||
|
||||
/**
|
||||
* Counts how many of an item this item container contains
|
||||
*
|
||||
* @param itemId
|
||||
* @return
|
||||
* @see ItemID
|
||||
*/
|
||||
int count(int itemId);
|
||||
}
|
||||
|
||||
@@ -11434,5 +11434,31 @@ public final class ItemID
|
||||
public static final int TANGLEROOT_24559 = 24559;
|
||||
public static final int TANGLEROOT_24561 = 24561;
|
||||
public static final int TANGLEROOT_24563 = 24563;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_1 = 24565;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_2 = 24567;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_3 = 24569;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_4 = 24571;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_5 = 24573;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_6 = 24575;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_7 = 24577;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_8 = 24579;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_9 = 24581;
|
||||
public static final int ANTIQUE_EMBLEM_TIER_10 = 24583;
|
||||
public static final int LOOTING_BAG_NOTE = 24585;
|
||||
public static final int RUNE_POUCH_NOTE = 24587;
|
||||
public static final int BLIGHTED_MANTA_RAY = 24589;
|
||||
public static final int BLIGHTED_ANGLERFISH = 24592;
|
||||
public static final int BLIGHTED_KARAMBWAN = 24595;
|
||||
public static final int BLIGHTED_SUPER_RESTORE4 = 24598;
|
||||
public static final int BLIGHTED_SUPER_RESTORE3 = 24601;
|
||||
public static final int BLIGHTED_SUPER_RESTORE2 = 24603;
|
||||
public static final int BLIGHTED_SUPER_RESTORE1 = 24605;
|
||||
public static final int BLIGHTED_ICE_BARRAGE_SACK = 24607;
|
||||
public static final int BLIGHTED_BIND_SACK = 24609;
|
||||
public static final int BLIGHTED_SNARE_SACK = 24611;
|
||||
public static final int BLIGHTED_ENTANGLE_SACK = 24613;
|
||||
public static final int BLIGHTED_TELEBLOCK_SACK = 24615;
|
||||
public static final int VESTAS_BLIGHTED_LONGSWORD = 24617;
|
||||
public static final int VESTAS_LONGSWORD_INACTIVE = 24619;
|
||||
/* This file is automatically generated. Do not edit. */
|
||||
}
|
||||
|
||||
@@ -5993,6 +5993,7 @@ public final class NpcID
|
||||
public static final int SISTER_SCAROPHIA = 6590;
|
||||
public static final int LAVA_DRAGON = 6593;
|
||||
public static final int ENT = 6594;
|
||||
public static final int PRIFDDINAS_GUARD = 6595;
|
||||
public static final int ZOMBIE_6596 = 6596;
|
||||
public static final int ZOMBIE_6597 = 6597;
|
||||
public static final int ZOMBIE_6598 = 6598;
|
||||
|
||||
@@ -12922,5 +12922,35 @@ public final class NullItemID
|
||||
public static final int NULL_24560 = 24560;
|
||||
public static final int NULL_24562 = 24562;
|
||||
public static final int NULL_24564 = 24564;
|
||||
public static final int NULL_24566 = 24566;
|
||||
public static final int NULL_24568 = 24568;
|
||||
public static final int NULL_24570 = 24570;
|
||||
public static final int NULL_24572 = 24572;
|
||||
public static final int NULL_24574 = 24574;
|
||||
public static final int NULL_24576 = 24576;
|
||||
public static final int NULL_24578 = 24578;
|
||||
public static final int NULL_24580 = 24580;
|
||||
public static final int NULL_24582 = 24582;
|
||||
public static final int NULL_24584 = 24584;
|
||||
public static final int NULL_24586 = 24586;
|
||||
public static final int NULL_24588 = 24588;
|
||||
public static final int NULL_24590 = 24590;
|
||||
public static final int NULL_24591 = 24591;
|
||||
public static final int NULL_24593 = 24593;
|
||||
public static final int NULL_24594 = 24594;
|
||||
public static final int NULL_24596 = 24596;
|
||||
public static final int NULL_24597 = 24597;
|
||||
public static final int NULL_24599 = 24599;
|
||||
public static final int NULL_24600 = 24600;
|
||||
public static final int NULL_24602 = 24602;
|
||||
public static final int NULL_24604 = 24604;
|
||||
public static final int NULL_24606 = 24606;
|
||||
public static final int NULL_24608 = 24608;
|
||||
public static final int NULL_24610 = 24610;
|
||||
public static final int NULL_24612 = 24612;
|
||||
public static final int NULL_24614 = 24614;
|
||||
public static final int NULL_24616 = 24616;
|
||||
public static final int NULL_24618 = 24618;
|
||||
public static final int NULL_24620 = 24620;
|
||||
/* This file is automatically generated. Do not edit. */
|
||||
}
|
||||
|
||||
@@ -66,4 +66,18 @@ public interface ScriptEvent
|
||||
* Parent relative x coordinate for mouse related events
|
||||
*/
|
||||
int getMouseX();
|
||||
|
||||
/**
|
||||
* Jagex typed keycode
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
int getTypedKeyCode();
|
||||
|
||||
/**
|
||||
* Get the typed character, ascii.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
int getTypedKeyChar();
|
||||
}
|
||||
|
||||
@@ -271,12 +271,6 @@ public final class ScriptID
|
||||
@ScriptArguments(integer = 3)
|
||||
public static final int QUESTLIST_PROGRESS_LIST_SHOW = 1354;
|
||||
|
||||
/**
|
||||
* Procedure called when the toplevel interface is resized
|
||||
*/
|
||||
@ScriptArguments(integer = 2)
|
||||
public static final int TOPLEVEL_RESIZE = 909;
|
||||
|
||||
/**
|
||||
* Called when the friends list is updated
|
||||
* <ul>
|
||||
|
||||
@@ -24,6 +24,7 @@
|
||||
*/
|
||||
package net.runelite.api.hooks;
|
||||
|
||||
import net.runelite.api.Model;
|
||||
import net.runelite.api.Entity;
|
||||
import net.runelite.api.TileModel;
|
||||
import net.runelite.api.TilePaint;
|
||||
@@ -44,7 +45,9 @@ public interface DrawCallbacks
|
||||
|
||||
void draw();
|
||||
|
||||
boolean drawFace(Model model, int face);
|
||||
|
||||
void drawScene(int cameraX, int cameraY, int cameraZ, int cameraPitch, int cameraYaw, int plane);
|
||||
|
||||
void animate(Texture texture, int diff);
|
||||
}
|
||||
}
|
||||
@@ -692,12 +692,23 @@ public interface Widget
|
||||
void revalidateScroll();
|
||||
|
||||
/**
|
||||
* Array of widget key listeners
|
||||
* Gets the script and arguments to be ran when a menu action is clicked.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Object[] getOnOpListener();
|
||||
|
||||
/**
|
||||
* Gets the script and arguments to be ran when a key is pressed.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Object[] getOnKeyListener();
|
||||
|
||||
/**
|
||||
* Array of widget load listeners
|
||||
* Gets the script and arguments to be ran when a interface is loaded.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Object[] getOnLoadListener();
|
||||
|
||||
@@ -705,6 +716,13 @@ public interface Widget
|
||||
|
||||
Object[] getOnOp();
|
||||
|
||||
/**
|
||||
* Gets the script and arguments to be ran when one of the listened for inventories changes.
|
||||
*
|
||||
* @return
|
||||
*/
|
||||
Object[] getOnInvTransmitListener();
|
||||
|
||||
/**
|
||||
* Returns the archive id of the font used
|
||||
*
|
||||
|
||||
@@ -27,11 +27,24 @@ package net.runelite.client.input;
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.List;
|
||||
import java.util.concurrent.CopyOnWriteArrayList;
|
||||
import javax.annotation.Nullable;
|
||||
import javax.inject.Inject;
|
||||
import javax.inject.Singleton;
|
||||
import net.runelite.api.Client;
|
||||
import net.runelite.api.GameState;
|
||||
import net.runelite.client.util.HotkeyListener;
|
||||
|
||||
@Singleton
|
||||
public class KeyManager
|
||||
{
|
||||
private final Client client;
|
||||
|
||||
@Inject
|
||||
private KeyManager(@Nullable final Client client)
|
||||
{
|
||||
this.client = client;
|
||||
}
|
||||
|
||||
private final List<KeyListener> keyListeners = new CopyOnWriteArrayList<>();
|
||||
|
||||
public void registerKeyListener(KeyListener keyListener)
|
||||
@@ -56,6 +69,11 @@ public class KeyManager
|
||||
|
||||
for (KeyListener keyListener : keyListeners)
|
||||
{
|
||||
if (!shouldProcess(keyListener))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
keyListener.keyPressed(keyEvent);
|
||||
if (keyEvent.isConsumed())
|
||||
{
|
||||
@@ -73,6 +91,11 @@ public class KeyManager
|
||||
|
||||
for (KeyListener keyListener : keyListeners)
|
||||
{
|
||||
if (!shouldProcess(keyListener))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
keyListener.keyReleased(keyEvent);
|
||||
if (keyEvent.isConsumed())
|
||||
{
|
||||
@@ -90,6 +113,11 @@ public class KeyManager
|
||||
|
||||
for (KeyListener keyListener : keyListeners)
|
||||
{
|
||||
if (!shouldProcess(keyListener))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
keyListener.keyTyped(keyEvent);
|
||||
if (keyEvent.isConsumed())
|
||||
{
|
||||
@@ -97,4 +125,26 @@ public class KeyManager
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
private boolean shouldProcess(final KeyListener keyListener)
|
||||
{
|
||||
if (client == null)
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
if (!(keyListener instanceof HotkeyListener))
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
final HotkeyListener hotkeyListener = (HotkeyListener) keyListener;
|
||||
|
||||
if (hotkeyListener.isEnabledOnLogin())
|
||||
{
|
||||
return true;
|
||||
}
|
||||
|
||||
return client.getGameState() != GameState.LOGIN_SCREEN;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -397,6 +397,7 @@ public class ClientUI
|
||||
}
|
||||
};
|
||||
|
||||
sidebarListener.setEnabledOnLogin(true);
|
||||
keyManager.registerKeyListener(sidebarListener);
|
||||
|
||||
final HotkeyListener pluginPanelListener = new HotkeyListener(config::panelToggleKey)
|
||||
|
||||
@@ -50,6 +50,7 @@ public abstract class Overlay implements LayoutableRenderableEntity
|
||||
private OverlayLayer layer = OverlayLayer.UNDER_WIDGETS;
|
||||
private final List<OverlayMenuEntry> menuEntries = new ArrayList<>();
|
||||
private boolean resizable;
|
||||
private boolean resettable = true;
|
||||
|
||||
protected Overlay()
|
||||
{
|
||||
|
||||
@@ -355,7 +355,10 @@ public class OverlayRenderer extends MouseAdapter implements KeyListener
|
||||
|
||||
if (SwingUtilities.isRightMouseButton(mouseEvent))
|
||||
{
|
||||
overlayManager.resetOverlay(currentManagedOverlay);
|
||||
if (currentManagedOverlay.isResettable())
|
||||
{
|
||||
overlayManager.resetOverlay(currentManagedOverlay);
|
||||
}
|
||||
}
|
||||
else if (SwingUtilities.isLeftMouseButton(mouseEvent))
|
||||
{
|
||||
|
||||
@@ -53,7 +53,6 @@ public class WidgetOverlay extends Overlay
|
||||
.put(WidgetInfo.PEST_CONTROL_BOAT_INFO, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.PEST_CONTROL_INFO, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.ZEAH_MESS_HALL_COOKING_DISPLAY, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.PVP_BOUNTY_HUNTER_INFO, OverlayPosition.TOP_RIGHT)
|
||||
.put(WidgetInfo.PVP_KILLDEATH_COUNTER, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.SKOTIZO_CONTAINER, OverlayPosition.TOP_LEFT)
|
||||
.put(WidgetInfo.KOUREND_FAVOUR_OVERLAY, OverlayPosition.TOP_CENTER)
|
||||
|
||||
@@ -26,7 +26,9 @@ package net.runelite.client.util;
|
||||
|
||||
import java.awt.event.KeyEvent;
|
||||
import java.util.function.Supplier;
|
||||
import lombok.Getter;
|
||||
import lombok.RequiredArgsConstructor;
|
||||
import lombok.Setter;
|
||||
import net.runelite.client.config.Keybind;
|
||||
import net.runelite.client.input.KeyListener;
|
||||
|
||||
@@ -39,6 +41,10 @@ public abstract class HotkeyListener implements KeyListener
|
||||
|
||||
private boolean isConsumingTyped = false;
|
||||
|
||||
@Setter
|
||||
@Getter
|
||||
private boolean isEnabledOnLogin = false;
|
||||
|
||||
@Override
|
||||
public void keyTyped(KeyEvent e)
|
||||
{
|
||||
|
||||
@@ -417,6 +417,8 @@ public class WeaponMap
|
||||
StyleMap.put(ItemID.VERACS_FLAIL_25, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VERACS_FLAIL_50, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VERACS_FLAIL_75, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VESTAS_BLIGHTED_LONGSWORD, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VESTAS_LONGSWORD_INACTIVE, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VIGGORAS_CHAINMACE, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VIGGORAS_CHAINMACE_U, WeaponStyle.MELEE);
|
||||
StyleMap.put(ItemID.VOLCANIC_ABYSSAL_WHIP, WeaponStyle.MELEE);
|
||||
|
||||
@@ -9336,7 +9336,8 @@
|
||||
],
|
||||
"vestas longsword": [
|
||||
22613,
|
||||
23615
|
||||
23615,
|
||||
24619
|
||||
],
|
||||
"statiuss warhammer": [
|
||||
22622,
|
||||
@@ -9730,5 +9731,23 @@
|
||||
24469,
|
||||
24472,
|
||||
24475
|
||||
],
|
||||
"antique emblem": [
|
||||
24565,
|
||||
24567,
|
||||
24569,
|
||||
24571,
|
||||
24573,
|
||||
24575,
|
||||
24577,
|
||||
24579,
|
||||
24581,
|
||||
24583
|
||||
],
|
||||
"blighted super restore": [
|
||||
24598,
|
||||
24601,
|
||||
24603,
|
||||
24605
|
||||
]
|
||||
}
|
||||
|
||||
@@ -1 +1 @@
|
||||
08461B2A942D4D792EEB9D9BCCEB9B11256AD8B217B1EAF1BDBA71314F816D6F
|
||||
1DC252B93DF0D948329C4EAD151FA9406A17D3CF2C5C3EC0317BF4DCD1B3811A
|
||||
@@ -10,7 +10,7 @@
|
||||
iload 2
|
||||
iconst 1
|
||||
if_icmpeq LABEL8
|
||||
jump LABEL74
|
||||
jump LABEL80
|
||||
LABEL8:
|
||||
get_varp 1676
|
||||
iconst 4
|
||||
@@ -39,81 +39,87 @@ LABEL27:
|
||||
iload 0
|
||||
if_settext
|
||||
LABEL30:
|
||||
jump LABEL73
|
||||
jump LABEL79
|
||||
LABEL31:
|
||||
get_varbit 4965
|
||||
iconst 0
|
||||
if_icmpgt LABEL35
|
||||
jump LABEL39
|
||||
jump LABEL45
|
||||
LABEL35:
|
||||
sconst "Protection"
|
||||
iload 0
|
||||
if_settext
|
||||
jump LABEL73
|
||||
LABEL39:
|
||||
iconst 0
|
||||
iconst 13
|
||||
iconst 1
|
||||
iconst 2
|
||||
iload 0
|
||||
if_setposition
|
||||
jump LABEL79
|
||||
LABEL45:
|
||||
iload 1
|
||||
iconst 0
|
||||
if_icmpgt LABEL43
|
||||
jump LABEL54
|
||||
LABEL43:
|
||||
if_icmpgt LABEL49
|
||||
jump LABEL60
|
||||
LABEL49:
|
||||
get_varbit 5954
|
||||
iconst 1
|
||||
if_icmpeq LABEL47
|
||||
jump LABEL54
|
||||
LABEL47:
|
||||
if_icmpeq LABEL53
|
||||
jump LABEL60
|
||||
LABEL53:
|
||||
sconst "Level: "
|
||||
iload 1
|
||||
tostring
|
||||
join_string 2
|
||||
iload 0
|
||||
if_settext
|
||||
jump LABEL73
|
||||
LABEL54:
|
||||
jump LABEL79
|
||||
LABEL60:
|
||||
get_varc_int 78
|
||||
iconst 1
|
||||
if_icmpeq LABEL58
|
||||
jump LABEL62
|
||||
LABEL58:
|
||||
if_icmpeq LABEL64
|
||||
jump LABEL68
|
||||
LABEL64:
|
||||
sconst "Guarded"
|
||||
iload 0
|
||||
if_settext
|
||||
jump LABEL73
|
||||
LABEL62:
|
||||
jump LABEL79
|
||||
LABEL68:
|
||||
get_varc_int 78
|
||||
iconst 2
|
||||
if_icmpeq LABEL66
|
||||
jump LABEL70
|
||||
LABEL66:
|
||||
if_icmpeq LABEL72
|
||||
jump LABEL76
|
||||
LABEL72:
|
||||
sconst "No PvP"
|
||||
iload 0
|
||||
if_settext
|
||||
jump LABEL73
|
||||
LABEL70:
|
||||
jump LABEL79
|
||||
LABEL76:
|
||||
sconst "Deadman"
|
||||
iload 0
|
||||
if_settext
|
||||
LABEL73:
|
||||
jump LABEL88
|
||||
LABEL74:
|
||||
LABEL79:
|
||||
jump LABEL94
|
||||
LABEL80:
|
||||
iload 1
|
||||
iconst 0
|
||||
if_icmpgt LABEL78
|
||||
jump LABEL85
|
||||
LABEL78:
|
||||
if_icmpgt LABEL84
|
||||
jump LABEL91
|
||||
LABEL84:
|
||||
sconst "Level: "
|
||||
iload 1
|
||||
tostring
|
||||
join_string 2
|
||||
iload 0
|
||||
if_settext
|
||||
jump LABEL88
|
||||
LABEL85:
|
||||
jump LABEL94
|
||||
LABEL91:
|
||||
sconst ""
|
||||
iload 0
|
||||
if_settext
|
||||
LABEL88:
|
||||
LABEL94:
|
||||
iload 1
|
||||
invoke 387
|
||||
sconst "wildernessWidgetTextSet" ; set callback name
|
||||
runelite_callback ; invoke callback
|
||||
runelite_callback ; invoke callback
|
||||
return
|
||||
|
||||
@@ -29,6 +29,7 @@ import java.util.ArrayList;
|
||||
import java.util.List;
|
||||
import net.runelite.api.Model;
|
||||
import net.runelite.api.Perspective;
|
||||
import net.runelite.api.hooks.DrawCallbacks;
|
||||
import net.runelite.api.mixins.Copy;
|
||||
import net.runelite.api.mixins.Inject;
|
||||
import net.runelite.api.mixins.MethodHook;
|
||||
@@ -175,6 +176,19 @@ public abstract class RSModelMixin implements RSModel
|
||||
return model;
|
||||
}
|
||||
|
||||
@Copy("drawFace")
|
||||
public abstract void rs$drawFace(int face);
|
||||
|
||||
@Replace("drawFace")
|
||||
public void rl$drawFace(int face)
|
||||
{
|
||||
DrawCallbacks callbacks = client.getDrawCallbacks();
|
||||
if (callbacks == null || !callbacks.drawFace(this, face))
|
||||
{
|
||||
rs$drawFace(face);
|
||||
}
|
||||
}
|
||||
|
||||
@MethodHook("buildSharedModel")
|
||||
@Inject
|
||||
public void rl$buildSharedModel(boolean refTransparencies, Model sharedModel, byte[] transparencyBuffer)
|
||||
@@ -224,7 +238,7 @@ public abstract class RSModelMixin implements RSModel
|
||||
{
|
||||
int type = frame.getTransformTypes()[i];
|
||||
this.animate(skin.getTypes()[type], skin.getList()[type], frame.getTranslatorX()[i],
|
||||
frame.getTranslatorY()[i], frame.getTranslatorZ()[i]);
|
||||
frame.getTranslatorY()[i], frame.getTranslatorZ()[i]);
|
||||
}
|
||||
}
|
||||
else
|
||||
@@ -235,13 +249,13 @@ public abstract class RSModelMixin implements RSModel
|
||||
{
|
||||
boolean frameValid = false;
|
||||
if (transformIndex < frame.getTransformCount()
|
||||
&& frame.getTransformTypes()[transformIndex] == i)
|
||||
&& frame.getTransformTypes()[transformIndex] == i)
|
||||
{
|
||||
frameValid = true;
|
||||
}
|
||||
boolean nextFrameValid = false;
|
||||
if (nextTransformIndex < nextFrame.getTransformCount()
|
||||
&& nextFrame.getTransformTypes()[nextTransformIndex] == i)
|
||||
&& nextFrame.getTransformTypes()[nextTransformIndex] == i)
|
||||
{
|
||||
nextFrameValid = true;
|
||||
}
|
||||
@@ -399,4 +413,4 @@ public abstract class RSModelMixin implements RSModel
|
||||
{
|
||||
this.rl$faceTextureVCoordinates = faceTextureVCoordinates;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -157,6 +157,10 @@ public interface RSModel extends RSEntity, Model
|
||||
@Import("isSingleTile")
|
||||
@Override
|
||||
boolean isClickable();
|
||||
|
||||
@Import("drawFace")
|
||||
@Override
|
||||
void drawFace(int face);
|
||||
|
||||
void interpolateFrames(RSFrames frames, int frameId, RSFrames nextFrames, int nextFrameId, int interval, int intervalCount);
|
||||
|
||||
|
||||
@@ -1237,7 +1237,7 @@ public class Model extends Entity {
|
||||
var27 = field1731[var7];
|
||||
|
||||
for (var10 = 0; var10 < var8; ++var10) {
|
||||
this.method2986(var27[var10]);
|
||||
this.drawFace(var27[var10]);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -1304,7 +1304,7 @@ public class Model extends Entity {
|
||||
|
||||
for (var15 = 0; var15 < 10; ++var15) {
|
||||
while (var15 == 0 && var10 > var7) {
|
||||
this.method2986(var30[var11++]);
|
||||
this.drawFace(var30[var11++]);
|
||||
if (var11 == var12 && var30 != field1727[11]) {
|
||||
var11 = 0;
|
||||
var12 = field1736[11];
|
||||
@@ -1320,7 +1320,7 @@ public class Model extends Entity {
|
||||
}
|
||||
|
||||
while (var15 == 3 && var10 > var8) {
|
||||
this.method2986(var30[var11++]);
|
||||
this.drawFace(var30[var11++]);
|
||||
if (var11 == var12 && var30 != field1727[11]) {
|
||||
var11 = 0;
|
||||
var12 = field1736[11];
|
||||
@@ -1336,7 +1336,7 @@ public class Model extends Entity {
|
||||
}
|
||||
|
||||
while (var15 == 5 && var10 > var9) {
|
||||
this.method2986(var30[var11++]);
|
||||
this.drawFace(var30[var11++]);
|
||||
if (var11 == var12 && var30 != field1727[11]) {
|
||||
var11 = 0;
|
||||
var12 = field1736[11];
|
||||
@@ -1355,12 +1355,12 @@ public class Model extends Entity {
|
||||
int[] var32 = field1727[var15];
|
||||
|
||||
for (var18 = 0; var18 < var16; ++var18) {
|
||||
this.method2986(var32[var18]);
|
||||
this.drawFace(var32[var18]);
|
||||
}
|
||||
}
|
||||
|
||||
while (var10 != -1000) {
|
||||
this.method2986(var30[var11++]);
|
||||
this.drawFace(var30[var11++]);
|
||||
if (var11 == var12 && var30 != field1727[11]) {
|
||||
var11 = 0;
|
||||
var30 = field1727[11];
|
||||
@@ -1380,7 +1380,8 @@ public class Model extends Entity {
|
||||
}
|
||||
|
||||
@ObfuscatedName("an")
|
||||
final void method2986(int var1) {
|
||||
@Export("drawFace")
|
||||
final void drawFace(int var1) {
|
||||
if (field1722[var1]) {
|
||||
this.method3029(var1);
|
||||
} else {
|
||||
|
||||
Reference in New Issue
Block a user