Merge pull request #960 from Lucwousin/reeeee-facts-boi

RSClient: More refactoring
This commit is contained in:
Tyler Bochard
2019-07-11 00:51:28 -04:00
committed by GitHub
107 changed files with 958 additions and 765 deletions
@@ -103,6 +103,7 @@ public class Instructions
add(CC_RESUME_PAUSEBUTTON, "cc_resume_pausebutton"); add(CC_RESUME_PAUSEBUTTON, "cc_resume_pausebutton");
add(CC_SETFILLCOLOUR, "cc_setfillcolour"); add(CC_SETFILLCOLOUR, "cc_setfillcolour");
add(CC_SETLINEDIRECTION, "cc_setlinedirection"); add(CC_SETLINEDIRECTION, "cc_setlinedirection");
add(CC_SETMODELTRANSPARENT, "cc_setmodeltransparent");
add(CC_SETOBJECT, "cc_setobject"); add(CC_SETOBJECT, "cc_setobject");
add(CC_SETNPCHEAD, "cc_setnpchead"); add(CC_SETNPCHEAD, "cc_setnpchead");
add(CC_SETPLAYERHEAD_SELF, "cc_setplayerhead_self"); add(CC_SETPLAYERHEAD_SELF, "cc_setplayerhead_self");
@@ -116,6 +117,12 @@ public class Instructions
add(CC_SETOPBASE, "cc_setopbase"); add(CC_SETOPBASE, "cc_setopbase");
add(CC_SETTARGETVERB, "cc_settargetverb"); add(CC_SETTARGETVERB, "cc_settargetverb");
add(CC_CLEAROPS, "cc_clearops"); add(CC_CLEAROPS, "cc_clearops");
add(CC_SETOPKEY, "cc_setopkey");
add(CC_SETOPTKEY, "cc_setoptkey");
add(CC_SETOPKEYRATE, "cc_setopkeyrate");
add(CC_SETOPTKEYRATE, "cc_setoptkeyrate");
add(CC_SETOPKEYIGNOREHELD, "cc_setopkeyignoreheld");
add(CC_SETOPTKEYIGNOREHELD, "cc_setoptkeyignoreheld");
add(CC_SETONCLICK, "cc_setonclick"); add(CC_SETONCLICK, "cc_setonclick");
add(CC_SETONHOLD, "cc_setonhold"); add(CC_SETONHOLD, "cc_setonhold");
add(CC_SETONRELEASE, "cc_setonrelease"); add(CC_SETONRELEASE, "cc_setonrelease");
@@ -160,6 +167,7 @@ public class Instructions
add(CC_GETTRANS, "cc_gettrans"); add(CC_GETTRANS, "cc_gettrans");
add(CC_GETCOLOUR, "cc_getcolour"); add(CC_GETCOLOUR, "cc_getcolour");
add(CC_GETFILLCOLOUR, "cc_getfillcolour"); add(CC_GETFILLCOLOUR, "cc_getfillcolour");
add(CC_GETMODELTRANSPARENT, "cc_getmodeltransparent");
add(CC_GETINVOBJECT, "cc_getinvobject"); add(CC_GETINVOBJECT, "cc_getinvobject");
add(CC_GETINVCOUNT, "cc_getinvcount"); add(CC_GETINVCOUNT, "cc_getinvcount");
add(CC_GETID, "cc_getid"); add(CC_GETID, "cc_getid");
@@ -195,6 +203,7 @@ public class Instructions
add(IF_RESUME_PAUSEBUTTON, "if_resume_pausebutton"); add(IF_RESUME_PAUSEBUTTON, "if_resume_pausebutton");
add(IF_SETFILLCOLOUR, "if_setfillcolour"); add(IF_SETFILLCOLOUR, "if_setfillcolour");
add(IF_SETLINEDIRECTION, "if_setlinedirection"); add(IF_SETLINEDIRECTION, "if_setlinedirection");
add(IF_SETMODELTRANSPARENT, "if_setmodeltransparent");
add(IF_SETOBJECT, "if_setobject"); add(IF_SETOBJECT, "if_setobject");
add(IF_SETNPCHEAD, "if_setnpchead"); add(IF_SETNPCHEAD, "if_setnpchead");
add(IF_SETPLAYERHEAD_SELF, "if_setplayerhead_self"); add(IF_SETPLAYERHEAD_SELF, "if_setplayerhead_self");
@@ -258,6 +267,7 @@ public class Instructions
add(IF_GETTRANS, "if_gettrans"); add(IF_GETTRANS, "if_gettrans");
add(IF_GETCOLOUR, "if_getcolour"); add(IF_GETCOLOUR, "if_getcolour");
add(IF_GETFILLCOLOUR, "if_getfillcolour"); add(IF_GETFILLCOLOUR, "if_getfillcolour");
add(IF_GETMODELTRANSPARENT, "if_getmodeltransparent");
add(IF_GETINVOBJECT, "if_getinvobject"); add(IF_GETINVOBJECT, "if_getinvobject");
add(IF_GETINVCOUNT, "if_getinvcount"); add(IF_GETINVCOUNT, "if_getinvcount");
add(IF_HASSUB, "if_hassub"); add(IF_HASSUB, "if_hassub");
@@ -290,6 +300,9 @@ public class Instructions
add(GETTAPTODROP, "gettaptodrop"); add(GETTAPTODROP, "gettaptodrop");
add(SETOCULUSORBSPEED, "setoculusorbspeed"); add(SETOCULUSORBSPEED, "setoculusorbspeed");
add(GETCANVASSIZE, "getcanvassize"); add(GETCANVASSIZE, "getcanvassize");
add(MOBILE_SETFPS, "mobile_setfps");
add(MOBILE_OPENSTORE, "mobile_openstore");
add(MOBILE_OPENSTORECATEGORY, "mobile_openstorecategory");
add(SETHIDEUSERNAME, "sethideusername"); add(SETHIDEUSERNAME, "sethideusername");
add(GETHIDEUSERNAME, "gethideusername"); add(GETHIDEUSERNAME, "gethideusername");
add(SETREMEMBERUSERNAME, "setrememberusername"); add(SETREMEMBERUSERNAME, "setrememberusername");
@@ -474,6 +487,7 @@ public class Instructions
add(STRUCT_PARAM, "struct_param"); add(STRUCT_PARAM, "struct_param");
add(ON_MOBILE, "on_mobile"); add(ON_MOBILE, "on_mobile");
add(CLIENTTYPE, "clienttype"); add(CLIENTTYPE, "clienttype");
add(MOBILE_KEYBOARDHIDE, "mobile_keyboardhide");
add(BATTERYLEVEL, "batterylevel"); add(BATTERYLEVEL, "batterylevel");
add(BATTERYCHARGING, "batterycharging"); add(BATTERYCHARGING, "batterycharging");
add(WIFIAVAILABLE, "wifiavailable"); add(WIFIAVAILABLE, "wifiavailable");
@@ -511,6 +525,8 @@ public class Instructions
add(MEC_TEXTSIZE, "mec_textsize"); add(MEC_TEXTSIZE, "mec_textsize");
add(MEC_CATEGORY, "mec_category"); add(MEC_CATEGORY, "mec_category");
add(MEC_SPRITE, "mec_sprite"); add(MEC_SPRITE, "mec_sprite");
add(WORLDMAP_ELEMENT, "worldmap_element");
add(WORLDMAP_ELEMENTCOORD, "worldmap_elementcoord");
} }
protected void add(int opcode, String name) protected void add(int opcode, String name)
@@ -94,6 +94,7 @@ public class Opcodes
public static final int CC_RESUME_PAUSEBUTTON = 1121; public static final int CC_RESUME_PAUSEBUTTON = 1121;
public static final int CC_SETFILLCOLOUR = 1123; public static final int CC_SETFILLCOLOUR = 1123;
public static final int CC_SETLINEDIRECTION = 1126; public static final int CC_SETLINEDIRECTION = 1126;
public static final int CC_SETMODELTRANSPARENT = 1127;
public static final int CC_SETOBJECT = 1200; public static final int CC_SETOBJECT = 1200;
public static final int CC_SETNPCHEAD = 1201; public static final int CC_SETNPCHEAD = 1201;
public static final int CC_SETPLAYERHEAD_SELF = 1202; public static final int CC_SETPLAYERHEAD_SELF = 1202;
@@ -107,6 +108,12 @@ public class Opcodes
public static final int CC_SETOPBASE = 1305; public static final int CC_SETOPBASE = 1305;
public static final int CC_SETTARGETVERB = 1306; public static final int CC_SETTARGETVERB = 1306;
public static final int CC_CLEAROPS = 1307; public static final int CC_CLEAROPS = 1307;
public static final int CC_SETOPKEY = 1350;
public static final int CC_SETOPTKEY = 1351;
public static final int CC_SETOPKEYRATE = 1352;
public static final int CC_SETOPTKEYRATE = 1353;
public static final int CC_SETOPKEYIGNOREHELD = 1354;
public static final int CC_SETOPTKEYIGNOREHELD = 1355;
public static final int CC_SETONCLICK = 1400; public static final int CC_SETONCLICK = 1400;
public static final int CC_SETONHOLD = 1401; public static final int CC_SETONHOLD = 1401;
public static final int CC_SETONRELEASE = 1402; public static final int CC_SETONRELEASE = 1402;
@@ -151,6 +158,7 @@ public class Opcodes
public static final int CC_GETTRANS = 1609; public static final int CC_GETTRANS = 1609;
public static final int CC_GETCOLOUR = 1611; public static final int CC_GETCOLOUR = 1611;
public static final int CC_GETFILLCOLOUR = 1612; public static final int CC_GETFILLCOLOUR = 1612;
public static final int CC_GETMODELTRANSPARENT = 1614;
public static final int CC_GETINVOBJECT = 1700; public static final int CC_GETINVOBJECT = 1700;
public static final int CC_GETINVCOUNT = 1701; public static final int CC_GETINVCOUNT = 1701;
public static final int CC_GETID = 1702; public static final int CC_GETID = 1702;
@@ -186,6 +194,7 @@ public class Opcodes
public static final int IF_RESUME_PAUSEBUTTON = 2121; public static final int IF_RESUME_PAUSEBUTTON = 2121;
public static final int IF_SETFILLCOLOUR = 2123; public static final int IF_SETFILLCOLOUR = 2123;
public static final int IF_SETLINEDIRECTION = 2126; public static final int IF_SETLINEDIRECTION = 2126;
public static final int IF_SETMODELTRANSPARENT = 2127;
public static final int IF_SETOBJECT = 2200; public static final int IF_SETOBJECT = 2200;
public static final int IF_SETNPCHEAD = 2201; public static final int IF_SETNPCHEAD = 2201;
public static final int IF_SETPLAYERHEAD_SELF = 2202; public static final int IF_SETPLAYERHEAD_SELF = 2202;
@@ -249,6 +258,7 @@ public class Opcodes
public static final int IF_GETTRANS = 2609; public static final int IF_GETTRANS = 2609;
public static final int IF_GETCOLOUR = 2611; public static final int IF_GETCOLOUR = 2611;
public static final int IF_GETFILLCOLOUR = 2612; public static final int IF_GETFILLCOLOUR = 2612;
public static final int IF_GETMODELTRANSPARENT = 2614;
public static final int IF_GETINVOBJECT = 2700; public static final int IF_GETINVOBJECT = 2700;
public static final int IF_GETINVCOUNT = 2701; public static final int IF_GETINVCOUNT = 2701;
public static final int IF_HASSUB = 2702; public static final int IF_HASSUB = 2702;
@@ -281,6 +291,9 @@ public class Opcodes
public static final int GETTAPTODROP = 3128; public static final int GETTAPTODROP = 3128;
public static final int SETOCULUSORBSPEED = 3129; public static final int SETOCULUSORBSPEED = 3129;
public static final int GETCANVASSIZE = 3132; public static final int GETCANVASSIZE = 3132;
public static final int MOBILE_SETFPS = 3133;
public static final int MOBILE_OPENSTORE = 3134;
public static final int MOBILE_OPENSTORECATEGORY = 3135;
public static final int SETHIDEUSERNAME = 3141; public static final int SETHIDEUSERNAME = 3141;
public static final int GETHIDEUSERNAME = 3142; public static final int GETHIDEUSERNAME = 3142;
public static final int SETREMEMBERUSERNAME = 3143; public static final int SETREMEMBERUSERNAME = 3143;
@@ -465,6 +478,7 @@ public class Opcodes
public static final int STRUCT_PARAM = 6516; public static final int STRUCT_PARAM = 6516;
public static final int ON_MOBILE = 6518; public static final int ON_MOBILE = 6518;
public static final int CLIENTTYPE = 6519; public static final int CLIENTTYPE = 6519;
public static final int MOBILE_KEYBOARDHIDE = 6521;
public static final int BATTERYLEVEL = 6524; public static final int BATTERYLEVEL = 6524;
public static final int BATTERYCHARGING = 6525; public static final int BATTERYCHARGING = 6525;
public static final int WIFIAVAILABLE = 6526; public static final int WIFIAVAILABLE = 6526;
@@ -502,4 +516,6 @@ public class Opcodes
public static final int MEC_TEXTSIZE = 6694; public static final int MEC_TEXTSIZE = 6694;
public static final int MEC_CATEGORY = 6695; public static final int MEC_CATEGORY = 6695;
public static final int MEC_SPRITE = 6696; public static final int MEC_SPRITE = 6696;
public static final int WORLDMAP_ELEMENT = 6697;
public static final int WORLDMAP_ELEMENTCOORD = 6699;
} }
@@ -94,7 +94,7 @@ public class ClassFile
public void accept(ClassVisitor visitor) public void accept(ClassVisitor visitor)
{ {
String[] ints = interfaces.getInterfaces().stream().map(i -> i.getName()).toArray(String[]::new); String[] ints = interfaces.getInterfaces().stream().map(Class::getName).toArray(String[]::new);
visitor.visit(version, access, name.getName(), null, super_class.getName(), ints); visitor.visit(version, access, name.getName(), null, super_class.getName(), ints);
visitor.visitSource(source, null); visitor.visitSource(source, null);
@@ -113,7 +113,7 @@ public class ClassFile
for (Method method : methods) for (Method method : methods)
{ {
String[] exceptions = method.getExceptions().getExceptions().stream().map(cl -> cl.getName()).toArray(String[]::new); String[] exceptions = method.getExceptions().getExceptions().stream().map(Class::getName).toArray(String[]::new);
if (exceptions.length == 0) if (exceptions.length == 0)
{ {
exceptions = null; exceptions = null;
@@ -294,6 +294,20 @@ public class ClassFile
return null; return null;
} }
public Method findStaticMethod(String name, Signature type)
{
for (Method m : methods)
{
if (m.isStatic() &&
m.getName().equals(name) &&
m.getDescriptor().equals(type))
{
return m;
}
}
return null;
}
public Method findMethod(String name) public Method findMethod(String name)
{ {
for (Method m : methods) for (Method m : methods)
@@ -306,6 +320,18 @@ public class ClassFile
return null; return null;
} }
public Method findStaticMethod(String name)
{
for (Method m : methods)
{
if (m.isStatic() && m.getName().equals(name))
{
return m;
}
}
return null;
}
public Method findMethodDeep(String name, Signature type) public Method findMethodDeep(String name, Signature type)
{ {
Method m = findMethod(name, type); Method m = findMethod(name, type);
@@ -325,8 +351,8 @@ public class ClassFile
public Method findMethodDeepStatic(String name, Signature type) public Method findMethodDeepStatic(String name, Signature type)
{ {
Method m = findMethod(name, type); Method m = findStaticMethod(name, type);
if (m != null && m.isStatic()) if (m != null)
{ {
return m; return m;
} }
@@ -30,6 +30,7 @@ import java.util.HashMap;
import java.util.List; import java.util.List;
import java.util.Map; import java.util.Map;
import net.runelite.asm.attributes.Code; import net.runelite.asm.attributes.Code;
import net.runelite.asm.signature.Signature;
public class ClassGroup public class ClassGroup
{ {
@@ -107,4 +108,38 @@ public class ClassGroup
} }
} }
} }
public Method findStaticMethod(String name, Signature type)
{
Method m = null;
for (ClassFile cf : classes)
{
m = cf.findStaticMethod(name, type);
if (m != null)
{
break;
}
}
return m;
}
public Method findStaticMethod(String name)
{
Method m = null;
for (ClassFile cf : classes)
{
m = cf.findStaticMethod(name);
if (m != null)
{
break;
}
}
return m;
}
} }
@@ -73,6 +73,7 @@ public enum ScriptOpcode
CC_RESUME_PAUSEBUTTON(1121), CC_RESUME_PAUSEBUTTON(1121),
CC_SETFILLCOLOUR(1123), CC_SETFILLCOLOUR(1123),
CC_SETLINEDIRECTION(1126), CC_SETLINEDIRECTION(1126),
CC_SETMODELTRANSPARENT(1127),
CC_SETOBJECT(1200), CC_SETOBJECT(1200),
CC_SETNPCHEAD(1201), CC_SETNPCHEAD(1201),
CC_SETPLAYERHEAD_SELF(1202), CC_SETPLAYERHEAD_SELF(1202),
@@ -86,6 +87,12 @@ public enum ScriptOpcode
CC_SETOPBASE(1305), CC_SETOPBASE(1305),
CC_SETTARGETVERB(1306), CC_SETTARGETVERB(1306),
CC_CLEAROPS(1307), CC_CLEAROPS(1307),
CC_SETOPKEY(1350),
CC_SETOPTKEY(1351),
CC_SETOPKEYRATE(1352),
CC_SETOPTKEYRATE(1353),
CC_SETOPKEYIGNOREHELD(1354),
CC_SETOPTKEYIGNOREHELD(1355),
CC_SETONCLICK(1400), CC_SETONCLICK(1400),
CC_SETONHOLD(1401), CC_SETONHOLD(1401),
CC_SETONRELEASE(1402), CC_SETONRELEASE(1402),
@@ -130,6 +137,7 @@ public enum ScriptOpcode
CC_GETTRANS(1609), CC_GETTRANS(1609),
CC_GETCOLOUR(1611), CC_GETCOLOUR(1611),
CC_GETFILLCOLOUR(1612), CC_GETFILLCOLOUR(1612),
CC_GETMODELTRANSPARENT(1614),
CC_GETINVOBJECT(1700), CC_GETINVOBJECT(1700),
CC_GETINVCOUNT(1701), CC_GETINVCOUNT(1701),
CC_GETID(1702), CC_GETID(1702),
@@ -228,6 +236,7 @@ public enum ScriptOpcode
IF_GETTRANS(2609), IF_GETTRANS(2609),
IF_GETCOLOUR(2611), IF_GETCOLOUR(2611),
IF_GETFILLCOLOUR(2612), IF_GETFILLCOLOUR(2612),
IF_GETMODELTRANSPARENT(2614),
IF_GETINVOBJECT(2700), IF_GETINVOBJECT(2700),
IF_GETINVCOUNT(2701), IF_GETINVCOUNT(2701),
IF_HASSUB(2702), IF_HASSUB(2702),
@@ -260,6 +269,9 @@ public enum ScriptOpcode
GETTAPTODROP(3128), GETTAPTODROP(3128),
SETOCULUSORBSPEED(3129), SETOCULUSORBSPEED(3129),
GETCANVASSIZE(3132), GETCANVASSIZE(3132),
MOBILE_SETFPS(3133),
MOBILE_OPENSTORE(3134),
MOBILE_OPENSTORECATEGORY(3135),
SETHIDEUSERNAME(3141), SETHIDEUSERNAME(3141),
GETHIDEUSERNAME(3142), GETHIDEUSERNAME(3142),
SETREMEMBERUSERNAME(3143), SETREMEMBERUSERNAME(3143),
@@ -444,6 +456,7 @@ public enum ScriptOpcode
STRUCT_PARAM(6516), STRUCT_PARAM(6516),
ON_MOBILE(6518), ON_MOBILE(6518),
CLIENTTYPE(6519), CLIENTTYPE(6519),
MOBILE_KEYBOARDHIDE(6521),
BATTERYLEVEL(6524), BATTERYLEVEL(6524),
BATTERYCHARGING(6525), BATTERYCHARGING(6525),
WIFIAVAILABLE(6526), WIFIAVAILABLE(6526),
@@ -480,7 +493,9 @@ public enum ScriptOpcode
MEC_TEXT(6693), MEC_TEXT(6693),
MEC_TEXTSIZE(6694), MEC_TEXTSIZE(6694),
MEC_CATEGORY(6695), MEC_CATEGORY(6695),
MEC_SPRITE(6696); MEC_SPRITE(6696),
WORLDMAP_ELEMENT(6697),
WORLDMAP_ELEMENTCOORD(6699);
public final int opcode; public final int opcode;
@@ -51,7 +51,17 @@ public class ParameterRenamer
{ {
for (Method sourceM : sourceCF.getMethods()) for (Method sourceM : sourceCF.getMethods())
{ {
Method destM = (Method) mapping.get(sourceM); Method destM;
if (sourceM.getName().equals("<init>"))
{
ClassFile destCF = (ClassFile) mapping.get(sourceCF);
destM = destCF.findMethod("<init>", sourceM.getDescriptor());
}
else
{
destM = (Method) mapping.get(sourceM);
}
if (sourceM.getParameters() != null && !sourceM.getParameters().isEmpty() && destM.getParameters().size() >= 1) if (sourceM.getParameters() != null && !sourceM.getParameters().isEmpty() && destM.getParameters().size() >= 1)
{ {
List<Parameter> oldParams = destM.getParameters(); List<Parameter> oldParams = destM.getParameters();
@@ -45,6 +45,7 @@ import net.runelite.asm.pool.Class;
import net.runelite.asm.signature.Signature; import net.runelite.asm.signature.Signature;
import net.runelite.deob.DeobAnnotations; import net.runelite.deob.DeobAnnotations;
import net.runelite.deob.deobfuscators.arithmetic.DMath; import net.runelite.deob.deobfuscators.arithmetic.DMath;
import static net.runelite.injector.InjectUtil.getFieldType;
import net.runelite.injector.raw.ClearColorBuffer; import net.runelite.injector.raw.ClearColorBuffer;
import net.runelite.injector.raw.DrawAfterWidgets; import net.runelite.injector.raw.DrawAfterWidgets;
import net.runelite.injector.raw.DrawMenu; import net.runelite.injector.raw.DrawMenu;
@@ -71,15 +72,7 @@ public class Inject
private final InjectInvoker invokes = new InjectInvoker(this); private final InjectInvoker invokes = new InjectInvoker(this);
private final InjectConstruct construct = new InjectConstruct(this); private final InjectConstruct construct = new InjectConstruct(this);
private final DrawMenu drawMenu = new DrawMenu(this);
private final RasterizerHook rasterizerHook = new RasterizerHook(this);
private final MixinInjector mixinInjector = new MixinInjector(this); private final MixinInjector mixinInjector = new MixinInjector(this);
private final DrawAfterWidgets drawAfterWidgets = new DrawAfterWidgets(this);
private final ScriptVM scriptVM = new ScriptVM(this);
private final ClearColorBuffer clearColorBuffer = new ClearColorBuffer(this);
private final RenderDraw renderDraw = new RenderDraw(this);
private final Occluder occluder = new Occluder(this);
private final HidePlayerAttacks hidePlayerAttacks = new HidePlayerAttacks(this);
// deobfuscated contains exports etc to apply to vanilla // deobfuscated contains exports etc to apply to vanilla
private final ClassGroup deobfuscated, vanilla; private final ClassGroup deobfuscated, vanilla;
@@ -148,20 +141,6 @@ public class Inject
return Type.getType("L" + c.getName().replace('.', '/') + ";", dimms); return Type.getType("L" + c.getName().replace('.', '/') + ";", dimms);
} }
public Type getFieldType(Field f)
{
Type type = f.getType();
Annotation obfSignature = f.getAnnotations().find(DeobAnnotations.OBFUSCATED_SIGNATURE);
if (obfSignature != null)
{
//Annotation exists. Type was updated by us during deobfuscation
type = DeobAnnotations.getObfuscatedType(f);
}
return type;
}
public Signature getMethodSignature(Method m) public Signature getMethodSignature(Method m)
{ {
Signature signature = m.getDescriptor(); Signature signature = m.getDescriptor();
@@ -227,7 +206,7 @@ public class Inject
// Has to be done before mixins // Has to be done before mixins
// well, can be done after really // well, can be done after really
// but why do that when you can do it before // but why do that when you can do it before
rasterizerHook.inject(); new RasterizerHook(this).inject();
// requires interfaces to be injected // requires interfaces to be injected
mixinInjector.inject(); mixinInjector.inject();
@@ -333,13 +312,13 @@ public class Inject
getters.getInjectedGetters(), getters.getInjectedGetters(),
setters.getInjectedSetters(), invokes.getInjectedInvokers()); setters.getInjectedSetters(), invokes.getInjectedInvokers());
drawAfterWidgets.inject(); new DrawAfterWidgets(this).inject();
scriptVM.inject(); new ScriptVM(this).inject();
clearColorBuffer.inject(); new ClearColorBuffer(this).inject();
renderDraw.inject(); new RenderDraw(this).inject();
drawMenu.inject(); new DrawMenu(this).inject();
occluder.inject(); new Occluder(this).inject();
hidePlayerAttacks.inject(); new HidePlayerAttacks(this).inject();
} }
private java.lang.Class injectInterface(ClassFile cf, ClassFile other) private java.lang.Class injectInterface(ClassFile cf, ClassFile other)
@@ -457,36 +436,6 @@ public class Inject
return null; return null;
} }
public ClassFile toObClass(ClassFile deobClass)
{
String obfuscatedName = DeobAnnotations.getObfuscatedName(deobClass.getAnnotations());
for (ClassFile cf : vanilla.getClasses())
{
if (cf.getName().equalsIgnoreCase(obfuscatedName))
{
return cf;
}
}
return null;
}
public Field toObField(Field field)
{
String obfuscatedClassName = DeobAnnotations.getObfuscatedName(field.getClassFile().getAnnotations());
String obfuscatedFieldName = DeobAnnotations.getObfuscatedName(field.getAnnotations()); // obfuscated name of field
Type type = getFieldType(field);
ClassFile obfuscatedClass = vanilla.findClass(obfuscatedClassName);
assert obfuscatedClass != null;
Field obfuscatedField = obfuscatedClass.findFieldDeep(obfuscatedFieldName, type);
assert obfuscatedField != null;
return obfuscatedField;
}
Type deobfuscatedTypeToApiType(Type type) throws InjectionException Type deobfuscatedTypeToApiType(Type type) throws InjectionException
{ {
if (type.isPrimitive()) if (type.isPrimitive())
@@ -620,12 +569,12 @@ public class Inject
return false; return false;
} }
public ClassGroup getDeobfuscated() public final ClassGroup getDeobfuscated()
{ {
return deobfuscated; return deobfuscated;
} }
public ClassGroup getVanilla() public final ClassGroup getVanilla()
{ {
return vanilla; return vanilla;
} }
@@ -1,28 +1,100 @@
package net.runelite.injector; package net.runelite.injector;
import net.runelite.asm.ClassFile; import net.runelite.asm.ClassFile;
import net.runelite.asm.ClassGroup;
import net.runelite.asm.Field; import net.runelite.asm.Field;
import net.runelite.asm.Method; import net.runelite.asm.Method;
import net.runelite.asm.Type;
import net.runelite.asm.attributes.annotation.Annotation;
import net.runelite.asm.signature.Signature; import net.runelite.asm.signature.Signature;
import net.runelite.deob.DeobAnnotations; import net.runelite.deob.DeobAnnotations;
public class InjectUtil public class InjectUtil
{ {
public static Method findStaticObMethod(Inject inject, String name) throws InjectionException public static ClassFile toObClass(final ClassGroup vanilla, final ClassFile deobCf) throws InjectionException
{ {
for (ClassFile c : inject.getVanilla().getClasses()) final String obfuscatedName = DeobAnnotations.getObfuscatedName(deobCf.getAnnotations());
final ClassFile obCf = vanilla.findClass(obfuscatedName);
if (obCf == null)
{ {
for (Method m : c.getMethods()) throw new InjectionException(String.format("ClassFile \"%s\" could not be found.", obfuscatedName));
{
if (!m.getName().equals(name))
{
continue;
}
return m;
}
} }
throw new InjectionException(String.format("Method \"%s\" could not be found.", name)); return obCf;
}
public static Field toObField(final ClassGroup vanilla, final Field field) throws InjectionException
{
String obfuscatedClassName = DeobAnnotations.getObfuscatedName(field.getClassFile().getAnnotations());
String obfuscatedFieldName = DeobAnnotations.getObfuscatedName(field.getAnnotations()); // obfuscated name of field
Type type = getFieldType(field);
ClassFile obfuscatedClass = vanilla.findClass(obfuscatedClassName);
if (obfuscatedClass == null)
{
throw new InjectionException(String.format("ClassFile \"%s\" could not be found.", obfuscatedClassName));
}
Field obfuscatedField = obfuscatedClass.findFieldDeep(obfuscatedFieldName, type);
if (obfuscatedField == null)
{
throw new InjectionException(String.format("Field \"%s\" could not be found.", obfuscatedFieldName));
}
return obfuscatedField;
}
public static Type getFieldType(final Field f)
{
Type type = f.getType();
Annotation obfSignature = f.getAnnotations().find(DeobAnnotations.OBFUSCATED_SIGNATURE);
if (obfSignature != null)
{
//Annotation exists. Type was updated by us during deobfuscation
type = DeobAnnotations.getObfuscatedType(f);
}
return type;
}
/**
* Find a static method in ClassGroup group. Check the class with name hint first.
* (useful for static methods which are in the class they belong to)
*/
public static Method findStaticMethod(final ClassGroup group, final String name, final String hint) throws InjectionException
{
final ClassFile cf = group.findClass(hint);
if (cf == null)
{
throw new InjectionException(String.format("ClassFile \"%s\" could not be found.", hint));
}
Method m = cf.findStaticMethod(name);
if (m == null)
{
m = group.findStaticMethod(name);
}
return m;
}
/**
* Find a static method in ClassGroup group. Throws exception if not found.
*/
public static Method findStaticMethod(final ClassGroup group, final String name) throws InjectionException
{
Method m = group.findStaticMethod(name);
if (m == null)
{
throw new InjectionException(String.format("Static method \"%s\" could not be found.", name));
}
return m;
} }
public static Method findMethod(Inject inject, String name) throws InjectionException public static Method findMethod(Inject inject, String name) throws InjectionException
@@ -48,7 +120,7 @@ public class InjectUtil
String obfuscatedName = DeobAnnotations.getObfuscatedName(deob.getAnnotations()); String obfuscatedName = DeobAnnotations.getObfuscatedName(deob.getAnnotations());
Signature obfuscatedSignature = DeobAnnotations.getObfuscatedSignature(deob); Signature obfuscatedSignature = DeobAnnotations.getObfuscatedSignature(deob);
ClassFile ob = inject.toObClass(c); ClassFile ob = toObClass(inject.getVanilla(), c);
return ob.findMethod(obfuscatedName, (obfuscatedSignature != null) ? obfuscatedSignature : deob.getDescriptor()); return ob.findMethod(obfuscatedName, (obfuscatedSignature != null) ? obfuscatedSignature : deob.getDescriptor());
} }
@@ -66,7 +138,7 @@ public class InjectUtil
String obfuscatedName = DeobAnnotations.getObfuscatedName(m.getAnnotations()); String obfuscatedName = DeobAnnotations.getObfuscatedName(m.getAnnotations());
Signature obfuscatedSignature = DeobAnnotations.getObfuscatedSignature(m); Signature obfuscatedSignature = DeobAnnotations.getObfuscatedSignature(m);
ClassFile c2 = inject.toObClass(c); ClassFile c2 = toObClass(inject.getVanilla(), c);
return c2.findMethod(obfuscatedName, (obfuscatedSignature != null) ? obfuscatedSignature : m.getDescriptor()); return c2.findMethod(obfuscatedName, (obfuscatedSignature != null) ? obfuscatedSignature : m.getDescriptor());
} }
@@ -89,7 +161,7 @@ public class InjectUtil
String obfuscatedName = DeobAnnotations.getObfuscatedName(m.getAnnotations()); String obfuscatedName = DeobAnnotations.getObfuscatedName(m.getAnnotations());
Signature obfuscatedSignature = DeobAnnotations.getObfuscatedSignature(m); Signature obfuscatedSignature = DeobAnnotations.getObfuscatedSignature(m);
ClassFile c2 = inject.toObClass(c); ClassFile c2 = toObClass(inject.getVanilla(), c);
return c2.findMethod(obfuscatedName, (obfuscatedSignature != null) ? obfuscatedSignature : m.getDescriptor()); return c2.findMethod(obfuscatedName, (obfuscatedSignature != null) ? obfuscatedSignature : m.getDescriptor());
} }
@@ -140,7 +212,7 @@ public class InjectUtil
String obfuscatedName = DeobAnnotations.getObfuscatedName(f.getAnnotations()); String obfuscatedName = DeobAnnotations.getObfuscatedName(f.getAnnotations());
ClassFile c2 = inject.toObClass(c); ClassFile c2 = toObClass(inject.getVanilla(), c);
return c2.findField(obfuscatedName); return c2.findField(obfuscatedName);
} }
} }
@@ -156,7 +228,7 @@ public class InjectUtil
String obfuscatedName = DeobAnnotations.getObfuscatedName(f.getAnnotations()); String obfuscatedName = DeobAnnotations.getObfuscatedName(f.getAnnotations());
ClassFile c2 = inject.toObClass(c); ClassFile c2 = toObClass(inject.getVanilla(), c);
return c2.findField(obfuscatedName); return c2.findField(obfuscatedName);
} }
} }
@@ -60,6 +60,8 @@ import net.runelite.asm.attributes.code.instructions.PutField;
import net.runelite.asm.signature.Signature; import net.runelite.asm.signature.Signature;
import net.runelite.asm.visitors.ClassFileVisitor; import net.runelite.asm.visitors.ClassFileVisitor;
import net.runelite.deob.DeobAnnotations; import net.runelite.deob.DeobAnnotations;
import static net.runelite.injector.InjectUtil.toObClass;
import static net.runelite.injector.InjectUtil.toObField;
import org.objectweb.asm.ClassReader; import org.objectweb.asm.ClassReader;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -288,7 +290,7 @@ public class MixinInjector
throw new InjectionException("Shadow of nonexistent field " + shadowName); throw new InjectionException("Shadow of nonexistent field " + shadowName);
} }
Field obShadow = inject.toObField(shadowField); Field obShadow = toObField(inject.getVanilla(), shadowField);
assert obShadow != null; assert obShadow != null;
shadowFields.put(field.getPoolField(), obShadow); shadowFields.put(field.getPoolField(), obShadow);
} }
@@ -559,7 +561,8 @@ public class MixinInjector
.findClass(deobReturnType.getInternalName()); .findClass(deobReturnType.getInternalName());
if (deobReturnTypeClassFile != null) if (deobReturnTypeClassFile != null)
{ {
ClassFile obReturnTypeClass = inject.toObClass(deobReturnTypeClassFile); ClassFile obReturnTypeClass = toObClass(inject.getVanilla(), deobReturnTypeClassFile);
Instructions instructions = method.getCode().getInstructions(); Instructions instructions = method.getCode().getInstructions();
ListIterator<Instruction> listIter = instructions.getInstructions().listIterator(); ListIterator<Instruction> listIter = instructions.getInstructions().listIterator();
for (; listIter.hasNext(); ) for (; listIter.hasNext(); )
@@ -641,7 +644,7 @@ public class MixinInjector
if (deobCf != null) if (deobCf != null)
{ {
ClassFile obReturnTypeClass = inject.toObClass(deobCf); ClassFile obReturnTypeClass = toObClass(inject.getVanilla(), deobCf);
Type newType = new Type("L" + obReturnTypeClass.getName() + ";"); Type newType = new Type("L" + obReturnTypeClass.getName() + ";");
((ANewArray) i).setType(newType); ((ANewArray) i).setType(newType);
@@ -895,7 +898,7 @@ public class MixinInjector
getter = (Number) an.getElement().getValue(); getter = (Number) an.getElement().getValue();
} }
Field obField = inject.toObField(targetField); Field obField = toObField(inject.getVanilla(), targetField);
if (method.isStatic() != targetField.isStatic()) if (method.isStatic() != targetField.isStatic())
{ {
@@ -28,6 +28,7 @@ import java.util.HashSet;
import java.util.ListIterator; import java.util.ListIterator;
import java.util.Set; import java.util.Set;
import java.util.concurrent.atomic.AtomicReference; import java.util.concurrent.atomic.AtomicReference;
import net.runelite.asm.ClassGroup;
import net.runelite.asm.Field; import net.runelite.asm.Field;
import net.runelite.asm.Method; import net.runelite.asm.Method;
import net.runelite.asm.Type; import net.runelite.asm.Type;
@@ -53,9 +54,9 @@ import net.runelite.asm.execution.MethodContext;
import net.runelite.asm.execution.StackContext; import net.runelite.asm.execution.StackContext;
import net.runelite.deob.DeobAnnotations; import net.runelite.deob.DeobAnnotations;
import net.runelite.injector.Inject; import net.runelite.injector.Inject;
import net.runelite.injector.InjectUtil;
import static net.runelite.injector.InjectUtil.findDeobField; import static net.runelite.injector.InjectUtil.findDeobField;
import static net.runelite.injector.InjectUtil.findObField; import static net.runelite.injector.InjectUtil.findObField;
import static net.runelite.injector.InjectUtil.findStaticMethod;
import net.runelite.injector.InjectionException; import net.runelite.injector.InjectionException;
import org.slf4j.Logger; import org.slf4j.Logger;
import org.slf4j.LoggerFactory; import org.slf4j.LoggerFactory;
@@ -78,6 +79,8 @@ public class ScriptVM
private void injectScriptVMHooks() throws InjectionException private void injectScriptVMHooks() throws InjectionException
{ {
final ClassGroup vanilla = inject.getVanilla();
/* /*
This hooks local variable assignments in the copied version of runScript: This hooks local variable assignments in the copied version of runScript:
- The currently executing script > client.currentScript - The currently executing script > client.currentScript
@@ -105,13 +108,16 @@ public class ScriptVM
if_icmpge L52 if_icmpge L52
*/ */
String scriptObName = DeobAnnotations.getObfuscatedName(inject.getDeobfuscated().findClass("Script").getAnnotations()); final String scriptObName = DeobAnnotations.getObfuscatedName(inject.getDeobfuscated().findClass("Script").getAnnotations());
Method runScript = InjectUtil.findStaticObMethod(inject, "copy$runScript0");
Method vmExecuteOpcode = InjectUtil.findStaticObMethod(inject, "vmExecuteOpcode"); final Method runScript = findStaticMethod(vanilla, "copy$runScript0");
Field scriptInstructions = findDeobField(inject, "opcodes"); final Method vmExecuteOpcode = findStaticMethod(vanilla, "vmExecuteOpcode");
Field scriptStatePC = findDeobField(inject, "pc");
Field currentScriptField = findObField(inject, "currentScript"); final Field scriptInstructions = findDeobField(inject, "opcodes");
Field currentScriptPCField = findObField(inject, "currentScriptPC"); final Field scriptStatePC = findDeobField(inject, "pc");
final Field currentScriptField = findObField(inject, "currentScript");
final Field currentScriptPCField = findObField(inject, "currentScriptPC");
Execution e = new Execution(inject.getVanilla()); Execution e = new Execution(inject.getVanilla());
e.addMethod(runScript); e.addMethod(runScript);
@@ -713,7 +713,7 @@ public interface RSClient extends RSGameShell, Client
@Override @Override
int getCenterY(); int getCenterY();
@Import("worldMap0") @Import("getWorldMap")
RSWorldMap getRenderOverview(); RSWorldMap getRenderOverview();
@Import("changeWorld") @Import("changeWorld")
@@ -339,7 +339,8 @@ public abstract class AbstractArchive {
signature = "(I)Z", signature = "(I)Z",
garbageValue = "1694975256" garbageValue = "1694975256"
) )
public boolean method2() { @Export("isFullyLoaded")
public boolean isFullyLoaded() {
boolean var1 = true; boolean var1 = true;
for (int var2 = 0; var2 < this.groupIds.length; ++var2) { for (int var2 = 0; var2 < this.groupIds.length; ++var2) {
@@ -437,7 +438,8 @@ public abstract class AbstractArchive {
signature = "(IB)[I", signature = "(IB)[I",
garbageValue = "28" garbageValue = "28"
) )
public int[] method3(int var1) { @Export("getGroupFileIds")
public int[] getGroupFileIds(int var1) {
return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null; return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null;
} }
@@ -466,7 +468,8 @@ public abstract class AbstractArchive {
signature = "(B)V", signature = "(B)V",
garbageValue = "38" garbageValue = "38"
) )
public void method6() { @Export("clearGroups")
public void clearGroups() {
for (int var1 = 0; var1 < this.groups.length; ++var1) { for (int var1 = 0; var1 < this.groups.length; ++var1) {
this.groups[var1] = null; this.groups[var1] = null;
} }
@@ -478,9 +481,10 @@ public abstract class AbstractArchive {
signature = "(II)V", signature = "(II)V",
garbageValue = "330258899" garbageValue = "330258899"
) )
public void method7(int var1) { @Export("clearFilesGroup")
for (int var2 = 0; var2 < this.files[var1].length; ++var2) { public void clearFilesGroup(int group) {
this.files[var1][var2] = null; for (int var2 = 0; var2 < this.files[group].length; ++var2) {
this.files[group][var2] = null;
} }
} }
@@ -490,7 +494,8 @@ public abstract class AbstractArchive {
signature = "(I)V", signature = "(I)V",
garbageValue = "-709581639" garbageValue = "-709581639"
) )
public void method8() { @Export("clearFiles")
public void clearFiles() {
for (int var1 = 0; var1 < this.files.length; ++var1) { for (int var1 = 0; var1 < this.files.length; ++var1) {
if (this.files[var1] != null) { if (this.files[var1] != null) {
for (int var2 = 0; var2 < this.files[var1].length; ++var2) { for (int var2 = 0; var2 < this.files[var1].length; ++var2) {
@@ -626,14 +631,15 @@ public abstract class AbstractArchive {
signature = "(Ljava/lang/String;Ljava/lang/String;B)Z", signature = "(Ljava/lang/String;Ljava/lang/String;B)Z",
garbageValue = "68" garbageValue = "68"
) )
public boolean method9(String var1, String var2) { @Export("isValidFileName")
var1 = var1.toLowerCase(); public boolean isValidFileName(String groupName, String fileName) {
var2 = var2.toLowerCase(); groupName = groupName.toLowerCase();
int var3 = this.groupNameHashTable.get(Client.hashString(var1)); fileName = fileName.toLowerCase();
int var3 = this.groupNameHashTable.get(Client.hashString(groupName));
if (var3 < 0) { if (var3 < 0) {
return false; return false;
} else { } else {
int var4 = this.fileNameHashTables[var3].get(Client.hashString(var2)); int var4 = this.fileNameHashTables[var3].get(Client.hashString(fileName));
return var4 >= 0; return var4 >= 0;
} }
} }
@@ -39,17 +39,17 @@ public abstract class AbstractByteArrayCopier {
) )
@Export("getVarcInt") @Export("getVarcInt")
public static VarcInt getVarcInt(int var0) { public static VarcInt getVarcInt(int var0) {
VarcInt var1 = (VarcInt)VarcInt.cachedVarcInts.get((long)var0); VarcInt var1 = (VarcInt)VarcInt.VarcInt_cached.get((long)var0);
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
byte[] var2 = VarcInt.field942.takeFile(19, var0); byte[] var2 = VarcInt.VarcInt_archive.takeFile(19, var0);
var1 = new VarcInt(); var1 = new VarcInt();
if (var2 != null) { if (var2 != null) {
var1.method354(new Buffer(var2)); var1.method354(new Buffer(var2));
} }
VarcInt.cachedVarcInts.put(var1, (long)var0); VarcInt.VarcInt_cached.put(var1, (long)var0);
return var1; return var1;
} }
} }
@@ -62,7 +62,7 @@ public abstract class AbstractByteArrayCopier {
@Export("unloadInterface") @Export("unloadInterface")
public static void unloadInterface(int var0) { public static void unloadInterface(int var0) {
if (var0 != -1 && Widget.loadedInterfaces[var0]) { if (var0 != -1 && Widget.loadedInterfaces[var0]) {
Widget.Widget_archive.method7(var0); Widget.Widget_archive.clearFilesGroup(var0);
if (Widget.interfaceComponents[var0] != null) { if (Widget.interfaceComponents[var0] != null) {
boolean var1 = true; boolean var1 = true;
@@ -77,15 +77,15 @@ public abstract class AbstractFont extends Rasterizer2D {
@Export("kerning") @Export("kerning")
byte[] kerning; byte[] kerning;
AbstractFont(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { AbstractFont(byte[] data, int[] leftBearings, int[] topBearings, int[] widths, int[] heights, int[] var6, byte[][] pixels) {
this.pixels = new byte[256][]; this.pixels = new byte[256][];
this.ascent = 0; this.ascent = 0;
this.leftBearings = var2; this.leftBearings = leftBearings;
this.topBearings = var3; this.topBearings = topBearings;
this.widths = var4; this.widths = widths;
this.heights = var5; this.heights = heights;
this.readMetrics(var1); this.readMetrics(data);
this.pixels = var7; this.pixels = pixels;
int var8 = Integer.MAX_VALUE; int var8 = Integer.MAX_VALUE;
int var9 = Integer.MIN_VALUE; int var9 = Integer.MIN_VALUE;
@@ -224,7 +224,7 @@ public abstract class AbstractFont extends Rasterizer2D {
if (!var7.equals("gt")) { if (!var7.equals("gt")) {
if (var7.startsWith("img=")) { if (var7.startsWith("img=")) {
try { try {
int var8 = MouseHandler.method1085(var7.substring(4)); int var8 = MouseHandler.parseInt(var7.substring(4));
var4 += AbstractFont_modIconSprites[var8].width; var4 += AbstractFont_modIconSprites[var8].width;
var3 = -1; var3 = -1;
} catch (Exception var9) { } catch (Exception var9) {
@@ -307,7 +307,7 @@ public abstract class AbstractFont extends Rasterizer2D {
var11 = '>'; var11 = '>';
} else if (var16.startsWith("img=")) { } else if (var16.startsWith("img=")) {
try { try {
int var17 = MouseHandler.method1085(var16.substring(4)); int var17 = MouseHandler.parseInt(var16.substring(4));
var4 += AbstractFont_modIconSprites[var17].width; var4 += AbstractFont_modIconSprites[var17].width;
var11 = 0; var11 = 0;
} catch (Exception var18) { } catch (Exception var18) {
@@ -581,23 +581,23 @@ public abstract class AbstractFont extends Rasterizer2D {
void decodeTag(String var1) { void decodeTag(String var1) {
try { try {
if (var1.startsWith("col=")) { if (var1.startsWith("col=")) {
AbstractFont_color = class214.method4157(var1.substring(4), 16); AbstractFont_color = class214.parseIntCustomRadix(var1.substring(4), 16);
} else if (var1.equals("/col")) { } else if (var1.equals("/col")) {
AbstractFont_color = AbstractFont_previousColor; AbstractFont_color = AbstractFont_previousColor;
} else if (var1.startsWith("str=")) { } else if (var1.startsWith("str=")) {
AbstractFont_strike = class214.method4157(var1.substring(4), 16); AbstractFont_strike = class214.parseIntCustomRadix(var1.substring(4), 16);
} else if (var1.equals("str")) { } else if (var1.equals("str")) {
AbstractFont_strike = 8388608; AbstractFont_strike = 8388608;
} else if (var1.equals("/str")) { } else if (var1.equals("/str")) {
AbstractFont_strike = -1; AbstractFont_strike = -1;
} else if (var1.startsWith("u=")) { } else if (var1.startsWith("u=")) {
AbstractFont_underline = class214.method4157(var1.substring(2), 16); AbstractFont_underline = class214.parseIntCustomRadix(var1.substring(2), 16);
} else if (var1.equals("u")) { } else if (var1.equals("u")) {
AbstractFont_underline = 0; AbstractFont_underline = 0;
} else if (var1.equals("/u")) { } else if (var1.equals("/u")) {
AbstractFont_underline = -1; AbstractFont_underline = -1;
} else if (var1.startsWith("shad=")) { } else if (var1.startsWith("shad=")) {
AbstractFont_shadow = class214.method4157(var1.substring(5), 16); AbstractFont_shadow = class214.parseIntCustomRadix(var1.substring(5), 16);
} else if (var1.equals("shad")) { } else if (var1.equals("shad")) {
AbstractFont_shadow = 0; AbstractFont_shadow = 0;
} else if (var1.equals("/shad")) { } else if (var1.equals("/shad")) {
@@ -656,7 +656,7 @@ public abstract class AbstractFont extends Rasterizer2D {
if (!var9.equals("gt")) { if (!var9.equals("gt")) {
if (var9.startsWith("img=")) { if (var9.startsWith("img=")) {
try { try {
var8 = MouseHandler.method1085(var9.substring(4)); var8 = MouseHandler.parseInt(var9.substring(4));
IndexedSprite var13 = AbstractFont_modIconSprites[var8]; IndexedSprite var13 = AbstractFont_modIconSprites[var8];
var13.drawAt(x, y + this.ascent - var13.height); var13.drawAt(x, y + this.ascent - var13.height);
x += var13.width; x += var13.width;
@@ -761,7 +761,7 @@ public abstract class AbstractFont extends Rasterizer2D {
} }
++var8; ++var8;
var13 = MouseHandler.method1085(var14.substring(4)); var13 = MouseHandler.parseInt(var14.substring(4));
IndexedSprite var18 = AbstractFont_modIconSprites[var13]; IndexedSprite var18 = AbstractFont_modIconSprites[var13];
var18.drawAt(var11 + x, var12 + (y + this.ascent - var18.height)); var18.drawAt(var11 + x, var12 + (y + this.ascent - var18.height));
x += var18.width; x += var18.width;
@@ -62,7 +62,7 @@ public abstract class AbstractSocket {
) )
public static void method3488(int var0) { public static void method3488(int var0) {
class214.field1129 = 1; class214.field1129 = 1;
class214.field1130 = null; class214.musicTrackArchive = null;
class30.musicTrackGroupId = -1; class30.musicTrackGroupId = -1;
GrandExchangeOffer.musicTrackFileId = -1; GrandExchangeOffer.musicTrackFileId = -1;
WorldMapLabel.field1039 = 0; WorldMapLabel.field1039 = 0;
@@ -49,12 +49,12 @@ public abstract class AbstractUserComparator implements Comparator {
if (var0 == -1 && !Client.field107) { if (var0 == -1 && !Client.field107) {
class214.midiPcmStream.clear(); class214.midiPcmStream.clear();
class214.field1129 = 1; class214.field1129 = 1;
class214.field1130 = null; class214.musicTrackArchive = null;
} else if (var0 != -1 && var0 != Client.field112 && Client.field128 != 0 && !Client.field107) { } else if (var0 != -1 && var0 != Client.field112 && Client.field128 != 0 && !Client.field107) {
Archive var1 = UserComparator3.archive6; Archive var1 = UserComparator3.archive6;
int var2 = Client.field128; int var2 = Client.field128;
class214.field1129 = 1; class214.field1129 = 1;
class214.field1130 = var1; class214.musicTrackArchive = var1;
class30.musicTrackGroupId = var0; class30.musicTrackGroupId = var0;
GrandExchangeOffer.musicTrackFileId = 0; GrandExchangeOffer.musicTrackFileId = 0;
WorldMapLabel.field1039 = var2; WorldMapLabel.field1039 = var2;
@@ -139,8 +139,7 @@ public final class AccessFile {
return var4; return var4;
} }
@ObfuscatedName("finalize") protected void finalize() throws Throwable {
protected void method22() throws Throwable {
if (this.file != null) { if (this.file != null) {
System.out.println(""); System.out.println("");
this.close(); this.close();
+3 -3
View File
@@ -478,7 +478,7 @@ public abstract class Actor extends Entity {
if (var7 != null) { if (var7 != null) {
var8 = var7; var8 = var7;
} else { } else {
byte[] var9 = HealthBarDefinition.field379.takeFile(33, healthBarDefinition); byte[] var9 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, healthBarDefinition);
var7 = new HealthBarDefinition(); var7 = new HealthBarDefinition();
if (var9 != null) { if (var9 != null) {
var7.decode(new Buffer(var9)); var7.decode(new Buffer(var9));
@@ -540,7 +540,7 @@ public abstract class Actor extends Entity {
if (var2 != null) { if (var2 != null) {
var3 = var2; var3 = var2;
} else { } else {
byte[] var4 = HealthBarDefinition.field379.takeFile(33, healthBarDefinition); byte[] var4 = HealthBarDefinition.HealthBarDefinition_archive.takeFile(33, healthBarDefinition);
var2 = new HealthBarDefinition(); var2 = new HealthBarDefinition();
if (var4 != null) { if (var4 != null) {
var2.decode(new Buffer(var4)); var2.decode(new Buffer(var4));
@@ -1306,7 +1306,7 @@ public abstract class Actor extends Entity {
if (opcode != 1007) { if (opcode != 1007) {
if (opcode == 1008 || opcode == 1011 || opcode == 1010 || opcode == 1009 || opcode == 1012) { if (opcode == 1008 || opcode == 1011 || opcode == 1010 || opcode == 1009 || opcode == 1012) {
class60.worldMap0.menuAction(opcode, argument0, new Coord(argument1), new Coord(argument2)); class60.worldMap.menuAction(opcode, argument0, new Coord(argument1), new Coord(argument2));
} }
break label415; break label415;
} }
+2 -2
View File
@@ -354,7 +354,7 @@ public class Archive extends AbstractArchive {
garbageValue = "1419648188" garbageValue = "1419648188"
) )
public boolean method133(int var1) { public boolean method133(int var1) {
return this.method3(var1) != null; return this.getGroupFileIds(var1) != null;
} }
@ObfuscatedName("da") @ObfuscatedName("da")
@@ -453,7 +453,7 @@ public class Archive extends AbstractArchive {
} else if (var3 == 0) { } else if (var3 == 0) {
class214.midiPcmStream.clear(); class214.midiPcmStream.clear();
class214.field1129 = 1; class214.field1129 = 1;
class214.field1130 = null; class214.musicTrackArchive = null;
Client.field107 = false; Client.field107 = false;
} else { } else {
class203.method4008(var3); class203.method4008(var3);
@@ -35,7 +35,8 @@ public enum AttackOption implements Enumerated {
AttackOption_hidden(3); AttackOption_hidden(3);
@ObfuscatedName("sp") @ObfuscatedName("sp")
static short[] field30; @Export("foundItemIds")
static short[] foundItemIds;
@ObfuscatedName("ay") @ObfuscatedName("ay")
static String field31; static String field31;
@ObfuscatedName("bo") @ObfuscatedName("bo")
@@ -1,3 +1,4 @@
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements; import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature; import net.runelite.mapping.ObfuscatedSignature;
@@ -8,12 +9,15 @@ public class AudioFilter {
@ObfuscatedName("u") @ObfuscatedName("u")
static float[][] field32; static float[][] field32;
@ObfuscatedName("g") @ObfuscatedName("g")
@Export("coefficients")
static int[][] coefficients; static int[][] coefficients;
@ObfuscatedName("l") @ObfuscatedName("l")
static float field34; static float field34;
@ObfuscatedName("e") @ObfuscatedName("e")
@Export("forwardMultiplier")
static int forwardMultiplier; static int forwardMultiplier;
@ObfuscatedName("m") @ObfuscatedName("m")
@Export("pairs")
int[] pairs; int[] pairs;
@ObfuscatedName("q") @ObfuscatedName("q")
int[][][] field37; int[][][] field37;
@@ -44,6 +48,7 @@ public class AudioFilter {
} }
@ObfuscatedName("w") @ObfuscatedName("w")
@Export("compute")
int compute(int var1, float var2) { int compute(int var1, float var2) {
float var3; float var3;
if (var1 == 0) { if (var1 == 0) {
@@ -107,7 +107,7 @@ public final class BoundaryObject {
} }
if (var0.equalsIgnoreCase("showcoord")) { if (var0.equalsIgnoreCase("showcoord")) {
class60.worldMap0.showCoord = !class60.worldMap0.showCoord; class60.worldMap.showCoord = !class60.worldMap.showCoord;
} }
if (var0.equalsIgnoreCase("fpson")) { if (var0.equalsIgnoreCase("fpson")) {
@@ -396,8 +396,8 @@ public class BufferedFile {
signature = "(I)Llz;", signature = "(I)Llz;",
garbageValue = "-1653835085" garbageValue = "-1653835085"
) )
@Export("worldMap") @Export("getWorldMap")
static WorldMap worldMap() { static WorldMap getWorldMap() {
return class60.worldMap0; return class60.worldMap;
} }
} }
@@ -101,8 +101,7 @@ public class BufferedNetSocket extends AbstractSocket {
this.source.close(); this.source.close();
} }
@ObfuscatedName("finalize") protected void finalize() {
protected void method75() {
this.close(); this.close();
} }
@@ -14,7 +14,8 @@ public class BufferedSource implements Runnable {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field54; @Export("Widget_modelsArchive")
public static AbstractArchive Widget_modelsArchive;
@ObfuscatedName("m") @ObfuscatedName("m")
@Export("thread") @Export("thread")
Thread thread; Thread thread;
+1 -5
View File
@@ -36,14 +36,10 @@ public final class Canvas extends java.awt.Canvas {
this.component = var1; this.component = var1;
} }
@Export("update")
@ObfuscatedName("update")
public final void update(Graphics var1) { public final void update(Graphics var1) {
this.component.update(var1); this.component.update(var1);
} }
@Export("paint")
@ObfuscatedName("paint")
public final void paint(Graphics var1) { public final void paint(Graphics var1) {
this.component.paint(var1); this.component.paint(var1);
} }
@@ -222,7 +218,7 @@ public final class Canvas extends java.awt.Canvas {
int var6 = var1.getGroupId(groupName); int var6 = var1.getGroupId(groupName);
int var7 = var1.getFileId(var6, fileName); int var7 = var1.getFileId(var6, fileName);
class214.field1129 = 1; class214.field1129 = 1;
class214.field1130 = var1; class214.musicTrackArchive = var1;
class30.musicTrackGroupId = var6; class30.musicTrackGroupId = var6;
GrandExchangeOffer.musicTrackFileId = var7; GrandExchangeOffer.musicTrackFileId = var7;
WorldMapLabel.field1039 = var4; WorldMapLabel.field1039 = var4;
+21 -23
View File
@@ -1286,7 +1286,7 @@ public final class Client extends GameShell implements Usernamed {
ReflectionCheck.clientPreferences = class306.method5780(); ReflectionCheck.clientPreferences = class306.method5780();
this.setUpClipboard(); this.setUpClipboard();
String var1 = Ignored.field402; String var1 = Ignored.field402;
class50.field1159 = this; class50.applet = this;
if (var1 != null) { if (var1 != null) {
class50.field1160 = var1; class50.field1160 = var1;
} }
@@ -1324,7 +1324,7 @@ public final class Client extends GameShell implements Usernamed {
} else { } else {
class214.midiPcmStream.clear(); class214.midiPcmStream.clear();
class214.midiPcmStream.removeAll(); class214.midiPcmStream.removeAll();
if (class214.field1130 != null) { if (class214.musicTrackArchive != null) {
class214.field1129 = 2; class214.field1129 = 2;
} else { } else {
class214.field1129 = 0; class214.field1129 = 0;
@@ -1340,7 +1340,7 @@ public final class Client extends GameShell implements Usernamed {
class214.field1129 = 0; class214.field1129 = 0;
class13.musicTrack = null; class13.musicTrack = null;
class307.soundCache = null; class307.soundCache = null;
class214.field1130 = null; class214.musicTrackArchive = null;
} }
class13.playPcmPlayers(); class13.playPcmPlayers();
@@ -1364,11 +1364,11 @@ public final class Client extends GameShell implements Usernamed {
} }
if (gameState == 0) { if (gameState == 0) {
class171.method3497(); class171.load();
GrandExchangeOfferNameComparator.method145(); GrandExchangeOfferNameComparator.method145();
} else if (gameState == 5) { } else if (gameState == 5) {
class54.method1092(this); class54.method1092(this);
class171.method3497(); class171.load();
GrandExchangeOfferNameComparator.method145(); GrandExchangeOfferNameComparator.method145();
} else if (gameState != 10 && gameState != 11) { } else if (gameState != 10 && gameState != 11) {
if (gameState == 20) { if (gameState == 20) {
@@ -2169,7 +2169,7 @@ public final class Client extends GameShell implements Usernamed {
class13.playPcmPlayers(); class13.playPcmPlayers();
ScriptEvent.method1179(); ScriptEvent.method1179();
ObjectDefinition.field641.clear(); ObjectDefinition.ObjectDefinition_cachedModelData.clear();
PacketBufferNode var65; PacketBufferNode var65;
if (TextureProvider.client.hasFrame()) { if (TextureProvider.client.hasFrame()) {
var65 = Interpreter.method1915(ClientPacket.field231, packetWriter.isaacCipher); var65 = Interpreter.method1915(ClientPacket.field231, packetWriter.isaacCipher);
@@ -2226,7 +2226,7 @@ public final class Client extends GameShell implements Usernamed {
try { try {
if (class214.field1129 == 2) { if (class214.field1129 == 2) {
if (class13.musicTrack == null) { if (class13.musicTrack == null) {
class13.musicTrack = MusicTrack.readTrack(class214.field1130, class30.musicTrackGroupId, GrandExchangeOffer.musicTrackFileId); class13.musicTrack = MusicTrack.readTrack(class214.musicTrackArchive, class30.musicTrackGroupId, GrandExchangeOffer.musicTrackFileId);
if (class13.musicTrack == null) { if (class13.musicTrack == null) {
var2 = false; var2 = false;
break label139; break label139;
@@ -2234,17 +2234,17 @@ public final class Client extends GameShell implements Usernamed {
} }
if (class307.soundCache == null) { if (class307.soundCache == null) {
class307.soundCache = new SoundCache(class214.field1128, class214.field1127); class307.soundCache = new SoundCache(class214.soundEffectsArchive, class214.musicSamplesArchive);
} }
if (class214.midiPcmStream.loadMusicTrack(class13.musicTrack, class1.field1105, class307.soundCache, 22050)) { if (class214.midiPcmStream.loadMusicTrack(class13.musicTrack, class1.musicPatchesArchive, class307.soundCache, 22050)) {
class214.midiPcmStream.clearAll(); class214.midiPcmStream.clearAll();
class214.midiPcmStream.method169(WorldMapLabel.field1039); class214.midiPcmStream.method169(WorldMapLabel.field1039);
class214.midiPcmStream.setMusicTrack(class13.musicTrack, RectangleMode.musicTrackBoolean); class214.midiPcmStream.setMusicTrack(class13.musicTrack, RectangleMode.musicTrackBoolean);
class214.field1129 = 0; class214.field1129 = 0;
class13.musicTrack = null; class13.musicTrack = null;
class307.soundCache = null; class307.soundCache = null;
class214.field1130 = null; class214.musicTrackArchive = null;
var2 = true; var2 = true;
break label139; break label139;
} }
@@ -2255,7 +2255,7 @@ public final class Client extends GameShell implements Usernamed {
class214.field1129 = 0; class214.field1129 = 0;
class13.musicTrack = null; class13.musicTrack = null;
class307.soundCache = null; class307.soundCache = null;
class214.field1130 = null; class214.musicTrackArchive = null;
} }
var2 = false; var2 = false;
@@ -2401,8 +2401,6 @@ public final class Client extends GameShell implements Usernamed {
protected final void vmethod114() { protected final void vmethod114() {
} }
@ObfuscatedName("init")
@Export("init")
public final void init() { public final void init() {
try { try {
if (this.checkHost()) { if (this.checkHost()) {
@@ -2662,7 +2660,7 @@ public final class Client extends GameShell implements Usernamed {
break; break;
case 7: case 7:
var6 = Integer.parseInt(var5); var6 = Integer.parseInt(var5);
ServerBuild[] var7 = new ServerBuild[]{ServerBuild.field786, ServerBuild.field787, ServerBuild.field784, ServerBuild.field785}; ServerBuild[] var7 = new ServerBuild[]{ServerBuild.RC, ServerBuild.WIP, ServerBuild.LIVE, ServerBuild.BUILDLIVE};
ServerBuild[] var8 = var7; ServerBuild[] var8 = var7;
var3 = 0; var3 = 0;
@@ -3414,7 +3412,7 @@ public final class Client extends GameShell implements Usernamed {
if (loginState == 10) { if (loginState == 10) {
field168 = 0; field168 = 0;
class54.method1089("You have only just left another world.", "Your profile will be transferred in:", field170 / 60 + " seconds."); class54.setLoginResponseString("You have only just left another world.", "Your profile will be transferred in:", field170 / 60 + " seconds.");
if (--field170 <= 0) { if (--field170 <= 0) {
loginState = 0; loginState = 0;
} }
@@ -3507,7 +3505,7 @@ public final class Client extends GameShell implements Usernamed {
String var18 = var2.readStringCp1252NullTerminated(); String var18 = var2.readStringCp1252NullTerminated();
String var22 = var2.readStringCp1252NullTerminated(); String var22 = var2.readStringCp1252NullTerminated();
String var26 = var2.readStringCp1252NullTerminated(); String var26 = var2.readStringCp1252NullTerminated();
class54.method1089(var18, var22, var26); class54.setLoginResponseString(var18, var22, var26);
GameShell.updateGameState(10); GameShell.updateGameState(10);
} }
@@ -3851,8 +3849,8 @@ public final class Client extends GameShell implements Usernamed {
packetWriter.method241(var6); packetWriter.method241(var6);
} }
if (class60.worldMap0 != null) { if (class60.worldMap != null) {
class60.worldMap0.method360(); class60.worldMap.method360();
} }
HorizontalAlignment.method5120(); HorizontalAlignment.method5120();
@@ -3915,7 +3913,7 @@ public final class Client extends GameShell implements Usernamed {
while (Decimator.method2490() && field137 < 128) { while (Decimator.method2490() && field137 < 128) {
if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && ArchiveDiskAction.field411 == 66) { if (staffModLevel >= 2 && KeyHandler.KeyHandler_pressedKeys[82] && ArchiveDiskAction.field411 == 66) {
String var24 = KeyHandler.method839(); String var24 = KeyHandler.getChatMessagesAsString();
TextureProvider.client.clipboardSetString(var24); TextureProvider.client.clipboardSetString(var24);
} else if (oculusOrbState != 1 || GzipDecompressor.field378 <= 0) { } else if (oculusOrbState != 1 || GzipDecompressor.field378 <= 0) {
field145[field137] = ArchiveDiskAction.field411; field145[field137] = ArchiveDiskAction.field411;
@@ -3947,7 +3945,7 @@ public final class Client extends GameShell implements Usernamed {
} }
if (rootInterface != -1) { if (rootInterface != -1) {
WorldMapDecorationType.method4517(rootInterface, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0); WorldMapDecorationType.updateRootInterface(rootInterface, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0);
} }
++cycleCntr; ++cycleCntr;
@@ -5115,7 +5113,7 @@ public final class Client extends GameShell implements Usernamed {
} }
if (ServerPacket.field867 == var1.serverPacket0) { if (ServerPacket.field867 == var1.serverPacket0) {
for (var38 = 0; var38 < VarpDefinition.field944; ++var38) { for (var38 = 0; var38 < VarpDefinition.VarpDefinition_fileCount; ++var38) {
VarpDefinition var45 = SecureRandomCallable.method1140(var38); VarpDefinition var45 = SecureRandomCallable.method1140(var38);
if (var45 != null) { if (var45 != null) {
Varps.Varps_temp[var38] = 0; Varps.Varps_temp[var38] = 0;
@@ -5374,7 +5372,7 @@ public final class Client extends GameShell implements Usernamed {
var25 = var3.readLong(); var25 = var3.readLong();
var27 = (long)var3.readUnsignedShort(); var27 = (long)var3.readUnsignedShort();
var19 = (long)var3.readMedium(); var19 = (long)var3.readMedium();
var29 = (PlayerType)ScriptFrame.findEnumerated(class48.method865(), var3.readUnsignedByte()); var29 = (PlayerType)ScriptFrame.findEnumerated(class48.PlayerType_values(), var3.readUnsignedByte());
var23 = (var27 << 32) + var19; var23 = (var27 << 32) + var19;
boolean var55 = false; boolean var55 = false;
@@ -5783,7 +5781,7 @@ public final class Client extends GameShell implements Usernamed {
var21 = var3.readStringCp1252NullTerminated(); var21 = var3.readStringCp1252NullTerminated();
var25 = (long)var3.readUnsignedShort(); var25 = (long)var3.readUnsignedShort();
var27 = (long)var3.readMedium(); var27 = (long)var3.readMedium();
var29 = (PlayerType)ScriptFrame.findEnumerated(class48.method865(), var3.readUnsignedByte()); var29 = (PlayerType)ScriptFrame.findEnumerated(class48.PlayerType_values(), var3.readUnsignedByte());
long var31 = (var25 << 32) + var27; long var31 = (var25 << 32) + var27;
boolean var33 = false; boolean var33 = false;
+1 -1
View File
@@ -78,7 +78,7 @@ public abstract class Clock {
if (var0.length() == 0) { if (var0.length() == 0) {
var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0"; var3 = var3 + "; Expires=Thu, 01-Jan-1970 00:00:00 GMT; Max-Age=0";
} else { } else {
var3 = var3 + "; Expires=" + WorldMapSectionType.method252(class203.currentTimeMs() + 94608000000L) + "; Max-Age=" + 94608000L; var3 = var3 + "; Expires=" + WorldMapSectionType.getDateString(class203.currentTimeMs() + 94608000000L) + "; Max-Age=" + 94608000L;
} }
class46.method850(TextureProvider.client, "document.cookie=\"" + var3 + "\""); class46.method850(TextureProvider.client, "document.cookie=\"" + var3 + "\"");
@@ -150,7 +150,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
garbageValue = "-1516599170" garbageValue = "-1516599170"
) )
@Export("drawInterface") @Export("drawInterface")
static final void drawInterface(Widget[] components, int interfaceID, int xStart, int yStart, int xEnd, int yEnd, int var6, int var7, int var8) { static final void drawInterface(Widget[] components, int interfaceID, int xStart, int yStart, int xEnd, int yEnd, int var6, int var7, int rootIndex) {
Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd);
Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D(); Rasterizer3D.Rasterizer3D_setClipFromRasterizer2D();
@@ -158,14 +158,14 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
Widget var10 = components[var9]; Widget var10 = components[var9];
if (var10 != null && (var10.parentId == interfaceID || interfaceID == 0xabcdabcd && var10 == Client.clickedWidget)) { if (var10 != null && (var10.parentId == interfaceID || interfaceID == 0xabcdabcd && var10 == Client.clickedWidget)) {
int var11; int var11;
if (var8 == -1) { if (rootIndex == -1) {
Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6; Client.rootWidgetXs[Client.rootWidgetCount] = var10.x + var6;
Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y; Client.rootWidgetYs[Client.rootWidgetCount] = var7 + var10.y;
Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width; Client.rootWidgetWidths[Client.rootWidgetCount] = var10.width;
Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height; Client.rootWidgetHeights[Client.rootWidgetCount] = var10.height;
var11 = ++Client.rootWidgetCount - 1; var11 = ++Client.rootWidgetCount - 1;
} else { } else {
var11 = var8; var11 = rootIndex;
} }
var10.rootIndex = var11; var10.rootIndex = var11;
@@ -181,7 +181,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
int var15; int var15;
int var16; int var16;
if (var10 == Client.clickedWidget) { if (var10 == Client.clickedWidget) {
if (interfaceID != -1412584499 && !var10.isScrollBar) { if (interfaceID != 0xabcdabcd && !var10.isScrollBar) {
class279.field1145 = components; class279.field1145 = components;
class54.field1161 = var6; class54.field1161 = var6;
BuddyRankComparator.field1114 = var7; BuddyRankComparator.field1114 = var7;
@@ -289,7 +289,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
} }
if (var10.contentType == 1338) { if (var10.contentType == 1338) {
MouseRecorder.method1189(var10, var12, var13, var11); MouseRecorder.drawMinimap(var10, var12, var13, var11);
Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd); Rasterizer2D.Rasterizer2D_setClip(xStart, yStart, xEnd, yEnd);
continue; continue;
} }
@@ -301,11 +301,11 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
} }
if (var10.contentType == 1400) { if (var10.contentType == 1400) {
class60.worldMap0.draw(var12, var13, var10.width, var10.height, Client.cycle); class60.worldMap.draw(var12, var13, var10.width, var10.height, Client.cycle);
} }
if (var10.contentType == 1401) { if (var10.contentType == 1401) {
class60.worldMap0.drawOverview(var12, var13, var10.width, var10.height); class60.worldMap.drawOverview(var12, var13, var10.width, var10.height);
} }
if (var10.contentType == 1402) { if (var10.contentType == 1402) {
@@ -171,34 +171,35 @@ public class DynamicObject extends Entity {
signature = "([Ljava/lang/String;[SIII)V", signature = "([Ljava/lang/String;[SIII)V",
garbageValue = "1172859329" garbageValue = "1172859329"
) )
static void method2218(String[] var0, short[] var1, int var2, int var3) { @Export("sortItemsByName")
if (var2 < var3) { static void sortItemsByName(String[] itemNames, short[] itemIds, int lowestUnsorted, int highestUnsorted) {
int var4 = (var3 + var2) / 2; if (lowestUnsorted < highestUnsorted) {
int var5 = var2; int var4 = (highestUnsorted + lowestUnsorted) / 2;
String var6 = var0[var4]; int var5 = lowestUnsorted;
var0[var4] = var0[var3]; String var6 = itemNames[var4];
var0[var3] = var6; itemNames[var4] = itemNames[highestUnsorted];
short var7 = var1[var4]; itemNames[highestUnsorted] = var6;
var1[var4] = var1[var3]; short var7 = itemIds[var4];
var1[var3] = var7; itemIds[var4] = itemIds[highestUnsorted];
itemIds[highestUnsorted] = var7;
for (int var8 = var2; var8 < var3; ++var8) { for (int var8 = lowestUnsorted; var8 < highestUnsorted; ++var8) {
if (var6 == null || var0[var8] != null && var0[var8].compareTo(var6) < (var8 & 1)) { if (var6 == null || itemNames[var8] != null && itemNames[var8].compareTo(var6) < (var8 & 1)) {
String var9 = var0[var8]; String var9 = itemNames[var8];
var0[var8] = var0[var5]; itemNames[var8] = itemNames[var5];
var0[var5] = var9; itemNames[var5] = var9;
short var10 = var1[var8]; short var10 = itemIds[var8];
var1[var8] = var1[var5]; itemIds[var8] = itemIds[var5];
var1[var5++] = var10; itemIds[var5++] = var10;
} }
} }
var0[var3] = var0[var5]; itemNames[highestUnsorted] = itemNames[var5];
var0[var5] = var6; itemNames[var5] = var6;
var1[var3] = var1[var5]; itemIds[highestUnsorted] = itemIds[var5];
var1[var5] = var7; itemIds[var5] = var7;
method2218(var0, var1, var2, var5 - 1); sortItemsByName(itemNames, itemIds, lowestUnsorted, var5 - 1);
method2218(var0, var1, var5 + 1, var3); sortItemsByName(itemNames, itemIds, var5 + 1, highestUnsorted);
} }
} }
@@ -1,5 +1,6 @@
import java.applet.Applet; import java.applet.Applet;
import java.net.URL; import java.net.URL;
import net.runelite.mapping.Export;
import net.runelite.mapping.Implements; import net.runelite.mapping.Implements;
import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedName;
@@ -18,7 +19,8 @@ public class FaceNormal {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lln;" signature = "Lln;"
) )
static Sprite field345; @Export("redHintArrowSprite")
static Sprite redHintArrowSprite;
@ObfuscatedName("m") @ObfuscatedName("m")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -2074333261 intValue = -2074333261
@@ -81,8 +83,8 @@ public class FaceNormal {
} }
} else if (var1 == 1) { } else if (var1 == 1) {
try { try {
Applet var3 = class50.field1159; Applet var3 = class50.applet;
Object[] var4 = new Object[]{(new URL(class50.field1159.getCodeBase(), var0)).toString()}; Object[] var4 = new Object[]{(new URL(class50.applet.getCodeBase(), var0)).toString()};
Object var5 = JSObject.getWindow(var3).call(var2, var4); Object var5 = JSObject.getWindow(var3).call(var2, var4);
return var5 != null; return var5 != null;
} catch (Throwable var7) { } catch (Throwable var7) {
@@ -90,19 +92,19 @@ public class FaceNormal {
} }
} else if (var1 == 2) { } else if (var1 == 2) {
try { try {
class50.field1159.getAppletContext().showDocument(new URL(class50.field1159.getCodeBase(), var0), "_blank"); class50.applet.getAppletContext().showDocument(new URL(class50.applet.getCodeBase(), var0), "_blank");
return true; return true;
} catch (Exception var8) { } catch (Exception var8) {
return false; return false;
} }
} else if (var1 == 3) { } else if (var1 == 3) {
try { try {
class46.method851(class50.field1159, "loggedout"); class46.method851(class50.applet, "loggedout");
} catch (Throwable var10) { } catch (Throwable var10) {
} }
try { try {
class50.field1159.getAppletContext().showDocument(new URL(class50.field1159.getCodeBase(), var0), "_top"); class50.applet.getAppletContext().showDocument(new URL(class50.applet.getCodeBase(), var0), "_top");
return true; return true;
} catch (Exception var9) { } catch (Exception var9) {
return false; return false;
+40 -40
View File
@@ -5,8 +5,8 @@ import net.runelite.mapping.ObfuscatedName;
@ObfuscatedName("kk") @ObfuscatedName("kk")
@Implements("Font") @Implements("Font")
public final class Font extends AbstractFont { public final class Font extends AbstractFont {
public Font(byte[] var1, int[] var2, int[] var3, int[] var4, int[] var5, int[] var6, byte[][] var7) { public Font(byte[] data, int[] leftBearings, int[] topBearings, int[] widths, int[] heights, int[] var6, byte[][] pixels) {
super(var1, var2, var3, var4, var5, var6, var7); super(data, leftBearings, topBearings, widths, heights, var6, pixels);
} }
public Font(byte[] var1) { public Font(byte[] var1) {
@@ -15,86 +15,86 @@ public final class Font extends AbstractFont {
@ObfuscatedName("m") @ObfuscatedName("m")
@Export("drawGlyph") @Export("drawGlyph")
final void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6) { final void drawGlyph(byte[] pixels, int x, int y, int width, int height, int color) {
int var7 = var3 * Rasterizer2D.Rasterizer2D_width + var2; int var7 = y * Rasterizer2D.Rasterizer2D_width + x;
int var8 = Rasterizer2D.Rasterizer2D_width - var4; int var8 = Rasterizer2D.Rasterizer2D_width - width;
int var9 = 0; int var9 = 0;
int var10 = 0; int var10 = 0;
int var11; int var11;
if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
var11 = Rasterizer2D.Rasterizer2D_yClipStart - var3; var11 = Rasterizer2D.Rasterizer2D_yClipStart - y;
var5 -= var11; height -= var11;
var3 = Rasterizer2D.Rasterizer2D_yClipStart; y = Rasterizer2D.Rasterizer2D_yClipStart;
var10 += var11 * var4; var10 += var11 * width;
var7 += var11 * Rasterizer2D.Rasterizer2D_width; var7 += var11 * Rasterizer2D.Rasterizer2D_width;
} }
if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
} }
if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
var11 = Rasterizer2D.Rasterizer2D_xClipStart - var2; var11 = Rasterizer2D.Rasterizer2D_xClipStart - x;
var4 -= var11; width -= var11;
var2 = Rasterizer2D.Rasterizer2D_xClipStart; x = Rasterizer2D.Rasterizer2D_xClipStart;
var10 += var11; var10 += var11;
var7 += var11; var7 += var11;
var9 += var11; var9 += var11;
var8 += var11; var8 += var11;
} }
if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { if (x + width > Rasterizer2D.Rasterizer2D_xClipEnd) {
var11 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; var11 = x + width - Rasterizer2D.Rasterizer2D_xClipEnd;
var4 -= var11; width -= var11;
var9 += var11; var9 += var11;
var8 += var11; var8 += var11;
} }
if (var4 > 0 && var5 > 0) { if (width > 0 && height > 0) {
AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var10, var7, var4, var5, var8, var9); AbstractFont.AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var10, var7, width, height, var8, var9);
} }
} }
@ObfuscatedName("f") @ObfuscatedName("f")
@Export("drawGlyphAlpha") @Export("drawGlyphAlpha")
final void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7) { final void drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha) {
int var8 = var3 * Rasterizer2D.Rasterizer2D_width + var2; int var8 = y * Rasterizer2D.Rasterizer2D_width + x;
int var9 = Rasterizer2D.Rasterizer2D_width - var4; int var9 = Rasterizer2D.Rasterizer2D_width - width;
int var10 = 0; int var10 = 0;
int var11 = 0; int var11 = 0;
int var12; int var12;
if (var3 < Rasterizer2D.Rasterizer2D_yClipStart) { if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
var12 = Rasterizer2D.Rasterizer2D_yClipStart - var3; var12 = Rasterizer2D.Rasterizer2D_yClipStart - y;
var5 -= var12; height -= var12;
var3 = Rasterizer2D.Rasterizer2D_yClipStart; y = Rasterizer2D.Rasterizer2D_yClipStart;
var11 += var12 * var4; var11 += var12 * width;
var8 += var12 * Rasterizer2D.Rasterizer2D_width; var8 += var12 * Rasterizer2D.Rasterizer2D_width;
} }
if (var3 + var5 > Rasterizer2D.Rasterizer2D_yClipEnd) { if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
var5 -= var3 + var5 - Rasterizer2D.Rasterizer2D_yClipEnd; height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
} }
if (var2 < Rasterizer2D.Rasterizer2D_xClipStart) { if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
var12 = Rasterizer2D.Rasterizer2D_xClipStart - var2; var12 = Rasterizer2D.Rasterizer2D_xClipStart - x;
var4 -= var12; width -= var12;
var2 = Rasterizer2D.Rasterizer2D_xClipStart; x = Rasterizer2D.Rasterizer2D_xClipStart;
var11 += var12; var11 += var12;
var8 += var12; var8 += var12;
var10 += var12; var10 += var12;
var9 += var12; var9 += var12;
} }
if (var2 + var4 > Rasterizer2D.Rasterizer2D_xClipEnd) { if (x + width > Rasterizer2D.Rasterizer2D_xClipEnd) {
var12 = var2 + var4 - Rasterizer2D.Rasterizer2D_xClipEnd; var12 = x + width - Rasterizer2D.Rasterizer2D_xClipEnd;
var4 -= var12; width -= var12;
var10 += var12; var10 += var12;
var9 += var12; var9 += var12;
} }
if (var4 > 0 && var5 > 0) { if (width > 0 && height > 0) {
AbstractFont.AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var1, var6, var11, var8, var4, var5, var9, var10, var7); AbstractFont.AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var11, var8, width, height, var9, var10, alpha);
} }
} }
+13 -13
View File
@@ -465,7 +465,7 @@ public class FontName {
WorldMapLabel.method440(); WorldMapLabel.method440();
LoginScreenAnimation.method1780(); LoginScreenAnimation.method1780();
SequenceDefinition.SequenceDefinition_cached.clear(); SequenceDefinition.SequenceDefinition_cached.clear();
SequenceDefinition.field775.clear(); SequenceDefinition.SequenceDefinition_cachedFrames.clear();
UserComparator3.method3379(); UserComparator3.method3379();
VarbitDefinition.VarbitDefinition_cached.clear(); VarbitDefinition.VarbitDefinition_cached.clear();
VarpDefinition.VarpDefinition_cached.clear(); VarpDefinition.VarpDefinition_cached.clear();
@@ -478,18 +478,18 @@ public class FontName {
BuddyRankComparator.method3382(); BuddyRankComparator.method3382();
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear(); ((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear();
Script.Script_cached.clear(); Script.Script_cached.clear();
AbstractArchive.archive0.method8(); AbstractArchive.archive0.clearFiles();
Skeleton.archive1.method8(); Skeleton.archive1.clearFiles();
WorldMapIcon1.archive3.method8(); WorldMapIcon1.archive3.clearFiles();
WorldMapDecoration.archive4.method8(); WorldMapDecoration.archive4.clearFiles();
SecureRandomFuture.archive5.method8(); SecureRandomFuture.archive5.clearFiles();
UserComparator3.archive6.method8(); UserComparator3.archive6.clearFiles();
class40.archive7.method8(); class40.archive7.clearFiles();
WorldMapSection1.archive8.method8(); WorldMapSection1.archive8.clearFiles();
class238.archive9.method8(); class238.archive9.clearFiles();
class16.archive10.method8(); class16.archive10.clearFiles();
Login.archive11.method8(); Login.archive11.clearFiles();
Formatting.archive12.method8(); Formatting.archive12.clearFiles();
} }
@ObfuscatedName("gg") @ObfuscatedName("gg")
+9 -7
View File
@@ -25,12 +25,14 @@ public class Fonts {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
AbstractArchive field351; @Export("spritesArchive")
AbstractArchive spritesArchive;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
AbstractArchive field352; @Export("fontsArchive")
AbstractArchive fontsArchive;
@ObfuscatedName("q") @ObfuscatedName("q")
@Export("map") @Export("map")
HashMap map; HashMap map;
@@ -39,8 +41,8 @@ public class Fonts {
signature = "(Lir;Lir;)V" signature = "(Lir;Lir;)V"
) )
public Fonts(AbstractArchive var1, AbstractArchive var2) { public Fonts(AbstractArchive var1, AbstractArchive var2) {
this.field351 = var1; this.spritesArchive = var1;
this.field352 = var2; this.fontsArchive = var2;
this.map = new HashMap(); this.map = new HashMap();
} }
@@ -59,12 +61,12 @@ public class Fonts {
if (this.map.containsKey(var5)) { if (this.map.containsKey(var5)) {
var2.put(var5, this.map.get(var5)); var2.put(var5, this.map.get(var5));
} else { } else {
AbstractArchive var6 = this.field351; AbstractArchive var6 = this.spritesArchive;
AbstractArchive var7 = this.field352; AbstractArchive var7 = this.fontsArchive;
String var8 = var5.field349; String var8 = var5.field349;
int var9 = var6.getGroupId(var8); int var9 = var6.getGroupId(var8);
int var10 = var6.getFileId(var9, ""); int var10 = var6.getFileId(var9, "");
Font var11 = GraphicsDefaults.method5823(var6, var7, var9, var10); Font var11 = GraphicsDefaults.loadFont(var6, var7, var9, var10);
if (var11 != null) { if (var11 != null) {
this.map.put(var5, var11); this.map.put(var5, var11);
var2.put(var5, var11); var2.put(var5, var11);
+4 -3
View File
@@ -30,7 +30,7 @@ public class Frames extends DualNode {
NodeDeque var5 = new NodeDeque(); NodeDeque var5 = new NodeDeque();
int var6 = var1.getGroupFileCount(var3); int var6 = var1.getGroupFileCount(var3);
this.frames = new Animation[var6]; this.frames = new Animation[var6];
int[] var7 = var1.method3(var3); int[] var7 = var1.getGroupFileIds(var3);
for (int var8 = 0; var8 < var7.length; ++var8) { for (int var8 = 0; var8 < var7.length; ++var8) {
byte[] var9 = var1.takeFile(var3, var7[var8]); byte[] var9 = var1.takeFile(var3, var7[var8]);
@@ -70,8 +70,9 @@ public class Frames extends DualNode {
signature = "(Lir;I)V", signature = "(Lir;I)V",
garbageValue = "1204337492" garbageValue = "1204337492"
) )
public static void method3241(AbstractArchive var0) { @Export("setVarcIntArchive")
VarcInt.field942 = var0; public static void setVarcIntArchive(AbstractArchive var0) {
VarcInt.VarcInt_archive = var0;
} }
@ObfuscatedName("f") @ObfuscatedName("f")
@@ -486,7 +486,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
SoundCache.canvasWidth = width; SoundCache.canvasWidth = width;
Huffman.canvasHeight = height; Huffman.canvasHeight = height;
RunException.revision = revision; RunException.revision = revision;
RunException.applet = this; RunException.RunException_applet = this;
if (taskHandler == null) { if (taskHandler == null) {
taskHandler = new TaskHandler(); taskHandler = new TaskHandler();
} }
@@ -908,7 +908,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
} }
String var4 = var2.substring(6, var3); String var4 = var2.substring(6, var3);
if (UserComparator4.method3336(var4) && MouseHandler.method1085(var4) < 10) { if (UserComparator4.method3336(var4) && MouseHandler.parseInt(var4) < 10) {
this.error("wrongjava"); this.error("wrongjava");
return; return;
} }
@@ -103,7 +103,7 @@ public class GrandExchangeEvents {
) )
public static void method69() { public static void method69() {
HitSplatDefinition.HitSplatDefinition_cached.clear(); HitSplatDefinition.HitSplatDefinition_cached.clear();
HitSplatDefinition.field385.clear(); HitSplatDefinition.HitSplatDefinition_cachedSprites.clear();
HitSplatDefinition.HitSplatDefinition_cachedFonts.clear(); HitSplatDefinition.HitSplatDefinition_cachedFonts.clear();
} }
@@ -156,7 +156,7 @@ public class GrandExchangeEvents {
} else if (var0 == 2613) { } else if (var0 == 2613) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal(); Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal();
return 1; return 1;
} else if (var0 == 2614) { } else if (var0 == ScriptOpcodes.IF_GETMODELTRANSPARENT) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0;
return 1; return 1;
} else { } else {
@@ -108,12 +108,12 @@ final class GrandExchangeOfferTotalQuantityComparator implements Comparator {
garbageValue = "466862614" garbageValue = "466862614"
) )
static void method96(int var0, Coord var1, boolean var2) { static void method96(int var0, Coord var1, boolean var2) {
WorldMapArea var3 = BufferedFile.worldMap().getMapArea(var0); WorldMapArea var3 = BufferedFile.getWorldMap().getMapArea(var0);
int var4 = Canvas.localPlayer.plane; int var4 = Canvas.localPlayer.plane;
int var5 = (Canvas.localPlayer.x >> 7) + class50.baseX; int var5 = (Canvas.localPlayer.x >> 7) + class50.baseX;
int var6 = (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY; int var6 = (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY;
Coord var7 = new Coord(var4, var5, var6); Coord var7 = new Coord(var4, var5, var6);
BufferedFile.worldMap().method367(var3, var7, var1, var2); BufferedFile.getWorldMap().method367(var3, var7, var1, var2);
} }
@ObfuscatedName("ik") @ObfuscatedName("ik")
@@ -11,12 +11,14 @@ public class GraphicsDefaults {
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 1673796151 intValue = 1673796151
) )
public int field878; @Export("compass")
public int compass;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 159591367 intValue = 159591367
) )
public int field879; @Export("redHintArrow")
public int redHintArrow;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -104203005 intValue = -104203005
@@ -73,8 +75,8 @@ public class GraphicsDefaults {
public int modIcons; public int modIcons;
public GraphicsDefaults() { public GraphicsDefaults() {
this.field878 = -1; this.compass = -1;
this.field879 = -1; this.redHintArrow = -1;
this.mapScenes = -1; this.mapScenes = -1;
this.headIconsPk = -1; this.headIconsPk = -1;
this.headIconsPrayer = -1; this.headIconsPrayer = -1;
@@ -107,8 +109,8 @@ public class GraphicsDefaults {
var3.readMedium(); var3.readMedium();
break; break;
case 2: case 2:
this.field878 = var3.method51(); this.compass = var3.method51();
this.field879 = var3.method51(); this.redHintArrow = var3.method51();
this.mapScenes = var3.method51(); this.mapScenes = var3.method51();
this.headIconsPk = var3.method51(); this.headIconsPk = var3.method51();
this.headIconsPrayer = var3.method51(); this.headIconsPrayer = var3.method51();
@@ -127,7 +129,8 @@ public class GraphicsDefaults {
signature = "(Lir;Lir;III)Lkk;", signature = "(Lir;Lir;III)Lkk;",
garbageValue = "195396240" garbageValue = "195396240"
) )
public static Font method5823(AbstractArchive var0, AbstractArchive var1, int var2, int var3) { @Export("loadFont")
public static Font loadFont(AbstractArchive var0, AbstractArchive var1, int var2, int var3) {
if (!SpriteMask.loadSprite(var0, var2, var3)) { if (!SpriteMask.loadSprite(var0, var2, var3)) {
return null; return null;
} else { } else {
@@ -11,12 +11,14 @@ public class HealthBarDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field379; @Export("HealthBarDefinition_archive")
public static AbstractArchive HealthBarDefinition_archive;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field380; @Export("HealthBarDefinition_spritesArchive")
public static AbstractArchive HealthBarDefinition_spritesArchive;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -171,7 +173,7 @@ public class HealthBarDefinition extends DualNode {
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = class322.readSprite(field380, this.spriteId1, 0); var1 = class322.readSprite(HealthBarDefinition_spritesArchive, this.spriteId1, 0);
if (var1 != null) { if (var1 != null) {
HealthBarDefinition_cachedSprites.put(var1, (long)this.spriteId1); HealthBarDefinition_cachedSprites.put(var1, (long)this.spriteId1);
} }
@@ -195,7 +197,7 @@ public class HealthBarDefinition extends DualNode {
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = class322.readSprite(field380, this.spriteId2, 0); var1 = class322.readSprite(HealthBarDefinition_spritesArchive, this.spriteId2, 0);
if (var1 != null) { if (var1 != null) {
HealthBarDefinition_cachedSprites.put(var1, (long)this.spriteId2); HealthBarDefinition_cachedSprites.put(var1, (long)this.spriteId2);
} }
@@ -11,17 +11,20 @@ public class HitSplatDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
static AbstractArchive field382; @Export("HitSplatDefinition_archive")
static AbstractArchive HitSplatDefinition_archive;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
static AbstractArchive field383; @Export("HitSplatDefinition_spritesArchive")
static AbstractArchive HitSplatDefinition_spritesArchive;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
static AbstractArchive field384; @Export("HitSplatDefinition_fontsArchive")
static AbstractArchive HitSplatDefinition_fontsArchive;
@ObfuscatedName("w") @ObfuscatedName("w")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -32,7 +35,8 @@ public class HitSplatDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
) )
static EvictingDualNodeHashTable field385; @Export("HitSplatDefinition_cachedSprites")
static EvictingDualNodeHashTable HitSplatDefinition_cachedSprites;
@ObfuscatedName("u") @ObfuscatedName("u")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -274,13 +278,13 @@ public class HitSplatDefinition extends DualNode {
if (this.field388 < 0) { if (this.field388 < 0) {
return null; return null;
} else { } else {
Sprite var1 = (Sprite)field385.get((long)this.field388); Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field388);
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = class322.readSprite(field383, this.field388, 0); var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field388, 0);
if (var1 != null) { if (var1 != null) {
field385.put(var1, (long)this.field388); HitSplatDefinition_cachedSprites.put(var1, (long)this.field388);
} }
return var1; return var1;
@@ -297,13 +301,13 @@ public class HitSplatDefinition extends DualNode {
if (this.field389 < 0) { if (this.field389 < 0) {
return null; return null;
} else { } else {
Sprite var1 = (Sprite)field385.get((long)this.field389); Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field389);
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = class322.readSprite(field383, this.field389, 0); var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field389, 0);
if (var1 != null) { if (var1 != null) {
field385.put(var1, (long)this.field389); HitSplatDefinition_cachedSprites.put(var1, (long)this.field389);
} }
return var1; return var1;
@@ -320,13 +324,13 @@ public class HitSplatDefinition extends DualNode {
if (this.field390 < 0) { if (this.field390 < 0) {
return null; return null;
} else { } else {
Sprite var1 = (Sprite)field385.get((long)this.field390); Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field390);
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = class322.readSprite(field383, this.field390, 0); var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field390, 0);
if (var1 != null) { if (var1 != null) {
field385.put(var1, (long)this.field390); HitSplatDefinition_cachedSprites.put(var1, (long)this.field390);
} }
return var1; return var1;
@@ -343,13 +347,13 @@ public class HitSplatDefinition extends DualNode {
if (this.field391 < 0) { if (this.field391 < 0) {
return null; return null;
} else { } else {
Sprite var1 = (Sprite)field385.get((long)this.field391); Sprite var1 = (Sprite) HitSplatDefinition_cachedSprites.get((long)this.field391);
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = class322.readSprite(field383, this.field391, 0); var1 = class322.readSprite(HitSplatDefinition_spritesArchive, this.field391, 0);
if (var1 != null) { if (var1 != null) {
field385.put(var1, (long)this.field391); HitSplatDefinition_cachedSprites.put(var1, (long)this.field391);
} }
return var1; return var1;
@@ -371,7 +375,7 @@ public class HitSplatDefinition extends DualNode {
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = GraphicsDefaults.method5823(field383, field384, this.fontId, 0); var1 = GraphicsDefaults.loadFont(HitSplatDefinition_spritesArchive, HitSplatDefinition_fontsArchive, this.fontId, 0);
if (var1 != null) { if (var1 != null) {
HitSplatDefinition_cachedFonts.put(var1, (long)this.fontId); HitSplatDefinition_cachedFonts.put(var1, (long)this.fontId);
} }
@@ -388,7 +392,7 @@ public class HitSplatDefinition extends DualNode {
static { static {
HitSplatDefinition_cached = new EvictingDualNodeHashTable(64); HitSplatDefinition_cached = new EvictingDualNodeHashTable(64);
field385 = new EvictingDualNodeHashTable(64); HitSplatDefinition_cachedSprites = new EvictingDualNodeHashTable(64);
HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20); HitSplatDefinition_cachedFonts = new EvictingDualNodeHashTable(20);
} }
} }
+3 -2
View File
@@ -327,7 +327,8 @@ public class Huffman {
signature = "([Ljava/lang/String;[SB)V", signature = "([Ljava/lang/String;[SB)V",
garbageValue = "-20" garbageValue = "-20"
) )
public static void method3695(String[] var0, short[] var1) { @Export("startSortingItemsByName")
DynamicObject.method2218(var0, var1, 0, var0.length - 1); public static void startSortingItemsByName(String[] var0, short[] var1) {
DynamicObject.sortItemsByName(var0, var1, 0, var0.length - 1);
} }
} }
@@ -93,7 +93,8 @@ public class IgnoreList extends UserList {
signature = "(Ljava/lang/CharSequence;IZB)I", signature = "(Ljava/lang/CharSequence;IZB)I",
garbageValue = "5" garbageValue = "5"
) )
static int method5438(CharSequence var0, int var1, boolean var2) { @Export("parseIntCustomRadix")
static int parseIntCustomRadix(CharSequence var0, int var1, boolean var2) {
if (var1 >= 2 && var1 <= 36) { if (var1 >= 2 && var1 <= 36) {
boolean var3 = false; boolean var3 = false;
boolean var4 = false; boolean var4 = false;
+30 -30
View File
@@ -260,11 +260,11 @@ public final class IsaacCipher {
) )
static void method4093(int var0) { static void method4093(int var0) {
if (var0 == -3) { if (var0 == -3) {
class54.method1089("Connection timed out.", "Please try using a different world.", ""); class54.setLoginResponseString("Connection timed out.", "Please try using a different world.", "");
} else if (var0 == -2) { } else if (var0 == -2) {
class54.method1089("", "Error connecting to server.", ""); class54.setLoginResponseString("", "Error connecting to server.", "");
} else if (var0 == -1) { } else if (var0 == -1) {
class54.method1089("No response from server.", "Please try using a different world.", ""); class54.setLoginResponseString("No response from server.", "Please try using a different world.", "");
} else if (var0 == 3) { } else if (var0 == 3) {
Login.loginIndex = 3; Login.loginIndex = 3;
Login.field467 = 1; Login.field467 = 1;
@@ -272,65 +272,65 @@ public final class IsaacCipher {
class32.method578(0); class32.method578(0);
} else if (var0 == 5) { } else if (var0 == 5) {
Login.field467 = 2; Login.field467 = 2;
class54.method1089("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes."); class54.setLoginResponseString("Your account has not logged out from its last", "session or the server is too busy right now.", "Please try again in a few minutes.");
} else if (var0 != 68 && (Client.onMobile || var0 != 6)) { } else if (var0 != 68 && (Client.onMobile || var0 != 6)) {
if (var0 == 7) { if (var0 == 7) {
class54.method1089("This world is full.", "Please use a different world.", ""); class54.setLoginResponseString("This world is full.", "Please use a different world.", "");
} else if (var0 == 8) { } else if (var0 == 8) {
class54.method1089("Unable to connect.", "Login server offline.", ""); class54.setLoginResponseString("Unable to connect.", "Login server offline.", "");
} else if (var0 == 9) { } else if (var0 == 9) {
class54.method1089("Login limit exceeded.", "Too many connections from your address.", ""); class54.setLoginResponseString("Login limit exceeded.", "Too many connections from your address.", "");
} else if (var0 == 10) { } else if (var0 == 10) {
class54.method1089("Unable to connect.", "Bad session id.", ""); class54.setLoginResponseString("Unable to connect.", "Bad session id.", "");
} else if (var0 == 11) { } else if (var0 == 11) {
class54.method1089("We suspect someone knows your password.", "Press 'change your password' on front page.", ""); class54.setLoginResponseString("We suspect someone knows your password.", "Press 'change your password' on front page.", "");
} else if (var0 == 12) { } else if (var0 == 12) {
class54.method1089("You need a members account to login to this world.", "Please subscribe, or use a different world.", ""); class54.setLoginResponseString("You need a members account to login to this world.", "Please subscribe, or use a different world.", "");
} else if (var0 == 13) { } else if (var0 == 13) {
class54.method1089("Could not complete login.", "Please try using a different world.", ""); class54.setLoginResponseString("Could not complete login.", "Please try using a different world.", "");
} else if (var0 == 14) { } else if (var0 == 14) {
class54.method1089("The server is being updated.", "Please wait 1 minute and try again.", ""); class54.setLoginResponseString("The server is being updated.", "Please wait 1 minute and try again.", "");
} else if (var0 == 16) { } else if (var0 == 16) {
class54.method1089("Too many login attempts.", "Please wait a few minutes before trying again.", ""); class54.setLoginResponseString("Too many login attempts.", "Please wait a few minutes before trying again.", "");
} else if (var0 == 17) { } else if (var0 == 17) {
class54.method1089("You are standing in a members-only area.", "To play on this world move to a free area first", ""); class54.setLoginResponseString("You are standing in a members-only area.", "To play on this world move to a free area first", "");
} else if (var0 == 18) { } else if (var0 == 18) {
class32.method578(1); class32.method578(1);
} else if (var0 == 19) { } else if (var0 == 19) {
class54.method1089("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world."); class54.setLoginResponseString("This world is running a closed Beta.", "Sorry invited players only.", "Please use a different world.");
} else if (var0 == 20) { } else if (var0 == 20) {
class54.method1089("Invalid loginserver requested.", "Please try using a different world.", ""); class54.setLoginResponseString("Invalid loginserver requested.", "Please try using a different world.", "");
} else if (var0 == 22) { } else if (var0 == 22) {
class54.method1089("Malformed login packet.", "Please try again.", ""); class54.setLoginResponseString("Malformed login packet.", "Please try again.", "");
} else if (var0 == 23) { } else if (var0 == 23) {
class54.method1089("No reply from loginserver.", "Please wait 1 minute and try again.", ""); class54.setLoginResponseString("No reply from loginserver.", "Please wait 1 minute and try again.", "");
} else if (var0 == 24) { } else if (var0 == 24) {
class54.method1089("Error loading your profile.", "Please contact customer support.", ""); class54.setLoginResponseString("Error loading your profile.", "Please contact customer support.", "");
} else if (var0 == 25) { } else if (var0 == 25) {
class54.method1089("Unexpected loginserver response.", "Please try using a different world.", ""); class54.setLoginResponseString("Unexpected loginserver response.", "Please try using a different world.", "");
} else if (var0 == 26) { } else if (var0 == 26) {
class54.method1089("This computers address has been blocked", "as it was used to break our rules.", ""); class54.setLoginResponseString("This computers address has been blocked", "as it was used to break our rules.", "");
} else if (var0 == 27) { } else if (var0 == 27) {
class54.method1089("", "Service unavailable.", ""); class54.setLoginResponseString("", "Service unavailable.", "");
} else if (var0 == 31) { } else if (var0 == 31) {
class54.method1089("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game."); class54.setLoginResponseString("Your account must have a displayname set", "in order to play the game. Please set it", "via the website, or the main game.");
} else if (var0 == 32) { } else if (var0 == 32) {
class54.method1089("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system."); class54.setLoginResponseString("Your attempt to log into your account was", "unsuccessful. Don't worry, you can sort", "this out by visiting the billing system.");
} else if (var0 == 37) { } else if (var0 == 37) {
class54.method1089("Your account is currently inaccessible.", "Please try again in a few minutes.", ""); class54.setLoginResponseString("Your account is currently inaccessible.", "Please try again in a few minutes.", "");
} else if (var0 == 38) { } else if (var0 == 38) {
class54.method1089("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!"); class54.setLoginResponseString("You need to vote to play!", "Visit runescape.com and vote,", "and then come back here!");
} else if (var0 == 55) { } else if (var0 == 55) {
Login.loginIndex = 8; Login.loginIndex = 8;
} else { } else {
if (var0 == 56) { if (var0 == 56) {
class54.method1089("Enter the 6-digit code generated by your", "authenticator app.", ""); class54.setLoginResponseString("Enter the 6-digit code generated by your", "authenticator app.", "");
GameShell.updateGameState(11); GameShell.updateGameState(11);
return; return;
} }
if (var0 == 57) { if (var0 == 57) {
class54.method1089("The code you entered was incorrect.", "Please try again.", ""); class54.setLoginResponseString("The code you entered was incorrect.", "Please try again.", "");
GameShell.updateGameState(11); GameShell.updateGameState(11);
return; return;
} }
@@ -338,11 +338,11 @@ public final class IsaacCipher {
if (var0 == 61) { if (var0 == 61) {
Login.loginIndex = 7; Login.loginIndex = 7;
} else { } else {
class54.method1089("Unexpected server response", "Please try using a different world.", ""); class54.setLoginResponseString("Unexpected server response", "Please try using a different world.", "");
} }
} }
} else { } else {
class54.method1089("RuneScape has been updated!", "Please reload this page.", ""); class54.setLoginResponseString("RuneScape has been updated!", "Please reload this page.", "");
} }
GameShell.updateGameState(10); GameShell.updateGameState(10);
@@ -52,14 +52,14 @@ public class ItemContainer extends Node {
) )
@Export("getFrames") @Export("getFrames")
static Frames getFrames(int var0) { static Frames getFrames(int var0) {
Frames var1 = (Frames)SequenceDefinition.field775.get((long)var0); Frames var1 = (Frames)SequenceDefinition.SequenceDefinition_cachedFrames.get((long)var0);
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
AbstractArchive var2 = SequenceDefinition.field773; AbstractArchive var2 = SequenceDefinition.SequenceDefinition_animationsArchive;
AbstractArchive var3 = SequenceDefinition.field774; AbstractArchive var3 = SequenceDefinition.SequenceDefinition_skeletonsArchive;
boolean var4 = true; boolean var4 = true;
int[] var5 = var2.method3(var0); int[] var5 = var2.getGroupFileIds(var0);
for (int var6 = 0; var6 < var5.length; ++var6) { for (int var6 = 0; var6 < var5.length; ++var6) {
byte[] var7 = var2.getFile(var0, var5[var6]); byte[] var7 = var2.getFile(var0, var5[var6]);
@@ -86,7 +86,7 @@ public class ItemContainer extends Node {
} }
if (var11 != null) { if (var11 != null) {
SequenceDefinition.field775.put(var11, (long)var0); SequenceDefinition.SequenceDefinition_cachedFrames.put(var11, (long)var0);
} }
return var11; return var11;
@@ -35,8 +35,8 @@ public class ItemDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
) )
@Export("Sprite_cached") @Export("ItemDefinition_cachedSprites")
static EvictingDualNodeHashTable Sprite_cached; static EvictingDualNodeHashTable ItemDefinition_cachedSprites;
@ObfuscatedName("i") @ObfuscatedName("i")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -590103687 intValue = -590103687
@@ -904,6 +904,6 @@ public class ItemDefinition extends DualNode {
static { static {
ItemDefinition_cached = new EvictingDualNodeHashTable(64); ItemDefinition_cached = new EvictingDualNodeHashTable(64);
ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50); ItemDefinition_cachedModels = new EvictingDualNodeHashTable(50);
Sprite_cached = new EvictingDualNodeHashTable(200); ItemDefinition_cachedSprites = new EvictingDualNodeHashTable(200);
} }
} }
@@ -113,8 +113,6 @@ public class IterableDualNodeQueue implements Iterable {
} }
} }
@Export("iterator")
@ObfuscatedName("iterator")
public Iterator iterator() { public Iterator iterator() {
return new IterableDualNodeQueueIterator(this); return new IterableDualNodeQueueIterator(this);
} }
@@ -36,8 +36,6 @@ public class IterableDualNodeQueueIterator implements Iterator {
this.last = null; this.last = null;
} }
@Export("next")
@ObfuscatedName("next")
public Object next() { public Object next() {
DualNode var1 = this.head; DualNode var1 = this.head;
if (var1 == this.queue.sentinel) { if (var1 == this.queue.sentinel) {
@@ -51,14 +49,10 @@ public class IterableDualNodeQueueIterator implements Iterator {
return var1; return var1;
} }
@Export("hasNext")
@ObfuscatedName("hasNext")
public boolean hasNext() { public boolean hasNext() {
return this.queue.sentinel != this.head; return this.queue.sentinel != this.head;
} }
@ObfuscatedName("remove")
@Export("remove")
public void remove() { public void remove() {
if (this.last == null) { if (this.last == null) {
throw new IllegalStateException(); throw new IllegalStateException();
@@ -120,8 +120,6 @@ public class IterableNodeDeque implements Iterable {
return this.sentinel.previous == this.sentinel; return this.sentinel.previous == this.sentinel;
} }
@Export("iterator")
@ObfuscatedName("iterator")
public Iterator iterator() { public Iterator iterator() {
return new IterableNodeDequeDescendingIterator(this); return new IterableNodeDequeDescendingIterator(this);
} }
@@ -51,14 +51,10 @@ public class IterableNodeDequeDescendingIterator implements Iterator {
this.last = null; this.last = null;
} }
@Export("hasNext")
@ObfuscatedName("hasNext")
public boolean hasNext() { public boolean hasNext() {
return this.deque.sentinel != this.head; return this.deque.sentinel != this.head;
} }
@Export("next")
@ObfuscatedName("next")
public Object next() { public Object next() {
Node var1 = this.head; Node var1 = this.head;
if (var1 == this.deque.sentinel) { if (var1 == this.deque.sentinel) {
@@ -72,8 +68,6 @@ public class IterableNodeDequeDescendingIterator implements Iterator {
return var1; return var1;
} }
@ObfuscatedName("remove")
@Export("remove")
public void remove() { public void remove() {
if (this.last == null) { if (this.last == null) {
throw new IllegalStateException(); throw new IllegalStateException();
@@ -138,8 +138,6 @@ public final class IterableNodeHashTable implements Iterable {
} }
} }
@Export("iterator")
@ObfuscatedName("iterator")
public Iterator iterator() { public Iterator iterator() {
return new IterableNodeHashTableIterator(this); return new IterableNodeHashTableIterator(this);
} }
@@ -46,8 +46,6 @@ public class IterableNodeHashTableIterator implements Iterator {
this.last = null; this.last = null;
} }
@Export("next")
@ObfuscatedName("next")
public Object next() { public Object next() {
Node var1; Node var1;
if (this.hashTable.buckets[this.index - 1] != this.head) { if (this.hashTable.buckets[this.index - 1] != this.head) {
@@ -70,8 +68,6 @@ public class IterableNodeHashTableIterator implements Iterator {
} }
} }
@Export("hasNext")
@ObfuscatedName("hasNext")
public boolean hasNext() { public boolean hasNext() {
if (this.hashTable.buckets[this.index - 1] != this.head) { if (this.hashTable.buckets[this.index - 1] != this.head) {
return true; return true;
@@ -89,8 +85,6 @@ public class IterableNodeHashTableIterator implements Iterator {
} }
} }
@ObfuscatedName("remove")
@Export("remove")
public void remove() { public void remove() {
if (this.last == null) { if (this.last == null) {
throw new IllegalStateException(); throw new IllegalStateException();
+2 -11
View File
@@ -98,8 +98,6 @@ public final class KeyHandler implements KeyListener, FocusListener {
@Export("crossSprites") @Export("crossSprites")
static Sprite[] crossSprites; static Sprite[] crossSprites;
@Export("keyPressed")
@ObfuscatedName("keyPressed")
public final synchronized void keyPressed(KeyEvent var1) { public final synchronized void keyPressed(KeyEvent var1) {
if (KeyHandler_instance != null) { if (KeyHandler_instance != null) {
int var2 = var1.getKeyCode(); int var2 = var1.getKeyCode();
@@ -138,13 +136,9 @@ public final class KeyHandler implements KeyListener, FocusListener {
} }
@Export("focusGained")
@ObfuscatedName("focusGained")
public final void focusGained(FocusEvent var1) { public final void focusGained(FocusEvent var1) {
} }
@Export("focusLost")
@ObfuscatedName("focusLost")
public final synchronized void focusLost(FocusEvent var1) { public final synchronized void focusLost(FocusEvent var1) {
if (KeyHandler_instance != null) { if (KeyHandler_instance != null) {
field448 = -1; field448 = -1;
@@ -152,8 +146,6 @@ public final class KeyHandler implements KeyListener, FocusListener {
} }
@Export("keyReleased")
@ObfuscatedName("keyReleased")
public final synchronized void keyReleased(KeyEvent var1) { public final synchronized void keyReleased(KeyEvent var1) {
if (KeyHandler_instance != null) { if (KeyHandler_instance != null) {
int var2 = var1.getKeyCode(); int var2 = var1.getKeyCode();
@@ -175,8 +167,6 @@ public final class KeyHandler implements KeyListener, FocusListener {
var1.consume(); var1.consume();
} }
@Export("keyTyped")
@ObfuscatedName("keyTyped")
public final void keyTyped(KeyEvent var1) { public final void keyTyped(KeyEvent var1) {
if (KeyHandler_instance != null) { if (KeyHandler_instance != null) {
char var2 = var1.getKeyChar(); char var2 = var1.getKeyChar();
@@ -221,7 +211,8 @@ public final class KeyHandler implements KeyListener, FocusListener {
signature = "(I)Ljava/lang/String;", signature = "(I)Ljava/lang/String;",
garbageValue = "-345222494" garbageValue = "-345222494"
) )
static String method839() { @Export("getChatMessagesAsString")
static String getChatMessagesAsString() {
String var0 = ""; String var0 = "";
Message var1; Message var1;
@@ -17,13 +17,14 @@ public class KitDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field456; @Export("KitDefinition_modelsArchive")
public static AbstractArchive KitDefinition_modelsArchive;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 235389995 intValue = 235389995
) )
@Export("KitDefinition_totalCount") @Export("KitDefinition_fileCount")
public static int KitDefinition_totalCount; public static int KitDefinition_fileCount;
@ObfuscatedName("w") @ObfuscatedName("w")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -140,7 +141,7 @@ public class KitDefinition extends DualNode {
boolean var1 = true; boolean var1 = true;
for (int var2 = 0; var2 < this.models2.length; ++var2) { for (int var2 = 0; var2 < this.models2.length; ++var2) {
if (!field456.tryLoadFile(this.models2[var2], 0)) { if (!KitDefinition_modelsArchive.tryLoadFile(this.models2[var2], 0)) {
var1 = false; var1 = false;
} }
} }
@@ -162,7 +163,7 @@ public class KitDefinition extends DualNode {
ModelData[] var1 = new ModelData[this.models2.length]; ModelData[] var1 = new ModelData[this.models2.length];
for (int var2 = 0; var2 < this.models2.length; ++var2) { for (int var2 = 0; var2 < this.models2.length; ++var2) {
var1[var2] = ModelData.method2788(field456, this.models2[var2], 0); var1[var2] = ModelData.method2788(KitDefinition_modelsArchive, this.models2[var2], 0);
} }
ModelData var4; ModelData var4;
@@ -198,7 +199,7 @@ public class KitDefinition extends DualNode {
boolean var1 = true; boolean var1 = true;
for (int var2 = 0; var2 < 5; ++var2) { for (int var2 = 0; var2 < 5; ++var2) {
if (this.models[var2] != -1 && !field456.tryLoadFile(this.models[var2], 0)) { if (this.models[var2] != -1 && !KitDefinition_modelsArchive.tryLoadFile(this.models[var2], 0)) {
var1 = false; var1 = false;
} }
} }
@@ -217,7 +218,7 @@ public class KitDefinition extends DualNode {
for (int var3 = 0; var3 < 5; ++var3) { for (int var3 = 0; var3 < 5; ++var3) {
if (this.models[var3] != -1) { if (this.models[var3] != -1) {
var1[var2++] = ModelData.method2788(field456, this.models[var3], 0); var1[var2++] = ModelData.method2788(KitDefinition_modelsArchive, this.models[var3], 0);
} }
} }
+1 -1
View File
@@ -188,7 +188,7 @@ public class Login {
) )
public static void method2076(AbstractArchive var0, int var1, int var2, int var3, boolean var4) { public static void method2076(AbstractArchive var0, int var1, int var2, int var3, boolean var4) {
class214.field1129 = 1; class214.field1129 = 1;
class214.field1130 = var0; class214.musicTrackArchive = var0;
class30.musicTrackGroupId = var1; class30.musicTrackGroupId = var1;
GrandExchangeOffer.musicTrackFileId = var2; GrandExchangeOffer.musicTrackFileId = var2;
WorldMapLabel.field1039 = var3; WorldMapLabel.field1039 = var3;
@@ -618,7 +618,7 @@ public class LoginScreenAnimation {
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
byte[] var2 = HitSplatDefinition.field382.takeFile(32, var0); byte[] var2 = HitSplatDefinition.HitSplatDefinition_archive.takeFile(32, var0);
var1 = new HitSplatDefinition(); var1 = new HitSplatDefinition();
if (var2 != null) { if (var2 != null) {
var1.decode(new Buffer(var2)); var1.decode(new Buffer(var2));
@@ -637,6 +637,6 @@ public class LoginScreenAnimation {
public static void method1780() { public static void method1780() {
ItemDefinition.ItemDefinition_cached.clear(); ItemDefinition.ItemDefinition_cached.clear();
ItemDefinition.ItemDefinition_cachedModels.clear(); ItemDefinition.ItemDefinition_cachedModels.clear();
ItemDefinition.Sprite_cached.clear(); ItemDefinition.ItemDefinition_cachedSprites.clear();
} }
} }
@@ -181,8 +181,6 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
} }
@Export("mouseClicked")
@ObfuscatedName("mouseClicked")
public final void mouseClicked(MouseEvent var1) { public final void mouseClicked(MouseEvent var1) {
if (var1.isPopupTrigger()) { if (var1.isPopupTrigger()) {
var1.consume(); var1.consume();
@@ -190,8 +188,6 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
} }
@Export("mouseExited")
@ObfuscatedName("mouseExited")
public final synchronized void mouseExited(MouseEvent var1) { public final synchronized void mouseExited(MouseEvent var1) {
if (MouseHandler_instance != null) { if (MouseHandler_instance != null) {
MouseHandler_idleCycles = 0; MouseHandler_idleCycles = 0;
@@ -234,8 +230,9 @@ public class MouseHandler implements MouseListener, MouseMotionListener, FocusLi
signature = "(Ljava/lang/CharSequence;I)I", signature = "(Ljava/lang/CharSequence;I)I",
garbageValue = "1860098743" garbageValue = "1860098743"
) )
public static int method1085(CharSequence var0) { @Export("parseInt")
return IgnoreList.method5438(var0, 10, true); public static int parseInt(CharSequence var0) {
return IgnoreList.parseIntCustomRadix(var0, 10, true);
} }
@ObfuscatedName("l") @ObfuscatedName("l")
@@ -265,16 +265,17 @@ public class MouseRecorder implements Runnable {
signature = "(Lho;IIII)V", signature = "(Lho;IIII)V",
garbageValue = "-335916694" garbageValue = "-335916694"
) )
static final void method1189(Widget var0, int var1, int var2, int var3) { @Export("drawMinimap")
static final void drawMinimap(Widget minimapComponent, int x, int y, int rootIndex) {
class13.playPcmPlayers(); class13.playPcmPlayers();
SpriteMask var4 = var0.getSpriteMask(false); SpriteMask var4 = minimapComponent.getSpriteMask(false);
if (var4 != null) { if (var4 != null) {
Rasterizer2D.Rasterizer2D_setClip(var1, var2, var4.width + var1, var2 + var4.height); Rasterizer2D.Rasterizer2D_setClip(x, y, var4.width + x, y + var4.height);
if (Client.minimapState != 2 && Client.minimapState != 5) { if (Client.minimapState != 2 && Client.minimapState != 5) {
int var5 = Client.camAngleY & 2047; int var5 = Client.camAngleY & 2047;
int var6 = Canvas.localPlayer.x / 32 + 48; int var6 = Canvas.localPlayer.x / 32 + 48;
int var7 = 464 - Canvas.localPlayer.y / 32; int var7 = 464 - Canvas.localPlayer.y / 32;
InterfaceParent.sceneMinimapSprite.method315(var1, var2, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths); InterfaceParent.sceneMinimapSprite.drawRotatedMaskedCenteredAround(x, y, var4.width, var4.height, var6, var7, var5, 256, var4.xStarts, var4.xWidths);
int var8; int var8;
int var9; int var9;
@@ -282,7 +283,7 @@ public class MouseRecorder implements Runnable {
for (var8 = 0; var8 < Client.mapIconCount; ++var8) { for (var8 = 0; var8 < Client.mapIconCount; ++var8) {
var9 = Client.mapIconXs[var8] * 4 + 2 - Canvas.localPlayer.x / 32; var9 = Client.mapIconXs[var8] * 4 + 2 - Canvas.localPlayer.x / 32;
var10 = Client.mapIconYs[var8] * 4 + 2 - Canvas.localPlayer.y / 32; var10 = Client.mapIconYs[var8] * 4 + 2 - Canvas.localPlayer.y / 32;
NetFileRequest.method4554(var1, var2, var9, var10, Client.mapIcons[var8], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var9, var10, Client.mapIcons[var8], var4);
} }
var8 = 0; var8 = 0;
@@ -302,7 +303,7 @@ public class MouseRecorder implements Runnable {
if (var14 != null && var14.drawMapDot && var14.isInteractable) { if (var14 != null && var14.drawMapDot && var14.isInteractable) {
var11 = var17.x / 32 - Canvas.localPlayer.x / 32; var11 = var17.x / 32 - Canvas.localPlayer.x / 32;
var12 = var17.y / 32 - Canvas.localPlayer.y / 32; var12 = var17.y / 32 - Canvas.localPlayer.y / 32;
NetFileRequest.method4554(var1, var2, var11, var12, class39.mapDotSprites[1], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var11, var12, class39.mapDotSprites[1], var4);
} }
} }
} }
@@ -322,13 +323,13 @@ public class MouseRecorder implements Runnable {
} }
if (var19.isFriend()) { if (var19.isFriend()) {
NetFileRequest.method4554(var1, var2, var12, var15, class39.mapDotSprites[3], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.mapDotSprites[3], var4);
} else if (var16) { } else if (var16) {
NetFileRequest.method4554(var1, var2, var12, var15, class39.mapDotSprites[4], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.mapDotSprites[4], var4);
} else if (var19.isClanMember()) { } else if (var19.isClanMember()) {
NetFileRequest.method4554(var1, var2, var12, var15, class39.mapDotSprites[5], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.mapDotSprites[5], var4);
} else { } else {
NetFileRequest.method4554(var1, var2, var12, var15, class39.mapDotSprites[2], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var12, var15, class39.mapDotSprites[2], var4);
} }
} }
} }
@@ -339,14 +340,14 @@ public class MouseRecorder implements Runnable {
if (var20 != null) { if (var20 != null) {
var11 = var20.x / 32 - Canvas.localPlayer.x / 32; var11 = var20.x / 32 - Canvas.localPlayer.x / 32;
var12 = var20.y / 32 - Canvas.localPlayer.y / 32; var12 = var20.y / 32 - Canvas.localPlayer.y / 32;
UserComparator5.worldToMinimap(var1, var2, var11, var12, class16.mapMarkerSprites[1], var4); UserComparator5.worldToMinimap(x, y, var11, var12, class16.mapMarkerSprites[1], var4);
} }
} }
if (Client.hintArrowType == 2) { if (Client.hintArrowType == 2) {
var10 = Client.hintArrowX * 4 - class50.baseX * 4 + 2 - Canvas.localPlayer.x / 32; var10 = Client.hintArrowX * 4 - class50.baseX * 4 + 2 - Canvas.localPlayer.x / 32;
var11 = Client.hintArrowY * 4 - GraphicsObject.baseY * 4 + 2 - Canvas.localPlayer.y / 32; var11 = Client.hintArrowY * 4 - GraphicsObject.baseY * 4 + 2 - Canvas.localPlayer.y / 32;
UserComparator5.worldToMinimap(var1, var2, var10, var11, class16.mapMarkerSprites[1], var4); UserComparator5.worldToMinimap(x, y, var10, var11, class16.mapMarkerSprites[1], var4);
} }
if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) { if (Client.hintArrowType == 10 && Client.hintArrowPlayerIndex >= 0 && Client.hintArrowPlayerIndex < Client.players.length) {
@@ -354,7 +355,7 @@ public class MouseRecorder implements Runnable {
if (var19 != null) { if (var19 != null) {
var11 = var19.x / 32 - Canvas.localPlayer.x / 32; var11 = var19.x / 32 - Canvas.localPlayer.x / 32;
var12 = var19.y / 32 - Canvas.localPlayer.y / 32; var12 = var19.y / 32 - Canvas.localPlayer.y / 32;
UserComparator5.worldToMinimap(var1, var2, var11, var12, class16.mapMarkerSprites[1], var4); UserComparator5.worldToMinimap(x, y, var11, var12, class16.mapMarkerSprites[1], var4);
} }
} }
} }
@@ -362,11 +363,11 @@ public class MouseRecorder implements Runnable {
if (Client.destinationX != 0) { if (Client.destinationX != 0) {
var10 = Client.destinationX * 4 + 2 - Canvas.localPlayer.x / 32; var10 = Client.destinationX * 4 + 2 - Canvas.localPlayer.x / 32;
var11 = Client.destinationY * 4 + 2 - Canvas.localPlayer.y / 32; var11 = Client.destinationY * 4 + 2 - Canvas.localPlayer.y / 32;
NetFileRequest.method4554(var1, var2, var10, var11, class16.mapMarkerSprites[0], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var10, var11, class16.mapMarkerSprites[0], var4);
} }
if (!Canvas.localPlayer.isHidden) { if (!Canvas.localPlayer.isHidden) {
Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + var1 - 1, var4.height / 2 + var2 - 1, 3, 3, 16777215); Rasterizer2D.Rasterizer2D_fillRectangle(var4.width / 2 + x - 1, var4.height / 2 + y - 1, 3, 3, 16777215);
} }
break; break;
} }
@@ -376,17 +377,17 @@ public class MouseRecorder implements Runnable {
if (var13 != null) { if (var13 != null) {
var11 = var8 * 4 + 2 - Canvas.localPlayer.x / 32; var11 = var8 * 4 + 2 - Canvas.localPlayer.x / 32;
var12 = var9 * 4 + 2 - Canvas.localPlayer.y / 32; var12 = var9 * 4 + 2 - Canvas.localPlayer.y / 32;
NetFileRequest.method4554(var1, var2, var11, var12, class39.mapDotSprites[0], var4); NetFileRequest.drawSpriteOnMinimap(x, y, var11, var12, class39.mapDotSprites[0], var4);
} }
} }
++var8; ++var8;
} }
} else { } else {
Rasterizer2D.method5948(var1, var2, 0, var4.xStarts, var4.xWidths); Rasterizer2D.method5948(x, y, 0, var4.xStarts, var4.xWidths);
} }
Client.field102[var3] = true; Client.field102[rootIndex] = true;
} }
} }
@@ -53,8 +53,6 @@ public final class MouseWheelHandler implements MouseWheel, MouseWheelListener {
return var1; return var1;
} }
@Export("mouseWheelMoved")
@ObfuscatedName("mouseWheelMoved")
public synchronized void mouseWheelMoved(MouseWheelEvent var1) { public synchronized void mouseWheelMoved(MouseWheelEvent var1) {
this.rotation += var1.getWheelRotation(); this.rotation += var1.getWheelRotation();
} }
@@ -602,11 +602,11 @@ public class NPCDefinition extends DualNode {
var2 = var2.replace('@', '_'); var2 = var2.replace('@', '_');
var2 = var2.replace('&', '_'); var2 = var2.replace('&', '_');
var2 = var2.replace('#', '_'); var2 = var2.replace('#', '_');
if (RunException.applet == null) { if (RunException.RunException_applet == null) {
return; return;
} }
URL var3 = new URL(RunException.applet.getCodeBase(), "clienterror.ws?c=" + RunException.revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.field761 + "&e=" + var2); URL var3 = new URL(RunException.RunException_applet.getCodeBase(), "clienterror.ws?c=" + RunException.revision + "&u=" + RunException.localPlayerName + "&v1=" + TaskHandler.javaVendor + "&v2=" + TaskHandler.javaVersion + "&ct=" + RunException.field761 + "&e=" + var2);
DataInputStream var4 = new DataInputStream(var3.openStream()); DataInputStream var4 = new DataInputStream(var3.openStream());
var4.read(); var4.read();
var4.close(); var4.close();
@@ -649,7 +649,7 @@ public class NPCDefinition extends DualNode {
static void method5162() { static void method5162() {
Login.Login_username = Login.Login_username.trim(); Login.Login_username = Login.Login_username.trim();
if (Login.Login_username.length() == 0) { if (Login.Login_username.length() == 0) {
class54.method1089("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address."); class54.setLoginResponseString("Please enter your username.", "If you created your account after November", "2010, this will be the creation email address.");
} else { } else {
long var0; long var0;
try { try {
@@ -693,23 +693,23 @@ public class NPCDefinition extends DualNode {
switch(var11) { switch(var11) {
case 2: case 2:
class54.method1089(Strings.field882, Strings.field883, Strings.field884); class54.setLoginResponseString(Strings.field882, Strings.field883, Strings.field884);
Login.loginIndex = 6; Login.loginIndex = 6;
break; break;
case 3: case 3:
class54.method1089("", "Error connecting to server.", ""); class54.setLoginResponseString("", "Error connecting to server.", "");
break; break;
case 4: case 4:
class54.method1089("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later."); class54.setLoginResponseString("The part of the website you are trying", "to connect to is offline at the moment.", "Please try again later.");
break; break;
case 5: case 5:
class54.method1089("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later."); class54.setLoginResponseString("Sorry, there was an error trying to", "log you in to this part of the website.", "Please try again later.");
break; break;
case 6: case 6:
class54.method1089("", "Error connecting to server.", ""); class54.setLoginResponseString("", "Error connecting to server.", "");
break; break;
case 7: case 7:
class54.method1089("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username."); class54.setLoginResponseString("You must enter a valid login to proceed. For accounts", "created after 24th November 2010, please use your", "email address. Otherwise please use your username.");
} }
} }
@@ -721,7 +721,7 @@ public class NPCDefinition extends DualNode {
garbageValue = "1100306484" garbageValue = "1100306484"
) )
static String method5161(String var0) { static String method5161(String var0) {
PlayerType[] var1 = class48.method865(); PlayerType[] var1 = class48.PlayerType_values();
for (int var2 = 0; var2 < var1.length; ++var2) { for (int var2 = 0; var2 < var1.length; ++var2) {
PlayerType var3 = var1[var2]; PlayerType var3 = var1[var2];
@@ -94,7 +94,8 @@ public class NetFileRequest extends DualNode {
signature = "(IIIILln;Lhp;B)V", signature = "(IIIILln;Lhp;B)V",
garbageValue = "-37" garbageValue = "-37"
) )
static final void method4554(int var0, int var1, int var2, int var3, Sprite var4, SpriteMask var5) { @Export("drawSpriteOnMinimap")
static final void drawSpriteOnMinimap(int var0, int var1, int var2, int var3, Sprite var4, SpriteMask var5) {
if (var4 != null) { if (var4 != null) {
int var6 = Client.camAngleY & 2047; int var6 = Client.camAngleY & 2047;
int var7 = var3 * var3 + var2 * var2; int var7 = var3 * var3 + var2 * var2;
@@ -293,8 +293,6 @@ public final class NetSocket extends AbstractSocket implements Runnable {
} }
@Export("finalize")
@ObfuscatedName("finalize")
protected void finalize() { protected void finalize() {
this.close(); this.close();
} }
@@ -535,10 +533,11 @@ public final class NetSocket extends AbstractSocket implements Runnable {
signature = "(Lir;Lir;Lir;Lhm;I)Z", signature = "(Lir;Lir;Lir;Lhm;I)Z",
garbageValue = "-590103687" garbageValue = "-590103687"
) )
public static boolean method3537(AbstractArchive var0, AbstractArchive var1, AbstractArchive var2, MidiPcmStream var3) { @Export("setAudioArchives")
class1.field1105 = var0; public static boolean setAudioArchives(AbstractArchive patches, AbstractArchive samples, AbstractArchive fx, MidiPcmStream var3) {
class214.field1127 = var1; class1.musicPatchesArchive = patches;
class214.field1128 = var2; class214.musicSamplesArchive = samples;
class214.soundEffectsArchive = fx;
class214.midiPcmStream = var3; class214.midiPcmStream = var3;
return true; return true;
} }
@@ -20,7 +20,8 @@ public class ObjectDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
static AbstractArchive field640; @Export("ObjectDefinition_modelsArchive")
static AbstractArchive ObjectDefinition_modelsArchive;
@ObfuscatedName("w") @ObfuscatedName("w")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -31,12 +32,14 @@ public class ObjectDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
) )
public static EvictingDualNodeHashTable field641; @Export("ObjectDefinition_cachedModelData")
public static EvictingDualNodeHashTable ObjectDefinition_cachedModelData;
@ObfuscatedName("u") @ObfuscatedName("u")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
) )
static EvictingDualNodeHashTable field642; @Export("ObjectDefinition_cachedEntities")
static EvictingDualNodeHashTable ObjectDefinition_cachedEntities;
@ObfuscatedName("g") @ObfuscatedName("g")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -515,7 +518,7 @@ public class ObjectDefinition extends DualNode {
if (this.field645 != null) { if (this.field645 != null) {
for (int var4 = 0; var4 < this.field645.length; ++var4) { for (int var4 = 0; var4 < this.field645.length; ++var4) {
if (this.field645[var4] == var1) { if (this.field645[var4] == var1) {
return field640.tryLoadFile(this.field644[var4] & 65535, 0); return ObjectDefinition_modelsArchive.tryLoadFile(this.field644[var4] & 65535, 0);
} }
} }
@@ -528,7 +531,7 @@ public class ObjectDefinition extends DualNode {
boolean var2 = true; boolean var2 = true;
for (int var3 = 0; var3 < this.field644.length; ++var3) { for (int var3 = 0; var3 < this.field644.length; ++var3) {
var2 &= field640.tryLoadFile(this.field644[var3] & 65535, 0); var2 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field644[var3] & 65535, 0);
} }
return var2; return var2;
@@ -547,7 +550,7 @@ public class ObjectDefinition extends DualNode {
boolean var1 = true; boolean var1 = true;
for (int var2 = 0; var2 < this.field644.length; ++var2) { for (int var2 = 0; var2 < this.field644.length; ++var2) {
var1 &= field640.tryLoadFile(this.field644[var2] & 65535, 0); var1 &= ObjectDefinition_modelsArchive.tryLoadFile(this.field644[var2] & 65535, 0);
} }
return var1; return var1;
@@ -567,7 +570,7 @@ public class ObjectDefinition extends DualNode {
var7 = (long)(var2 + (var1 << 3) + (this.id << 10)); var7 = (long)(var2 + (var1 << 3) + (this.id << 10));
} }
Object var9 = (Entity)field642.get(var7); Object var9 = (Entity) ObjectDefinition_cachedEntities.get(var7);
if (var9 == null) { if (var9 == null) {
ModelData var10 = this.getModelData(var1, var2); ModelData var10 = this.getModelData(var1, var2);
if (var10 == null) { if (var10 == null) {
@@ -583,7 +586,7 @@ public class ObjectDefinition extends DualNode {
var9 = var10; var9 = var10;
} }
field642.put((DualNode)var9, var7); ObjectDefinition_cachedEntities.put((DualNode)var9, var7);
} }
if (this.nonFlatShading) { if (this.nonFlatShading) {
@@ -710,9 +713,9 @@ public class ObjectDefinition extends DualNode {
var6 += 65536; var6 += 65536;
} }
var3 = (ModelData)field641.get((long)var6); var3 = (ModelData) ObjectDefinition_cachedModelData.get((long)var6);
if (var3 == null) { if (var3 == null) {
var3 = ModelData.method2788(field640, var6 & 65535, 0); var3 = ModelData.method2788(ObjectDefinition_modelsArchive, var6 & 65535, 0);
if (var3 == null) { if (var3 == null) {
return null; return null;
} }
@@ -721,7 +724,7 @@ public class ObjectDefinition extends DualNode {
var3.method214(); var3.method214();
} }
field641.put(var3, (long)var6); ObjectDefinition_cachedModelData.put(var3, (long)var6);
} }
if (var5 > 1) { if (var5 > 1) {
@@ -752,9 +755,9 @@ public class ObjectDefinition extends DualNode {
var5 += 65536; var5 += 65536;
} }
var3 = (ModelData)field641.get((long)var5); var3 = (ModelData) ObjectDefinition_cachedModelData.get((long)var5);
if (var3 == null) { if (var3 == null) {
var3 = ModelData.method2788(field640, var5 & 65535, 0); var3 = ModelData.method2788(ObjectDefinition_modelsArchive, var5 & 65535, 0);
if (var3 == null) { if (var3 == null) {
return null; return null;
} }
@@ -763,7 +766,7 @@ public class ObjectDefinition extends DualNode {
var3.method214(); var3.method214();
} }
field641.put(var3, (long)var5); ObjectDefinition_cachedModelData.put(var3, (long)var5);
} }
} }
@@ -926,14 +929,14 @@ public class ObjectDefinition extends DualNode {
garbageValue = "0" garbageValue = "0"
) )
public static void method5041() { public static void method5041() {
ItemDefinition.Sprite_cached.clear(); ItemDefinition.ItemDefinition_cachedSprites.clear();
} }
static { static {
ObjectDefinition_isLowDetail = false; ObjectDefinition_isLowDetail = false;
ObjectDefinition_cached = new EvictingDualNodeHashTable(4096); ObjectDefinition_cached = new EvictingDualNodeHashTable(4096);
field641 = new EvictingDualNodeHashTable(500); ObjectDefinition_cachedModelData = new EvictingDualNodeHashTable(500);
field642 = new EvictingDualNodeHashTable(30); ObjectDefinition_cachedEntities = new EvictingDualNodeHashTable(30);
ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30); ObjectDefinition_cachedModels = new EvictingDualNodeHashTable(30);
field643 = new ModelData[4]; field643 = new ModelData[4];
} }
@@ -18,8 +18,8 @@ public class PacketWriter {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lfu;" signature = "Lfu;"
) )
@Export("socket0") @Export("socket")
AbstractSocket socket0; AbstractSocket socket;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lja;" signature = "Lja;"
@@ -117,13 +117,13 @@ public class PacketWriter {
garbageValue = "-1839929685" garbageValue = "-1839929685"
) )
final void method240() throws IOException { final void method240() throws IOException {
if (this.socket0 != null && this.field672 > 0) { if (this.socket != null && this.field672 > 0) {
this.buffer.index = 0; this.buffer.index = 0;
while (true) { while (true) {
PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last(); PacketBufferNode var1 = (PacketBufferNode)this.packetBufferNodes.last();
if (var1 == null || var1.field671 > this.buffer.array.length - this.buffer.index) { if (var1 == null || var1.field671 > this.buffer.array.length - this.buffer.index) {
this.socket0.write(this.buffer.array, 0, this.buffer.index); this.socket.write(this.buffer.array, 0, this.buffer.index);
this.field675 = 0; this.field675 = 0;
break; break;
} }
@@ -157,7 +157,7 @@ public class PacketWriter {
) )
@Export("setSocket") @Export("setSocket")
void setSocket(AbstractSocket socket) { void setSocket(AbstractSocket socket) {
this.socket0 = socket; this.socket = socket;
} }
@ObfuscatedName("o") @ObfuscatedName("o")
@@ -167,9 +167,9 @@ public class PacketWriter {
) )
@Export("close") @Export("close")
void close() { void close() {
if (this.socket0 != null) { if (this.socket != null) {
this.socket0.close(); this.socket.close();
this.socket0 = null; this.socket = null;
} }
} }
@@ -181,7 +181,7 @@ public class PacketWriter {
) )
@Export("removeSocket") @Export("removeSocket")
void removeSocket() { void removeSocket() {
this.socket0 = null; this.socket = null;
} }
@ObfuscatedName("g") @ObfuscatedName("g")
@@ -191,6 +191,6 @@ public class PacketWriter {
) )
@Export("getSocket") @Export("getSocket")
AbstractSocket getSocket() { AbstractSocket getSocket() {
return this.socket0; return this.socket;
} }
} }
@@ -55,7 +55,7 @@ public class PlayerAppearance {
equipment = new int[12]; equipment = new int[12];
for (int var5 = 0; var5 < 7; ++var5) { for (int var5 = 0; var5 < 7; ++var5) {
for (int var6 = 0; var6 < KitDefinition.KitDefinition_totalCount; ++var6) { for (int var6 = 0; var6 < KitDefinition.KitDefinition_fileCount; ++var6) {
KitDefinition var7 = WorldMapSection2.getKitDefinition(var6); KitDefinition var7 = WorldMapSection2.getKitDefinition(var6);
if (var7 != null && !var7.nonSelectable && var5 + (isFemale ? 7 : 0) == var7.bodypartID) { if (var7 != null && !var7.nonSelectable && var5 + (isFemale ? 7 : 0) == var7.bodypartID) {
equipment[equipmentIndices[var5]] = var6 + 256; equipment[equipmentIndices[var5]] = var6 + 256;
@@ -90,11 +90,11 @@ public class PlayerAppearance {
if (!var2) { if (!var2) {
--var3; --var3;
if (var3 < 0) { if (var3 < 0) {
var3 = KitDefinition.KitDefinition_totalCount - 1; var3 = KitDefinition.KitDefinition_fileCount - 1;
} }
} else { } else {
++var3; ++var3;
if (var3 >= KitDefinition.KitDefinition_totalCount) { if (var3 >= KitDefinition.KitDefinition_fileCount) {
var3 = 0; var3 = 0;
} }
} }
@@ -65,7 +65,7 @@ public enum RectangleMode implements Enumerated {
@Export("setObjectDefinitionArchives") @Export("setObjectDefinitionArchives")
public static void setObjectDefinitionArchives(AbstractArchive var0, AbstractArchive var1, boolean isLowDetail) { public static void setObjectDefinitionArchives(AbstractArchive var0, AbstractArchive var1, boolean isLowDetail) {
ObjectDefinition.ObjectDefinition_archive = var0; ObjectDefinition.ObjectDefinition_archive = var0;
ObjectDefinition.field640 = var1; ObjectDefinition.ObjectDefinition_modelsArchive = var1;
ObjectDefinition.ObjectDefinition_isLowDetail = isLowDetail; ObjectDefinition.ObjectDefinition_isLowDetail = isLowDetail;
} }
} }
@@ -9,8 +9,8 @@ import net.runelite.mapping.ObfuscatedSignature;
@Implements("RunException") @Implements("RunException")
public class RunException extends RuntimeException { public class RunException extends RuntimeException {
@ObfuscatedName("m") @ObfuscatedName("m")
@Export("applet") @Export("RunException_applet")
public static Applet applet; public static Applet RunException_applet;
@ObfuscatedName("f") @ObfuscatedName("f")
@Export("localPlayerName") @Export("localPlayerName")
public static String localPlayerName; public static String localPlayerName;
@@ -156,7 +156,7 @@ public class ScriptEvent extends Node {
} else if (var0 == 1613) { } else if (var0 == 1613) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal(); Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal();
return 1; return 1;
} else if (var0 == 1614) { } else if (var0 == ScriptOpcodes.CC_GETMODELTRANSPARENT) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0; Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0;
return 1; return 1;
} else { } else {
@@ -11,8 +11,6 @@ public class SecureRandomCallable implements Callable {
@Export("indexedSpriteHeights") @Export("indexedSpriteHeights")
static int[] indexedSpriteHeights; static int[] indexedSpriteHeights;
@Export("call")
@ObfuscatedName("call")
public Object call() { public Object call() {
return AttackOption.method2034(); return AttackOption.method2034();
} }
@@ -36,7 +34,7 @@ public class SecureRandomCallable implements Callable {
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
byte[] var2 = VarpDefinition.field943.takeFile(16, var0); byte[] var2 = VarpDefinition.VarpDefinition_archive.takeFile(16, var0);
var1 = new VarpDefinition(); var1 = new VarpDefinition();
if (var2 != null) { if (var2 != null) {
var1.decode(new Buffer(var2)); var1.decode(new Buffer(var2));
@@ -17,12 +17,14 @@ public class SequenceDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field773; @Export("SequenceDefinition_animationsArchive")
public static AbstractArchive SequenceDefinition_animationsArchive;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field774; @Export("SequenceDefinition_skeletonsArchive")
public static AbstractArchive SequenceDefinition_skeletonsArchive;
@ObfuscatedName("w") @ObfuscatedName("w")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -33,7 +35,8 @@ public class SequenceDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
) )
public static EvictingDualNodeHashTable field775; @Export("SequenceDefinition_cachedFrames")
public static EvictingDualNodeHashTable SequenceDefinition_cachedFrames;
@ObfuscatedName("u") @ObfuscatedName("u")
@Export("frameIds") @Export("frameIds")
public int[] frameIds; public int[] frameIds;
@@ -365,6 +368,6 @@ public class SequenceDefinition extends DualNode {
static { static {
SequenceDefinition_cached = new EvictingDualNodeHashTable(64); SequenceDefinition_cached = new EvictingDualNodeHashTable(64);
field775 = new EvictingDualNodeHashTable(100); SequenceDefinition_cachedFrames = new EvictingDualNodeHashTable(100);
} }
} }
@@ -11,22 +11,26 @@ public class ServerBuild {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Liy;" signature = "Liy;"
) )
public static final ServerBuild field784; @Export("LIVE")
public static final ServerBuild LIVE;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Liy;" signature = "Liy;"
) )
public static final ServerBuild field785; @Export("BUILDLIVE")
public static final ServerBuild BUILDLIVE;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Liy;" signature = "Liy;"
) )
public static final ServerBuild field786; @Export("RC")
public static final ServerBuild RC;
@ObfuscatedName("w") @ObfuscatedName("w")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Liy;" signature = "Liy;"
) )
public static final ServerBuild field787; @Export("WIP")
public static final ServerBuild WIP;
@ObfuscatedName("bx") @ObfuscatedName("bx")
@Export("worldsUrl") @Export("worldsUrl")
static String worldsUrl; static String worldsUrl;
@@ -51,9 +55,9 @@ public class ServerBuild {
} }
static { static {
field784 = new ServerBuild("LIVE", 0); LIVE = new ServerBuild("LIVE", 0);
field785 = new ServerBuild("BUILDLIVE", 3); BUILDLIVE = new ServerBuild("BUILDLIVE", 3);
field786 = new ServerBuild("RC", 1); RC = new ServerBuild("RC", 1);
field787 = new ServerBuild("WIP", 2); WIP = new ServerBuild("WIP", 2);
} }
} }
+14 -13
View File
@@ -47,8 +47,8 @@ public final class Sprite extends Rasterizer2D {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "()Lln;" signature = "()Lln;"
) )
@Export("copy") @Export("mirrorHorizontally")
public Sprite copy() { public Sprite mirrorHorizontally() {
Sprite var1 = new Sprite(this.subWidth, this.subHeight); Sprite var1 = new Sprite(this.subWidth, this.subHeight);
var1.width = this.width; var1.width = this.width;
var1.height = this.height; var1.height = this.height;
@@ -712,25 +712,26 @@ public final class Sprite extends Rasterizer2D {
} }
@ObfuscatedName("ay") @ObfuscatedName("ay")
public void method315(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int[] var9, int[] var10) { @Export("drawRotatedMaskedCenteredAround")
public void drawRotatedMaskedCenteredAround(int x, int y, int maskWidth, int maskHeight, int spriteWidth, int spriteHeight, int rotation, int var8, int[] maskXStarts, int[] maskXWidths) {
try { try {
int var11 = -var3 / 2; int var11 = -maskWidth / 2;
int var12 = -var4 / 2; int var12 = -maskHeight / 2;
int var13 = (int)(Math.sin((double)var7 / 326.11D) * 65536.0D); int var13 = (int)(Math.sin((double)rotation / 326.11D) * 65536.0D);
int var14 = (int)(Math.cos((double)var7 / 326.11D) * 65536.0D); int var14 = (int)(Math.cos((double)rotation / 326.11D) * 65536.0D);
var13 = var13 * var8 >> 8; var13 = var13 * var8 >> 8;
var14 = var14 * var8 >> 8; var14 = var14 * var8 >> 8;
int var15 = var12 * var13 + var11 * var14 + (var5 << 16); int var15 = var12 * var13 + var11 * var14 + (spriteWidth << 16);
int var16 = var12 * var14 - var11 * var13 + (var6 << 16); int var16 = var12 * var14 - var11 * var13 + (spriteHeight << 16);
int var17 = var1 + var2 * Rasterizer2D.Rasterizer2D_width; int var17 = x + y * Rasterizer2D.Rasterizer2D_width;
for (var2 = 0; var2 < var4; ++var2) { for (y = 0; y < maskHeight; ++y) {
int var18 = var9[var2]; int var18 = maskXStarts[y];
int var19 = var17 + var18; int var19 = var17 + var18;
int var20 = var15 + var14 * var18; int var20 = var15 + var14 * var18;
int var21 = var16 - var13 * var18; int var21 = var16 - var13 * var18;
for (var1 = -var10[var2]; var1 < 0; ++var1) { for (x = -maskXWidths[y]; x < 0; ++x) {
Rasterizer2D.Rasterizer2D_pixels[var19++] = this.pixels[this.subWidth * (var21 >> 16) + (var20 >> 16)]; Rasterizer2D.Rasterizer2D_pixels[var19++] = this.pixels[this.subWidth * (var21 >> 16) + (var20 >> 16)];
var20 += var14; var20 += var14;
var21 -= var13; var21 -= var13;
@@ -276,7 +276,7 @@ public class StructDefinition extends DualNode {
var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1;
var4.field961 = var6; var4.field961 = var6;
return 1; return 1;
} else if (var0 == 1127) { } else if (var0 == ScriptOpcodes.CC_SETMODELTRANSPARENT) {
var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1; var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1;
var4.modelTransparency = var6; var4.modelTransparency = var6;
return 1; return 1;
@@ -57,22 +57,22 @@ public class TextureProvider implements TextureLoader {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "(Lir;Lir;IDI)V" signature = "(Lir;Lir;IDI)V"
) )
public TextureProvider(AbstractArchive var1, AbstractArchive var2, int var3, double var4, int var6) { public TextureProvider(AbstractArchive texturesArchive, AbstractArchive spritesArchive, int var3, double var4, int var6) {
this.deque = new NodeDeque(); this.deque = new NodeDeque();
this.remaining = 0; this.remaining = 0;
this.brightness0 = 1.0D; this.brightness0 = 1.0D;
this.textureSize = 128; this.textureSize = 128;
this.archive = var2; this.archive = spritesArchive;
this.capacity = var3; this.capacity = var3;
this.remaining = this.capacity; this.remaining = this.capacity;
this.brightness0 = var4; this.brightness0 = var4;
this.textureSize = var6; this.textureSize = var6;
int[] var7 = var1.method3(0); int[] var7 = texturesArchive.getGroupFileIds(0);
int var8 = var7.length; int var8 = var7.length;
this.textures = new Texture[var1.getGroupFileCount(0)]; this.textures = new Texture[texturesArchive.getGroupFileCount(0)];
for (int var9 = 0; var9 < var8; ++var9) { for (int var9 = 0; var9 < var8; ++var9) {
Buffer var10 = new Buffer(var1.takeFile(0, var7[var9])); Buffer var10 = new Buffer(texturesArchive.takeFile(0, var7[var9]));
this.textures[var7[var9]] = new Texture(var10); this.textures[var7[var9]] = new Texture(var10);
} }
@@ -83,7 +83,8 @@ public class TextureProvider implements TextureLoader {
signature = "(I)I", signature = "(I)I",
garbageValue = "-1996487053" garbageValue = "-1996487053"
) )
public int method323() { @Export("getLoadedPercentage")
public int getLoadedPercentage() {
int var1 = 0; int var1 = 0;
int var2 = 0; int var2 = 0;
Texture[] var3 = this.textures; Texture[] var3 = this.textures;
@@ -55,9 +55,9 @@ public class UserComparator5 extends AbstractUserComparator {
int var15 = (int)(Math.sin(var12) * (double)var14); int var15 = (int)(Math.sin(var12) * (double)var14);
int var16 = (int)(Math.cos(var12) * (double)var14); int var16 = (int)(Math.cos(var12) * (double)var14);
byte var17 = 20; byte var17 = 20;
FaceNormal.field345.method316(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256); FaceNormal.redHintArrowSprite.method316(var15 + (var0 + var5.width / 2 - var17 / 2), var5.height / 2 + var1 - var17 / 2 - var16 - 10, var17, var17, 15, 15, var12, 256);
} else { } else {
NetFileRequest.method4554(var0, var1, var2, var3, var4, var5); NetFileRequest.drawSpriteOnMinimap(var0, var1, var2, var3, var4, var5);
} }
} }
+5 -4
View File
@@ -11,13 +11,14 @@ public class VarcInt extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
static AbstractArchive field942; @Export("VarcInt_archive")
static AbstractArchive VarcInt_archive;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
) )
@Export("cachedVarcInts") @Export("VarcInt_cached")
static EvictingDualNodeHashTable cachedVarcInts; static EvictingDualNodeHashTable VarcInt_cached;
@ObfuscatedName("q") @ObfuscatedName("q")
@Export("persist") @Export("persist")
public boolean persist; public boolean persist;
@@ -75,6 +76,6 @@ public class VarcInt extends DualNode {
} }
static { static {
cachedVarcInts = new EvictingDualNodeHashTable(64); VarcInt_cached = new EvictingDualNodeHashTable(64);
} }
} }
+2 -1
View File
@@ -364,7 +364,8 @@ public class Varcs {
signature = "(Lir;I)V", signature = "(Lir;I)V",
garbageValue = "321265868" garbageValue = "321265868"
) )
public static void method2160(AbstractArchive var0) { @Export("setFloorOverlayDefinitionArchive")
public static void setFloorOverlayDefinitionArchive(AbstractArchive var0) {
FloorOverlayDefinition.FloorOverlayDefinition_archive = var0; FloorOverlayDefinition.FloorOverlayDefinition_archive = var0;
} }
@@ -11,12 +11,14 @@ public class VarpDefinition extends DualNode {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field943; @Export("VarpDefinition_archive")
public static AbstractArchive VarpDefinition_archive;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 510774535 intValue = 510774535
) )
public static int field944; @Export("VarpDefinition_fileCount")
public static int VarpDefinition_fileCount;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
+2 -1
View File
@@ -28,7 +28,8 @@ public class Varps {
signature = "(Lir;I)V", signature = "(Lir;I)V",
garbageValue = "2111080001" garbageValue = "2111080001"
) )
public static void method4393(AbstractArchive var0) { @Export("setFloorUnderlayDefinitionArchive")
public static void setFloorUnderlayDefinitionArchive(AbstractArchive var0) {
FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var0; FloorUnderlayDefinition.FloorUnderlayDefinition_archive = var0;
} }
+6 -5
View File
@@ -32,7 +32,8 @@ public class Widget extends Node {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field955; @Export("Widget_spritesArchive")
public static AbstractArchive Widget_spritesArchive;
@ObfuscatedName("n") @ObfuscatedName("n")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Ler;" signature = "Ler;"
@@ -1275,7 +1276,7 @@ public class Widget extends Node {
if (var5 != null) { if (var5 != null) {
return var5; return var5;
} else { } else {
var5 = class322.readSprite(field955, var2, 0); var5 = class322.readSprite(Widget_spritesArchive, var2, 0);
if (var5 == null) { if (var5 == null) {
field957 = true; field957 = true;
return null; return null;
@@ -1326,7 +1327,7 @@ public class Widget extends Node {
if (var1 != null) { if (var1 != null) {
return var1; return var1;
} else { } else {
var1 = GraphicsDefaults.method5823(field955, class27.field1143, this.fontId, 0); var1 = GraphicsDefaults.loadFont(Widget_spritesArchive, class27.Widget_fontsArchive, this.fontId, 0);
if (var1 != null) { if (var1 != null) {
Widget_cachedFonts.put(var1, (long)this.fontId); Widget_cachedFonts.put(var1, (long)this.fontId);
} else { } else {
@@ -1355,7 +1356,7 @@ public class Widget extends Node {
if (var3 != null) { if (var3 != null) {
return var3; return var3;
} else { } else {
var3 = class322.readSprite(field955, var2, 0); var3 = class322.readSprite(Widget_spritesArchive, var2, 0);
if (var3 != null) { if (var3 != null) {
widgetSpriteCache.put(var3, (long)var2); widgetSpriteCache.put(var3, (long)var2);
} else { } else {
@@ -1397,7 +1398,7 @@ public class Widget extends Node {
if (var7 == null) { if (var7 == null) {
ModelData var8; ModelData var8;
if (var5 == 1) { if (var5 == 1) {
var8 = ModelData.method2788(BufferedSource.field54, var6, 0); var8 = ModelData.method2788(BufferedSource.Widget_modelsArchive, var6, 0);
if (var8 == null) { if (var8 == null) {
field957 = true; field957 = true;
return null; return null;
+27 -24
View File
@@ -35,17 +35,20 @@ public class WorldMap {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
AbstractArchive field989; @Export("WorldMap_archive")
AbstractArchive WorldMap_archive;
@ObfuscatedName("l") @ObfuscatedName("l")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
AbstractArchive field990; @Export("WorldMap_geographyArchive")
AbstractArchive WorldMap_geographyArchive;
@ObfuscatedName("e") @ObfuscatedName("e")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
AbstractArchive field991; @Export("WorldMap_groundArchive")
AbstractArchive WorldMap_groundArchive;
@ObfuscatedName("n") @ObfuscatedName("n")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lkk;" signature = "Lkk;"
@@ -312,27 +315,27 @@ public class WorldMap {
garbageValue = "1887817097" garbageValue = "1887817097"
) )
@Export("init") @Export("init")
public void init(AbstractArchive var1, AbstractArchive var2, AbstractArchive var3, Font var4, HashMap var5, IndexedSprite[] var6) { public void init(AbstractArchive archive19, AbstractArchive archive18, AbstractArchive archive20, Font fontBold12, HashMap fontsMap, IndexedSprite[] mapSceneSprites) {
this.mapSceneSprites = var6; this.mapSceneSprites = mapSceneSprites;
this.field989 = var1; this.WorldMap_archive = archive19;
this.field990 = var2; this.WorldMap_geographyArchive = archive18;
this.field991 = var3; this.WorldMap_groundArchive = archive20;
this.font = var4; this.font = fontBold12;
this.fonts = new HashMap(); this.fonts = new HashMap();
this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_small, var5.get(fontNameVerdana11)); this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_small, fontsMap.get(fontNameVerdana11));
this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, var5.get(fontNameVerdana13)); this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_medium, fontsMap.get(fontNameVerdana13));
this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, var5.get(fontNameVerdana15)); this.fonts.put(WorldMapLabelSize.WorldMapLabelSize_large, fontsMap.get(fontNameVerdana15));
this.cacheLoader = new WorldMapArchiveLoader(var1); this.cacheLoader = new WorldMapArchiveLoader(archive19);
int var7 = this.field989.getGroupId(WorldMapCacheName.WorldMapCacheName_details.name); int var7 = this.WorldMap_archive.getGroupId(WorldMapCacheName.WorldMapCacheName_details.name);
int[] var8 = this.field989.method3(var7); int[] var8 = this.WorldMap_archive.getGroupFileIds(var7);
this.mapAreas = new HashMap(var8.length); this.mapAreas = new HashMap(var8.length);
for (int var9 = 0; var9 < var8.length; ++var9) { for (int var9 = 0; var9 < var8.length; ++var9) {
Buffer var10 = new Buffer(this.field989.takeFile(var7, var8[var9])); Buffer var10 = new Buffer(this.WorldMap_archive.takeFile(var7, var8[var9]));
WorldMapArea var11 = new WorldMapArea(); WorldMapArea var11 = new WorldMapArea();
var11.read(var10, var8[var9]); var11.read(var10, var8[var9]);
this.mapAreas.put(var11.archiveName(), var11); this.mapAreas.put(var11.getArchiveName(), var11);
if (var11.isMain()) { if (var11.getIsMain()) {
this.mainMapArea = var11; this.mainMapArea = var11;
} }
} }
@@ -633,7 +636,7 @@ public class WorldMap {
) )
@Export("currentMapAreaId") @Export("currentMapAreaId")
public int currentMapAreaId() { public int currentMapAreaId() {
return this.currentMapArea == null ? -1 : this.currentMapArea.id(); return this.currentMapArea == null ? -1 : this.currentMapArea.getId();
} }
@ObfuscatedName("s") @ObfuscatedName("s")
@@ -668,8 +671,8 @@ public class WorldMap {
@Export("initializeWorldMapManager") @Export("initializeWorldMapManager")
void initializeWorldMapManager(WorldMapArea mapArea) { void initializeWorldMapManager(WorldMapArea mapArea) {
this.currentMapArea = mapArea; this.currentMapArea = mapArea;
this.worldMapManager = new WorldMapManager(this.mapSceneSprites, this.fonts, this.field990, this.field991); this.worldMapManager = new WorldMapManager(this.mapSceneSprites, this.fonts, this.WorldMap_geographyArchive, this.WorldMap_groundArchive);
this.cacheLoader.reset(this.currentMapArea.archiveName()); this.cacheLoader.reset(this.currentMapArea.getArchiveName());
} }
@ObfuscatedName("h") @ObfuscatedName("h")
@@ -733,7 +736,7 @@ public class WorldMap {
this.drawLoading(x, y, width, height, var7); this.drawLoading(x, y, width, height, var7);
} else { } else {
if (!this.worldMapManager.isLoaded()) { if (!this.worldMapManager.isLoaded()) {
this.worldMapManager.load(this.field989, this.currentMapArea.archiveName(), Client.isMembersWorld); this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getArchiveName(), Client.isMembersWorld);
if (!this.worldMapManager.isLoaded()) { if (!this.worldMapManager.isLoaded()) {
return; return;
} }
@@ -839,7 +842,7 @@ public class WorldMap {
public void drawOverview(int x, int y, int width, int height) { public void drawOverview(int x, int y, int width, int height) {
if (this.cacheLoader.getIsLoaded()) { if (this.cacheLoader.getIsLoaded()) {
if (!this.worldMapManager.isLoaded()) { if (!this.worldMapManager.isLoaded()) {
this.worldMapManager.load(this.field989, this.currentMapArea.archiveName(), Client.isMembersWorld); this.worldMapManager.load(this.WorldMap_archive, this.currentMapArea.getArchiveName(), Client.isMembersWorld);
if (!this.worldMapManager.isLoaded()) { if (!this.worldMapManager.isLoaded()) {
return; return;
} }
@@ -931,7 +934,7 @@ public class WorldMap {
} }
var3 = (WorldMapArea)var2.next(); var3 = (WorldMapArea)var2.next();
} while(var3.id() != var1); } while(var3.getId() != var1);
return var3; return var3;
} }
@@ -67,7 +67,7 @@ public class WorldMapArchiveLoader {
} }
if (this.percentLoaded == 33) { if (this.percentLoaded == 33) {
if (this.archive.method9(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, this.cacheName)) { if (this.archive.isValidFileName(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, this.cacheName) && !this.archive.tryLoadFileByNames(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, this.cacheName)) {
return this.percentLoaded; return this.percentLoaded;
} }
@@ -25,14 +25,14 @@ public class WorldMapArea {
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 1232579503 intValue = 1232579503
) )
@Export("id0") @Export("id")
int id0; int id;
@ObfuscatedName("f") @ObfuscatedName("f")
@Export("archiveName0") @Export("archiveName")
String archiveName0; String archiveName;
@ObfuscatedName("q") @ObfuscatedName("q")
@Export("name0") @Export("name")
String name0; String name;
@ObfuscatedName("w") @ObfuscatedName("w")
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = 986239133 intValue = 986239133
@@ -75,14 +75,14 @@ public class WorldMapArea {
@Export("maxY0") @Export("maxY0")
int maxY0; int maxY0;
@ObfuscatedName("d") @ObfuscatedName("d")
@Export("isMain0") @Export("isMain")
boolean isMain0; boolean isMain;
@ObfuscatedName("k") @ObfuscatedName("k")
@Export("sections") @Export("sections")
LinkedList sections; LinkedList sections;
public WorldMapArea() { public WorldMapArea() {
this.id0 = -1; this.id = -1;
this.field1015 = -1; this.field1015 = -1;
this.zoom0 = -1; this.zoom0 = -1;
this.origin0 = null; this.origin0 = null;
@@ -90,7 +90,7 @@ public class WorldMapArea {
this.maxX0 = 0; this.maxX0 = 0;
this.minY0 = Integer.MAX_VALUE; this.minY0 = Integer.MAX_VALUE;
this.maxY0 = 0; this.maxY0 = 0;
this.isMain0 = false; this.isMain = false;
} }
@ObfuscatedName("m") @ObfuscatedName("m")
@@ -99,14 +99,14 @@ public class WorldMapArea {
garbageValue = "1854512327" garbageValue = "1854512327"
) )
@Export("read") @Export("read")
public void read(Buffer var1, int var2) { public void read(Buffer var1, int fileId) {
this.id0 = var2; this.id = fileId;
this.archiveName0 = var1.readStringCp1252NullTerminated(); this.archiveName = var1.readStringCp1252NullTerminated();
this.name0 = var1.readStringCp1252NullTerminated(); this.name = var1.readStringCp1252NullTerminated();
this.origin0 = new Coord(var1.readInt()); this.origin0 = new Coord(var1.readInt());
this.field1015 = var1.readInt(); this.field1015 = var1.readInt();
var1.readUnsignedByte(); var1.readUnsignedByte();
this.isMain0 = var1.readUnsignedByte() == 1; this.isMain = var1.readUnsignedByte() == 1;
this.zoom0 = var1.readUnsignedByte(); this.zoom0 = var1.readUnsignedByte();
int var3 = var1.readUnsignedByte(); int var3 = var1.readUnsignedByte();
this.sections = new LinkedList(); this.sections = new LinkedList();
@@ -265,9 +265,9 @@ public class WorldMapArea {
signature = "(I)I", signature = "(I)I",
garbageValue = "-628294476" garbageValue = "-628294476"
) )
@Export("id") @Export("getId")
public int id() { public int getId() {
return this.id0; return this.id;
} }
@ObfuscatedName("e") @ObfuscatedName("e")
@@ -275,9 +275,9 @@ public class WorldMapArea {
signature = "(B)Z", signature = "(B)Z",
garbageValue = "-39" garbageValue = "-39"
) )
@Export("isMain") @Export("getIsMain")
public boolean isMain() { public boolean getIsMain() {
return this.isMain0; return this.isMain;
} }
@ObfuscatedName("x") @ObfuscatedName("x")
@@ -285,9 +285,9 @@ public class WorldMapArea {
signature = "(B)Ljava/lang/String;", signature = "(B)Ljava/lang/String;",
garbageValue = "-65" garbageValue = "-65"
) )
@Export("archiveName") @Export("getArchiveName")
public String archiveName() { public String getArchiveName() {
return this.archiveName0; return this.archiveName;
} }
@ObfuscatedName("d") @ObfuscatedName("d")
@@ -295,9 +295,9 @@ public class WorldMapArea {
signature = "(B)Ljava/lang/String;", signature = "(B)Ljava/lang/String;",
garbageValue = "-66" garbageValue = "-66"
) )
@Export("name") @Export("getName")
public String name() { public String getName() {
return this.name0; return this.name;
} }
@ObfuscatedName("a") @ObfuscatedName("a")
@@ -177,16 +177,16 @@ public class WorldMapAreaData extends WorldMapArea {
} else { } else {
int var7; int var7;
byte[] var8; byte[] var8;
if (var0 != 1350) { if (var0 != ScriptOpcodes.CC_SETOPKEY) {
byte var11; byte var11;
if (var0 == 1351) { if (var0 == ScriptOpcodes.CC_SETOPTKEY) {
RouteStrategy.Interpreter_intStackSize -= 2; RouteStrategy.Interpreter_intStackSize -= 2;
var11 = 10; var11 = 10;
var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]}; var8 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize]};
byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]}; byte[] var10 = new byte[]{(byte)Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]};
BufferedSink.method3595(var4, var11, var8, var10); BufferedSink.method3595(var4, var11, var8, var10);
return 1; return 1;
} else if (var0 == 1352) { } else if (var0 == ScriptOpcodes.CC_SETOPKEYRATE) {
RouteStrategy.Interpreter_intStackSize -= 3; RouteStrategy.Interpreter_intStackSize -= 3;
var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1; var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1;
var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]; var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1];
@@ -197,13 +197,13 @@ public class WorldMapAreaData extends WorldMapArea {
} else { } else {
throw new RuntimeException(); throw new RuntimeException();
} }
} else if (var0 == 1353) { } else if (var0 == ScriptOpcodes.CC_SETOPTKEYRATE) {
var11 = 10; var11 = 10;
var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; var6 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; var7 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
Varcs.method2168(var4, var11, var6, var7); Varcs.method2168(var4, var11, var6, var7);
return 1; return 1;
} else if (var0 == 1354) { } else if (var0 == ScriptOpcodes.CC_SETOPKEYIGNOREHELD) {
--RouteStrategy.Interpreter_intStackSize; --RouteStrategy.Interpreter_intStackSize;
var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1; var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize] - 1;
if (var5 >= 0 && var5 <= 9) { if (var5 >= 0 && var5 <= 9) {
@@ -212,7 +212,7 @@ public class WorldMapAreaData extends WorldMapArea {
} else { } else {
throw new RuntimeException(); throw new RuntimeException();
} }
} else if (var0 == 1355) { } else if (var0 == ScriptOpcodes.CC_SETOPTKEYIGNOREHELD) {
var11 = 10; var11 = 10;
WorldMapSection1.method345(var4, var11); WorldMapSection1.method345(var4, var11);
return 1; return 1;
@@ -127,7 +127,8 @@ public enum WorldMapDecorationType implements Enumerated {
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -745071109 intValue = -745071109
) )
static int field1139; @Export("foundItemIndex")
static int foundItemIndex;
@ObfuscatedName("av") @ObfuscatedName("av")
static java.awt.Font field1140; static java.awt.Font field1140;
@ObfuscatedName("r") @ObfuscatedName("r")
@@ -141,8 +142,8 @@ public enum WorldMapDecorationType implements Enumerated {
signature = "(II)V", signature = "(II)V",
garbageValue = "0" garbageValue = "0"
) )
private WorldMapDecorationType(int var3, int var4) { private WorldMapDecorationType(int id, int var4) {
this.id = var3; this.id = id;
} }
@ObfuscatedName("f") @ObfuscatedName("f")
@@ -192,9 +193,10 @@ public enum WorldMapDecorationType implements Enumerated {
signature = "(IIIIIIII)V", signature = "(IIIIIIII)V",
garbageValue = "1521012895" garbageValue = "1521012895"
) )
static final void method4517(int var0, int var1, int var2, int var3, int var4, int var5, int var6) { @Export("updateRootInterface")
if (GroundItemPile.loadInterface(var0)) { static final void updateRootInterface(int rootIndex, int x, int y, int width, int height, int xOffset, int yOffset) {
class238.updateInterface(Widget.interfaceComponents[var0], -1, var1, var2, var3, var4, var5, var6); if (GroundItemPile.loadInterface(rootIndex)) {
class238.updateInterface(Widget.interfaceComponents[rootIndex], -1, x, y, width, height, xOffset, yOffset);
} }
} }
@@ -51,12 +51,14 @@ public final class WorldMapManager {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
final AbstractArchive field1046; @Export("geographyArchive")
final AbstractArchive geographyArchive;
@ObfuscatedName("x") @ObfuscatedName("x")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
final AbstractArchive field1047; @Export("groundArchive")
final AbstractArchive groundArchive;
@ObfuscatedName("d") @ObfuscatedName("d")
@Export("fonts") @Export("fonts")
final HashMap fonts; final HashMap fonts;
@@ -98,8 +100,8 @@ public final class WorldMapManager {
this.field1050 = 0; this.field1050 = 0;
this.mapSceneSprites = var1; this.mapSceneSprites = var1;
this.fonts = var2; this.fonts = var2;
this.field1046 = var3; this.geographyArchive = var3;
this.field1047 = var4; this.groundArchive = var4;
} }
@ObfuscatedName("m") @ObfuscatedName("m")
@@ -164,14 +166,14 @@ public final class WorldMapManager {
System.nanoTime(); System.nanoTime();
System.nanoTime(); System.nanoTime();
if (archive.method9(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, cacheName)) { if (archive.isValidFileName(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, cacheName)) {
byte[] var18 = archive.takeFileByNames(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, cacheName); byte[] var18 = archive.takeFileByNames(WorldMapCacheName.WorldMapCacheName_compositeTexture.name, cacheName);
this.overviewSprite = class27.convertJpgToSprite(var18); this.overviewSprite = class27.convertJpgToSprite(var18);
} }
System.nanoTime(); System.nanoTime();
archive.method6(); archive.clearGroups();
archive.method8(); archive.clearFiles();
this.loaded = true; this.loaded = true;
} }
@@ -215,7 +217,7 @@ public final class WorldMapManager {
int var19; int var19;
for (var18 = var13.worldMapRegionX; var18 <= var23; ++var18) { for (var18 = var13.worldMapRegionX; var18 <= var23; ++var18) {
for (var19 = var13.worldMapRegionY; var19 <= var17; ++var19) { for (var19 = var13.worldMapRegionY; var19 <= var17; ++var19) {
this.regions[var18][var19].method455(var15, (class40)this.field1045.get(var15), this.mapSceneSprites, this.field1046, this.field1047); this.regions[var18][var19].method455(var15, (class40)this.field1045.get(var15), this.mapSceneSprites, this.geographyArchive, this.groundArchive);
} }
} }
@@ -498,8 +500,8 @@ public final class WorldMapManager {
) )
public static void method673() { public static void method673() {
ObjectDefinition.ObjectDefinition_cached.clear(); ObjectDefinition.ObjectDefinition_cached.clear();
ObjectDefinition.field641.clear(); ObjectDefinition.ObjectDefinition_cachedModelData.clear();
ObjectDefinition.field642.clear(); ObjectDefinition.ObjectDefinition_cachedEntities.clear();
ObjectDefinition.ObjectDefinition_cachedModels.clear(); ObjectDefinition.ObjectDefinition_cachedModels.clear();
} }
@@ -119,7 +119,7 @@ public final class WorldMapRectangle
SpriteMask var4 = var0.getSpriteMask(false); SpriteMask var4 = var0.getSpriteMask(false);
if (var4 != null) { if (var4 != null) {
if (Client.minimapState < 3) { if (Client.minimapState < 3) {
GrandExchangeOfferUnitPriceComparator.compass.method315(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths); GrandExchangeOfferUnitPriceComparator.compass.drawRotatedMaskedCenteredAround(var1, var2, var4.width, var4.height, 25, 25, Client.camAngleY, 256, var4.xStarts, var4.xWidths);
} else { } else {
Rasterizer2D.method5948(var1, var2, 0, var4.xStarts, var4.xWidths); Rasterizer2D.method5948(var1, var2, 0, var4.xStarts, var4.xWidths);
} }
@@ -275,7 +275,7 @@ public class WorldMapSection2 implements WorldMapSection {
Client.pendingSpawns = new NodeDeque(); Client.pendingSpawns = new NodeDeque();
WorldMapArea.friendSystem.clear(); WorldMapArea.friendSystem.clear();
for (var0 = 0; var0 < VarpDefinition.field944; ++var0) { for (var0 = 0; var0 < VarpDefinition.VarpDefinition_fileCount; ++var0) {
VarpDefinition var3 = SecureRandomCallable.method1140(var0); VarpDefinition var3 = SecureRandomCallable.method1140(var0);
if (var3 != null) { if (var3 != null) {
Varps.Varps_temp[var0] = 0; Varps.Varps_temp[var0] = 0;
@@ -11,7 +11,8 @@ public class WorldMapSection3 implements WorldMapSection {
@ObfuscatedGetter( @ObfuscatedGetter(
intValue = -1946112139 intValue = -1946112139
) )
static int field1055; @Export("foundItemIdCount")
static int foundItemIdCount;
@ObfuscatedName("p") @ObfuscatedName("p")
static int[] field1056; static int[] field1056;
@ObfuscatedName("m") @ObfuscatedName("m")
@@ -74,8 +74,9 @@ public enum WorldMapSectionType implements Enumerated {
} }
@ObfuscatedName("m") @ObfuscatedName("m")
public static String method252(long var0) { @Export("getDateString")
Calendar.Calendar_calendar.setTime(new Date(var0)); public static String getDateString(long millis) {
Calendar.Calendar_calendar.setTime(new Date(millis));
int var2 = Calendar.Calendar_calendar.get(7); int var2 = Calendar.Calendar_calendar.get(7);
int var3 = Calendar.Calendar_calendar.get(5); int var3 = Calendar.Calendar_calendar.get(5);
int var4 = Calendar.Calendar_calendar.get(2); int var4 = Calendar.Calendar_calendar.get(2);
@@ -135,9 +136,9 @@ public enum WorldMapSectionType implements Enumerated {
garbageValue = "1187868759" garbageValue = "1187868759"
) )
static void method254() { static void method254() {
if (class60.worldMap0 != null) { if (class60.worldMap != null) {
class60.worldMap0.method366(SoundSystem.plane, (Canvas.localPlayer.x >> 7) + class50.baseX, (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY, false); class60.worldMap.method366(SoundSystem.plane, (Canvas.localPlayer.x >> 7) + class50.baseX, (Canvas.localPlayer.y >> 7) + GraphicsObject.baseY, false);
class60.worldMap0.loadCache(); class60.worldMap.loadCache();
} }
} }
+7 -6
View File
@@ -9,7 +9,8 @@ final class class1 implements class0 {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field1105; @Export("musicPatchesArchive")
public static AbstractArchive musicPatchesArchive;
@ObfuscatedName("m") @ObfuscatedName("m")
@ObfuscatedSignature( @ObfuscatedSignature(
@@ -227,19 +228,19 @@ final class class1 implements class0 {
} else if (var0 == ScriptOpcodes.OC_FIND) { } else if (var0 == ScriptOpcodes.OC_FIND) {
String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize]; String var7 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize];
var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]; var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
class50.method900(var7, var4 == 1); class50.findItemDefinitions(var7, var4 == 1);
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapSection3.field1055; Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WorldMapSection3.foundItemIdCount;
return 1; return 1;
} else if (var0 != ScriptOpcodes.OC_FINDNEXT) { } else if (var0 != ScriptOpcodes.OC_FINDNEXT) {
if (var0 == ScriptOpcodes.OC_FINDRESET) { if (var0 == ScriptOpcodes.OC_FINDRESET) {
WorldMapDecorationType.field1139 = 0; WorldMapDecorationType.foundItemIndex = 0;
return 1; return 1;
} else { } else {
return 2; return 2;
} }
} else { } else {
if (AttackOption.field30 != null && WorldMapDecorationType.field1139 < WorldMapSection3.field1055) { if (AttackOption.foundItemIds != null && WorldMapDecorationType.foundItemIndex < WorldMapSection3.foundItemIdCount) {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = AttackOption.field30[++WorldMapDecorationType.field1139 - 1] & '\uffff'; Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = AttackOption.foundItemIds[++WorldMapDecorationType.foundItemIndex - 1] & '\uffff';
} else { } else {
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1; Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1;
} }
+36 -34
View File
@@ -1,5 +1,6 @@
import java.io.File; import java.io.File;
import java.util.Hashtable; import java.util.Hashtable;
import net.runelite.mapping.Export;
import net.runelite.mapping.ObfuscatedGetter; import net.runelite.mapping.ObfuscatedGetter;
import net.runelite.mapping.ObfuscatedName; import net.runelite.mapping.ObfuscatedName;
import net.runelite.mapping.ObfuscatedSignature; import net.runelite.mapping.ObfuscatedSignature;
@@ -81,7 +82,8 @@ public class class171 {
signature = "(B)V", signature = "(B)V",
garbageValue = "-36" garbageValue = "-36"
) )
static void method3497() { @Export("load")
static void load() {
int var0; int var0;
if (Client.titleLoadingStage == 0) { if (Client.titleLoadingStage == 0) {
class65.scene = new Scene(4, 104, 104, Tiles.Tiles_heights); class65.scene = new Scene(4, 104, 104, Tiles.Tiles_heights);
@@ -143,7 +145,7 @@ public class class171 {
var0 += ItemContainer.archive19.percentage() / 100; var0 += ItemContainer.archive19.percentage() / 100;
var0 += WorldMapLabelSize.archive18.percentage() / 100; var0 += WorldMapLabelSize.archive18.percentage() / 100;
var0 += AbstractByteArrayCopier.archive20.percentage() / 100; var0 += AbstractByteArrayCopier.archive20.percentage() / 100;
var0 += WorldMapRectangle.archive17.method130() && WorldMapRectangle.archive17.method2() ? 1 : 0; var0 += WorldMapRectangle.archive17.method130() && WorldMapRectangle.archive17.isFullyLoaded() ? 1 : 0;
if (var0 != 100) { if (var0 != 100) {
if (var0 != 0) { if (var0 != 0) {
Login.Login_loadingText = "Checking for updates - " + var0 + "%"; Login.Login_loadingText = "Checking for updates - " + var0 + "%";
@@ -176,7 +178,7 @@ public class class171 {
var28.method174(9, 128); var28.method174(9, 128);
WorldMapCacheName.pcmPlayer0 = Players.newPcmPlayer(GameShell.taskHandler, 0, 22050); WorldMapCacheName.pcmPlayer0 = Players.newPcmPlayer(GameShell.taskHandler, 0, 22050);
WorldMapCacheName.pcmPlayer0.setStream(var28); WorldMapCacheName.pcmPlayer0.setStream(var28);
NetSocket.method3537(WorldMapSection2.archive15, class2.archive14, WorldMapDecoration.archive4, var28); NetSocket.setAudioArchives(WorldMapSection2.archive15, class2.archive14, WorldMapDecoration.archive4, var28);
AbstractArchive.pcmPlayer1 = Players.newPcmPlayer(GameShell.taskHandler, 1, 2048); AbstractArchive.pcmPlayer1 = Players.newPcmPlayer(GameShell.taskHandler, 1, 2048);
TaskHandler.pcmStreamMixer = new PcmStreamMixer(); TaskHandler.pcmStreamMixer = new PcmStreamMixer();
AbstractArchive.pcmPlayer1.setStream(TaskHandler.pcmStreamMixer); AbstractArchive.pcmPlayer1.setStream(TaskHandler.pcmStreamMixer);
@@ -220,17 +222,17 @@ public class class171 {
} else { } else {
Archive var30; Archive var30;
if (Client.titleLoadingStage == 70) { if (Client.titleLoadingStage == 70) {
if (!ObjectSound.archive2.method2()) { if (!ObjectSound.archive2.isFullyLoaded()) {
Login.Login_loadingText = "Loading config - " + ObjectSound.archive2.loadPercent() + "%"; Login.Login_loadingText = "Loading config - " + ObjectSound.archive2.loadPercent() + "%";
Login.Login_loadingPercent = 60; Login.Login_loadingPercent = 60;
} else { } else {
Varcs.method2160(ObjectSound.archive2); Varcs.setFloorOverlayDefinitionArchive(ObjectSound.archive2);
Varps.method4393(ObjectSound.archive2); Varps.setFloorUnderlayDefinitionArchive(ObjectSound.archive2);
Archive var31 = ObjectSound.archive2; Archive var31 = ObjectSound.archive2;
Archive var33 = class40.archive7; Archive var33 = class40.archive7;
KitDefinition.KitDefinition_archive = var31; KitDefinition.KitDefinition_archive = var31;
KitDefinition.field456 = var33; KitDefinition.KitDefinition_modelsArchive = var33;
KitDefinition.KitDefinition_totalCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3); KitDefinition.KitDefinition_fileCount = KitDefinition.KitDefinition_archive.getGroupFileCount(3);
RectangleMode.setObjectDefinitionArchives(ObjectSound.archive2, class40.archive7, Client.isLowDetail); RectangleMode.setObjectDefinitionArchives(ObjectSound.archive2, class40.archive7, Client.isLowDetail);
IsaacCipher.setNpcDefinitionArchives(ObjectSound.archive2, class40.archive7); IsaacCipher.setNpcDefinitionArchives(ObjectSound.archive2, class40.archive7);
var30 = ObjectSound.archive2; var30 = ObjectSound.archive2;
@@ -242,49 +244,49 @@ public class class171 {
ItemDefinition.ItemDefinition_archive = var5; ItemDefinition.ItemDefinition_archive = var5;
ItemDefinition.ItemDefinition_modelArchive = var6; ItemDefinition.ItemDefinition_modelArchive = var6;
class30.inMembersWorld = var7; class30.inMembersWorld = var7;
class83.field1167 = ItemDefinition.ItemDefinition_archive.getGroupFileCount(10); class83.ItemDefinition_fileCount = ItemDefinition.ItemDefinition_archive.getGroupFileCount(10);
class204.field1122 = var8; class204.ItemDefinition_fontPlain11 = var8;
Archive var9 = ObjectSound.archive2; Archive var9 = ObjectSound.archive2;
Archive var10 = AbstractArchive.archive0; Archive var10 = AbstractArchive.archive0;
Archive var11 = Skeleton.archive1; Archive var11 = Skeleton.archive1;
SequenceDefinition.SequenceDefinition_archive = var9; SequenceDefinition.SequenceDefinition_archive = var9;
SequenceDefinition.field773 = var10; SequenceDefinition.SequenceDefinition_animationsArchive = var10;
SequenceDefinition.field774 = var11; SequenceDefinition.SequenceDefinition_skeletonsArchive = var11;
Archive var12 = ObjectSound.archive2; Archive var12 = ObjectSound.archive2;
Archive var13 = class40.archive7; Archive var13 = class40.archive7;
SpotAnimationDefinition.SpotAnimationDefinition_archive = var12; SpotAnimationDefinition.SpotAnimationDefinition_archive = var12;
SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var13; SpotAnimationDefinition.SpotAnimationDefinition_modelArchive = var13;
GrandExchangeOfferUnitPriceComparator.setVarbitDefinitionArchive(ObjectSound.archive2); GrandExchangeOfferUnitPriceComparator.setVarbitDefinitionArchive(ObjectSound.archive2);
Archive var14 = ObjectSound.archive2; Archive var14 = ObjectSound.archive2;
VarpDefinition.field943 = var14; VarpDefinition.VarpDefinition_archive = var14;
VarpDefinition.field944 = VarpDefinition.field943.getGroupFileCount(16); VarpDefinition.VarpDefinition_fileCount = VarpDefinition.VarpDefinition_archive.getGroupFileCount(16);
Archive var15 = WorldMapIcon1.archive3; Archive var15 = WorldMapIcon1.archive3;
Archive var16 = class40.archive7; Archive var16 = class40.archive7;
Archive var17 = WorldMapSection1.archive8; Archive var17 = WorldMapSection1.archive8;
Archive var18 = ByteArrayPool.archive13; Archive var18 = ByteArrayPool.archive13;
Widget.Widget_archive = var15; Widget.Widget_archive = var15;
BufferedSource.field54 = var16; BufferedSource.Widget_modelsArchive = var16;
Widget.field955 = var17; Widget.Widget_spritesArchive = var17;
class27.field1143 = var18; class27.Widget_fontsArchive = var18;
Widget.interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][]; Widget.interfaceComponents = new Widget[Widget.Widget_archive.getGroupCount()][];
Widget.loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()]; Widget.loadedInterfaces = new boolean[Widget.Widget_archive.getGroupCount()];
Archive var19 = ObjectSound.archive2; Archive var19 = ObjectSound.archive2;
class4.InvDefinition_archive = var19; class4.InvDefinition_archive = var19;
Archive var20 = ObjectSound.archive2; Archive var20 = ObjectSound.archive2;
EnumDefinition.EnumDefinition_archive = var20; EnumDefinition.EnumDefinition_archive = var20;
Frames.method3241(ObjectSound.archive2); Frames.setVarcIntArchive(ObjectSound.archive2);
Archive var21 = ObjectSound.archive2; Archive var21 = ObjectSound.archive2;
ParamDefinition.ParamDefinition_archive = var21; ParamDefinition.ParamDefinition_archive = var21;
class196.varcs = new Varcs(); class196.varcs = new Varcs();
class60.method1172(ObjectSound.archive2, WorldMapSection1.archive8, ByteArrayPool.archive13); class60.setHitSplatDefinitionArchives(ObjectSound.archive2, WorldMapSection1.archive8, ByteArrayPool.archive13);
Archive var22 = ObjectSound.archive2; Archive var22 = ObjectSound.archive2;
Archive var23 = WorldMapSection1.archive8; Archive var23 = WorldMapSection1.archive8;
HealthBarDefinition.field379 = var22; HealthBarDefinition.HealthBarDefinition_archive = var22;
HealthBarDefinition.field380 = var23; HealthBarDefinition.HealthBarDefinition_spritesArchive = var23;
Archive var24 = ObjectSound.archive2; Archive var24 = ObjectSound.archive2;
Archive var25 = WorldMapSection1.archive8; Archive var25 = WorldMapSection1.archive8;
WorldMapElement.WorldMapElement_archive = var25; WorldMapElement.WorldMapElement_archive = var25;
if (var24.method2()) { if (var24.isFullyLoaded()) {
UserComparator4.WorldMapElement_count = var24.getGroupFileCount(35); UserComparator4.WorldMapElement_count = var24.getGroupFileCount(35);
Widget.WorldMapElement_cached = new WorldMapElement[UserComparator4.WorldMapElement_count]; Widget.WorldMapElement_cached = new WorldMapElement[UserComparator4.WorldMapElement_count];
@@ -305,13 +307,13 @@ public class class171 {
} else if (Client.titleLoadingStage == 80) { } else if (Client.titleLoadingStage == 80) {
var0 = 0; var0 = 0;
if (GrandExchangeOfferUnitPriceComparator.compass == null) { if (GrandExchangeOfferUnitPriceComparator.compass == null) {
GrandExchangeOfferUnitPriceComparator.compass = class322.readSprite(WorldMapSection1.archive8, Calendar.spriteIds.field878, 0); GrandExchangeOfferUnitPriceComparator.compass = class322.readSprite(WorldMapSection1.archive8, Calendar.spriteIds.compass, 0);
} else { } else {
++var0; ++var0;
} }
if (FaceNormal.field345 == null) { if (FaceNormal.redHintArrowSprite == null) {
FaceNormal.field345 = class322.readSprite(WorldMapSection1.archive8, Calendar.spriteIds.field879, 0); FaceNormal.redHintArrowSprite = class322.readSprite(WorldMapSection1.archive8, Calendar.spriteIds.redHintArrow, 0);
} else { } else {
++var0; ++var0;
} }
@@ -450,7 +452,7 @@ public class class171 {
Login.Login_loadingPercent = 70; Login.Login_loadingPercent = 70;
} else { } else {
AbstractFont.AbstractFont_modIconSprites = WorldMapSectionType.modIconSprites; AbstractFont.AbstractFont_modIconSprites = WorldMapSectionType.modIconSprites;
FaceNormal.field345.normalize(); FaceNormal.redHintArrowSprite.normalize();
var29 = (int)(Math.random() * 21.0D) - 10; var29 = (int)(Math.random() * 21.0D) - 10;
int var36 = (int)(Math.random() * 21.0D) - 10; int var36 = (int)(Math.random() * 21.0D) - 10;
var34 = (int)(Math.random() * 21.0D) - 10; var34 = (int)(Math.random() * 21.0D) - 10;
@@ -461,7 +463,7 @@ public class class171 {
Client.titleLoadingStage = 90; Client.titleLoadingStage = 90;
} }
} else if (Client.titleLoadingStage == 90) { } else if (Client.titleLoadingStage == 90) {
if (!class238.archive9.method2()) { if (!class238.archive9.isFullyLoaded()) {
Login.Login_loadingText = "Loading textures - 0%"; Login.Login_loadingText = "Loading textures - 0%";
Login.Login_loadingPercent = 90; Login.Login_loadingPercent = 90;
} else { } else {
@@ -471,7 +473,7 @@ public class class171 {
Client.titleLoadingStage = 100; Client.titleLoadingStage = 100;
} }
} else if (Client.titleLoadingStage == 100) { } else if (Client.titleLoadingStage == 100) {
var0 = SecureRandomFuture.textureProvider.method323(); var0 = SecureRandomFuture.textureProvider.getLoadedPercentage();
if (var0 < 100) { if (var0 < 100) {
Login.Login_loadingText = "Loading textures - " + var0 + "%"; Login.Login_loadingText = "Loading textures - " + var0 + "%";
Login.Login_loadingPercent = 90; Login.Login_loadingPercent = 90;
@@ -498,13 +500,13 @@ public class class171 {
Client.titleLoadingStage = 130; Client.titleLoadingStage = 130;
} }
} else if (Client.titleLoadingStage == 130) { } else if (Client.titleLoadingStage == 130) {
if (!WorldMapIcon1.archive3.method2()) { if (!WorldMapIcon1.archive3.isFullyLoaded()) {
Login.Login_loadingText = "Loading interfaces - " + WorldMapIcon1.archive3.loadPercent() * 4 / 5 + "%"; Login.Login_loadingText = "Loading interfaces - " + WorldMapIcon1.archive3.loadPercent() * 4 / 5 + "%";
Login.Login_loadingPercent = 96; Login.Login_loadingPercent = 96;
} else if (!Formatting.archive12.method2()) { } else if (!Formatting.archive12.isFullyLoaded()) {
Login.Login_loadingText = "Loading interfaces - " + (80 + Formatting.archive12.loadPercent() / 6) + "%"; Login.Login_loadingText = "Loading interfaces - " + (80 + Formatting.archive12.loadPercent() / 6) + "%";
Login.Login_loadingPercent = 96; Login.Login_loadingPercent = 96;
} else if (!ByteArrayPool.archive13.method2()) { } else if (!ByteArrayPool.archive13.isFullyLoaded()) {
Login.Login_loadingText = "Loading interfaces - " + (96 + ByteArrayPool.archive13.loadPercent() / 50) + "%"; Login.Login_loadingText = "Loading interfaces - " + (96 + ByteArrayPool.archive13.loadPercent() / 50) + "%";
Login.Login_loadingPercent = 96; Login.Login_loadingPercent = 96;
} else { } else {
@@ -517,9 +519,9 @@ public class class171 {
if (!ItemContainer.archive19.tryLoadGroupByName(WorldMapCacheName.WorldMapCacheName_details.name)) { if (!ItemContainer.archive19.tryLoadGroupByName(WorldMapCacheName.WorldMapCacheName_details.name)) {
Login.Login_loadingText = "Loading world map - " + ItemContainer.archive19.groupLoadPercentByName(WorldMapCacheName.WorldMapCacheName_details.name) / 10 + "%"; Login.Login_loadingText = "Loading world map - " + ItemContainer.archive19.groupLoadPercentByName(WorldMapCacheName.WorldMapCacheName_details.name) / 10 + "%";
} else { } else {
if (class60.worldMap0 == null) { if (class60.worldMap == null) {
class60.worldMap0 = new WorldMap(); class60.worldMap = new WorldMap();
class60.worldMap0.init(ItemContainer.archive19, WorldMapLabelSize.archive18, AbstractByteArrayCopier.archive20, class2.fontBold12, Client.fontsMap, class192.mapSceneSprites); class60.worldMap.init(ItemContainer.archive19, WorldMapLabelSize.archive18, AbstractByteArrayCopier.archive20, class2.fontBold12, Client.fontsMap, class192.mapSceneSprites);
} }
Login.Login_loadingText = "Loaded world map"; Login.Login_loadingText = "Loaded world map";
+1 -1
View File
@@ -66,7 +66,7 @@ final class class2 implements class0 {
Rasterizer2D.Rasterizer2D_clear(); Rasterizer2D.Rasterizer2D_clear();
byte[] var4 = var0.takeFileByNames("title.jpg", ""); byte[] var4 = var0.takeFileByNames("title.jpg", "");
Login.leftTitleSprite = class27.convertJpgToSprite(var4); Login.leftTitleSprite = class27.convertJpgToSprite(var4);
Fonts.rightTitleSprite = Login.leftTitleSprite.copy(); Fonts.rightTitleSprite = Login.leftTitleSprite.mirrorHorizontally();
if ((Client.worldProperties & 536870912) != 0) { if ((Client.worldProperties & 536870912) != 0) {
WorldMapSectionType.logoSprite = MenuAction.loadIndexedSpriteByName(var1, "logo_deadman_mode", ""); WorldMapSectionType.logoSprite = MenuAction.loadIndexedSpriteByName(var1, "logo_deadman_mode", "");
} else { } else {
+2 -1
View File
@@ -12,7 +12,8 @@ public class class204 {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lkk;" signature = "Lkk;"
) )
public static Font field1122; @Export("ItemDefinition_fontPlain11")
public static Font ItemDefinition_fontPlain11;
@ObfuscatedName("f") @ObfuscatedName("f")
@ObfuscatedSignature( @ObfuscatedSignature(
+1 -1
View File
@@ -370,7 +370,7 @@ public abstract class class21 {
if ((var4 & 16) != 0) { if ((var4 & 16) != 0) {
var6 = var0.method66(); var6 = var0.method66();
PlayerType var17 = (PlayerType)ScriptFrame.findEnumerated(class48.method865(), var0.readUnsignedByte()); PlayerType var17 = (PlayerType)ScriptFrame.findEnumerated(class48.PlayerType_values(), var0.readUnsignedByte());
boolean var18 = var0.readUnsignedByteNegate() == 1; boolean var18 = var0.readUnsignedByteNegate() == 1;
var8 = var0.readUnsignedByte(); var8 = var0.readUnsignedByte();
var9 = var0.index; var9 = var0.index;
+9 -5
View File
@@ -9,12 +9,14 @@ public class class214 {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field1127; @Export("musicSamplesArchive")
public static AbstractArchive musicSamplesArchive;
@ObfuscatedName("q") @ObfuscatedName("q")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field1128; @Export("soundEffectsArchive")
public static AbstractArchive soundEffectsArchive;
@ObfuscatedName("w") @ObfuscatedName("w")
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lhm;" signature = "Lhm;"
@@ -30,7 +32,8 @@ public class class214 {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field1130; @Export("musicTrackArchive")
public static AbstractArchive musicTrackArchive;
@ObfuscatedName("k") @ObfuscatedName("k")
static int[] field1131; static int[] field1131;
@ObfuscatedName("ko") @ObfuscatedName("ko")
@@ -106,8 +109,9 @@ public class class214 {
signature = "(Ljava/lang/CharSequence;II)I", signature = "(Ljava/lang/CharSequence;II)I",
garbageValue = "2125526115" garbageValue = "2125526115"
) )
public static int method4157(CharSequence var0, int var1) { @Export("parseIntCustomRadix")
return IgnoreList.method5438(var0, var1, true); public static int parseIntCustomRadix(CharSequence var0, int radix) {
return IgnoreList.parseIntCustomRadix(var0, radix, true);
} }
static { static {
+3 -3
View File
@@ -29,7 +29,7 @@ public class class226 {
long var6 = ((long)quantity << 16) + (long)id + ((long)outline << 38) + ((long)quantityMode << 40) + ((long)shadow << 42); long var6 = ((long)quantity << 16) + (long)id + ((long)outline << 38) + ((long)quantityMode << 40) + ((long)shadow << 42);
Sprite var8; Sprite var8;
if (!noted) { if (!noted) {
var8 = (Sprite)ItemDefinition.Sprite_cached.get(var6); var8 = (Sprite)ItemDefinition.ItemDefinition_cachedSprites.get(var6);
if (var8 != null) { if (var8 != null) {
return var8; return var8;
} }
@@ -120,11 +120,11 @@ public class class226 {
} }
if (quantityMode == 1 || quantityMode == 2 && var9.isStackable == 1) { if (quantityMode == 1 || quantityMode == 2 && var9.isStackable == 1) {
class204.field1122.draw(class196.method3735(quantity), 0, 9, 16776960, 1); class204.ItemDefinition_fontPlain11.draw(class196.method3735(quantity), 0, 9, 16776960, 1);
} }
if (!noted) { if (!noted) {
ItemDefinition.Sprite_cached.put(var8, var6); ItemDefinition.ItemDefinition_cachedSprites.put(var8, var6);
} }
Rasterizer2D.Rasterizer2D_replace(var12, var13, var14); Rasterizer2D.Rasterizer2D_replace(var12, var13, var14);
+19 -19
View File
@@ -51,7 +51,7 @@ public final class class238 {
garbageValue = "1706481742" garbageValue = "1706481742"
) )
@Export("updateInterface") @Export("updateInterface")
static final void updateInterface(Widget[] components, int parentId, int var2, int var3, int var4, int var5, int x, int y) { static final void updateInterface(Widget[] components, int parentId, int x, int y, int width, int height, int xOffset, int yOffset) {
for (int var8 = 0; var8 < components.length; ++var8) { for (int var8 = 0; var8 < components.length; ++var8) {
Widget var9 = components[var8]; Widget var9 = components[var8];
if (var9 != null && var9.parentId == parentId && (!var9.isIf3 || var9.type == 0 || var9.hasListener || class1.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) { if (var9 != null && var9.parentId == parentId && (!var9.isIf3 || var9.type == 0 || var9.hasListener || class1.getWidgetClickMask(var9) != 0 || var9 == Client.clickedWidgetParent || var9.contentType == 1338)) {
@@ -63,8 +63,8 @@ public final class class238 {
continue; continue;
} }
int var10 = var9.x + x; int var10 = var9.x + xOffset;
int var11 = y + var9.y; int var11 = yOffset + var9.y;
int var12; int var12;
int var13; int var13;
int var14; int var14;
@@ -72,10 +72,10 @@ public final class class238 {
int var16; int var16;
int var17; int var17;
if (var9.type == 2) { if (var9.type == 2) {
var12 = var2; var12 = x;
var13 = var3; var13 = y;
var14 = var4; var14 = width;
var15 = var5; var15 = height;
} else { } else {
int var18; int var18;
if (var9.type == 9) { if (var9.type == 9) {
@@ -95,17 +95,17 @@ public final class class238 {
++var17; ++var17;
++var19; ++var19;
var12 = var18 > var2 ? var18 : var2; var12 = var18 > x ? var18 : x;
var13 = var16 > var3 ? var16 : var3; var13 = var16 > y ? var16 : y;
var14 = var17 < var4 ? var17 : var4; var14 = var17 < width ? var17 : width;
var15 = var19 < var5 ? var19 : var5; var15 = var19 < height ? var19 : height;
} else { } else {
var18 = var10 + var9.width; var18 = var10 + var9.width;
var16 = var11 + var9.height; var16 = var11 + var9.height;
var12 = var10 > var2 ? var10 : var2; var12 = var10 > x ? var10 : x;
var13 = var11 > var3 ? var11 : var3; var13 = var11 > y ? var11 : y;
var14 = var18 < var4 ? var18 : var4; var14 = var18 < width ? var18 : width;
var15 = var16 < var5 ? var16 : var5; var15 = var16 < height ? var16 : height;
} }
} }
@@ -181,12 +181,12 @@ public final class class238 {
WorldMapRegion.method567(var9, var10, var11); WorldMapRegion.method567(var9, var10, var11);
} else { } else {
if (var9.contentType == 1400) { if (var9.contentType == 1400) {
class60.worldMap0.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var30, var10, var11, var9.width, var9.height); class60.worldMap.onCycle(MouseHandler.MouseHandler_x, MouseHandler.MouseHandler_y, var30, var10, var11, var9.width, var9.height);
} }
if (!Client.isMenuOpen && var30) { if (!Client.isMenuOpen && var30) {
if (var9.contentType == 1400) { if (var9.contentType == 1400) {
class60.worldMap0.method384(var10, var11, var9.width, var9.height, var16, var17); class60.worldMap.method384(var10, var11, var9.width, var9.height, var16, var17);
} else { } else {
ChatChannel.method2237(var9, var16 - var10, var17 - var11); ChatChannel.method2237(var9, var16 - var10, var17 - var11);
} }
@@ -284,7 +284,7 @@ public final class class238 {
} }
if (var9.contentType == 1400) { if (var9.contentType == 1400) {
class60.worldMap0.method361(var16, var17, var30 & var23, var30 & var20); class60.worldMap.method361(var16, var17, var30 & var23, var30 & var20);
} }
if (Client.clickedWidget != null && var9 != Client.clickedWidget && var30 && class54.method1090(class1.getWidgetClickMask(var9))) { if (Client.clickedWidget != null && var9 != Client.clickedWidget && var30 && class54.method1090(class1.getWidgetClickMask(var9))) {
@@ -587,7 +587,7 @@ public final class class238 {
} }
} }
WorldMapDecorationType.method4517(var34.group, var12, var13, var14, var15, var10, var11); WorldMapDecorationType.updateRootInterface(var34.group, var12, var13, var14, var15, var10, var11);
} }
} }
} }
+2 -1
View File
@@ -13,7 +13,8 @@ public final class class27 {
@ObfuscatedSignature( @ObfuscatedSignature(
signature = "Lir;" signature = "Lir;"
) )
public static AbstractArchive field1143; @Export("Widget_fontsArchive")
public static AbstractArchive Widget_fontsArchive;
@ObfuscatedName("f") @ObfuscatedName("f")
final int[] field225; final int[] field225;
+1 -1
View File
@@ -202,7 +202,7 @@ public class class31 {
return 1; return 1;
} else if (var0 == 6520) { } else if (var0 == 6520) {
return 1; return 1;
} else if (var0 == 6521) { } else if (var0 == ScriptOpcodes.MOBILE_KEYBOARDHIDE) {
return 1; return 1;
} else if (var0 == 6522) { } else if (var0 == 6522) {
--Interpreter.Interpreter_stringStackSize; --Interpreter.Interpreter_stringStackSize;

Some files were not shown because too many files have changed in this diff Show More