Merge pull request #2522 from xKylee/upstream

project: upstream + version bump
This commit is contained in:
Kyle
2020-04-26 13:14:24 +01:00
committed by GitHub
28 changed files with 457 additions and 64 deletions
+2 -2
View File
@@ -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. */
}
@@ -104,4 +104,6 @@ public interface Model extends Entity
int getXYZMag();
boolean isClickable();
void drawFace(int face);
}
@@ -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
@@ -1,5 +1,6 @@
/*
* Copyright (c) 2016-2018, Adam <Adam@sigterm.info>
* Copyright (c) 2020, ThatGamerBlue <thatgamerblue@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
@@ -62,6 +63,63 @@ public abstract class RSItemContainerMixin implements RSItemContainer
return items;
}
@Inject
@Override
public Item getItem(int slot)
{
int[] itemIds = getItemIds();
int[] stackSizes = getStackSizes();
if (slot >= 0 && slot < itemIds.length && itemIds[slot] != -1)
{
return new Item(itemIds[slot], stackSizes[slot]);
}
return null;
}
@Inject
@Override
public boolean contains(int itemId)
{
int[] itemIds = getItemIds();
for (int id : itemIds)
{
if (id == itemId)
{
return true;
}
}
return false;
}
@Inject
@Override
public int count(int itemId)
{
int[] itemIds = getItemIds();
int[] stackSizes = getStackSizes();
int count = 0;
for (int i = 0; i < itemIds.length; i++)
{
if (itemIds[i] != itemId)
{
continue;
}
int stack = stackSizes[i];
if (stack > 1)
{
return stack;
}
count++;
}
return count;
}
@FieldHook("changedItemContainers")
@Inject
public static void onItemContainerUpdate(int idx)
@@ -80,4 +138,4 @@ public abstract class RSItemContainerMixin implements RSItemContainer
}
}
}
}
}
@@ -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);
@@ -1,3 +1,31 @@
/*
* BSD 2-Clause License
*
* Copyright (c) 2019, ThatGamerBlue <thatgamerblue@gmail.com>
* All rights reserved.
*
* Redistribution and use in source and binary forms, with or without
* modification, are permitted provided that the following conditions are met:
*
* Redistributions of source code must retain the above copyright notice, this
* list of conditions and the following disclaimer.
*
* 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 HOLDER 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.rs.api;
import net.runelite.api.widgets.Widget;
@@ -23,4 +51,12 @@ public interface RSScriptEvent extends ScriptEvent
@Import("mouseX")
int getMouseX();
}
@Import("keyTyped")
// shit name
int getTypedKeyCode();
@Import("keyPressed")
// also a shit name
int getTypedKeyChar();
}
@@ -85,7 +85,7 @@ public interface RSWidget extends Widget
@Import("modelType")
int getModelType();
@Import("modelType")
void setModelType(int modelType);
@@ -352,7 +352,7 @@ public interface RSWidget extends Widget
@Import("onOp")
@Override
Object[] getOnOp();
Object[] getOnOpListener();
@Import("onDialogAbort")
@Override
@@ -542,4 +542,4 @@ public interface RSWidget extends Widget
@Import("onClick")
@Override
void setOnClickListener(Object[] o);
}
}
+8 -7
View File
@@ -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 {