Merge pull request #926 from Lucwousin/tfuuuu_doen_we_gewoon_ff
rsclient/deob: Updater/refactoring changes
This commit is contained in:
@@ -78,6 +78,7 @@ public class Instructions
|
||||
add(CC_SETSIZE, "cc_setsize");
|
||||
add(CC_SETHIDE, "cc_sethide");
|
||||
add(CC_SETNOCLICKTHROUGH, "cc_setnoclickthrough");
|
||||
add(CC_SETNOSCROLLTHROUGH, "cc_setnoscrollthrough");
|
||||
add(CC_SETSCROLLPOS, "cc_setscrollpos");
|
||||
add(CC_SETCOLOUR, "cc_setcolour");
|
||||
add(CC_SETFILL, "cc_setfill");
|
||||
@@ -287,11 +288,14 @@ public class Instructions
|
||||
add(SETSHOWLOADINGMESSAGES, "setshowloadingmessages");
|
||||
add(SETTAPTODROP, "settaptodrop");
|
||||
add(GETTAPTODROP, "gettaptodrop");
|
||||
add(SETOCULUSORBSPEED, "setoculusorbspeed");
|
||||
add(GETCANVASSIZE, "getcanvassize");
|
||||
add(SETHIDEUSERNAME, "sethideusername");
|
||||
add(GETHIDEUSERNAME, "gethideusername");
|
||||
add(SETREMEMBERUSERNAME, "setrememberusername");
|
||||
add(GETREMEMBERUSERNAME, "getrememberusername");
|
||||
add(SETTITLEMUSICENABLED, "settitlemusicenabled");
|
||||
add(GETTITLEMUSICENABLED, "gettitlemusicenabled");
|
||||
add(SOUND_SYNTH, "sound_synth");
|
||||
add(SOUND_SONG, "sound_song");
|
||||
add(SOUND_JINGLE, "sound_jingle");
|
||||
@@ -411,6 +415,7 @@ public class Instructions
|
||||
add(REMOVETAGS, "removetags");
|
||||
add(STRING_INDEXOF_CHAR, "string_indexof_char");
|
||||
add(STRING_INDEXOF_STRING, "string_indexof_string");
|
||||
add(UPPERCASE, "uppercase");
|
||||
add(OC_NAME, "oc_name");
|
||||
add(OC_OP, "oc_op");
|
||||
add(OC_IOP, "oc_iop");
|
||||
@@ -461,6 +466,7 @@ public class Instructions
|
||||
add(WORLDLIST_NEXT, "worldlist_next");
|
||||
add(WORLDLIST_SPECIFIC, "worldlist_specific");
|
||||
add(WORLDLIST_SORT, "worldlist_sort");
|
||||
add(GETWORLDINFO, "getworldinfo");
|
||||
add(SETFOLLOWEROPSLOWPRIORITY, "setfolloweropslowpriority");
|
||||
add(NC_PARAM, "nc_param");
|
||||
add(LC_PARAM, "lc_param");
|
||||
|
||||
@@ -69,6 +69,7 @@ public class Opcodes
|
||||
public static final int CC_SETSIZE = 1001;
|
||||
public static final int CC_SETHIDE = 1003;
|
||||
public static final int CC_SETNOCLICKTHROUGH = 1005;
|
||||
public static final int CC_SETNOSCROLLTHROUGH = 1006;
|
||||
public static final int CC_SETSCROLLPOS = 1100;
|
||||
public static final int CC_SETCOLOUR = 1101;
|
||||
public static final int CC_SETFILL = 1102;
|
||||
@@ -278,11 +279,14 @@ public class Opcodes
|
||||
public static final int SETSHOWLOADINGMESSAGES = 3126;
|
||||
public static final int SETTAPTODROP = 3127;
|
||||
public static final int GETTAPTODROP = 3128;
|
||||
public static final int SETOCULUSORBSPEED = 3129;
|
||||
public static final int GETCANVASSIZE = 3132;
|
||||
public static final int SETHIDEUSERNAME = 3141;
|
||||
public static final int GETHIDEUSERNAME = 3142;
|
||||
public static final int SETREMEMBERUSERNAME = 3143;
|
||||
public static final int GETREMEMBERUSERNAME = 3144;
|
||||
public static final int SETTITLEMUSICENABLED = 3146;
|
||||
public static final int GETTITLEMUSICENABLED = 3147;
|
||||
public static final int SOUND_SYNTH = 3200;
|
||||
public static final int SOUND_SONG = 3201;
|
||||
public static final int SOUND_JINGLE = 3202;
|
||||
@@ -402,6 +406,7 @@ public class Opcodes
|
||||
public static final int REMOVETAGS = 4119;
|
||||
public static final int STRING_INDEXOF_CHAR = 4120;
|
||||
public static final int STRING_INDEXOF_STRING = 4121;
|
||||
public static final int UPPERCASE = 4122;
|
||||
public static final int OC_NAME = 4200;
|
||||
public static final int OC_OP = 4201;
|
||||
public static final int OC_IOP = 4202;
|
||||
@@ -452,6 +457,7 @@ public class Opcodes
|
||||
public static final int WORLDLIST_NEXT = 6502;
|
||||
public static final int WORLDLIST_SPECIFIC = 6506;
|
||||
public static final int WORLDLIST_SORT = 6507;
|
||||
public static final int GETWORLDINFO = 6511;
|
||||
public static final int SETFOLLOWEROPSLOWPRIORITY = 6512;
|
||||
public static final int NC_PARAM = 6513;
|
||||
public static final int LC_PARAM = 6514;
|
||||
|
||||
@@ -48,6 +48,7 @@ public enum ScriptOpcode
|
||||
CC_SETSIZE(1001),
|
||||
CC_SETHIDE(1003),
|
||||
CC_SETNOCLICKTHROUGH(1005),
|
||||
CC_SETNOSCROLLTHROUGH(1006),
|
||||
CC_SETSCROLLPOS(1100),
|
||||
CC_SETCOLOUR(1101),
|
||||
CC_SETFILL(1102),
|
||||
@@ -257,11 +258,14 @@ public enum ScriptOpcode
|
||||
SETSHOWLOADINGMESSAGES(3126),
|
||||
SETTAPTODROP(3127),
|
||||
GETTAPTODROP(3128),
|
||||
SETOCULUSORBSPEED(3129),
|
||||
GETCANVASSIZE(3132),
|
||||
SETHIDEUSERNAME(3141),
|
||||
GETHIDEUSERNAME(3142),
|
||||
SETREMEMBERUSERNAME(3143),
|
||||
GETREMEMBERUSERNAME(3144),
|
||||
SETTITLEMUSICENABLED(3146),
|
||||
GETTITLEMUSICENABLED(3147),
|
||||
SOUND_SYNTH(3200),
|
||||
SOUND_SONG(3201),
|
||||
SOUND_JINGLE(3202),
|
||||
@@ -381,6 +385,7 @@ public enum ScriptOpcode
|
||||
REMOVETAGS(4119),
|
||||
STRING_INDEXOF_CHAR(4120),
|
||||
STRING_INDEXOF_STRING(4121),
|
||||
UPPERCASE(4122),
|
||||
OC_NAME(4200),
|
||||
OC_OP(4201),
|
||||
OC_IOP(4202),
|
||||
@@ -431,6 +436,7 @@ public enum ScriptOpcode
|
||||
WORLDLIST_NEXT(6502),
|
||||
WORLDLIST_SPECIFIC(6506),
|
||||
WORLDLIST_SORT(6507),
|
||||
GETWORLDINFO(6511),
|
||||
SETFOLLOWEROPSLOWPRIORITY(6512),
|
||||
NC_PARAM(6513),
|
||||
LC_PARAM(6514),
|
||||
|
||||
@@ -24,9 +24,12 @@
|
||||
*/
|
||||
package net.runelite.deob.updater;
|
||||
|
||||
import java.util.List;
|
||||
import net.runelite.asm.ClassFile;
|
||||
import net.runelite.asm.ClassGroup;
|
||||
import net.runelite.asm.Method;
|
||||
import net.runelite.asm.attributes.code.LocalVariable;
|
||||
import net.runelite.asm.attributes.code.Parameter;
|
||||
import net.runelite.deob.deobfuscators.mapping.ParallelExecutorMapping;
|
||||
|
||||
public class ParameterRenamer
|
||||
@@ -49,9 +52,39 @@ public class ParameterRenamer
|
||||
for (Method sourceM : sourceCF.getMethods())
|
||||
{
|
||||
Method destM = (Method) mapping.get(sourceM);
|
||||
if (destM != null)
|
||||
if (sourceM.getParameters() != null && !sourceM.getParameters().isEmpty() && destM.getParameters().size() >= 1)
|
||||
{
|
||||
destM.setParameters(sourceM.getParameters());
|
||||
List<Parameter> oldParams = destM.getParameters();
|
||||
for (int i = 0; i < sourceM.getParameters().size(); i++)
|
||||
{
|
||||
String name = sourceM.getParameters().get(i).getName();
|
||||
if (name.matches("arg[0-9]") || name.length() <= 2 && (name.charAt(0) != 'x' || name.charAt(0) != 'y'))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Parameter oldParam = oldParams.get(i);
|
||||
LocalVariable oldVar = oldParam.getLocalVariable();
|
||||
|
||||
Parameter newParam = new Parameter(name, oldParam.getAccess());
|
||||
oldParams.set(i, newParam);
|
||||
|
||||
if (oldVar == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
LocalVariable newVar = new LocalVariable(
|
||||
name,
|
||||
oldVar.getDesc(),
|
||||
oldVar.getSignature(),
|
||||
oldVar.getStart(),
|
||||
oldVar.getEnd(),
|
||||
oldVar.getIndex()
|
||||
);
|
||||
|
||||
newParam.setLocalVariable(newVar);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,5 +1,6 @@
|
||||
package net.runelite.deob.updater;
|
||||
|
||||
import com.google.common.base.Strings;
|
||||
import java.io.File;
|
||||
import net.runelite.asm.ClassFile;
|
||||
import net.runelite.asm.ClassGroup;
|
||||
@@ -39,6 +40,12 @@ public class AnnotationCleaner
|
||||
|
||||
log.debug("Checking {}", c.toString());
|
||||
|
||||
String implementingName = DeobAnnotations.getImplements(c);
|
||||
if (!Strings.isNullOrEmpty(implementingName))
|
||||
{
|
||||
assertEquals(c + " implements " + implementingName + " but is called " + c.getClassName(), implementingName, c.getClassName());
|
||||
}
|
||||
|
||||
for (Field f : c.getFields())
|
||||
{
|
||||
Annotations an = f.getAnnotations();
|
||||
@@ -48,11 +55,11 @@ public class AnnotationCleaner
|
||||
|
||||
if (exportedName == null)
|
||||
{
|
||||
assertTrue("Field " + fieldName + " isn't obfuscated but doesn't have @Export.", Deob.isObfuscated(fieldName) || fieldName.contains("$"));
|
||||
assertTrue("Field " + c.getClassName() + '.' + fieldName + " isn't obfuscated but doesn't have @Export.", Deob.isObfuscated(fieldName) || fieldName.equals(DeobAnnotations.getObfuscatedName(an)) || DeobAnnotations.getObfuscatedName(an) == null);
|
||||
continue;
|
||||
}
|
||||
|
||||
assertEquals("Field " + fieldName + " has " + exportedName + " in @Export", fieldName, exportedName);
|
||||
assertEquals("Field " + c.getClassName() + '.' + fieldName + " has " + exportedName + " in @Export", fieldName, exportedName);
|
||||
}
|
||||
|
||||
for (Method m : c.getMethods())
|
||||
@@ -64,11 +71,11 @@ public class AnnotationCleaner
|
||||
|
||||
if (exportedName == null)
|
||||
{
|
||||
assertTrue("Method " + fieldName + " isn't obfuscated but doesn't have @Export.", Deob.isObfuscated(fieldName) || fieldName.endsWith("init>") || fieldName.equals("values") || fieldName.equals("valueOf") || fieldName.startsWith("compareTo") || fieldName.equals("equals") || fieldName.equals("hashCode") || fieldName.equals("compare"));
|
||||
assertTrue("Method " + c.getClassName() + '.' + fieldName + " isn't obfuscated but doesn't have @Export.", Deob.isObfuscated(fieldName) || fieldName.equals(DeobAnnotations.getObfuscatedName(an)) || DeobAnnotations.getObfuscatedName(an) == null);
|
||||
continue;
|
||||
}
|
||||
|
||||
assertEquals("Method " + fieldName + " has " + exportedName + " in @Export", fieldName, exportedName);
|
||||
assertEquals("Method " + c.getClassName() + '.' + fieldName + " has " + exportedName + " in @Export", fieldName, exportedName);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -37,6 +37,7 @@ import net.runelite.deob.deobfuscators.mapping.AnnotationIntegrityChecker;
|
||||
import net.runelite.deob.deobfuscators.mapping.AnnotationMapper;
|
||||
import net.runelite.deob.deobfuscators.mapping.Mapper;
|
||||
import net.runelite.deob.deobfuscators.mapping.ParallelExecutorMapping;
|
||||
import net.runelite.deob.deobfuscators.transformers.ScriptOpcodesTransformer;
|
||||
import net.runelite.deob.util.JarUtil;
|
||||
import org.junit.Assert;
|
||||
import org.junit.Ignore;
|
||||
@@ -87,6 +88,19 @@ public class UpdateMappingsTest
|
||||
check(group1, group2);
|
||||
}
|
||||
|
||||
@Test
|
||||
@Ignore
|
||||
public void testScriptopcodes() throws Exception
|
||||
{
|
||||
File client = new File("C:\\Users\\Lucas\\IdeaProjects\\runelitexxx\\client.jar");
|
||||
|
||||
ClassGroup group = JarUtil.loadJar(client);
|
||||
|
||||
new ScriptOpcodesTransformer().transform(group);
|
||||
|
||||
JarUtil.saveJar(group, new File("C:/Users/Lucas/Desktop/Apapapapapap.jar"));
|
||||
}
|
||||
|
||||
private void unannotate(ClassGroup group)
|
||||
{
|
||||
for (ClassFile cf : group.getClasses())
|
||||
|
||||
@@ -8,7 +8,6 @@ public class HookClass
|
||||
@SerializedName("class")
|
||||
String clazz;
|
||||
String name;
|
||||
int access;
|
||||
List<HookField> fields;
|
||||
List<HookMethod> methods;
|
||||
}
|
||||
|
||||
@@ -5,7 +5,6 @@ public class HookField
|
||||
String field;
|
||||
String owner;
|
||||
String name;
|
||||
int access;
|
||||
|
||||
@Override
|
||||
public String toString()
|
||||
|
||||
@@ -39,6 +39,8 @@ import net.runelite.asm.Type;
|
||||
import net.runelite.asm.attributes.Annotations;
|
||||
import net.runelite.asm.attributes.annotation.Annotation;
|
||||
import net.runelite.asm.attributes.annotation.Element;
|
||||
import net.runelite.asm.attributes.code.LocalVariable;
|
||||
import net.runelite.asm.attributes.code.Parameter;
|
||||
import net.runelite.asm.signature.Signature;
|
||||
import net.runelite.asm.signature.util.VirtualMethods;
|
||||
import static net.runelite.deob.DeobAnnotations.EXPORT;
|
||||
@@ -97,7 +99,7 @@ public class HookImporter
|
||||
@Ignore
|
||||
public void importHooks()
|
||||
{
|
||||
int classes = 0, fields = 0, methods = 0, access = 0;
|
||||
int classes = 0, fields = 0, methods = 0, params = 0;
|
||||
NameMappings mappings = new NameMappings();
|
||||
|
||||
for (HookClass hc : hooks)
|
||||
@@ -107,12 +109,6 @@ public class HookImporter
|
||||
|
||||
assert cf != null;
|
||||
|
||||
if (cf.getAccess() != hc.access)
|
||||
{
|
||||
cf.setAccess(hc.access);
|
||||
++access;
|
||||
}
|
||||
|
||||
String implementsName = getAnnotation(cf.getAnnotations(), IMPLEMENTS);
|
||||
if (implementsName.isEmpty())
|
||||
{
|
||||
@@ -122,23 +118,28 @@ public class HookImporter
|
||||
++classes;
|
||||
}
|
||||
|
||||
if (!implementsName.isEmpty() && !implementsName.equals(hc.clazz))
|
||||
{
|
||||
logger.info("Runestar calls class {} {}, while we call it {}", hc.name, hc.clazz, implementsName);
|
||||
}
|
||||
|
||||
for (HookField fh : hc.fields)
|
||||
{
|
||||
if (fh.field.startsWith("__"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
ClassFile cf2 = findClassWithObfuscatedName(fh.owner);
|
||||
assert cf2 != null;
|
||||
|
||||
Field f = findFieldWithObfuscatedName(cf2, fh.name);
|
||||
if (f == null)
|
||||
{
|
||||
logger.warn("Missing field {}", fh); // inlined constant maybe?
|
||||
continue;
|
||||
}
|
||||
|
||||
if (f.getAccessFlags() != fh.access)
|
||||
{
|
||||
f.setAccessFlags(fh.access);
|
||||
++access;
|
||||
}
|
||||
|
||||
String exportedName = getAnnotation(f.getAnnotations(), EXPORT);
|
||||
if (exportedName.isEmpty())
|
||||
{
|
||||
@@ -155,11 +156,20 @@ public class HookImporter
|
||||
mappings.map(f.getPoolField(), deobfuscatedFieldName);
|
||||
++fields;
|
||||
}
|
||||
|
||||
if (!exportedName.isEmpty() && !exportedName.equals(fh.field))
|
||||
{
|
||||
logger.info("Runestar calls field {}.{} {}, while we call it {}", fh.owner, fh.name, fh.field, exportedName);
|
||||
}
|
||||
}
|
||||
|
||||
outer:
|
||||
for (HookMethod hm : hc.methods)
|
||||
{
|
||||
if (hm.method.startsWith("__"))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
ClassFile cf2 = findClassWithObfuscatedName(hm.owner);
|
||||
assert cf2 != null;
|
||||
@@ -171,10 +181,40 @@ public class HookImporter
|
||||
continue;
|
||||
}
|
||||
|
||||
if (m.getAccessFlags() != hm.access)
|
||||
if (hm.parameters != null && !hm.parameters.isEmpty() && m.getParameters().size() >= 1)
|
||||
{
|
||||
m.setAccessFlags(hm.access);
|
||||
++access;
|
||||
List<Parameter> oldParams = m.getParameters();
|
||||
for (int i = 0; i < hm.parameters.size(); i++)
|
||||
{
|
||||
String name = hm.parameters.get(i);
|
||||
if (name.matches("arg[0-9]") || name.length() <= 2 && (name.charAt(0) != 'x' && name.charAt(0) != 'y'))
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
Parameter oldParam = oldParams.get(i);
|
||||
LocalVariable oldVar = oldParam.getLocalVariable();
|
||||
|
||||
Parameter newParam = new Parameter(name, oldParam.getAccess());
|
||||
oldParams.set(i, newParam);
|
||||
params++;
|
||||
|
||||
if (oldVar == null)
|
||||
{
|
||||
continue;
|
||||
}
|
||||
|
||||
LocalVariable newVar = new LocalVariable(
|
||||
name,
|
||||
oldVar.getDesc(),
|
||||
oldVar.getSignature(),
|
||||
oldVar.getStart(),
|
||||
oldVar.getEnd(),
|
||||
oldVar.getIndex()
|
||||
);
|
||||
|
||||
newParam.setLocalVariable(newVar);
|
||||
}
|
||||
}
|
||||
|
||||
// maybe only the base class method is exported
|
||||
@@ -184,6 +224,10 @@ public class HookImporter
|
||||
String exportedName = getAnnotation(method.getAnnotations(), EXPORT);
|
||||
if (!exportedName.isEmpty())
|
||||
{
|
||||
if (!exportedName.equals(hm.method))
|
||||
{
|
||||
logger.info("Runestar calls {}.{} {}, while we call it {}", hm.owner, hm.name, hm.method, exportedName);
|
||||
}
|
||||
continue outer;
|
||||
}
|
||||
}
|
||||
@@ -198,7 +242,7 @@ public class HookImporter
|
||||
Renamer renamer = new Renamer(mappings);
|
||||
renamer.run(group);
|
||||
|
||||
logger.info("Imported {} classes, {} fields, {} methods, {} access levels", classes, fields, methods, access);
|
||||
logger.info("Imported {} classes, {} fields, {} methods, {} params", classes, fields, methods, params);
|
||||
}
|
||||
|
||||
private ClassFile findClassWithObfuscatedName(String name)
|
||||
@@ -259,8 +303,7 @@ public class HookImporter
|
||||
{
|
||||
for (Element e : a.getElements())
|
||||
{
|
||||
String str = (String) e.getValue();
|
||||
return str;
|
||||
return (String) e.getValue();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -270,13 +313,13 @@ public class HookImporter
|
||||
private Signature getObfuscatedMethodSignature(Method method)
|
||||
{
|
||||
String sig = getAnnotation(method.getAnnotations(), OBFUSCATED_SIGNATURE);
|
||||
if (sig.isEmpty() == false)
|
||||
{
|
||||
return new Signature(sig); // if it is annotated, use that
|
||||
}
|
||||
else
|
||||
if (sig.isEmpty())
|
||||
{
|
||||
return method.getDescriptor();
|
||||
}
|
||||
else
|
||||
{
|
||||
return new Signature(sig); // if it is annotated, use that
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@@ -1,12 +1,13 @@
|
||||
package net.runelite.runesuite;
|
||||
|
||||
import java.util.List;
|
||||
|
||||
public class HookMethod
|
||||
{
|
||||
String method;
|
||||
String owner;
|
||||
String name;
|
||||
int access;
|
||||
String[] parameters;
|
||||
List<String> parameters;
|
||||
String descriptor;
|
||||
|
||||
@Override
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -33,6 +33,7 @@ import net.runelite.asm.ClassGroup;
|
||||
import net.runelite.asm.Method;
|
||||
import net.runelite.asm.Type;
|
||||
import net.runelite.asm.attributes.Annotations;
|
||||
import net.runelite.asm.attributes.Code;
|
||||
import net.runelite.asm.attributes.annotation.Annotation;
|
||||
import net.runelite.asm.attributes.code.Instruction;
|
||||
import net.runelite.asm.attributes.code.InstructionType;
|
||||
@@ -89,9 +90,9 @@ public class InjectHookMethod
|
||||
obfuscatedClassName = DeobAnnotations.getObfuscatedName(cf.getAnnotations());
|
||||
|
||||
// might be a constructor
|
||||
if (obfuscatedMethodName == null && method.getName().equals("<init>"))
|
||||
if (obfuscatedMethodName == null)
|
||||
{
|
||||
obfuscatedMethodName = "<init>";
|
||||
obfuscatedMethodName = method.getName();
|
||||
}
|
||||
|
||||
assert obfuscatedClassName != null : "hook on method in class with no obfuscated name";
|
||||
@@ -110,7 +111,12 @@ public class InjectHookMethod
|
||||
|
||||
private void injectHookMethod(Method hookMethod, String hookName, boolean end, Method deobMethod, Method vanillaMethod, boolean useHooks) throws InjectionException
|
||||
{
|
||||
Instructions instructions = vanillaMethod.getCode().getInstructions();
|
||||
Code code = vanillaMethod.getCode();
|
||||
if (code == null)
|
||||
{
|
||||
logger.warn(vanillaMethod + " code is null");
|
||||
}
|
||||
Instructions instructions = code.getInstructions();
|
||||
|
||||
Signature.Builder builder = new Signature.Builder()
|
||||
.setReturnType(Type.VOID); // Hooks always return void
|
||||
|
||||
@@ -27,6 +27,33 @@ public class InjectUtil
|
||||
|
||||
public static Method findMethod(Inject inject, String name) throws InjectionException
|
||||
{
|
||||
return findMethod(inject, name, null);
|
||||
}
|
||||
|
||||
public static Method findMethod(Inject inject, String name, String hint) throws InjectionException
|
||||
{
|
||||
if (hint != null)
|
||||
{
|
||||
ClassFile c = inject.getDeobfuscated().findClass(hint);
|
||||
|
||||
if (c == null)
|
||||
{
|
||||
throw new InjectionException("Class " + hint + " doesn't exist. (check capitalization)");
|
||||
}
|
||||
|
||||
Method deob = c.findMethod(name);
|
||||
|
||||
if (deob != null)
|
||||
{
|
||||
String obfuscatedName = DeobAnnotations.getObfuscatedName(deob.getAnnotations());
|
||||
Signature obfuscatedSignature = DeobAnnotations.getObfuscatedSignature(deob);
|
||||
|
||||
ClassFile ob = inject.toObClass(c);
|
||||
|
||||
return ob.findMethod(obfuscatedName, (obfuscatedSignature != null) ? obfuscatedSignature : deob.getDescriptor());
|
||||
}
|
||||
}
|
||||
|
||||
for (ClassFile c : inject.getDeobfuscated().getClasses())
|
||||
{
|
||||
for (Method m : c.getMethods())
|
||||
|
||||
@@ -76,8 +76,8 @@ public class DrawAfterWidgets
|
||||
|
||||
@Export("drawLoggedIn")
|
||||
final void drawLoggedIn() {
|
||||
if(rootWidgetGroup != -1) {
|
||||
ClientPreferences.method1809(rootWidgetGroup);
|
||||
if(rootInterface != -1) {
|
||||
ClientPreferences.method1809(rootInterface);
|
||||
}
|
||||
|
||||
int var1;
|
||||
@@ -94,9 +94,9 @@ public class DrawAfterWidgets
|
||||
__client_lq = -1;
|
||||
__client_ln = -1;
|
||||
UserComparator6.__fg_jh = null;
|
||||
if(rootWidgetGroup != -1) {
|
||||
if(rootInterface != -1) {
|
||||
rootWidgetCount = 0;
|
||||
Interpreter.method1977(rootWidgetGroup, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0, -1);
|
||||
Interpreter.method1977(rootInterface, 0, 0, SoundCache.canvasWidth, Huffman.canvasHeight, 0, 0, -1);
|
||||
}
|
||||
|
||||
< -- here appearantly
|
||||
|
||||
@@ -36,7 +36,7 @@ public class RenderDraw
|
||||
Stopwatch stopwatch = Stopwatch.createStarted();
|
||||
|
||||
net.runelite.asm.Method obmethod = findMethod(inject, "drawTile");
|
||||
Method renderDraw = findMethod(inject, "renderDraw").getPoolMethod();
|
||||
Method renderDraw = findMethod(inject, "draw", "Entity").getPoolMethod();
|
||||
|
||||
Instructions ins = obmethod.getCode().getInstructions();
|
||||
replace(ins, renderDraw);
|
||||
@@ -69,7 +69,7 @@ public class RenderDraw
|
||||
}
|
||||
else if (count != 21)
|
||||
{
|
||||
log.warn("Found {} renderDraws while 21 were expected. Rev update?", count);
|
||||
log.warn("Found {} draws while 21 were expected. Rev update?", count);
|
||||
}
|
||||
else
|
||||
{
|
||||
|
||||
@@ -1,29 +0,0 @@
|
||||
/*
|
||||
* Copyright (c) 2017, Adam <Adam@sigterm.info>
|
||||
* All rights reserved.
|
||||
*
|
||||
* Redistribution and use in source and binary forms, with or without
|
||||
* modification, are permitted provided that the following conditions are met:
|
||||
*
|
||||
* 1. Redistributions of source code must retain the above copyright notice, this
|
||||
* list of conditions and the following disclaimer.
|
||||
* 2. Redistributions in binary form must reproduce the above copyright notice,
|
||||
* this list of conditions and the following disclaimer in the documentation
|
||||
* and/or other materials provided with the distribution.
|
||||
*
|
||||
* THIS SOFTWARE IS PROVIDED BY THE COPYRIGHT HOLDERS AND CONTRIBUTORS "AS IS" AND
|
||||
* ANY EXPRESS OR IMPLIED WARRANTIES, INCLUDING, BUT NOT LIMITED TO, THE IMPLIED
|
||||
* WARRANTIES OF MERCHANTABILITY AND FITNESS FOR A PARTICULAR PURPOSE ARE
|
||||
* DISCLAIMED. IN NO EVENT SHALL THE COPYRIGHT OWNER OR CONTRIBUTORS BE LIABLE FOR
|
||||
* ANY DIRECT, INDIRECT, INCIDENTAL, SPECIAL, EXEMPLARY, OR CONSEQUENTIAL DAMAGES
|
||||
* (INCLUDING, BUT NOT LIMITED TO, PROCUREMENT OF SUBSTITUTE GOODS OR SERVICES;
|
||||
* LOSS OF USE, DATA, OR PROFITS; OR BUSINESS INTERRUPTION) HOWEVER CAUSED AND
|
||||
* ON ANY THEORY OF LIABILITY, WHETHER IN CONTRACT, STRICT LIABILITY, OR TORT
|
||||
* (INCLUDING NEGLIGENCE OR OTHERWISE) ARISING IN ANY WAY OUT OF THE USE OF THIS
|
||||
* SOFTWARE, EVEN IF ADVISED OF THE POSSIBILITY OF SUCH DAMAGE.
|
||||
*/
|
||||
package net.runelite.api;
|
||||
|
||||
public interface PacketBuffer
|
||||
{
|
||||
}
|
||||
@@ -35,4 +35,10 @@ public final class WidgetType
|
||||
public static final int TEXT_INVENTORY = 7;
|
||||
public static final int IF1_TOOLTIP = 8;
|
||||
public static final int LINE = 9;
|
||||
public static final int FPS = 1336;
|
||||
public static final int VIEWPORT = 1337;
|
||||
public static final int MINIMAP = 1338;
|
||||
public static final int COMPASS = 1339;
|
||||
public static final int WORLD_MAP = 1400;
|
||||
public static final int WORLD_MAP_OVERVIEW = 1401;
|
||||
}
|
||||
|
||||
@@ -66,7 +66,7 @@ public abstract class CameraMixin implements RSClient
|
||||
}
|
||||
}
|
||||
|
||||
@FieldHook("cameraPitchTarget")
|
||||
@FieldHook("camAngleX")
|
||||
@Inject
|
||||
static void onCameraPitchTargetChanged(int idx)
|
||||
{
|
||||
|
||||
@@ -15,12 +15,12 @@ import net.runelite.api.mixins.Mixin;
|
||||
import net.runelite.api.mixins.Replace;
|
||||
import net.runelite.api.mixins.Shadow;
|
||||
import org.slf4j.Logger;
|
||||
import net.runelite.rs.api.RSAbstractIndexCache;
|
||||
import net.runelite.rs.api.RSAbstractArchive;
|
||||
import net.runelite.rs.api.RSClient;
|
||||
import net.runelite.rs.api.RSIndexCache;
|
||||
import net.runelite.rs.api.RSArchive;
|
||||
|
||||
@Mixin(RSAbstractIndexCache.class)
|
||||
public abstract class RSAbstractIndexCacheMixin implements RSAbstractIndexCache
|
||||
@Mixin(RSAbstractArchive.class)
|
||||
public abstract class RSAbstractArchiveMixin implements RSAbstractArchive
|
||||
{
|
||||
@Shadow("client")
|
||||
private static RSClient client;
|
||||
@@ -35,14 +35,14 @@ public abstract class RSAbstractIndexCacheMixin implements RSAbstractIndexCache
|
||||
return overlayOutdated;
|
||||
}
|
||||
|
||||
@Copy("takeRecord")
|
||||
@Copy("takeFile")
|
||||
abstract byte[] rs$getConfigData(int archiveId, int fileId);
|
||||
|
||||
@Replace("takeRecord")
|
||||
@Replace("takeFile")
|
||||
public byte[] rl$getConfigData(int archiveId, int fileId)
|
||||
{
|
||||
byte[] rsData = rs$getConfigData(archiveId, fileId);
|
||||
RSIndexCache indexData = (RSIndexCache) this;
|
||||
RSArchive indexData = (RSArchive) this;
|
||||
|
||||
if (!OverlayIndex.hasOverlay(indexData.getIndex(), archiveId))
|
||||
{
|
||||
@@ -51,7 +51,6 @@ import net.runelite.api.MenuEntry;
|
||||
import net.runelite.api.MessageNode;
|
||||
import net.runelite.api.NPC;
|
||||
import net.runelite.api.Node;
|
||||
import net.runelite.api.PacketBuffer;
|
||||
import static net.runelite.api.Perspective.LOCAL_TILE_SIZE;
|
||||
import net.runelite.api.Player;
|
||||
import net.runelite.api.Point;
|
||||
@@ -111,8 +110,9 @@ import net.runelite.api.mixins.MethodHook;
|
||||
import net.runelite.api.mixins.Mixin;
|
||||
import net.runelite.api.mixins.Replace;
|
||||
import net.runelite.api.mixins.Shadow;
|
||||
import net.runelite.rs.api.RSPacketBuffer;
|
||||
import org.slf4j.Logger;
|
||||
import net.runelite.rs.api.RSAbstractIndexCache;
|
||||
import net.runelite.rs.api.RSAbstractArchive;
|
||||
import net.runelite.rs.api.RSChatChannel;
|
||||
import net.runelite.rs.api.RSClanChat;
|
||||
import net.runelite.rs.api.RSClient;
|
||||
@@ -1329,7 +1329,7 @@ public abstract class RSClientMixin implements RSClient
|
||||
|
||||
@Inject
|
||||
@MethodHook("updateNpcs")
|
||||
public static void updateNpcs(boolean var0, PacketBuffer var1)
|
||||
public static void updateNpcs(boolean var0, RSPacketBuffer var1)
|
||||
{
|
||||
client.getCallbacks().updateNpcs();
|
||||
}
|
||||
@@ -1355,13 +1355,13 @@ public abstract class RSClientMixin implements RSClient
|
||||
}
|
||||
|
||||
@Inject
|
||||
@MethodHook("methodDraw")
|
||||
public void methodDraw(boolean var1)
|
||||
@MethodHook("draw")
|
||||
public void draw(boolean var1)
|
||||
{
|
||||
callbacks.clientMainLoop();
|
||||
}
|
||||
|
||||
@MethodHook("drawWidgetGroup")
|
||||
@MethodHook("drawInterface")
|
||||
@Inject
|
||||
public static void renderWidgetLayer(Widget[] widgets, int parentId, int minX, int minY, int maxX, int maxY, int x, int y, int var8)
|
||||
{
|
||||
@@ -1464,7 +1464,7 @@ public abstract class RSClientMixin implements RSClient
|
||||
@Override
|
||||
public RSSprite[] getSprites(IndexDataBase source, int archiveId, int fileId)
|
||||
{
|
||||
RSAbstractIndexCache rsSource = (RSAbstractIndexCache) source;
|
||||
RSAbstractArchive rsSource = (RSAbstractArchive) source;
|
||||
byte[] configData = rsSource.getConfigData(archiveId, fileId);
|
||||
if (configData == null)
|
||||
{
|
||||
|
||||
@@ -15,7 +15,7 @@ public abstract class RSHealthBarDefinitionMixin implements RSHealthBarDefinitio
|
||||
@Shadow("client")
|
||||
private static RSClient client;
|
||||
|
||||
@MethodHook(value = "read", end = true)
|
||||
@MethodHook(value = "decode", end = true)
|
||||
@Inject
|
||||
public void onRead(RSBuffer buffer)
|
||||
{
|
||||
|
||||
@@ -44,10 +44,10 @@ public abstract class RSTextureMixin implements RSTexture
|
||||
@Inject
|
||||
private float rl$v;
|
||||
|
||||
@Copy("Texture_animate")
|
||||
@Copy("animate")
|
||||
public abstract void rs$animate(int diff);
|
||||
|
||||
@Replace("Texture_animate")
|
||||
@Replace("animate")
|
||||
public void rl$animate(int diff)
|
||||
{
|
||||
// The client animates textures by cycling the backing pixels of the texture each fram
|
||||
|
||||
@@ -7,7 +7,7 @@ import net.runelite.api.mixins.Copy;
|
||||
import net.runelite.api.mixins.Inject;
|
||||
import net.runelite.api.mixins.Mixin;
|
||||
import net.runelite.api.mixins.Replace;
|
||||
import net.runelite.rs.api.RSAbstractIndexCache;
|
||||
import net.runelite.rs.api.RSAbstractArchive;
|
||||
import net.runelite.rs.api.RSClient;
|
||||
import net.runelite.rs.api.RSSprite;
|
||||
|
||||
@@ -35,13 +35,13 @@ public abstract class SpriteMixin implements RSClient
|
||||
}
|
||||
|
||||
@Copy("readSprite")
|
||||
public static RSSprite rs$loadSprite(RSAbstractIndexCache var0, int var1, int var2)
|
||||
public static RSSprite rs$loadSprite(RSAbstractArchive var0, int var1, int var2)
|
||||
{
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
@Replace("readSprite")
|
||||
public static RSSprite rl$loadSprite(RSAbstractIndexCache var0, int var1, int var2)
|
||||
public static RSSprite rl$loadSprite(RSAbstractArchive var0, int var1, int var2)
|
||||
{
|
||||
Sprite sprite = spriteOverrides.get(var1);
|
||||
|
||||
|
||||
@@ -3,8 +3,8 @@ package net.runelite.rs.api;
|
||||
import net.runelite.api.IndexDataBase;
|
||||
import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSAbstractIndexCache extends IndexDataBase
|
||||
public interface RSAbstractArchive extends IndexDataBase
|
||||
{
|
||||
@Import("takeRecord")
|
||||
@Import("takeFile")
|
||||
byte[] getConfigData(int archiveId, int fileId);
|
||||
}
|
||||
@@ -100,7 +100,7 @@ public interface RSActor extends RSEntity, Actor
|
||||
|
||||
// Idle animation
|
||||
|
||||
@Import("idleSequence")
|
||||
@Import("readySequence")
|
||||
@Override
|
||||
void setIdlePoseAnimation(int animation);
|
||||
|
||||
|
||||
@@ -2,7 +2,7 @@ package net.runelite.rs.api;
|
||||
|
||||
import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSIndexCache extends RSAbstractIndexCache
|
||||
public interface RSArchive extends RSAbstractArchive
|
||||
{
|
||||
@Import("index")
|
||||
int getIndex();
|
||||
@@ -5,7 +5,7 @@ import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSBuddy extends ChatPlayer, RSUser
|
||||
{
|
||||
@Import("world0")
|
||||
@Import("getWorld")
|
||||
@Override
|
||||
int getWorld();
|
||||
|
||||
|
||||
@@ -84,7 +84,7 @@ public interface RSClient extends RSGameShell, Client
|
||||
@Override
|
||||
int getFPS();
|
||||
|
||||
@Import("minimapOrientation")
|
||||
@Import("camAngleY")
|
||||
@Override
|
||||
int getMapAngle();
|
||||
|
||||
@@ -187,7 +187,7 @@ public interface RSClient extends RSGameShell, Client
|
||||
@Override
|
||||
void setDraggedOnWidget(Widget widget);
|
||||
|
||||
@Import("widgets")
|
||||
@Import("interfaceComponents")
|
||||
RSWidget[][] getWidgets();
|
||||
|
||||
/**
|
||||
@@ -441,19 +441,19 @@ public interface RSClient extends RSGameShell, Client
|
||||
@Import("indexedSpritePalette")
|
||||
void setIndexedSpritePalette(int[] indexedSpritePalette);
|
||||
|
||||
@Import("indexCache8")
|
||||
@Import("archive8")
|
||||
@Override
|
||||
RSAbstractIndexCache getIndexSprites();
|
||||
RSAbstractArchive getIndexSprites();
|
||||
|
||||
@Import("indexCache12")
|
||||
@Import("archive12")
|
||||
@Override
|
||||
RSAbstractIndexCache getIndexScripts();
|
||||
RSAbstractArchive getIndexScripts();
|
||||
|
||||
@Import("widgetClickMasks")
|
||||
@Override
|
||||
RSNodeHashTable getWidgetFlags();
|
||||
|
||||
@Import("widgetGroupParents")
|
||||
@Import("interfaceParents")
|
||||
@Override
|
||||
RSNodeHashTable getComponentTable();
|
||||
|
||||
@@ -514,7 +514,7 @@ public interface RSClient extends RSGameShell, Client
|
||||
* Get the widget top group. widgets[topGroup] contains widgets with
|
||||
* parentId -1, which are the widget roots.
|
||||
*/
|
||||
@Import("rootWidgetGroup")
|
||||
@Import("rootInterface")
|
||||
int getWidgetRoot();
|
||||
|
||||
@Import("WorldMapElement_cached")
|
||||
@@ -662,10 +662,10 @@ public interface RSClient extends RSGameShell, Client
|
||||
*
|
||||
* (1) JAU - Jagex Angle Unit; 1/1024 of a revolution
|
||||
*/
|
||||
@Import("cameraPitchTarget")
|
||||
@Import("camAngleX")
|
||||
int getCameraPitchTarget();
|
||||
|
||||
@Import("cameraPitchTarget")
|
||||
@Import("camAngleX")
|
||||
void setCameraPitchTarget(int pitch);
|
||||
|
||||
@Import("Scene_cameraPitchSine")
|
||||
@@ -1015,7 +1015,7 @@ public interface RSClient extends RSGameShell, Client
|
||||
boolean isSpellSelected();
|
||||
|
||||
@Import("readSoundEffect")
|
||||
RSSoundEffect getTrack(RSAbstractIndexCache indexData, int id, int var0);
|
||||
RSSoundEffect getTrack(RSAbstractArchive indexData, int id, int var0);
|
||||
|
||||
@Import("createRawPcmStream")
|
||||
RSRawPcmStream createRawPcmStream(RSRawSound audioNode, int var0, int volume);
|
||||
@@ -1023,8 +1023,8 @@ public interface RSClient extends RSGameShell, Client
|
||||
@Import("pcmStreamMixer")
|
||||
RSPcmStreamMixer getSoundEffectAudioQueue();
|
||||
|
||||
@Import("indexCache4")
|
||||
RSAbstractIndexCache getIndexCache4();
|
||||
@Import("archive4")
|
||||
RSAbstractArchive getIndexCache4();
|
||||
|
||||
@Import("decimator")
|
||||
RSDecimator getSoundEffectResampler();
|
||||
|
||||
@@ -40,7 +40,7 @@ public interface RSEntity extends RSNode, Renderable
|
||||
@Override
|
||||
RSModel getModel();
|
||||
|
||||
@Import("renderDraw")
|
||||
@Import("draw")
|
||||
@Override
|
||||
void draw(int orientation, int pitchSin, int pitchCos, int yawSin, int yawCos, int x, int y, int z, long hash);
|
||||
}
|
||||
|
||||
@@ -13,13 +13,13 @@ public interface RSEnumDefinition extends EnumDefinition, RSDualNode
|
||||
@Override
|
||||
int[] getIntVals();
|
||||
|
||||
@Import("stringVals")
|
||||
@Import("strVals")
|
||||
@Override
|
||||
String[] getStringVals();
|
||||
|
||||
@Import("defaultInt")
|
||||
int getDefaultInt();
|
||||
|
||||
@Import("defaultString")
|
||||
@Import("defaultStr")
|
||||
String getDefaultString();
|
||||
}
|
||||
|
||||
@@ -3,7 +3,7 @@ package net.runelite.rs.api;
|
||||
import net.runelite.api.WidgetNode;
|
||||
import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSWidgetGroupParent extends RSNode, WidgetNode
|
||||
public interface RSInterfaceParent extends RSNode, WidgetNode
|
||||
{
|
||||
@Import("group")
|
||||
@Override
|
||||
@@ -9,7 +9,7 @@ public interface RSNPCDefinition extends NPCDefinition
|
||||
@Override
|
||||
String getName();
|
||||
|
||||
@Import("archives")
|
||||
@Import("models")
|
||||
@Override
|
||||
int[] getModels();
|
||||
|
||||
|
||||
@@ -1,7 +1,5 @@
|
||||
package net.runelite.rs.api;
|
||||
|
||||
import net.runelite.api.PacketBuffer;
|
||||
|
||||
public interface RSPacketBuffer extends PacketBuffer
|
||||
public interface RSPacketBuffer
|
||||
{
|
||||
}
|
||||
|
||||
@@ -34,6 +34,6 @@ public interface RSScene extends Scene
|
||||
@Import("ySize")
|
||||
int getMaxZ();
|
||||
|
||||
@Import("Scene_minPlane")
|
||||
@Import("minPlane")
|
||||
int getMinLevel();
|
||||
}
|
||||
|
||||
@@ -4,12 +4,12 @@ import net.runelite.mapping.Import;
|
||||
|
||||
public interface RSVarbitDefinition extends RSDualNode
|
||||
{
|
||||
@Import("varp")
|
||||
@Import("baseVar")
|
||||
int getIndex();
|
||||
|
||||
@Import("lowBit")
|
||||
@Import("startBit")
|
||||
int getLeastSignificantBit();
|
||||
|
||||
@Import("highBit")
|
||||
@Import("endBit")
|
||||
int getMostSignificantBit();
|
||||
}
|
||||
|
||||
@@ -312,7 +312,7 @@ public interface RSWidget extends Widget
|
||||
@Override
|
||||
void setHasListener(boolean hasListener);
|
||||
|
||||
@Import("onKeyListener")
|
||||
@Import("onKey")
|
||||
@Override
|
||||
Object[] getOnKeyListener();
|
||||
|
||||
@@ -320,11 +320,11 @@ public interface RSWidget extends Widget
|
||||
@Override
|
||||
Object[] getOnLoadListener();
|
||||
|
||||
@Import("onDialogAbortListener")
|
||||
@Import("onDialogAbort")
|
||||
@Override
|
||||
void setOnDialogAbortListener(Object... args);
|
||||
|
||||
@Import("onKeyListener")
|
||||
@Import("onKey")
|
||||
@Override
|
||||
void setOnKeyListener(Object... args);
|
||||
|
||||
|
||||
@@ -43,7 +43,7 @@ public interface RSWorldMap extends RenderOverview
|
||||
@Override
|
||||
RSWorldMapManager getWorldMapManager();
|
||||
|
||||
@Import("initializeWorldMap")
|
||||
@Import("initializeWorldMapManager")
|
||||
@Override
|
||||
void initializeWorldMap(WorldMapData var1);
|
||||
|
||||
|
||||
@@ -6,8 +6,8 @@ import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("ir")
|
||||
@Implements("AbstractIndexCache")
|
||||
public abstract class AbstractIndexCache {
|
||||
@Implements("AbstractArchive")
|
||||
public abstract class AbstractArchive {
|
||||
@ObfuscatedName("qb")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lco;"
|
||||
@@ -37,53 +37,53 @@ public abstract class AbstractIndexCache {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lit;"
|
||||
)
|
||||
@Export("indexCache0")
|
||||
static IndexCache indexCache0;
|
||||
@Export("archive0")
|
||||
static Archive archive0;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1694798923
|
||||
)
|
||||
@Export("archiveCount")
|
||||
int archiveCount;
|
||||
@Export("groupCount")
|
||||
int groupCount;
|
||||
@ObfuscatedName("q")
|
||||
@Export("archiveIds")
|
||||
int[] archiveIds;
|
||||
@Export("groupIds")
|
||||
int[] groupIds;
|
||||
@ObfuscatedName("w")
|
||||
@Export("archiveNameHashes")
|
||||
int[] archiveNameHashes;
|
||||
@Export("groupNameHashes")
|
||||
int[] groupNameHashes;
|
||||
@ObfuscatedName("o")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Llv;"
|
||||
)
|
||||
@Export("archiveNameHashTable")
|
||||
IntHashTable archiveNameHashTable;
|
||||
@Export("groupNameHashTable")
|
||||
IntHashTable groupNameHashTable;
|
||||
@ObfuscatedName("u")
|
||||
@Export("archiveCrcs")
|
||||
int[] archiveCrcs;
|
||||
@Export("groupCrcs")
|
||||
int[] groupCrcs;
|
||||
@ObfuscatedName("g")
|
||||
@Export("archiveVersions")
|
||||
int[] archiveVersions;
|
||||
@Export("groupVersions")
|
||||
int[] groupVersions;
|
||||
@ObfuscatedName("l")
|
||||
@Export("recordCounts")
|
||||
int[] recordCounts;
|
||||
@Export("fileCounts")
|
||||
int[] fileCounts;
|
||||
@ObfuscatedName("e")
|
||||
@Export("recordIds")
|
||||
int[][] recordIds;
|
||||
@Export("fileIds")
|
||||
int[][] fileIds;
|
||||
@ObfuscatedName("x")
|
||||
@Export("recordNameHashes")
|
||||
int[][] recordNameHashes;
|
||||
@Export("fileNameHashes")
|
||||
int[][] fileNameHashes;
|
||||
@ObfuscatedName("d")
|
||||
@ObfuscatedSignature(
|
||||
signature = "[Llv;"
|
||||
)
|
||||
@Export("recordNameHashTables")
|
||||
IntHashTable[] recordNameHashTables;
|
||||
@Export("fileNameHashTables")
|
||||
IntHashTable[] fileNameHashTables;
|
||||
@ObfuscatedName("k")
|
||||
@Export("archives")
|
||||
Object[] archives;
|
||||
@Export("groups")
|
||||
Object[] groups;
|
||||
@ObfuscatedName("n")
|
||||
@Export("records")
|
||||
Object[][] records;
|
||||
@Export("files")
|
||||
Object[][] files;
|
||||
@ObfuscatedName("a")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -530370811
|
||||
@@ -91,15 +91,15 @@ public abstract class AbstractIndexCache {
|
||||
@Export("hash")
|
||||
public int hash;
|
||||
@ObfuscatedName("z")
|
||||
@Export("releaseArchives")
|
||||
boolean releaseArchives;
|
||||
@Export("releaseGroups")
|
||||
boolean releaseGroups;
|
||||
@ObfuscatedName("j")
|
||||
@Export("shallowRecords")
|
||||
boolean shallowRecords;
|
||||
@Export("shallowFiles")
|
||||
boolean shallowFiles;
|
||||
|
||||
AbstractIndexCache(boolean var1, boolean var2) {
|
||||
this.releaseArchives = var1;
|
||||
this.shallowRecords = var2;
|
||||
AbstractArchive(boolean var1, boolean var2) {
|
||||
this.releaseGroups = var1;
|
||||
this.shallowFiles = var2;
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -107,8 +107,8 @@ public abstract class AbstractIndexCache {
|
||||
signature = "([BB)V",
|
||||
garbageValue = "0"
|
||||
)
|
||||
@Export("setIndexReference")
|
||||
void setIndexReference(byte[] var1) {
|
||||
@Export("decodeIndex")
|
||||
void decodeIndex(byte[] var1) {
|
||||
this.hash = WallDecoration.method3257(var1, var1.length);
|
||||
Buffer var2 = new Buffer(Strings.decompressBytes(var1));
|
||||
int var3 = var2.readUnsignedByte();
|
||||
@@ -119,57 +119,57 @@ public abstract class AbstractIndexCache {
|
||||
|
||||
int var4 = var2.readUnsignedByte();
|
||||
if (var3 >= 7) {
|
||||
this.archiveCount = var2.method50();
|
||||
this.groupCount = var2.method50();
|
||||
} else {
|
||||
this.archiveCount = var2.readUnsignedShort();
|
||||
this.groupCount = var2.readUnsignedShort();
|
||||
}
|
||||
|
||||
int var5 = 0;
|
||||
int var6 = -1;
|
||||
this.archiveIds = new int[this.archiveCount];
|
||||
this.groupIds = new int[this.groupCount];
|
||||
int var7;
|
||||
if (var3 >= 7) {
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
this.archiveIds[var7] = var5 += var2.method50();
|
||||
if (this.archiveIds[var7] > var6) {
|
||||
var6 = this.archiveIds[var7];
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
this.groupIds[var7] = var5 += var2.method50();
|
||||
if (this.groupIds[var7] > var6) {
|
||||
var6 = this.groupIds[var7];
|
||||
}
|
||||
}
|
||||
} else {
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
this.archiveIds[var7] = var5 += var2.readUnsignedShort();
|
||||
if (this.archiveIds[var7] > var6) {
|
||||
var6 = this.archiveIds[var7];
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
this.groupIds[var7] = var5 += var2.readUnsignedShort();
|
||||
if (this.groupIds[var7] > var6) {
|
||||
var6 = this.groupIds[var7];
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
this.archiveCrcs = new int[var6 + 1];
|
||||
this.archiveVersions = new int[var6 + 1];
|
||||
this.recordCounts = new int[var6 + 1];
|
||||
this.recordIds = new int[var6 + 1][];
|
||||
this.archives = new Object[var6 + 1];
|
||||
this.records = new Object[var6 + 1][];
|
||||
this.groupCrcs = new int[var6 + 1];
|
||||
this.groupVersions = new int[var6 + 1];
|
||||
this.fileCounts = new int[var6 + 1];
|
||||
this.fileIds = new int[var6 + 1][];
|
||||
this.groups = new Object[var6 + 1];
|
||||
this.files = new Object[var6 + 1][];
|
||||
if (var4 != 0) {
|
||||
this.archiveNameHashes = new int[var6 + 1];
|
||||
this.groupNameHashes = new int[var6 + 1];
|
||||
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
this.archiveNameHashes[this.archiveIds[var7]] = var2.readInt();
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
this.groupNameHashes[this.groupIds[var7]] = var2.readInt();
|
||||
}
|
||||
|
||||
this.archiveNameHashTable = new IntHashTable(this.archiveNameHashes);
|
||||
this.groupNameHashTable = new IntHashTable(this.groupNameHashes);
|
||||
}
|
||||
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
this.archiveCrcs[this.archiveIds[var7]] = var2.readInt();
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
this.groupCrcs[this.groupIds[var7]] = var2.readInt();
|
||||
}
|
||||
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
this.archiveVersions[this.archiveIds[var7]] = var2.readInt();
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
this.groupVersions[this.groupIds[var7]] = var2.readInt();
|
||||
}
|
||||
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
this.recordCounts[this.archiveIds[var7]] = var2.readUnsignedShort();
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
this.fileCounts[this.groupIds[var7]] = var2.readUnsignedShort();
|
||||
}
|
||||
|
||||
int var8;
|
||||
@@ -178,55 +178,55 @@ public abstract class AbstractIndexCache {
|
||||
int var11;
|
||||
int var12;
|
||||
if (var3 >= 7) {
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
var8 = this.archiveIds[var7];
|
||||
var9 = this.recordCounts[var8];
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
var8 = this.groupIds[var7];
|
||||
var9 = this.fileCounts[var8];
|
||||
var5 = 0;
|
||||
var10 = -1;
|
||||
this.recordIds[var8] = new int[var9];
|
||||
this.fileIds[var8] = new int[var9];
|
||||
|
||||
for (var11 = 0; var11 < var9; ++var11) {
|
||||
var12 = this.recordIds[var8][var11] = var5 += var2.method50();
|
||||
var12 = this.fileIds[var8][var11] = var5 += var2.method50();
|
||||
if (var12 > var10) {
|
||||
var10 = var12;
|
||||
}
|
||||
}
|
||||
|
||||
this.records[var8] = new Object[var10 + 1];
|
||||
this.files[var8] = new Object[var10 + 1];
|
||||
}
|
||||
} else {
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
var8 = this.archiveIds[var7];
|
||||
var9 = this.recordCounts[var8];
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
var8 = this.groupIds[var7];
|
||||
var9 = this.fileCounts[var8];
|
||||
var5 = 0;
|
||||
var10 = -1;
|
||||
this.recordIds[var8] = new int[var9];
|
||||
this.fileIds[var8] = new int[var9];
|
||||
|
||||
for (var11 = 0; var11 < var9; ++var11) {
|
||||
var12 = this.recordIds[var8][var11] = var5 += var2.readUnsignedShort();
|
||||
var12 = this.fileIds[var8][var11] = var5 += var2.readUnsignedShort();
|
||||
if (var12 > var10) {
|
||||
var10 = var12;
|
||||
}
|
||||
}
|
||||
|
||||
this.records[var8] = new Object[var10 + 1];
|
||||
this.files[var8] = new Object[var10 + 1];
|
||||
}
|
||||
}
|
||||
|
||||
if (var4 != 0) {
|
||||
this.recordNameHashes = new int[var6 + 1][];
|
||||
this.recordNameHashTables = new IntHashTable[var6 + 1];
|
||||
this.fileNameHashes = new int[var6 + 1][];
|
||||
this.fileNameHashTables = new IntHashTable[var6 + 1];
|
||||
|
||||
for (var7 = 0; var7 < this.archiveCount; ++var7) {
|
||||
var8 = this.archiveIds[var7];
|
||||
var9 = this.recordCounts[var8];
|
||||
this.recordNameHashes[var8] = new int[this.records[var8].length];
|
||||
for (var7 = 0; var7 < this.groupCount; ++var7) {
|
||||
var8 = this.groupIds[var7];
|
||||
var9 = this.fileCounts[var8];
|
||||
this.fileNameHashes[var8] = new int[this.files[var8].length];
|
||||
|
||||
for (var10 = 0; var10 < var9; ++var10) {
|
||||
this.recordNameHashes[var8][this.recordIds[var8][var10]] = var2.readInt();
|
||||
this.fileNameHashes[var8][this.fileIds[var8][var10]] = var2.readInt();
|
||||
}
|
||||
|
||||
this.recordNameHashTables[var8] = new IntHashTable(this.recordNameHashes[var8]);
|
||||
this.fileNameHashTables[var8] = new IntHashTable(this.fileNameHashes[var8]);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -248,9 +248,9 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(III)[B",
|
||||
garbageValue = "1945577069"
|
||||
)
|
||||
@Export("takeRecord")
|
||||
public byte[] takeRecord(int var1, int var2) {
|
||||
return this.takeRecordEncrypted(var1, var2, (int[])null);
|
||||
@Export("takeFile")
|
||||
public byte[] takeFile(int group, int file) {
|
||||
return this.takeFileEncrypted(group, file, (int[])null);
|
||||
}
|
||||
|
||||
@ObfuscatedName("w")
|
||||
@@ -258,23 +258,23 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(II[II)[B",
|
||||
garbageValue = "-1363136655"
|
||||
)
|
||||
@Export("takeRecordEncrypted")
|
||||
public byte[] takeRecordEncrypted(int var1, int var2, int[] var3) {
|
||||
if (var1 >= 0 && var1 < this.records.length && this.records[var1] != null && var2 >= 0 && var2 < this.records[var1].length) {
|
||||
if (this.records[var1][var2] == null) {
|
||||
boolean var4 = this.buildRecords(var1, var3);
|
||||
@Export("takeFileEncrypted")
|
||||
public byte[] takeFileEncrypted(int group, int file, int[] xteaKey) {
|
||||
if (group >= 0 && group < this.files.length && this.files[group] != null && file >= 0 && file < this.files[group].length) {
|
||||
if (this.files[group][file] == null) {
|
||||
boolean var4 = this.buildFiles(group, xteaKey);
|
||||
if (!var4) {
|
||||
this.loadArchive(var1);
|
||||
var4 = this.buildRecords(var1, var3);
|
||||
this.loadGroup(group);
|
||||
var4 = this.buildFiles(group, xteaKey);
|
||||
if (!var4) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
byte[] var5 = TextureProvider.byteArrayFromObject(this.records[var1][var2], false);
|
||||
if (this.shallowRecords) {
|
||||
this.records[var1][var2] = null;
|
||||
byte[] var5 = TextureProvider.byteArrayFromObject(this.files[group][file], false);
|
||||
if (this.shallowFiles) {
|
||||
this.files[group][file] = null;
|
||||
}
|
||||
|
||||
return var5;
|
||||
@@ -288,16 +288,16 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(III)Z",
|
||||
garbageValue = "-1822260214"
|
||||
)
|
||||
@Export("tryLoadRecord")
|
||||
public boolean tryLoadRecord(int var1, int var2) {
|
||||
if (var1 >= 0 && var1 < this.records.length && this.records[var1] != null && var2 >= 0 && var2 < this.records[var1].length) {
|
||||
if (this.records[var1][var2] != null) {
|
||||
@Export("tryLoadFile")
|
||||
public boolean tryLoadFile(int group, int file) {
|
||||
if (group >= 0 && group < this.files.length && this.files[group] != null && file >= 0 && file < this.files[group].length) {
|
||||
if (this.files[group][file] != null) {
|
||||
return true;
|
||||
} else if (this.archives[var1] != null) {
|
||||
} else if (this.groups[group] != null) {
|
||||
return true;
|
||||
} else {
|
||||
this.loadArchive(var1);
|
||||
return this.archives[var1] != null;
|
||||
this.loadGroup(group);
|
||||
return this.groups[group] != null;
|
||||
}
|
||||
} else {
|
||||
return false;
|
||||
@@ -310,10 +310,10 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "-1923759754"
|
||||
)
|
||||
public boolean method1(int var1) {
|
||||
if (this.records.length == 1) {
|
||||
return this.tryLoadRecord(0, var1);
|
||||
} else if (this.records[var1].length == 1) {
|
||||
return this.tryLoadRecord(var1, 0);
|
||||
if (this.files.length == 1) {
|
||||
return this.tryLoadFile(0, var1);
|
||||
} else if (this.files[var1].length == 1) {
|
||||
return this.tryLoadFile(var1, 0);
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
@@ -324,13 +324,13 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(II)Z",
|
||||
garbageValue = "-374594123"
|
||||
)
|
||||
@Export("tryLoadArchive")
|
||||
public boolean tryLoadArchive(int var1) {
|
||||
if (this.archives[var1] != null) {
|
||||
@Export("tryLoadGroup")
|
||||
public boolean tryLoadGroup(int group) {
|
||||
if (this.groups[group] != null) {
|
||||
return true;
|
||||
} else {
|
||||
this.loadArchive(var1);
|
||||
return this.archives[var1] != null;
|
||||
this.loadGroup(group);
|
||||
return this.groups[group] != null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -342,11 +342,11 @@ public abstract class AbstractIndexCache {
|
||||
public boolean method2() {
|
||||
boolean var1 = true;
|
||||
|
||||
for (int var2 = 0; var2 < this.archiveIds.length; ++var2) {
|
||||
int var3 = this.archiveIds[var2];
|
||||
if (this.archives[var3] == null) {
|
||||
this.loadArchive(var3);
|
||||
if (this.archives[var3] == null) {
|
||||
for (int var2 = 0; var2 < this.groupIds.length; ++var2) {
|
||||
int var3 = this.groupIds[var2];
|
||||
if (this.groups[var3] == null) {
|
||||
this.loadGroup(var3);
|
||||
if (this.groups[var3] == null) {
|
||||
var1 = false;
|
||||
}
|
||||
}
|
||||
@@ -360,9 +360,9 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(II)I",
|
||||
garbageValue = "-1809769865"
|
||||
)
|
||||
@Export("archiveLoadPercent")
|
||||
int archiveLoadPercent(int var1) {
|
||||
return this.archives[var1] != null ? 100 : 0;
|
||||
@Export("groupLoadPercent")
|
||||
int groupLoadPercent(int var1) {
|
||||
return this.groups[var1] != null ? 100 : 0;
|
||||
}
|
||||
|
||||
@ObfuscatedName("x")
|
||||
@@ -370,12 +370,12 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(IS)[B",
|
||||
garbageValue = "-10015"
|
||||
)
|
||||
@Export("takeRecordFlat")
|
||||
public byte[] takeRecordFlat(int var1) {
|
||||
if (this.records.length == 1) {
|
||||
return this.takeRecord(0, var1);
|
||||
} else if (this.records[var1].length == 1) {
|
||||
return this.takeRecord(var1, 0);
|
||||
@Export("takeFileFlat")
|
||||
public byte[] takeFileFlat(int groupOrFile) {
|
||||
if (this.files.length == 1) {
|
||||
return this.takeFile(0, groupOrFile);
|
||||
} else if (this.files[groupOrFile].length == 1) {
|
||||
return this.takeFile(groupOrFile, 0);
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
@@ -386,21 +386,21 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(III)[B",
|
||||
garbageValue = "-755739011"
|
||||
)
|
||||
@Export("getRecord")
|
||||
public byte[] getRecord(int var1, int var2) {
|
||||
if (var1 >= 0 && var1 < this.records.length && this.records[var1] != null && var2 >= 0 && var2 < this.records[var1].length) {
|
||||
if (this.records[var1][var2] == null) {
|
||||
boolean var3 = this.buildRecords(var1, (int[])null);
|
||||
@Export("getFile")
|
||||
public byte[] getFile(int group, int file) {
|
||||
if (group >= 0 && group < this.files.length && this.files[group] != null && file >= 0 && file < this.files[group].length) {
|
||||
if (this.files[group][file] == null) {
|
||||
boolean var3 = this.buildFiles(group, (int[])null);
|
||||
if (!var3) {
|
||||
this.loadArchive(var1);
|
||||
var3 = this.buildRecords(var1, (int[])null);
|
||||
this.loadGroup(group);
|
||||
var3 = this.buildFiles(group, (int[])null);
|
||||
if (!var3) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
byte[] var4 = TextureProvider.byteArrayFromObject(this.records[var1][var2], false);
|
||||
byte[] var4 = TextureProvider.byteArrayFromObject(this.files[group][file], false);
|
||||
return var4;
|
||||
} else {
|
||||
return null;
|
||||
@@ -412,12 +412,12 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(IB)[B",
|
||||
garbageValue = "68"
|
||||
)
|
||||
@Export("getRecordFlat")
|
||||
public byte[] getRecordFlat(int var1) {
|
||||
if (this.records.length == 1) {
|
||||
return this.getRecord(0, var1);
|
||||
} else if (this.records[var1].length == 1) {
|
||||
return this.getRecord(var1, 0);
|
||||
@Export("getFileFlat")
|
||||
public byte[] getFileFlat(int groupOrFile) {
|
||||
if (this.files.length == 1) {
|
||||
return this.getFile(0, groupOrFile);
|
||||
} else if (this.files[groupOrFile].length == 1) {
|
||||
return this.getFile(groupOrFile, 0);
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
@@ -428,8 +428,8 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(II)V",
|
||||
garbageValue = "-1829145107"
|
||||
)
|
||||
@Export("loadArchive")
|
||||
void loadArchive(int var1) {
|
||||
@Export("loadGroup")
|
||||
void loadGroup(int group) {
|
||||
}
|
||||
|
||||
@ObfuscatedName("j")
|
||||
@@ -438,7 +438,7 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "28"
|
||||
)
|
||||
public int[] method3(int var1) {
|
||||
return var1 >= 0 && var1 < this.recordIds.length ? this.recordIds[var1] : null;
|
||||
return var1 >= 0 && var1 < this.fileIds.length ? this.fileIds[var1] : null;
|
||||
}
|
||||
|
||||
@ObfuscatedName("s")
|
||||
@@ -447,7 +447,7 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "1178362496"
|
||||
)
|
||||
public int method4(int var1) {
|
||||
return this.records[var1].length;
|
||||
return this.files[var1].length;
|
||||
}
|
||||
|
||||
@ObfuscatedName("t")
|
||||
@@ -456,7 +456,7 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "1702434573"
|
||||
)
|
||||
public int method5() {
|
||||
return this.records.length;
|
||||
return this.files.length;
|
||||
}
|
||||
|
||||
@ObfuscatedName("y")
|
||||
@@ -465,8 +465,8 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "38"
|
||||
)
|
||||
public void method6() {
|
||||
for (int var1 = 0; var1 < this.archives.length; ++var1) {
|
||||
this.archives[var1] = null;
|
||||
for (int var1 = 0; var1 < this.groups.length; ++var1) {
|
||||
this.groups[var1] = null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -477,8 +477,8 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "330258899"
|
||||
)
|
||||
public void method7(int var1) {
|
||||
for (int var2 = 0; var2 < this.records[var1].length; ++var2) {
|
||||
this.records[var1][var2] = null;
|
||||
for (int var2 = 0; var2 < this.files[var1].length; ++var2) {
|
||||
this.files[var1][var2] = null;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -489,10 +489,10 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "-709581639"
|
||||
)
|
||||
public void method8() {
|
||||
for (int var1 = 0; var1 < this.records.length; ++var1) {
|
||||
if (this.records[var1] != null) {
|
||||
for (int var2 = 0; var2 < this.records[var1].length; ++var2) {
|
||||
this.records[var1][var2] = null;
|
||||
for (int var1 = 0; var1 < this.files.length; ++var1) {
|
||||
if (this.files[var1] != null) {
|
||||
for (int var2 = 0; var2 < this.files[var1].length; ++var2) {
|
||||
this.files[var1][var2] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -504,14 +504,14 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(I[II)Z",
|
||||
garbageValue = "-1835696874"
|
||||
)
|
||||
@Export("buildRecords")
|
||||
boolean buildRecords(int var1, int[] var2) {
|
||||
if (this.archives[var1] == null) {
|
||||
@Export("buildFiles")
|
||||
boolean buildFiles(int group, int[] xteaKey) {
|
||||
if (this.groups[group] == null) {
|
||||
return false;
|
||||
} else {
|
||||
int var3 = this.recordCounts[var1];
|
||||
int[] var4 = this.recordIds[var1];
|
||||
Object[] var5 = this.records[var1];
|
||||
int var3 = this.fileCounts[group];
|
||||
int[] var4 = this.fileIds[group];
|
||||
Object[] var5 = this.files[group];
|
||||
boolean var6 = true;
|
||||
|
||||
for (int var7 = 0; var7 < var3; ++var7) {
|
||||
@@ -525,17 +525,17 @@ public abstract class AbstractIndexCache {
|
||||
return true;
|
||||
} else {
|
||||
byte[] var18;
|
||||
if (var2 == null || var2[0] == 0 && var2[1] == 0 && var2[2] == 0 && var2[3] == 0) {
|
||||
var18 = TextureProvider.byteArrayFromObject(this.archives[var1], false);
|
||||
if (xteaKey == null || xteaKey[0] == 0 && xteaKey[1] == 0 && xteaKey[2] == 0 && xteaKey[3] == 0) {
|
||||
var18 = TextureProvider.byteArrayFromObject(this.groups[group], false);
|
||||
} else {
|
||||
var18 = TextureProvider.byteArrayFromObject(this.archives[var1], true);
|
||||
var18 = TextureProvider.byteArrayFromObject(this.groups[group], true);
|
||||
Buffer var8 = new Buffer(var18);
|
||||
var8.xteaDecrypt(var2, 5, var8.array.length);
|
||||
var8.xteaDecrypt(xteaKey, 5, var8.array.length);
|
||||
}
|
||||
|
||||
byte[] var19 = Strings.decompressBytes(var18);
|
||||
if (this.releaseArchives) {
|
||||
this.archives[var1] = null;
|
||||
if (this.releaseGroups) {
|
||||
this.groups[group] = null;
|
||||
}
|
||||
|
||||
if (var3 > 1) {
|
||||
@@ -580,13 +580,13 @@ public abstract class AbstractIndexCache {
|
||||
}
|
||||
|
||||
for (var14 = 0; var14 < var3; ++var14) {
|
||||
if (!this.shallowRecords) {
|
||||
if (!this.shallowFiles) {
|
||||
var5[var4[var14]] = Projectile.byteArrayToObject(var20[var14], false);
|
||||
} else {
|
||||
var5[var4[var14]] = var20[var14];
|
||||
}
|
||||
}
|
||||
} else if (!this.shallowRecords) {
|
||||
} else if (!this.shallowFiles) {
|
||||
var5[var4[0]] = Projectile.byteArrayToObject(var19, false);
|
||||
} else {
|
||||
var5[var4[0]] = var19;
|
||||
@@ -602,10 +602,10 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(Ljava/lang/String;I)I",
|
||||
garbageValue = "-224510300"
|
||||
)
|
||||
@Export("getArchiveId")
|
||||
public int getArchiveId(String var1) {
|
||||
var1 = var1.toLowerCase();
|
||||
return this.archiveNameHashTable.get(Client.hashString(var1));
|
||||
@Export("getGroupId")
|
||||
public int getGroupId(String groupName) {
|
||||
groupName = groupName.toLowerCase();
|
||||
return this.groupNameHashTable.get(Client.hashString(groupName));
|
||||
}
|
||||
|
||||
@ObfuscatedName("v")
|
||||
@@ -613,10 +613,10 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(ILjava/lang/String;I)I",
|
||||
garbageValue = "-443631072"
|
||||
)
|
||||
@Export("getRecordId")
|
||||
public int getRecordId(int var1, String var2) {
|
||||
var2 = var2.toLowerCase();
|
||||
return this.recordNameHashTables[var1].get(Client.hashString(var2));
|
||||
@Export("getFileId")
|
||||
public int getFileId(int group, String fileName) {
|
||||
fileName = fileName.toLowerCase();
|
||||
return this.fileNameHashTables[group].get(Client.hashString(fileName));
|
||||
}
|
||||
|
||||
@ObfuscatedName("ag")
|
||||
@@ -627,11 +627,11 @@ public abstract class AbstractIndexCache {
|
||||
public boolean method9(String var1, String var2) {
|
||||
var1 = var1.toLowerCase();
|
||||
var2 = var2.toLowerCase();
|
||||
int var3 = this.archiveNameHashTable.get(Client.hashString(var1));
|
||||
int var3 = this.groupNameHashTable.get(Client.hashString(var1));
|
||||
if (var3 < 0) {
|
||||
return false;
|
||||
} else {
|
||||
int var4 = this.recordNameHashTables[var3].get(Client.hashString(var2));
|
||||
int var4 = this.fileNameHashTables[var3].get(Client.hashString(var2));
|
||||
return var4 >= 0;
|
||||
}
|
||||
}
|
||||
@@ -641,13 +641,13 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(Ljava/lang/String;Ljava/lang/String;S)[B",
|
||||
garbageValue = "-22726"
|
||||
)
|
||||
@Export("takeRecordByNames")
|
||||
public byte[] takeRecordByNames(String var1, String var2) {
|
||||
var1 = var1.toLowerCase();
|
||||
var2 = var2.toLowerCase();
|
||||
int var3 = this.archiveNameHashTable.get(Client.hashString(var1));
|
||||
int var4 = this.recordNameHashTables[var3].get(Client.hashString(var2));
|
||||
return this.takeRecord(var3, var4);
|
||||
@Export("takeFileByNames")
|
||||
public byte[] takeFileByNames(String groupName, String fileName) {
|
||||
groupName = groupName.toLowerCase();
|
||||
fileName = fileName.toLowerCase();
|
||||
int var3 = this.groupNameHashTable.get(Client.hashString(groupName));
|
||||
int var4 = this.fileNameHashTables[var3].get(Client.hashString(fileName));
|
||||
return this.takeFile(var3, var4);
|
||||
}
|
||||
|
||||
@ObfuscatedName("aj")
|
||||
@@ -655,13 +655,13 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(Ljava/lang/String;Ljava/lang/String;I)Z",
|
||||
garbageValue = "2140743930"
|
||||
)
|
||||
@Export("tryLoadRecordByNames")
|
||||
public boolean tryLoadRecordByNames(String var1, String var2) {
|
||||
var1 = var1.toLowerCase();
|
||||
var2 = var2.toLowerCase();
|
||||
int var3 = this.archiveNameHashTable.get(Client.hashString(var1));
|
||||
int var4 = this.recordNameHashTables[var3].get(Client.hashString(var2));
|
||||
return this.tryLoadRecord(var3, var4);
|
||||
@Export("tryLoadFileByNames")
|
||||
public boolean tryLoadFileByNames(String groupName, String fileName) {
|
||||
groupName = groupName.toLowerCase();
|
||||
fileName = fileName.toLowerCase();
|
||||
int var3 = this.groupNameHashTable.get(Client.hashString(groupName));
|
||||
int var4 = this.fileNameHashTables[var3].get(Client.hashString(fileName));
|
||||
return this.tryLoadFile(var3, var4);
|
||||
}
|
||||
|
||||
@ObfuscatedName("av")
|
||||
@@ -669,11 +669,11 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(Ljava/lang/String;I)Z",
|
||||
garbageValue = "-1282569336"
|
||||
)
|
||||
@Export("tryLoadArchiveByName")
|
||||
public boolean tryLoadArchiveByName(String var1) {
|
||||
var1 = var1.toLowerCase();
|
||||
int var2 = this.archiveNameHashTable.get(Client.hashString(var1));
|
||||
return this.tryLoadArchive(var2);
|
||||
@Export("tryLoadGroupByName")
|
||||
public boolean tryLoadGroupByName(String groupName) {
|
||||
groupName = groupName.toLowerCase();
|
||||
int var2 = this.groupNameHashTable.get(Client.hashString(groupName));
|
||||
return this.tryLoadGroup(var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("ar")
|
||||
@@ -683,7 +683,7 @@ public abstract class AbstractIndexCache {
|
||||
)
|
||||
public void method10(String var1) {
|
||||
var1 = var1.toLowerCase();
|
||||
int var2 = this.archiveNameHashTable.get(Client.hashString(var1));
|
||||
int var2 = this.groupNameHashTable.get(Client.hashString(var1));
|
||||
if (var2 >= 0) {
|
||||
this.vmethod129(var2);
|
||||
}
|
||||
@@ -695,11 +695,11 @@ public abstract class AbstractIndexCache {
|
||||
signature = "(Ljava/lang/String;I)I",
|
||||
garbageValue = "-1645224643"
|
||||
)
|
||||
@Export("archiveLoadPercentByName")
|
||||
public int archiveLoadPercentByName(String var1) {
|
||||
var1 = var1.toLowerCase();
|
||||
int var2 = this.archiveNameHashTable.get(Client.hashString(var1));
|
||||
return this.archiveLoadPercent(var2);
|
||||
@Export("groupLoadPercentByName")
|
||||
public int groupLoadPercentByName(String groupName) {
|
||||
groupName = groupName.toLowerCase();
|
||||
int var2 = this.groupNameHashTable.get(Client.hashString(groupName));
|
||||
return this.groupLoadPercent(var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -708,28 +708,28 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "15597880"
|
||||
)
|
||||
@Export("readStringIntParameters")
|
||||
static final IterableNodeHashTable readStringIntParameters(Buffer var0, IterableNodeHashTable var1) {
|
||||
int var2 = var0.readUnsignedByte();
|
||||
static final IterableNodeHashTable readStringIntParameters(Buffer buffer, IterableNodeHashTable hashTable) {
|
||||
int var2 = buffer.readUnsignedByte();
|
||||
int var3;
|
||||
if (var1 == null) {
|
||||
if (hashTable == null) {
|
||||
var3 = World.method1759(var2);
|
||||
var1 = new IterableNodeHashTable(var3);
|
||||
hashTable = new IterableNodeHashTable(var3);
|
||||
}
|
||||
|
||||
for (var3 = 0; var3 < var2; ++var3) {
|
||||
boolean var4 = var0.readUnsignedByte() == 1;
|
||||
int var5 = var0.readMedium();
|
||||
boolean var4 = buffer.readUnsignedByte() == 1;
|
||||
int var5 = buffer.readMedium();
|
||||
Object var6;
|
||||
if (var4) {
|
||||
var6 = new ObjectNode(var0.readStringCp1252NullTerminated());
|
||||
var6 = new ObjectNode(buffer.readStringCp1252NullTerminated());
|
||||
} else {
|
||||
var6 = new IntegerNode(var0.readInt());
|
||||
var6 = new IntegerNode(buffer.readInt());
|
||||
}
|
||||
|
||||
var1.put((Node)var6, (long)var5);
|
||||
hashTable.put((Node)var6, (long)var5);
|
||||
}
|
||||
|
||||
return var1;
|
||||
return hashTable;
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -738,8 +738,8 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "-4702"
|
||||
)
|
||||
@Export("runScript")
|
||||
public static void runScript(ScriptEvent var0) {
|
||||
GrandExchangeEvent.runScript0(var0, 500000);
|
||||
public static void runScript(ScriptEvent scriptEvent) {
|
||||
GrandExchangeEvent.runScript0(scriptEvent, 500000);
|
||||
}
|
||||
|
||||
@ObfuscatedName("eg")
|
||||
@@ -748,14 +748,14 @@ public abstract class AbstractIndexCache {
|
||||
garbageValue = "308670894"
|
||||
)
|
||||
static boolean method4585() {
|
||||
if (Client.indexCacheLoaders != null && Client.indexCacheLoaderIndex < Client.indexCacheLoaders.size()) {
|
||||
while (Client.indexCacheLoaderIndex < Client.indexCacheLoaders.size()) {
|
||||
IndexCacheLoader var0 = (IndexCacheLoader)Client.indexCacheLoaders.get(Client.indexCacheLoaderIndex);
|
||||
if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) {
|
||||
while (Client.archiveLoaderArchive < Client.archiveLoaders.size()) {
|
||||
ArchiveLoader var0 = (ArchiveLoader)Client.archiveLoaders.get(Client.archiveLoaderArchive);
|
||||
if (!var0.method134()) {
|
||||
return false;
|
||||
}
|
||||
|
||||
++Client.indexCacheLoaderIndex;
|
||||
++Client.archiveLoaderArchive;
|
||||
}
|
||||
|
||||
return true;
|
||||
@@ -13,7 +13,7 @@ public abstract class AbstractByteArrayCopier {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lit;"
|
||||
)
|
||||
static IndexCache field0;
|
||||
static Archive field0;
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedSignature(
|
||||
@@ -29,7 +29,7 @@ public abstract class AbstractByteArrayCopier {
|
||||
garbageValue = "-2034091753"
|
||||
)
|
||||
@Export("set")
|
||||
abstract void set(byte[] var1);
|
||||
abstract void set(byte[] array);
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
@@ -42,7 +42,7 @@ public abstract class AbstractByteArrayCopier {
|
||||
if (var1 != null) {
|
||||
return var1;
|
||||
} else {
|
||||
byte[] var2 = VarcInt.field942.takeRecord(19, var0);
|
||||
byte[] var2 = VarcInt.field942.takeFile(19, var0);
|
||||
var1 = new VarcInt();
|
||||
if (var2 != null) {
|
||||
var1.method354(new Buffer(var2));
|
||||
@@ -58,17 +58,17 @@ public abstract class AbstractByteArrayCopier {
|
||||
signature = "(II)V",
|
||||
garbageValue = "-1941491045"
|
||||
)
|
||||
@Export("unloadWidgetGroup")
|
||||
public static void unloadWidgetGroup(int var0) {
|
||||
if (var0 != -1 && Widget.loadedWidgetGroups[var0]) {
|
||||
Widget.Widget_indexCache.method7(var0);
|
||||
if (Widget.widgets[var0] != null) {
|
||||
@Export("unloadInterface")
|
||||
public static void unloadInterface(int var0) {
|
||||
if (var0 != -1 && Widget.loadedInterfaces[var0]) {
|
||||
Widget.Widget_archive.method7(var0);
|
||||
if (Widget.interfaceComponents[var0] != null) {
|
||||
boolean var1 = true;
|
||||
|
||||
for (int var2 = 0; var2 < Widget.widgets[var0].length; ++var2) {
|
||||
if (Widget.widgets[var0][var2] != null) {
|
||||
if (Widget.widgets[var0][var2].type != 2) {
|
||||
Widget.widgets[var0][var2] = null;
|
||||
for (int var2 = 0; var2 < Widget.interfaceComponents[var0].length; ++var2) {
|
||||
if (Widget.interfaceComponents[var0][var2] != null) {
|
||||
if (Widget.interfaceComponents[var0][var2].type != 2) {
|
||||
Widget.interfaceComponents[var0][var2] = null;
|
||||
} else {
|
||||
var1 = false;
|
||||
}
|
||||
@@ -76,10 +76,10 @@ public abstract class AbstractByteArrayCopier {
|
||||
}
|
||||
|
||||
if (var1) {
|
||||
Widget.widgets[var0] = null;
|
||||
Widget.interfaceComponents[var0] = null;
|
||||
}
|
||||
|
||||
Widget.loadedWidgetGroups[var0] = false;
|
||||
Widget.loadedInterfaces[var0] = false;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -92,7 +92,7 @@ public abstract class AbstractByteArrayCopier {
|
||||
)
|
||||
static void method4024() {
|
||||
PacketBufferNode var0 = Interpreter.method1915(ClientPacket.field257, Client.packetWriter.isaacCipher);
|
||||
var0.packetBuffer.writeByte(SpotAnimationDefinition.method4822());
|
||||
var0.packetBuffer.writeByte(SpotAnimationDefinition.getWindowedMode());
|
||||
var0.packetBuffer.writeShort(SoundCache.canvasWidth);
|
||||
var0.packetBuffer.writeShort(Huffman.canvasHeight);
|
||||
Client.packetWriter.method241(var0);
|
||||
|
||||
@@ -111,28 +111,28 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@Export("drawGlyph")
|
||||
abstract void drawGlyph(byte[] var1, int var2, int var3, int var4, int var5, int var6);
|
||||
abstract void drawGlyph(byte[] pixels, int x, int y, int width, int height, int color);
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@Export("drawGlyphAlpha")
|
||||
abstract void drawGlyphAlpha(byte[] var1, int var2, int var3, int var4, int var5, int var6, int var7);
|
||||
abstract void drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha);
|
||||
|
||||
@ObfuscatedName("l")
|
||||
@Export("readMetrics")
|
||||
void readMetrics(byte[] var1) {
|
||||
void readMetrics(byte[] bytes) {
|
||||
this.advances = new int[256];
|
||||
int var2;
|
||||
if (var1.length == 257) {
|
||||
if (bytes.length == 257) {
|
||||
for (var2 = 0; var2 < this.advances.length; ++var2) {
|
||||
this.advances[var2] = var1[var2] & 255;
|
||||
this.advances[var2] = bytes[var2] & 255;
|
||||
}
|
||||
|
||||
this.ascent = var1[256] & 255;
|
||||
this.ascent = bytes[256] & 255;
|
||||
} else {
|
||||
var2 = 0;
|
||||
|
||||
for (int var3 = 0; var3 < 256; ++var3) {
|
||||
this.advances[var3] = var1[var2++] & 255;
|
||||
this.advances[var3] = bytes[var2++] & 255;
|
||||
}
|
||||
|
||||
int[] var12 = new int[256];
|
||||
@@ -140,11 +140,11 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
int var5;
|
||||
for (var5 = 0; var5 < 256; ++var5) {
|
||||
var12[var5] = var1[var2++] & 255;
|
||||
var12[var5] = bytes[var2++] & 255;
|
||||
}
|
||||
|
||||
for (var5 = 0; var5 < 256; ++var5) {
|
||||
var4[var5] = var1[var2++] & 255;
|
||||
var4[var5] = bytes[var2++] & 255;
|
||||
}
|
||||
|
||||
byte[][] var6 = new byte[256][];
|
||||
@@ -155,7 +155,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
byte var9 = 0;
|
||||
|
||||
for (var7 = 0; var7 < var6[var8].length; ++var7) {
|
||||
var9 += var1[var2++];
|
||||
var9 += bytes[var2++];
|
||||
var6[var8][var7] = var9;
|
||||
}
|
||||
}
|
||||
@@ -168,7 +168,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
byte var10 = 0;
|
||||
|
||||
for (int var11 = 0; var11 < var13[var14].length; ++var11) {
|
||||
var10 += var1[var2++];
|
||||
var10 += bytes[var2++];
|
||||
var13[var14][var11] = var10;
|
||||
}
|
||||
}
|
||||
@@ -258,7 +258,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("a")
|
||||
@Export("breakLines")
|
||||
public int breakLines(String var1, int[] var2, String[] var3) {
|
||||
public int breakLines(String var1, int[] lineWidths, String[] linesDst) {
|
||||
if (var1 == null) {
|
||||
return 0;
|
||||
} else {
|
||||
@@ -285,7 +285,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
var6.append(var16);
|
||||
var6.append('>');
|
||||
if (var16.equals("br")) {
|
||||
var3[var12] = var6.toString().substring(var5, var6.length());
|
||||
linesDst[var12] = var6.toString().substring(var5, var6.length());
|
||||
++var12;
|
||||
var5 = var6.length();
|
||||
var4 = 0;
|
||||
@@ -334,8 +334,8 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
var9 = 1;
|
||||
}
|
||||
|
||||
if (var2 != null && var4 > var2[var12 < var2.length ? var12 : var2.length - 1] && var7 >= 0) {
|
||||
var3[var12] = var6.toString().substring(var5, var7 - var9);
|
||||
if (lineWidths != null && var4 > lineWidths[var12 < lineWidths.length ? var12 : lineWidths.length - 1] && var7 >= 0) {
|
||||
linesDst[var12] = var6.toString().substring(var5, var7 - var9);
|
||||
++var12;
|
||||
var5 = var7;
|
||||
var7 = -1;
|
||||
@@ -354,7 +354,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
String var19 = var6.toString();
|
||||
if (var19.length() > var5) {
|
||||
var3[var12++] = var19.substring(var5, var19.length());
|
||||
linesDst[var12++] = var19.substring(var5, var19.length());
|
||||
}
|
||||
|
||||
return var12;
|
||||
@@ -363,8 +363,8 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("z")
|
||||
@Export("lineWidth")
|
||||
public int lineWidth(String var1, int var2) {
|
||||
int var3 = this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
|
||||
public int lineWidth(String var1, int lineWidth) {
|
||||
int var3 = this.breakLines(var1, new int[]{lineWidth}, AbstractFont_lines);
|
||||
int var4 = 0;
|
||||
|
||||
for (int var5 = 0; var5 < var3; ++var5) {
|
||||
@@ -379,106 +379,106 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("j")
|
||||
@Export("lineCount")
|
||||
public int lineCount(String var1, int var2) {
|
||||
return this.breakLines(var1, new int[]{var2}, AbstractFont_lines);
|
||||
public int lineCount(String var1, int lineWidth) {
|
||||
return this.breakLines(var1, new int[]{lineWidth}, AbstractFont_lines);
|
||||
}
|
||||
|
||||
@ObfuscatedName("t")
|
||||
@Export("draw")
|
||||
public void draw(String var1, int var2, int var3, int var4, int var5) {
|
||||
public void draw(String var1, int x, int y, int color, int shadow) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
this.draw0(var1, var2, var3);
|
||||
this.reset(color, shadow);
|
||||
this.draw0(var1, x, y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("y")
|
||||
@Export("drawAlpha")
|
||||
public void drawAlpha(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
public void drawAlpha(String var1, int x, int y, int color, int shadow, int alpha) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
AbstractFont_alpha = var6;
|
||||
this.draw0(var1, var2, var3);
|
||||
this.reset(color, shadow);
|
||||
AbstractFont_alpha = alpha;
|
||||
this.draw0(var1, x, y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("h")
|
||||
@Export("drawRightAligned")
|
||||
public void drawRightAligned(String var1, int var2, int var3, int var4, int var5) {
|
||||
public void drawRightAligned(String var1, int x, int y, int color, int shadow) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
this.draw0(var1, var2 - this.stringWidth(var1), var3);
|
||||
this.reset(color, shadow);
|
||||
this.draw0(var1, x - this.stringWidth(var1), y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("b")
|
||||
@Export("drawCentered")
|
||||
public void drawCentered(String var1, int var2, int var3, int var4, int var5) {
|
||||
public void drawCentered(String var1, int x, int y, int color, int shadow) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
this.draw0(var1, var2 - this.stringWidth(var1) / 2, var3);
|
||||
this.reset(color, shadow);
|
||||
this.draw0(var1, x - this.stringWidth(var1) / 2, y);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("c")
|
||||
@Export("drawLines")
|
||||
public int drawLines(String var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, int var9, int var10) {
|
||||
public int drawLines(String var1, int x, int y, int width, int height, int color, int shadow, int xAlignment, int yAlignment, int lineHeight) {
|
||||
if (var1 == null) {
|
||||
return 0;
|
||||
} else {
|
||||
this.reset(var6, var7);
|
||||
if (var10 == 0) {
|
||||
var10 = this.ascent;
|
||||
this.reset(color, shadow);
|
||||
if (lineHeight == 0) {
|
||||
lineHeight = this.ascent;
|
||||
}
|
||||
|
||||
int[] var11 = new int[]{var4};
|
||||
if (var5 < var10 + this.maxAscent + this.maxDescent && var5 < var10 + var10) {
|
||||
int[] var11 = new int[]{width};
|
||||
if (height < lineHeight + this.maxAscent + this.maxDescent && height < lineHeight + lineHeight) {
|
||||
var11 = null;
|
||||
}
|
||||
|
||||
int var12 = this.breakLines(var1, var11, AbstractFont_lines);
|
||||
if (var9 == 3 && var12 == 1) {
|
||||
var9 = 1;
|
||||
if (yAlignment == 3 && var12 == 1) {
|
||||
yAlignment = 1;
|
||||
}
|
||||
|
||||
int var13;
|
||||
int var14;
|
||||
if (var9 == 0) {
|
||||
var13 = var3 + this.maxAscent;
|
||||
} else if (var9 == 1) {
|
||||
var13 = var3 + (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / 2 + this.maxAscent;
|
||||
} else if (var9 == 2) {
|
||||
var13 = var3 + var5 - this.maxDescent - var10 * (var12 - 1);
|
||||
if (yAlignment == 0) {
|
||||
var13 = y + this.maxAscent;
|
||||
} else if (yAlignment == 1) {
|
||||
var13 = y + (height - this.maxAscent - this.maxDescent - lineHeight * (var12 - 1)) / 2 + this.maxAscent;
|
||||
} else if (yAlignment == 2) {
|
||||
var13 = y + height - this.maxDescent - lineHeight * (var12 - 1);
|
||||
} else {
|
||||
var14 = (var5 - this.maxAscent - this.maxDescent - var10 * (var12 - 1)) / (var12 + 1);
|
||||
var14 = (height - this.maxAscent - this.maxDescent - lineHeight * (var12 - 1)) / (var12 + 1);
|
||||
if (var14 < 0) {
|
||||
var14 = 0;
|
||||
}
|
||||
|
||||
var13 = var3 + var14 + this.maxAscent;
|
||||
var10 += var14;
|
||||
var13 = y + var14 + this.maxAscent;
|
||||
lineHeight += var14;
|
||||
}
|
||||
|
||||
for (var14 = 0; var14 < var12; ++var14) {
|
||||
if (var8 == 0) {
|
||||
this.draw0(AbstractFont_lines[var14], var2, var13);
|
||||
} else if (var8 == 1) {
|
||||
this.draw0(AbstractFont_lines[var14], var2 + (var4 - this.stringWidth(AbstractFont_lines[var14])) / 2, var13);
|
||||
} else if (var8 == 2) {
|
||||
this.draw0(AbstractFont_lines[var14], var2 + var4 - this.stringWidth(AbstractFont_lines[var14]), var13);
|
||||
if (xAlignment == 0) {
|
||||
this.draw0(AbstractFont_lines[var14], x, var13);
|
||||
} else if (xAlignment == 1) {
|
||||
this.draw0(AbstractFont_lines[var14], x + (width - this.stringWidth(AbstractFont_lines[var14])) / 2, var13);
|
||||
} else if (xAlignment == 2) {
|
||||
this.draw0(AbstractFont_lines[var14], x + width - this.stringWidth(AbstractFont_lines[var14]), var13);
|
||||
} else if (var14 == var12 - 1) {
|
||||
this.draw0(AbstractFont_lines[var14], var2, var13);
|
||||
this.draw0(AbstractFont_lines[var14], x, var13);
|
||||
} else {
|
||||
this.calculateLineJustification(AbstractFont_lines[var14], var4);
|
||||
this.draw0(AbstractFont_lines[var14], var2, var13);
|
||||
this.calculateLineJustification(AbstractFont_lines[var14], width);
|
||||
this.draw0(AbstractFont_lines[var14], x, var13);
|
||||
AbstractFont_justificationTotal = 0;
|
||||
}
|
||||
|
||||
var13 += var10;
|
||||
var13 += lineHeight;
|
||||
}
|
||||
|
||||
return var12;
|
||||
@@ -487,44 +487,44 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("p")
|
||||
@Export("drawCenteredWave")
|
||||
public void drawCenteredWave(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
public void drawCenteredWave(String var1, int x, int y, int color, int shadow, int seed) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
this.reset(color, shadow);
|
||||
int[] var7 = new int[var1.length()];
|
||||
|
||||
for (int var8 = 0; var8 < var1.length(); ++var8) {
|
||||
var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)var6 / 5.0D) * 5.0D);
|
||||
var7[var8] = (int)(Math.sin((double)var8 / 2.0D + (double)seed / 5.0D) * 5.0D);
|
||||
}
|
||||
|
||||
this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var7);
|
||||
this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, (int[])null, var7);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("v")
|
||||
@Export("drawCenteredWave2")
|
||||
public void drawCenteredWave2(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
public void drawCenteredWave2(String var1, int x, int y, int color, int shadow, int seed) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
this.reset(color, shadow);
|
||||
int[] var7 = new int[var1.length()];
|
||||
int[] var8 = new int[var1.length()];
|
||||
|
||||
for (int var9 = 0; var9 < var1.length(); ++var9) {
|
||||
var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)var6 / 5.0D) * 5.0D);
|
||||
var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)var6 / 5.0D) * 5.0D);
|
||||
var7[var9] = (int)(Math.sin((double)var9 / 5.0D + (double)seed / 5.0D) * 5.0D);
|
||||
var8[var9] = (int)(Math.sin((double)var9 / 3.0D + (double)seed / 5.0D) * 5.0D);
|
||||
}
|
||||
|
||||
this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, var7, var8);
|
||||
this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, var7, var8);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("ag")
|
||||
@Export("drawCenteredShake")
|
||||
public void drawCenteredShake(String var1, int var2, int var3, int var4, int var5, int var6, int var7) {
|
||||
public void drawCenteredShake(String var1, int x, int y, int color, int shadow, int seed, int seed2) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
double var8 = 7.0D - (double)var7 / 8.0D;
|
||||
this.reset(color, shadow);
|
||||
double var8 = 7.0D - (double)seed2 / 8.0D;
|
||||
if (var8 < 0.0D) {
|
||||
var8 = 0.0D;
|
||||
}
|
||||
@@ -532,20 +532,20 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
int[] var10 = new int[var1.length()];
|
||||
|
||||
for (int var11 = 0; var11 < var1.length(); ++var11) {
|
||||
var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)var6 / 1.0D) * var8);
|
||||
var10[var11] = (int)(Math.sin((double)var11 / 1.5D + (double)seed / 1.0D) * var8);
|
||||
}
|
||||
|
||||
this.drawWithOffsets0(var1, var2 - this.stringWidth(var1) / 2, var3, (int[])null, var10);
|
||||
this.drawWithOffsets0(var1, x - this.stringWidth(var1) / 2, y, (int[])null, var10);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("aq")
|
||||
@Export("drawRandomAlphaAndSpacing")
|
||||
public void drawRandomAlphaAndSpacing(String var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
public void drawRandomAlphaAndSpacing(String var1, int x, int y, int color, int shadow, int seed) {
|
||||
if (var1 != null) {
|
||||
this.reset(var4, var5);
|
||||
AbstractFont_random.setSeed((long)var6);
|
||||
this.reset(color, shadow);
|
||||
AbstractFont_random.setSeed((long)seed);
|
||||
AbstractFont_alpha = 192 + (AbstractFont_random.nextInt() & 31);
|
||||
int[] var7 = new int[var1.length()];
|
||||
int var8 = 0;
|
||||
@@ -557,20 +557,20 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
}
|
||||
}
|
||||
|
||||
this.drawWithOffsets0(var1, var2, var3, var7, (int[])null);
|
||||
this.drawWithOffsets0(var1, x, y, var7, (int[])null);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("aj")
|
||||
@Export("reset")
|
||||
void reset(int var1, int var2) {
|
||||
void reset(int color, int shadow) {
|
||||
AbstractFont_strike = -1;
|
||||
AbstractFont_underline = -1;
|
||||
AbstractFont_previousShadow = var2;
|
||||
AbstractFont_shadow = var2;
|
||||
AbstractFont_previousColor = var1;
|
||||
AbstractFont_color = var1;
|
||||
AbstractFont_previousShadow = shadow;
|
||||
AbstractFont_shadow = shadow;
|
||||
AbstractFont_previousColor = color;
|
||||
AbstractFont_color = color;
|
||||
AbstractFont_alpha = 256;
|
||||
AbstractFont_justificationTotal = 0;
|
||||
AbstractFont_justificationCurrent = 0;
|
||||
@@ -612,7 +612,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("ar")
|
||||
@Export("calculateLineJustification")
|
||||
void calculateLineJustification(String var1, int var2) {
|
||||
void calculateLineJustification(String var1, int lineWidth) {
|
||||
int var3 = 0;
|
||||
boolean var4 = false;
|
||||
|
||||
@@ -628,15 +628,15 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
}
|
||||
|
||||
if (var3 > 0) {
|
||||
AbstractFont_justificationTotal = (var2 - this.stringWidth(var1) << 8) / var3;
|
||||
AbstractFont_justificationTotal = (lineWidth - this.stringWidth(var1) << 8) / var3;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("ac")
|
||||
@Export("draw0")
|
||||
void draw0(String var1, int var2, int var3) {
|
||||
var3 -= this.ascent;
|
||||
void draw0(String var1, int x, int y) {
|
||||
y -= this.ascent;
|
||||
int var4 = -1;
|
||||
int var5 = -1;
|
||||
|
||||
@@ -658,8 +658,8 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
try {
|
||||
var8 = MouseHandler.method1085(var9.substring(4));
|
||||
IndexedSprite var13 = AbstractFont_modIconSprites[var8];
|
||||
var13.drawAt(var2, var3 + this.ascent - var13.height);
|
||||
var2 += var13.width;
|
||||
var13.drawAt(x, y + this.ascent - var13.height);
|
||||
x += var13.width;
|
||||
var5 = -1;
|
||||
} catch (Exception var11) {
|
||||
}
|
||||
@@ -679,7 +679,7 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
if (var4 == -1) {
|
||||
if (this.kerning != null && var5 != -1) {
|
||||
var2 += this.kerning[var7 + (var5 << 8)];
|
||||
x += this.kerning[var7 + (var5 << 8)];
|
||||
}
|
||||
|
||||
int var12 = this.widths[var7];
|
||||
@@ -687,33 +687,33 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
if (var7 != ' ') {
|
||||
if (AbstractFont_alpha == 256) {
|
||||
if (AbstractFont_shadow != -1) {
|
||||
AbstractFont_drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow);
|
||||
AbstractFont_drawGlyph(this.pixels[var7], x + this.leftBearings[var7] + 1, y + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow);
|
||||
}
|
||||
|
||||
this.drawGlyph(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var8, AbstractFont_color);
|
||||
this.drawGlyph(this.pixels[var7], x + this.leftBearings[var7], y + this.topBearings[var7], var12, var8, AbstractFont_color);
|
||||
} else {
|
||||
if (AbstractFont_shadow != -1) {
|
||||
AbstractFont_drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7] + 1, var3 + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow, AbstractFont_alpha);
|
||||
AbstractFont_drawGlyphAlpha(this.pixels[var7], x + this.leftBearings[var7] + 1, y + this.topBearings[var7] + 1, var12, var8, AbstractFont_shadow, AbstractFont_alpha);
|
||||
}
|
||||
|
||||
this.drawGlyphAlpha(this.pixels[var7], var2 + this.leftBearings[var7], var3 + this.topBearings[var7], var12, var8, AbstractFont_color, AbstractFont_alpha);
|
||||
this.drawGlyphAlpha(this.pixels[var7], x + this.leftBearings[var7], y + this.topBearings[var7], var12, var8, AbstractFont_color, AbstractFont_alpha);
|
||||
}
|
||||
} else if (AbstractFont_justificationTotal > 0) {
|
||||
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
|
||||
var2 += AbstractFont_justificationCurrent >> 8;
|
||||
x += AbstractFont_justificationCurrent >> 8;
|
||||
AbstractFont_justificationCurrent &= 255;
|
||||
}
|
||||
|
||||
int var10 = this.advances[var7];
|
||||
if (AbstractFont_strike != -1) {
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var10, AbstractFont_strike);
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + (int)((double)this.ascent * 0.7D), var10, AbstractFont_strike);
|
||||
}
|
||||
|
||||
if (AbstractFont_underline != -1) {
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent + 1, var10, AbstractFont_underline);
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + this.ascent + 1, var10, AbstractFont_underline);
|
||||
}
|
||||
|
||||
var2 += var10;
|
||||
x += var10;
|
||||
var5 = var7;
|
||||
}
|
||||
}
|
||||
@@ -724,8 +724,8 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("ay")
|
||||
@Export("drawWithOffsets0")
|
||||
void drawWithOffsets0(String var1, int var2, int var3, int[] var4, int[] var5) {
|
||||
var3 -= this.ascent;
|
||||
void drawWithOffsets0(String var1, int x, int y, int[] xs, int[] ys) {
|
||||
y -= this.ascent;
|
||||
int var6 = -1;
|
||||
int var7 = -1;
|
||||
int var8 = 0;
|
||||
@@ -748,14 +748,14 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
if (!var14.equals("gt")) {
|
||||
if (var14.startsWith("img=")) {
|
||||
try {
|
||||
if (var4 != null) {
|
||||
var11 = var4[var8];
|
||||
if (xs != null) {
|
||||
var11 = xs[var8];
|
||||
} else {
|
||||
var11 = 0;
|
||||
}
|
||||
|
||||
if (var5 != null) {
|
||||
var12 = var5[var8];
|
||||
if (ys != null) {
|
||||
var12 = ys[var8];
|
||||
} else {
|
||||
var12 = 0;
|
||||
}
|
||||
@@ -763,8 +763,8 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
++var8;
|
||||
var13 = MouseHandler.method1085(var14.substring(4));
|
||||
IndexedSprite var18 = AbstractFont_modIconSprites[var13];
|
||||
var18.drawAt(var11 + var2, var12 + (var3 + this.ascent - var18.height));
|
||||
var2 += var18.width;
|
||||
var18.drawAt(var11 + x, var12 + (y + this.ascent - var18.height));
|
||||
x += var18.width;
|
||||
var7 = -1;
|
||||
} catch (Exception var16) {
|
||||
}
|
||||
@@ -784,19 +784,19 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
if (var6 == -1) {
|
||||
if (this.kerning != null && var7 != -1) {
|
||||
var2 += this.kerning[var10 + (var7 << 8)];
|
||||
x += this.kerning[var10 + (var7 << 8)];
|
||||
}
|
||||
|
||||
int var17 = this.widths[var10];
|
||||
var11 = this.heights[var10];
|
||||
if (var4 != null) {
|
||||
var12 = var4[var8];
|
||||
if (xs != null) {
|
||||
var12 = xs[var8];
|
||||
} else {
|
||||
var12 = 0;
|
||||
}
|
||||
|
||||
if (var5 != null) {
|
||||
var13 = var5[var8];
|
||||
if (ys != null) {
|
||||
var13 = ys[var8];
|
||||
} else {
|
||||
var13 = 0;
|
||||
}
|
||||
@@ -805,33 +805,33 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
if (var10 != ' ') {
|
||||
if (AbstractFont_alpha == 256) {
|
||||
if (AbstractFont_shadow != -1) {
|
||||
AbstractFont_drawGlyph(this.pixels[var10], var12 + var2 + this.leftBearings[var10] + 1, var3 + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow);
|
||||
AbstractFont_drawGlyph(this.pixels[var10], var12 + x + this.leftBearings[var10] + 1, y + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow);
|
||||
}
|
||||
|
||||
this.drawGlyph(this.pixels[var10], var12 + var2 + this.leftBearings[var10], var3 + var13 + this.topBearings[var10], var17, var11, AbstractFont_color);
|
||||
this.drawGlyph(this.pixels[var10], var12 + x + this.leftBearings[var10], y + var13 + this.topBearings[var10], var17, var11, AbstractFont_color);
|
||||
} else {
|
||||
if (AbstractFont_shadow != -1) {
|
||||
AbstractFont_drawGlyphAlpha(this.pixels[var10], var12 + var2 + this.leftBearings[var10] + 1, var3 + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow, AbstractFont_alpha);
|
||||
AbstractFont_drawGlyphAlpha(this.pixels[var10], var12 + x + this.leftBearings[var10] + 1, y + var13 + this.topBearings[var10] + 1, var17, var11, AbstractFont_shadow, AbstractFont_alpha);
|
||||
}
|
||||
|
||||
this.drawGlyphAlpha(this.pixels[var10], var12 + var2 + this.leftBearings[var10], var3 + var13 + this.topBearings[var10], var17, var11, AbstractFont_color, AbstractFont_alpha);
|
||||
this.drawGlyphAlpha(this.pixels[var10], var12 + x + this.leftBearings[var10], y + var13 + this.topBearings[var10], var17, var11, AbstractFont_color, AbstractFont_alpha);
|
||||
}
|
||||
} else if (AbstractFont_justificationTotal > 0) {
|
||||
AbstractFont_justificationCurrent += AbstractFont_justificationTotal;
|
||||
var2 += AbstractFont_justificationCurrent >> 8;
|
||||
x += AbstractFont_justificationCurrent >> 8;
|
||||
AbstractFont_justificationCurrent &= 255;
|
||||
}
|
||||
|
||||
int var15 = this.advances[var10];
|
||||
if (AbstractFont_strike != -1) {
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + (int)((double)this.ascent * 0.7D), var15, AbstractFont_strike);
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + (int)((double)this.ascent * 0.7D), var15, AbstractFont_strike);
|
||||
}
|
||||
|
||||
if (AbstractFont_underline != -1) {
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(var2, var3 + this.ascent, var15, AbstractFont_underline);
|
||||
Rasterizer2D.Rasterizer2D_drawHorizontalLine(x, y + this.ascent, var15, AbstractFont_underline);
|
||||
}
|
||||
|
||||
var2 += var15;
|
||||
x += var15;
|
||||
var7 = var10;
|
||||
}
|
||||
}
|
||||
@@ -907,43 +907,43 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("ah")
|
||||
@Export("AbstractFont_drawGlyph")
|
||||
static void AbstractFont_drawGlyph(byte[] var0, int var1, int var2, int var3, int var4, int var5) {
|
||||
int var6 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
|
||||
int var7 = Rasterizer2D.Rasterizer2D_width - var3;
|
||||
static void AbstractFont_drawGlyph(byte[] pixels, int x, int y, int width, int height, int color) {
|
||||
int var6 = x + y * Rasterizer2D.Rasterizer2D_width;
|
||||
int var7 = Rasterizer2D.Rasterizer2D_width - width;
|
||||
int var8 = 0;
|
||||
int var9 = 0;
|
||||
int var10;
|
||||
if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
|
||||
var10 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
|
||||
var4 -= var10;
|
||||
var2 = Rasterizer2D.Rasterizer2D_yClipStart;
|
||||
var9 += var3 * var10;
|
||||
if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
|
||||
var10 = Rasterizer2D.Rasterizer2D_yClipStart - y;
|
||||
height -= var10;
|
||||
y = Rasterizer2D.Rasterizer2D_yClipStart;
|
||||
var9 += width * var10;
|
||||
var6 += var10 * Rasterizer2D.Rasterizer2D_width;
|
||||
}
|
||||
|
||||
if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) {
|
||||
var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd;
|
||||
if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
|
||||
height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
|
||||
}
|
||||
|
||||
if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
|
||||
var10 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
|
||||
var3 -= var10;
|
||||
var1 = Rasterizer2D.Rasterizer2D_xClipStart;
|
||||
if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
|
||||
var10 = Rasterizer2D.Rasterizer2D_xClipStart - x;
|
||||
width -= var10;
|
||||
x = Rasterizer2D.Rasterizer2D_xClipStart;
|
||||
var9 += var10;
|
||||
var6 += var10;
|
||||
var8 += var10;
|
||||
var7 += var10;
|
||||
}
|
||||
|
||||
if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
|
||||
var10 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
|
||||
var3 -= var10;
|
||||
if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
|
||||
var10 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd;
|
||||
width -= var10;
|
||||
var8 += var10;
|
||||
var7 += var10;
|
||||
}
|
||||
|
||||
if (var3 > 0 && var4 > 0) {
|
||||
AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var9, var6, var3, var4, var7, var8);
|
||||
if (width > 0 && height > 0) {
|
||||
AbstractFont_placeGlyph(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var9, var6, width, height, var7, var8);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -998,43 +998,43 @@ public abstract class AbstractFont extends Rasterizer2D {
|
||||
|
||||
@ObfuscatedName("aw")
|
||||
@Export("AbstractFont_drawGlyphAlpha")
|
||||
static void AbstractFont_drawGlyphAlpha(byte[] var0, int var1, int var2, int var3, int var4, int var5, int var6) {
|
||||
int var7 = var1 + var2 * Rasterizer2D.Rasterizer2D_width;
|
||||
int var8 = Rasterizer2D.Rasterizer2D_width - var3;
|
||||
static void AbstractFont_drawGlyphAlpha(byte[] pixels, int x, int y, int width, int height, int color, int alpha) {
|
||||
int var7 = x + y * Rasterizer2D.Rasterizer2D_width;
|
||||
int var8 = Rasterizer2D.Rasterizer2D_width - width;
|
||||
int var9 = 0;
|
||||
int var10 = 0;
|
||||
int var11;
|
||||
if (var2 < Rasterizer2D.Rasterizer2D_yClipStart) {
|
||||
var11 = Rasterizer2D.Rasterizer2D_yClipStart - var2;
|
||||
var4 -= var11;
|
||||
var2 = Rasterizer2D.Rasterizer2D_yClipStart;
|
||||
var10 += var3 * var11;
|
||||
if (y < Rasterizer2D.Rasterizer2D_yClipStart) {
|
||||
var11 = Rasterizer2D.Rasterizer2D_yClipStart - y;
|
||||
height -= var11;
|
||||
y = Rasterizer2D.Rasterizer2D_yClipStart;
|
||||
var10 += width * var11;
|
||||
var7 += var11 * Rasterizer2D.Rasterizer2D_width;
|
||||
}
|
||||
|
||||
if (var2 + var4 > Rasterizer2D.Rasterizer2D_yClipEnd) {
|
||||
var4 -= var2 + var4 - Rasterizer2D.Rasterizer2D_yClipEnd;
|
||||
if (y + height > Rasterizer2D.Rasterizer2D_yClipEnd) {
|
||||
height -= y + height - Rasterizer2D.Rasterizer2D_yClipEnd;
|
||||
}
|
||||
|
||||
if (var1 < Rasterizer2D.Rasterizer2D_xClipStart) {
|
||||
var11 = Rasterizer2D.Rasterizer2D_xClipStart - var1;
|
||||
var3 -= var11;
|
||||
var1 = Rasterizer2D.Rasterizer2D_xClipStart;
|
||||
if (x < Rasterizer2D.Rasterizer2D_xClipStart) {
|
||||
var11 = Rasterizer2D.Rasterizer2D_xClipStart - x;
|
||||
width -= var11;
|
||||
x = Rasterizer2D.Rasterizer2D_xClipStart;
|
||||
var10 += var11;
|
||||
var7 += var11;
|
||||
var9 += var11;
|
||||
var8 += var11;
|
||||
}
|
||||
|
||||
if (var3 + var1 > Rasterizer2D.Rasterizer2D_xClipEnd) {
|
||||
var11 = var3 + var1 - Rasterizer2D.Rasterizer2D_xClipEnd;
|
||||
var3 -= var11;
|
||||
if (width + x > Rasterizer2D.Rasterizer2D_xClipEnd) {
|
||||
var11 = width + x - Rasterizer2D.Rasterizer2D_xClipEnd;
|
||||
width -= var11;
|
||||
var9 += var11;
|
||||
var8 += var11;
|
||||
}
|
||||
|
||||
if (var3 > 0 && var4 > 0) {
|
||||
AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, var0, var5, var10, var7, var3, var4, var8, var9, var6);
|
||||
if (width > 0 && height > 0) {
|
||||
AbstractFont_placeGlyphAlpha(Rasterizer2D.Rasterizer2D_pixels, pixels, color, var10, var7, width, height, var8, var9, alpha);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -32,7 +32,7 @@ public abstract class AbstractRasterProvider {
|
||||
garbageValue = "-430495007"
|
||||
)
|
||||
@Export("drawFull")
|
||||
public abstract void drawFull(int var1, int var2);
|
||||
public abstract void drawFull(int x, int y);
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedSignature(
|
||||
@@ -40,7 +40,7 @@ public abstract class AbstractRasterProvider {
|
||||
garbageValue = "18"
|
||||
)
|
||||
@Export("draw")
|
||||
public abstract void draw(int var1, int var2, int var3, int var4);
|
||||
public abstract void draw(int x, int y, int width, int height);
|
||||
|
||||
@ObfuscatedName("b")
|
||||
@ObfuscatedSignature(
|
||||
|
||||
@@ -13,7 +13,7 @@ public abstract class AbstractSocket {
|
||||
garbageValue = "1765046516"
|
||||
)
|
||||
@Export("isAvailable")
|
||||
public abstract boolean isAvailable(int var1) throws IOException;
|
||||
public abstract boolean isAvailable(int length) throws IOException;
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedSignature(
|
||||
@@ -37,7 +37,7 @@ public abstract class AbstractSocket {
|
||||
garbageValue = "-1089665746"
|
||||
)
|
||||
@Export("read")
|
||||
public abstract int read(byte[] var1, int var2, int var3) throws IOException;
|
||||
public abstract int read(byte[] dst, int dstIndex, int length) throws IOException;
|
||||
|
||||
@ObfuscatedName("u")
|
||||
@ObfuscatedSignature(
|
||||
@@ -45,7 +45,7 @@ public abstract class AbstractSocket {
|
||||
garbageValue = "-86"
|
||||
)
|
||||
@Export("write")
|
||||
public abstract void write(byte[] var1, int var2, int var3) throws IOException;
|
||||
public abstract void write(byte[] src, int srcIndex, int length) throws IOException;
|
||||
|
||||
@ObfuscatedName("g")
|
||||
@ObfuscatedSignature(
|
||||
@@ -63,7 +63,7 @@ public abstract class AbstractSocket {
|
||||
public static void method3488(int var0) {
|
||||
class214.field1129 = 1;
|
||||
class214.field1130 = null;
|
||||
class30.musicTrackArchiveId = -1;
|
||||
class30.musicTrackGroupId = -1;
|
||||
GrandExchangeOffer.musicTrackFileId = -1;
|
||||
WorldMapLabel.field1039 = 0;
|
||||
RectangleMode.musicTrackBoolean = false;
|
||||
|
||||
@@ -1,4 +1,5 @@
|
||||
import java.util.Comparator;
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
@@ -7,18 +8,20 @@ import net.runelite.mapping.ObfuscatedSignature;
|
||||
@Implements("AbstractUserComparator")
|
||||
public abstract class AbstractUserComparator implements Comparator {
|
||||
@ObfuscatedName("f")
|
||||
Comparator field3;
|
||||
@Export("nextComparator")
|
||||
Comparator nextComparator;
|
||||
|
||||
@ObfuscatedName("e")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Ljava/util/Comparator;B)V",
|
||||
garbageValue = "-2"
|
||||
)
|
||||
final void method11(Comparator var1) {
|
||||
if (this.field3 == null) {
|
||||
this.field3 = var1;
|
||||
} else if (this.field3 instanceof AbstractUserComparator) {
|
||||
((AbstractUserComparator)this.field3).method11(var1);
|
||||
@Export("addComparator")
|
||||
final void addComparator(Comparator var1) {
|
||||
if (this.nextComparator == null) {
|
||||
this.nextComparator = var1;
|
||||
} else if (this.nextComparator instanceof AbstractUserComparator) {
|
||||
((AbstractUserComparator)this.nextComparator).addComparator(var1);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -28,12 +31,12 @@ public abstract class AbstractUserComparator implements Comparator {
|
||||
signature = "(Ljs;Ljs;I)I",
|
||||
garbageValue = "-962181316"
|
||||
)
|
||||
protected final int method12(User var1, User var2) {
|
||||
return this.field3 == null ? 0 : this.field3.compare(var1, var2);
|
||||
@Export("compareUser")
|
||||
protected final int compareUser(User var1, User var2) {
|
||||
return this.nextComparator == null ? 0 : this.nextComparator.compare(var1, var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("equals")
|
||||
public boolean method13(Object var1) {
|
||||
public boolean equals(Object var1) {
|
||||
return super.equals(var1);
|
||||
}
|
||||
|
||||
@@ -48,11 +51,11 @@ public abstract class AbstractUserComparator implements Comparator {
|
||||
class214.field1129 = 1;
|
||||
class214.field1130 = null;
|
||||
} else if (var0 != -1 && var0 != Client.field112 && Client.field128 != 0 && !Client.field107) {
|
||||
IndexCache var1 = UserComparator3.indexCache6;
|
||||
Archive var1 = UserComparator3.archive6;
|
||||
int var2 = Client.field128;
|
||||
class214.field1129 = 1;
|
||||
class214.field1130 = var1;
|
||||
class30.musicTrackArchiveId = var0;
|
||||
class30.musicTrackGroupId = var0;
|
||||
GrandExchangeOffer.musicTrackFileId = 0;
|
||||
WorldMapLabel.field1039 = var2;
|
||||
RectangleMode.musicTrackBoolean = false;
|
||||
|
||||
@@ -23,13 +23,13 @@ public abstract class AbstractWorldMapIcon {
|
||||
signature = "Lhu;"
|
||||
)
|
||||
@Export("coord2")
|
||||
public final TileLocation coord2;
|
||||
public final Coord coord2;
|
||||
@ObfuscatedName("l")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lhu;"
|
||||
)
|
||||
@Export("coord1")
|
||||
public final TileLocation coord1;
|
||||
public final Coord coord1;
|
||||
@ObfuscatedName("e")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -521086143
|
||||
@@ -44,7 +44,7 @@ public abstract class AbstractWorldMapIcon {
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lhu;Lhu;)V"
|
||||
)
|
||||
AbstractWorldMapIcon(TileLocation var1, TileLocation var2) {
|
||||
AbstractWorldMapIcon(Coord var1, Coord var2) {
|
||||
this.coord1 = var1;
|
||||
this.coord2 = var2;
|
||||
}
|
||||
@@ -54,14 +54,16 @@ public abstract class AbstractWorldMapIcon {
|
||||
signature = "(I)I",
|
||||
garbageValue = "1990181988"
|
||||
)
|
||||
public abstract int vmethod395();
|
||||
@Export("getElement")
|
||||
public abstract int getElement();
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I)Laj;",
|
||||
garbageValue = "1159446036"
|
||||
)
|
||||
abstract WorldMapLabel vmethod396();
|
||||
@Export("getLabel")
|
||||
abstract WorldMapLabel getLabel();
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedSignature(
|
||||
@@ -92,7 +94,7 @@ public abstract class AbstractWorldMapIcon {
|
||||
garbageValue = "1150380891"
|
||||
)
|
||||
boolean method19() {
|
||||
return this.vmethod395() >= 0;
|
||||
return this.getElement() >= 0;
|
||||
}
|
||||
|
||||
@ObfuscatedName("b")
|
||||
@@ -104,7 +106,7 @@ public abstract class AbstractWorldMapIcon {
|
||||
if (!this.method19()) {
|
||||
return false;
|
||||
} else {
|
||||
WorldMapElement var3 = ViewportMouse.getWorldMapElement(this.vmethod395());
|
||||
WorldMapElement var3 = ViewportMouse.getWorldMapElement(this.getElement());
|
||||
int var4 = this.vmethod397();
|
||||
int var5 = this.vmethod398();
|
||||
switch(var3.field3287.field3528) {
|
||||
@@ -153,7 +155,7 @@ public abstract class AbstractWorldMapIcon {
|
||||
garbageValue = "1201712205"
|
||||
)
|
||||
boolean method21(int var1, int var2) {
|
||||
WorldMapLabel var3 = this.vmethod396();
|
||||
WorldMapLabel var3 = this.getLabel();
|
||||
return var3 == null ? false : (var1 >= this.field5 - var3.width / 2 && var1 <= var3.width / 2 + this.field5 ? var2 >= this.field6 && var2 <= var3.height + this.field6 : false);
|
||||
}
|
||||
|
||||
@@ -162,9 +164,9 @@ public abstract class AbstractWorldMapIcon {
|
||||
signature = "(Lit;Ljava/lang/String;I)V",
|
||||
garbageValue = "-1018878027"
|
||||
)
|
||||
static void method625(IndexCache var0, String var1) {
|
||||
IndexCacheLoader var2 = new IndexCacheLoader(var0, var1);
|
||||
Client.indexCacheLoaders.add(var2);
|
||||
static void method625(Archive var0, String var1) {
|
||||
ArchiveLoader var2 = new ArchiveLoader(var0, var1);
|
||||
Client.archiveLoaders.add(var2);
|
||||
Client.field140 += var2.field408;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,9 +61,9 @@ public final class AccessFile {
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@Export("seek")
|
||||
final void seek(long var1) throws IOException {
|
||||
this.file.seek(var1);
|
||||
this.index = var1;
|
||||
final void seek(long index) throws IOException {
|
||||
this.file.seek(index);
|
||||
this.index = index;
|
||||
}
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@@ -72,14 +72,14 @@ public final class AccessFile {
|
||||
garbageValue = "-86"
|
||||
)
|
||||
@Export("write")
|
||||
public final void write(byte[] var1, int var2, int var3) throws IOException {
|
||||
if ((long)var3 + this.index > this.capacity) {
|
||||
public final void write(byte[] src, int srcIndex, int length) throws IOException {
|
||||
if ((long)length + this.index > this.capacity) {
|
||||
this.file.seek(this.capacity + 1L);
|
||||
this.file.write(1);
|
||||
throw new EOFException();
|
||||
} else {
|
||||
this.file.write(var1, var2, var3);
|
||||
this.index += (long)var3;
|
||||
this.file.write(src, srcIndex, length);
|
||||
this.index += (long)length;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -99,9 +99,9 @@ public final class AccessFile {
|
||||
garbageValue = "166642884"
|
||||
)
|
||||
@Export("closeSync")
|
||||
public final void closeSync(boolean var1) throws IOException {
|
||||
public final void closeSync(boolean sync) throws IOException {
|
||||
if (this.file != null) {
|
||||
if (var1) {
|
||||
if (sync) {
|
||||
try {
|
||||
this.file.getFD().sync();
|
||||
} catch (SyncFailedException var3) {
|
||||
@@ -130,8 +130,8 @@ public final class AccessFile {
|
||||
garbageValue = "971670468"
|
||||
)
|
||||
@Export("read")
|
||||
public final int read(byte[] var1, int var2, int var3) throws IOException {
|
||||
int var4 = this.file.read(var1, var2, var3);
|
||||
public final int read(byte[] dst, int dstIndex, int length) throws IOException {
|
||||
int var4 = this.file.read(dst, dstIndex, length);
|
||||
if (var4 > 0) {
|
||||
this.index += (long)var4;
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -6,23 +6,23 @@ import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("it")
|
||||
@Implements("IndexCache")
|
||||
public class IndexCache extends AbstractIndexCache {
|
||||
@Implements("Archive")
|
||||
public class Archive extends AbstractArchive {
|
||||
@ObfuscatedName("aj")
|
||||
@Export("IndexCache_crc")
|
||||
static CRC32 IndexCache_crc;
|
||||
@Export("Archive_crc")
|
||||
static CRC32 Archive_crc;
|
||||
@ObfuscatedName("c")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lff;"
|
||||
)
|
||||
@Export("indexStore")
|
||||
IndexStore indexStore;
|
||||
@Export("archiveDisk")
|
||||
ArchiveDisk archiveDisk;
|
||||
@ObfuscatedName("r")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lff;"
|
||||
)
|
||||
@Export("referenceStore")
|
||||
IndexStore referenceStore;
|
||||
@Export("masterDisk")
|
||||
ArchiveDisk masterDisk;
|
||||
@ObfuscatedName("p")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1579549759
|
||||
@@ -34,20 +34,20 @@ public class IndexCache extends AbstractIndexCache {
|
||||
@ObfuscatedName("ag")
|
||||
boolean field404;
|
||||
@ObfuscatedName("aq")
|
||||
@Export("validArchives")
|
||||
volatile boolean[] validArchives;
|
||||
@Export("validGroups")
|
||||
volatile boolean[] validGroups;
|
||||
@ObfuscatedName("av")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1472870917
|
||||
)
|
||||
@Export("indexReferenceCrc")
|
||||
int indexReferenceCrc;
|
||||
@Export("indexCrc")
|
||||
int indexCrc;
|
||||
@ObfuscatedName("ar")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -785528219
|
||||
)
|
||||
@Export("indexReferenceVersion")
|
||||
int indexReferenceVersion;
|
||||
@Export("indexVersion")
|
||||
int indexVersion;
|
||||
@ObfuscatedName("ac")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1884661133
|
||||
@@ -57,13 +57,13 @@ public class IndexCache extends AbstractIndexCache {
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lff;Lff;IZZZ)V"
|
||||
)
|
||||
public IndexCache(IndexStore var1, IndexStore var2, int var3, boolean var4, boolean var5, boolean var6) {
|
||||
public Archive(ArchiveDisk var1, ArchiveDisk var2, int var3, boolean var4, boolean var5, boolean var6) {
|
||||
super(var4, var5);
|
||||
this.field403 = false;
|
||||
this.field404 = false;
|
||||
this.field405 = -1;
|
||||
this.indexStore = var1;
|
||||
this.referenceStore = var2;
|
||||
this.archiveDisk = var1;
|
||||
this.masterDisk = var2;
|
||||
this.index = var3;
|
||||
this.field404 = var6;
|
||||
int var7 = this.index;
|
||||
@@ -71,10 +71,10 @@ public class IndexCache extends AbstractIndexCache {
|
||||
Players.NetCache_reference.index = var7 * 8 + 5;
|
||||
int var8 = Players.NetCache_reference.readInt();
|
||||
int var9 = Players.NetCache_reference.readInt();
|
||||
this.loadIndexReference(var8, var9);
|
||||
this.loadIndex(var8, var9);
|
||||
} else {
|
||||
PacketBuffer.requestNetFile((IndexCache)null, 255, 255, 0, (byte)0, true);
|
||||
NetCache.NetCache_indexCaches[var7] = this;
|
||||
PacketBuffer.requestNetFile((Archive)null, 255, 255, 0, (byte)0, true);
|
||||
NetCache.NetCache_archives[var7] = this;
|
||||
}
|
||||
|
||||
}
|
||||
@@ -99,9 +99,9 @@ public class IndexCache extends AbstractIndexCache {
|
||||
signature = "(II)I",
|
||||
garbageValue = "-1809769865"
|
||||
)
|
||||
@Export("archiveLoadPercent")
|
||||
int archiveLoadPercent(int var1) {
|
||||
return super.archives[var1] != null ? 100 : (this.validArchives[var1] ? 100 : class54.method1086(this.index, var1));
|
||||
@Export("groupLoadPercent")
|
||||
int groupLoadPercent(int var1) {
|
||||
return super.groups[var1] != null ? 100 : (this.validGroups[var1] ? 100 : class54.method1086(this.index, var1));
|
||||
}
|
||||
|
||||
@ObfuscatedName("z")
|
||||
@@ -109,15 +109,15 @@ public class IndexCache extends AbstractIndexCache {
|
||||
signature = "(II)V",
|
||||
garbageValue = "-1829145107"
|
||||
)
|
||||
@Export("loadArchive")
|
||||
void loadArchive(int var1) {
|
||||
if (this.indexStore != null && this.validArchives != null && this.validArchives[var1]) {
|
||||
IndexStore var2 = this.indexStore;
|
||||
@Export("loadGroup")
|
||||
void loadGroup(int group) {
|
||||
if (this.archiveDisk != null && this.validGroups != null && this.validGroups[group]) {
|
||||
ArchiveDisk var2 = this.archiveDisk;
|
||||
byte[] var3 = null;
|
||||
NodeDeque var4 = IndexStoreActionHandler.IndexStoreActionHandler_requestQueue;
|
||||
synchronized(IndexStoreActionHandler.IndexStoreActionHandler_requestQueue) {
|
||||
for (IndexStoreAction var6 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.last(); var6 != null; var6 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.previous()) {
|
||||
if (var6.key == (long)var1 && var2 == var6.indexStore && var6.type == 0) {
|
||||
NodeDeque var4 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue;
|
||||
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
|
||||
for (ArchiveDiskAction var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var6 != null; var6 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) {
|
||||
if (var6.key == (long)group && var2 == var6.archiveDisk && var6.type == 0) {
|
||||
var3 = var6.data;
|
||||
break;
|
||||
}
|
||||
@@ -125,13 +125,13 @@ public class IndexCache extends AbstractIndexCache {
|
||||
}
|
||||
|
||||
if (var3 != null) {
|
||||
this.load(var2, var1, var3, true);
|
||||
this.load(var2, group, var3, true);
|
||||
} else {
|
||||
byte[] var5 = var2.read(var1);
|
||||
this.load(var2, var1, var5, true);
|
||||
byte[] var5 = var2.read(group);
|
||||
this.load(var2, group, var5, true);
|
||||
}
|
||||
} else {
|
||||
PacketBuffer.requestNetFile(this, this.index, var1, super.archiveCrcs[var1], (byte)2, true);
|
||||
PacketBuffer.requestNetFile(this, this.index, group, super.groupCrcs[group], (byte)2, true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -150,10 +150,11 @@ public class IndexCache extends AbstractIndexCache {
|
||||
signature = "(I)I",
|
||||
garbageValue = "1671499504"
|
||||
)
|
||||
public int method131() {
|
||||
@Export("percentage")
|
||||
public int percentage() {
|
||||
if (this.field403) {
|
||||
return 100;
|
||||
} else if (super.archives != null) {
|
||||
} else if (super.groups != null) {
|
||||
return 99;
|
||||
} else {
|
||||
int var1 = class54.method1086(255, this.index);
|
||||
@@ -170,18 +171,18 @@ public class IndexCache extends AbstractIndexCache {
|
||||
signature = "(III)V",
|
||||
garbageValue = "-1621053520"
|
||||
)
|
||||
@Export("loadIndexReference")
|
||||
public void loadIndexReference(int var1, int var2) {
|
||||
this.indexReferenceCrc = var1;
|
||||
this.indexReferenceVersion = var2;
|
||||
if (this.referenceStore != null) {
|
||||
@Export("loadIndex")
|
||||
public void loadIndex(int var1, int var2) {
|
||||
this.indexCrc = var1;
|
||||
this.indexVersion = var2;
|
||||
if (this.masterDisk != null) {
|
||||
int var3 = this.index;
|
||||
IndexStore var4 = this.referenceStore;
|
||||
ArchiveDisk var4 = this.masterDisk;
|
||||
byte[] var5 = null;
|
||||
NodeDeque var6 = IndexStoreActionHandler.IndexStoreActionHandler_requestQueue;
|
||||
synchronized(IndexStoreActionHandler.IndexStoreActionHandler_requestQueue) {
|
||||
for (IndexStoreAction var8 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.last(); var8 != null; var8 = (IndexStoreAction)IndexStoreActionHandler.IndexStoreActionHandler_requestQueue.previous()) {
|
||||
if (var8.key == (long)var3 && var4 == var8.indexStore && var8.type == 0) {
|
||||
NodeDeque var6 = ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue;
|
||||
synchronized(ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue) {
|
||||
for (ArchiveDiskAction var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.last(); var8 != null; var8 = (ArchiveDiskAction)ArchiveDiskActionHandler.ArchiveDiskActionHandler_requestQueue.previous()) {
|
||||
if (var8.key == (long)var3 && var4 == var8.archiveDisk && var8.type == 0) {
|
||||
var5 = var8.data;
|
||||
break;
|
||||
}
|
||||
@@ -195,7 +196,7 @@ public class IndexCache extends AbstractIndexCache {
|
||||
this.load(var4, var3, var7, true);
|
||||
}
|
||||
} else {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -212,22 +213,22 @@ public class IndexCache extends AbstractIndexCache {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
if (this.referenceStore != null) {
|
||||
Widget.method4499(this.index, var2, this.referenceStore);
|
||||
if (this.masterDisk != null) {
|
||||
Widget.method4499(this.index, var2, this.masterDisk);
|
||||
}
|
||||
|
||||
this.setIndexReference(var2);
|
||||
this.decodeIndex(var2);
|
||||
this.loadAllLocal();
|
||||
} else {
|
||||
var2[var2.length - 2] = (byte)(super.archiveVersions[var1] >> 8);
|
||||
var2[var2.length - 1] = (byte)super.archiveVersions[var1];
|
||||
if (this.indexStore != null) {
|
||||
Widget.method4499(var1, var2, this.indexStore);
|
||||
this.validArchives[var1] = true;
|
||||
var2[var2.length - 2] = (byte)(super.groupVersions[var1] >> 8);
|
||||
var2[var2.length - 1] = (byte)super.groupVersions[var1];
|
||||
if (this.archiveDisk != null) {
|
||||
Widget.method4499(var1, var2, this.archiveDisk);
|
||||
this.validGroups[var1] = true;
|
||||
}
|
||||
|
||||
if (var4) {
|
||||
super.archives[var1] = Projectile.byteArrayToObject(var2, false);
|
||||
super.groups[var1] = Projectile.byteArrayToObject(var2, false);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -239,36 +240,38 @@ public class IndexCache extends AbstractIndexCache {
|
||||
garbageValue = "-2045340856"
|
||||
)
|
||||
@Export("load")
|
||||
void load(IndexStore var1, int var2, byte[] var3, boolean var4) {
|
||||
void load(ArchiveDisk var1, int var2, byte[] var3, boolean var4) {
|
||||
int var5;
|
||||
if (var1 == this.referenceStore) {
|
||||
if (var1 == this.masterDisk) {
|
||||
if (this.field403) {
|
||||
throw new RuntimeException();
|
||||
} else if (var3 == null) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
}
|
||||
|
||||
if (var3 == null) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||
} else {
|
||||
IndexCache_crc.reset();
|
||||
IndexCache_crc.update(var3, 0, var3.length);
|
||||
var5 = (int)IndexCache_crc.getValue();
|
||||
if (var5 != this.indexReferenceCrc) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
Archive_crc.reset();
|
||||
Archive_crc.update(var3, 0, var3.length);
|
||||
var5 = (int)Archive_crc.getValue();
|
||||
if (var5 != this.indexCrc) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||
} else {
|
||||
Buffer var9 = new Buffer(Strings.decompressBytes(var3));
|
||||
int var7 = var9.readUnsignedByte();
|
||||
Buffer var6 = new Buffer(Strings.decompressBytes(var3));
|
||||
int var7 = var6.readUnsignedByte();
|
||||
if (var7 != 5 && var7 != 6) {
|
||||
throw new RuntimeException(var7 + "," + this.index + "," + var2);
|
||||
} else {
|
||||
int var8 = 0;
|
||||
if (var7 >= 6) {
|
||||
var8 = var9.readInt();
|
||||
}
|
||||
}
|
||||
|
||||
if (var8 != this.indexReferenceVersion) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexReferenceCrc, (byte)0, true);
|
||||
} else {
|
||||
this.setIndexReference(var3);
|
||||
this.loadAllLocal();
|
||||
}
|
||||
int var8 = 0;
|
||||
if (var7 >= 6) {
|
||||
var8 = var6.readInt();
|
||||
}
|
||||
|
||||
if (var8 != this.indexVersion) {
|
||||
PacketBuffer.requestNetFile(this, 255, this.index, this.indexCrc, (byte)0, true);
|
||||
} else {
|
||||
this.decodeIndex(var3);
|
||||
this.loadAllLocal();
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -278,31 +281,29 @@ public class IndexCache extends AbstractIndexCache {
|
||||
}
|
||||
|
||||
if (var3 != null && var3.length > 2) {
|
||||
IndexCache_crc.reset();
|
||||
IndexCache_crc.update(var3, 0, var3.length - 2);
|
||||
var5 = (int)IndexCache_crc.getValue();
|
||||
int var6 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255);
|
||||
if (var5 == super.archiveCrcs[var2] && var6 == super.archiveVersions[var2]) {
|
||||
this.validArchives[var2] = true;
|
||||
Archive_crc.reset();
|
||||
Archive_crc.update(var3, 0, var3.length - 2);
|
||||
var5 = (int)Archive_crc.getValue();
|
||||
int var9 = ((var3[var3.length - 2] & 255) << 8) + (var3[var3.length - 1] & 255);
|
||||
if (var5 == super.groupCrcs[var2] && var9 == super.groupVersions[var2]) {
|
||||
this.validGroups[var2] = true;
|
||||
if (var4) {
|
||||
super.archives[var2] = Projectile.byteArrayToObject(var3, false);
|
||||
super.groups[var2] = Projectile.byteArrayToObject(var3, false);
|
||||
}
|
||||
|
||||
} else {
|
||||
this.validArchives[var2] = false;
|
||||
this.validGroups[var2] = false;
|
||||
if (this.field404 || var4) {
|
||||
PacketBuffer.requestNetFile(this, this.index, var2, super.archiveCrcs[var2], (byte)2, var4);
|
||||
PacketBuffer.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
||||
}
|
||||
|
||||
}
|
||||
} else {
|
||||
this.validArchives[var2] = false;
|
||||
this.validGroups[var2] = false;
|
||||
if (this.field404 || var4) {
|
||||
PacketBuffer.requestNetFile(this, this.index, var2, super.archiveCrcs[var2], (byte)2, var4);
|
||||
PacketBuffer.requestNetFile(this, this.index, var2, super.groupCrcs[var2], (byte)2, var4);
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("dt")
|
||||
@@ -312,21 +313,21 @@ public class IndexCache extends AbstractIndexCache {
|
||||
)
|
||||
@Export("loadAllLocal")
|
||||
void loadAllLocal() {
|
||||
this.validArchives = new boolean[super.archives.length];
|
||||
this.validGroups = new boolean[super.groups.length];
|
||||
|
||||
int var1;
|
||||
for (var1 = 0; var1 < this.validArchives.length; ++var1) {
|
||||
this.validArchives[var1] = false;
|
||||
for (var1 = 0; var1 < this.validGroups.length; ++var1) {
|
||||
this.validGroups[var1] = false;
|
||||
}
|
||||
|
||||
if (this.indexStore == null) {
|
||||
if (this.archiveDisk == null) {
|
||||
this.field403 = true;
|
||||
} else {
|
||||
this.field405 = -1;
|
||||
|
||||
for (var1 = 0; var1 < this.validArchives.length; ++var1) {
|
||||
if (super.recordCounts[var1] > 0) {
|
||||
NPC.method2009(var1, this.indexStore, this);
|
||||
for (var1 = 0; var1 < this.validGroups.length; ++var1) {
|
||||
if (super.fileCounts[var1] > 0) {
|
||||
NPC.method2009(var1, this.archiveDisk, this);
|
||||
this.field405 = var1;
|
||||
}
|
||||
}
|
||||
@@ -344,7 +345,7 @@ public class IndexCache extends AbstractIndexCache {
|
||||
garbageValue = "0"
|
||||
)
|
||||
public boolean method132(int var1) {
|
||||
return this.validArchives[var1];
|
||||
return this.validGroups[var1];
|
||||
}
|
||||
|
||||
@ObfuscatedName("df")
|
||||
@@ -367,10 +368,10 @@ public class IndexCache extends AbstractIndexCache {
|
||||
int var2 = 0;
|
||||
|
||||
int var3;
|
||||
for (var3 = 0; var3 < super.archives.length; ++var3) {
|
||||
if (super.recordCounts[var3] > 0) {
|
||||
for (var3 = 0; var3 < super.groups.length; ++var3) {
|
||||
if (super.fileCounts[var3] > 0) {
|
||||
var1 += 100;
|
||||
var2 += this.archiveLoadPercent(var3);
|
||||
var2 += this.groupLoadPercent(var3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -388,7 +389,7 @@ public class IndexCache extends AbstractIndexCache {
|
||||
garbageValue = "-34"
|
||||
)
|
||||
static final void method4703(int var0) {
|
||||
class12.method159();
|
||||
GrandExchangeOfferAgeComparator.method159();
|
||||
|
||||
for (ObjectSound var1 = (ObjectSound)ObjectSound.objectSounds.last(); var1 != null; var1 = (ObjectSound)ObjectSound.objectSounds.previous()) {
|
||||
if (var1.obj != null) {
|
||||
@@ -447,7 +448,7 @@ public class IndexCache extends AbstractIndexCache {
|
||||
|
||||
if (var3 != Client.field128) {
|
||||
if (Client.field128 == 0 && Client.field112 != -1) {
|
||||
Login.method2076(UserComparator3.indexCache6, Client.field112, 0, var3, false);
|
||||
Login.method2076(UserComparator3.archive6, Client.field112, 0, var3, false);
|
||||
Client.field107 = false;
|
||||
} else if (var3 == 0) {
|
||||
class214.midiPcmStream.clear();
|
||||
@@ -548,6 +549,6 @@ public class IndexCache extends AbstractIndexCache {
|
||||
}
|
||||
|
||||
static {
|
||||
IndexCache_crc = new CRC32();
|
||||
Archive_crc = new CRC32();
|
||||
}
|
||||
}
|
||||
507
runescape-client/src/main/java/ArchiveDisk.java
Normal file
507
runescape-client/src/main/java/ArchiveDisk.java
Normal file
@@ -0,0 +1,507 @@
|
||||
import java.io.EOFException;
|
||||
import java.io.IOException;
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("ff")
|
||||
@Implements("ArchiveDisk")
|
||||
public final class ArchiveDisk {
|
||||
@ObfuscatedName("m")
|
||||
@Export("ArchiveDisk_buffer")
|
||||
static byte[] ArchiveDisk_buffer;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Ldy;"
|
||||
)
|
||||
@Export("datFile")
|
||||
BufferedFile datFile;
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Ldy;"
|
||||
)
|
||||
@Export("idxFile")
|
||||
BufferedFile idxFile;
|
||||
@ObfuscatedName("w")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1982523283
|
||||
)
|
||||
@Export("archive")
|
||||
int archive;
|
||||
@ObfuscatedName("o")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -748616567
|
||||
)
|
||||
@Export("maxEntrySize")
|
||||
int maxEntrySize;
|
||||
|
||||
@ObfuscatedSignature(
|
||||
signature = "(ILdy;Ldy;I)V"
|
||||
)
|
||||
public ArchiveDisk(int var1, BufferedFile var2, BufferedFile var3, int var4) {
|
||||
this.datFile = null;
|
||||
this.idxFile = null;
|
||||
this.maxEntrySize = 65000;
|
||||
this.archive = var1;
|
||||
this.datFile = var2;
|
||||
this.idxFile = var3;
|
||||
this.maxEntrySize = var4;
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(II)[B",
|
||||
garbageValue = "-294587791"
|
||||
)
|
||||
@Export("read")
|
||||
public byte[] read(int entry) {
|
||||
BufferedFile var2 = this.datFile;
|
||||
synchronized(this.datFile) {
|
||||
try {
|
||||
byte[] var4;
|
||||
Object var5;
|
||||
byte[] var10000;
|
||||
if (this.idxFile.length() < (long)(entry * 6 + 6)) {
|
||||
var5 = null;
|
||||
var4 = ((byte[])var5);
|
||||
var10000 = var4;
|
||||
return var10000;
|
||||
} else {
|
||||
this.idxFile.seek((long)(entry * 6));
|
||||
this.idxFile.read(ArchiveDisk_buffer, 0, 6);
|
||||
int var6 = ((ArchiveDisk_buffer[0] & 255) << 16) + (ArchiveDisk_buffer[2] & 255) + ((ArchiveDisk_buffer[1] & 255) << 8);
|
||||
int var7 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8);
|
||||
if (var6 < 0 || var6 > this.maxEntrySize) {
|
||||
var5 = null;
|
||||
var4 = ((byte[])var5);
|
||||
var10000 = var4;
|
||||
return var10000;
|
||||
} else if (var7 <= 0 || (long)var7 > this.datFile.length() / 520L) {
|
||||
var5 = null;
|
||||
var4 = ((byte[])var5);
|
||||
return var4;
|
||||
} else {
|
||||
byte[] var8 = new byte[var6];
|
||||
int var9 = 0;
|
||||
int var10 = 0;
|
||||
|
||||
while (var9 < var6) {
|
||||
if (var7 == 0) {
|
||||
var5 = null;
|
||||
var4 = ((byte[])var5);
|
||||
var10000 = var4;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
this.datFile.seek((long)(var7 * 520));
|
||||
int var11 = var6 - var9;
|
||||
if (var11 > 512) {
|
||||
var11 = 512;
|
||||
}
|
||||
|
||||
this.datFile.read(ArchiveDisk_buffer, 0, var11 + 8);
|
||||
int var12 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8);
|
||||
int var13 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8);
|
||||
int var14 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255);
|
||||
int var15 = ArchiveDisk_buffer[7] & 255;
|
||||
if (var12 == entry && var10 == var13 && var15 == this.archive) {
|
||||
if (var14 >= 0 && (long)var14 <= this.datFile.length() / 520L) {
|
||||
for (int var16 = 0; var16 < var11; ++var16) {
|
||||
var8[var9++] = ArchiveDisk_buffer[var16 + 8];
|
||||
}
|
||||
|
||||
var7 = var14;
|
||||
++var10;
|
||||
continue;
|
||||
}
|
||||
|
||||
var5 = null;
|
||||
var4 = ((byte[])var5);
|
||||
var10000 = var4;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
var5 = null;
|
||||
var4 = ((byte[])var5);
|
||||
var10000 = var4;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
var10000 = var8;
|
||||
return var10000;
|
||||
}
|
||||
}
|
||||
} catch (IOException var18) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I[BII)Z",
|
||||
garbageValue = "-1750864122"
|
||||
)
|
||||
@Export("write")
|
||||
public boolean write(int var1, byte[] var2, int var3) {
|
||||
BufferedFile var4 = this.datFile;
|
||||
synchronized(this.datFile) {
|
||||
if (var3 >= 0 && var3 <= this.maxEntrySize) {
|
||||
boolean var6 = this.write0(var1, var2, var3, true);
|
||||
if (!var6) {
|
||||
var6 = this.write0(var1, var2, var3, false);
|
||||
}
|
||||
|
||||
return var6;
|
||||
} else {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I[BIZI)Z",
|
||||
garbageValue = "-944588642"
|
||||
)
|
||||
@Export("write0")
|
||||
boolean write0(int var1, byte[] var2, int var3, boolean var4) {
|
||||
BufferedFile var5 = this.datFile;
|
||||
synchronized(this.datFile) {
|
||||
try {
|
||||
int var7;
|
||||
boolean var8;
|
||||
boolean var10000;
|
||||
if (var4) {
|
||||
if (this.idxFile.length() < (long)(var1 * 6 + 6)) {
|
||||
var8 = false;
|
||||
var10000 = var8;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
this.idxFile.seek((long)(var1 * 6));
|
||||
this.idxFile.read(ArchiveDisk_buffer, 0, 6);
|
||||
var7 = (ArchiveDisk_buffer[5] & 255) + ((ArchiveDisk_buffer[3] & 255) << 16) + ((ArchiveDisk_buffer[4] & 255) << 8);
|
||||
if (var7 <= 0 || (long)var7 > this.datFile.length() / 520L) {
|
||||
var8 = false;
|
||||
var10000 = var8;
|
||||
return var10000;
|
||||
}
|
||||
} else {
|
||||
var7 = (int)((this.datFile.length() + 519L) / 520L);
|
||||
if (var7 == 0) {
|
||||
var7 = 1;
|
||||
}
|
||||
}
|
||||
|
||||
ArchiveDisk_buffer[0] = (byte)(var3 >> 16);
|
||||
ArchiveDisk_buffer[1] = (byte)(var3 >> 8);
|
||||
ArchiveDisk_buffer[2] = (byte)var3;
|
||||
ArchiveDisk_buffer[3] = (byte)(var7 >> 16);
|
||||
ArchiveDisk_buffer[4] = (byte)(var7 >> 8);
|
||||
ArchiveDisk_buffer[5] = (byte)var7;
|
||||
this.idxFile.seek((long)(var1 * 6));
|
||||
this.idxFile.write(ArchiveDisk_buffer, 0, 6);
|
||||
int var10 = 0;
|
||||
int var11 = 0;
|
||||
|
||||
while (true) {
|
||||
if (var10 < var3) {
|
||||
label129: {
|
||||
int var12 = 0;
|
||||
int var13;
|
||||
if (var4) {
|
||||
this.datFile.seek((long)(var7 * 520));
|
||||
|
||||
try {
|
||||
this.datFile.read(ArchiveDisk_buffer, 0, 8);
|
||||
} catch (EOFException var17) {
|
||||
break label129;
|
||||
}
|
||||
|
||||
var13 = (ArchiveDisk_buffer[1] & 255) + ((ArchiveDisk_buffer[0] & 255) << 8);
|
||||
int var14 = (ArchiveDisk_buffer[3] & 255) + ((ArchiveDisk_buffer[2] & 255) << 8);
|
||||
var12 = ((ArchiveDisk_buffer[5] & 255) << 8) + ((ArchiveDisk_buffer[4] & 255) << 16) + (ArchiveDisk_buffer[6] & 255);
|
||||
int var15 = ArchiveDisk_buffer[7] & 255;
|
||||
if (var13 != var1 || var14 != var11 || var15 != this.archive) {
|
||||
var8 = false;
|
||||
var10000 = var8;
|
||||
return var10000;
|
||||
}
|
||||
|
||||
if (var12 < 0 || (long)var12 > this.datFile.length() / 520L) {
|
||||
var8 = false;
|
||||
var10000 = var8;
|
||||
return var10000;
|
||||
}
|
||||
}
|
||||
|
||||
if (var12 == 0) {
|
||||
var4 = false;
|
||||
var12 = (int)((this.datFile.length() + 519L) / 520L);
|
||||
if (var12 == 0) {
|
||||
++var12;
|
||||
}
|
||||
|
||||
if (var7 == var12) {
|
||||
++var12;
|
||||
}
|
||||
}
|
||||
|
||||
if (var3 - var10 <= 512) {
|
||||
var12 = 0;
|
||||
}
|
||||
|
||||
ArchiveDisk_buffer[0] = (byte)(var1 >> 8);
|
||||
ArchiveDisk_buffer[1] = (byte)var1;
|
||||
ArchiveDisk_buffer[2] = (byte)(var11 >> 8);
|
||||
ArchiveDisk_buffer[3] = (byte)var11;
|
||||
ArchiveDisk_buffer[4] = (byte)(var12 >> 16);
|
||||
ArchiveDisk_buffer[5] = (byte)(var12 >> 8);
|
||||
ArchiveDisk_buffer[6] = (byte)var12;
|
||||
ArchiveDisk_buffer[7] = (byte)this.archive;
|
||||
this.datFile.seek((long)(var7 * 520));
|
||||
this.datFile.write(ArchiveDisk_buffer, 0, 8);
|
||||
var13 = var3 - var10;
|
||||
if (var13 > 512) {
|
||||
var13 = 512;
|
||||
}
|
||||
|
||||
this.datFile.write(var2, var10, var13);
|
||||
var10 += var13;
|
||||
var7 = var12;
|
||||
++var11;
|
||||
continue;
|
||||
}
|
||||
}
|
||||
|
||||
var8 = true;
|
||||
var10000 = var8;
|
||||
return var10000;
|
||||
}
|
||||
} catch (IOException var18) {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(IIILfe;Lfy;B)Z",
|
||||
garbageValue = "1"
|
||||
)
|
||||
static final boolean method3585(int var0, int var1, int var2, RouteStrategy var3, CollisionMap var4) {
|
||||
int var5 = var0;
|
||||
int var6 = var1;
|
||||
byte var7 = 64;
|
||||
byte var8 = 64;
|
||||
int var9 = var0 - var7;
|
||||
int var10 = var1 - var8;
|
||||
class178.directions[var7][var8] = 99;
|
||||
class178.distances[var7][var8] = 0;
|
||||
byte var11 = 0;
|
||||
int var12 = 0;
|
||||
class178.bufferX[var11] = var0;
|
||||
int var13 = var11 + 1;
|
||||
class178.bufferY[var11] = var1;
|
||||
int[][] var14 = var4.flags;
|
||||
|
||||
while (true) {
|
||||
label241:
|
||||
while (true) {
|
||||
int var15;
|
||||
int var16;
|
||||
int var17;
|
||||
int var18;
|
||||
int var19;
|
||||
int var20;
|
||||
do {
|
||||
do {
|
||||
do {
|
||||
label218:
|
||||
do {
|
||||
if (var13 == var12) {
|
||||
InterfaceParent.field986 = var5;
|
||||
UrlRequester.field929 = var6;
|
||||
return false;
|
||||
}
|
||||
|
||||
var5 = class178.bufferX[var12];
|
||||
var6 = class178.bufferY[var12];
|
||||
var12 = var12 + 1 & 4095;
|
||||
var15 = var5 - var9;
|
||||
var16 = var6 - var10;
|
||||
var17 = var5 - var4.xInset;
|
||||
var18 = var6 - var4.yInset;
|
||||
if (var3.vmethod3644(var2, var5, var6, var4)) {
|
||||
InterfaceParent.field986 = var5;
|
||||
UrlRequester.field929 = var6;
|
||||
return true;
|
||||
}
|
||||
|
||||
var19 = class178.distances[var15][var16] + 1;
|
||||
if (var15 > 0 && class178.directions[var15 - 1][var16] == 0 && (var14[var17 - 1][var18] & 19136782) == 0 && (var14[var17 - 1][var18 + var2 - 1] & 19136824) == 0) {
|
||||
var20 = 1;
|
||||
|
||||
while (true) {
|
||||
if (var20 >= var2 - 1) {
|
||||
class178.bufferX[var13] = var5 - 1;
|
||||
class178.bufferY[var13] = var6;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15 - 1][var16] = 2;
|
||||
class178.distances[var15 - 1][var16] = var19;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((var14[var17 - 1][var20 + var18] & 19136830) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
++var20;
|
||||
}
|
||||
}
|
||||
|
||||
if (var15 < 128 - var2 && class178.directions[var15 + 1][var16] == 0 && (var14[var17 + var2][var18] & 19136899) == 0 && (var14[var17 + var2][var18 + var2 - 1] & 19136992) == 0) {
|
||||
var20 = 1;
|
||||
|
||||
while (true) {
|
||||
if (var20 >= var2 - 1) {
|
||||
class178.bufferX[var13] = var5 + 1;
|
||||
class178.bufferY[var13] = var6;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15 + 1][var16] = 8;
|
||||
class178.distances[var15 + 1][var16] = var19;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((var14[var17 + var2][var18 + var20] & 19136995) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
++var20;
|
||||
}
|
||||
}
|
||||
|
||||
if (var16 > 0 && class178.directions[var15][var16 - 1] == 0 && (var14[var17][var18 - 1] & 19136782) == 0 && (var14[var17 + var2 - 1][var18 - 1] & 19136899) == 0) {
|
||||
var20 = 1;
|
||||
|
||||
while (true) {
|
||||
if (var20 >= var2 - 1) {
|
||||
class178.bufferX[var13] = var5;
|
||||
class178.bufferY[var13] = var6 - 1;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15][var16 - 1] = 1;
|
||||
class178.distances[var15][var16 - 1] = var19;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((var14[var20 + var17][var18 - 1] & 19136911) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
++var20;
|
||||
}
|
||||
}
|
||||
|
||||
if (var16 < 128 - var2 && class178.directions[var15][var16 + 1] == 0 && (var14[var17][var18 + var2] & 19136824) == 0 && (var14[var17 + var2 - 1][var18 + var2] & 19136992) == 0) {
|
||||
var20 = 1;
|
||||
|
||||
while (true) {
|
||||
if (var20 >= var2 - 1) {
|
||||
class178.bufferX[var13] = var5;
|
||||
class178.bufferY[var13] = var6 + 1;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15][var16 + 1] = 4;
|
||||
class178.distances[var15][var16 + 1] = var19;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((var14[var20 + var17][var18 + var2] & 19137016) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
++var20;
|
||||
}
|
||||
}
|
||||
|
||||
if (var15 > 0 && var16 > 0 && class178.directions[var15 - 1][var16 - 1] == 0 && (var14[var17 - 1][var18 - 1] & 19136782) == 0) {
|
||||
var20 = 1;
|
||||
|
||||
while (true) {
|
||||
if (var20 >= var2) {
|
||||
class178.bufferX[var13] = var5 - 1;
|
||||
class178.bufferY[var13] = var6 - 1;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15 - 1][var16 - 1] = 3;
|
||||
class178.distances[var15 - 1][var16 - 1] = var19;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((var14[var17 - 1][var20 + (var18 - 1)] & 19136830) != 0 || (var14[var20 + (var17 - 1)][var18 - 1] & 19136911) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
++var20;
|
||||
}
|
||||
}
|
||||
|
||||
if (var15 < 128 - var2 && var16 > 0 && class178.directions[var15 + 1][var16 - 1] == 0 && (var14[var17 + var2][var18 - 1] & 19136899) == 0) {
|
||||
var20 = 1;
|
||||
|
||||
while (true) {
|
||||
if (var20 >= var2) {
|
||||
class178.bufferX[var13] = var5 + 1;
|
||||
class178.bufferY[var13] = var6 - 1;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15 + 1][var16 - 1] = 9;
|
||||
class178.distances[var15 + 1][var16 - 1] = var19;
|
||||
break;
|
||||
}
|
||||
|
||||
if ((var14[var17 + var2][var20 + (var18 - 1)] & 19136995) != 0 || (var14[var20 + var17][var18 - 1] & 19136911) != 0) {
|
||||
break;
|
||||
}
|
||||
|
||||
++var20;
|
||||
}
|
||||
}
|
||||
|
||||
if (var15 > 0 && var16 < 128 - var2 && class178.directions[var15 - 1][var16 + 1] == 0 && (var14[var17 - 1][var18 + var2] & 19136824) == 0) {
|
||||
for (var20 = 1; var20 < var2; ++var20) {
|
||||
if ((var14[var17 - 1][var18 + var20] & 19136830) != 0 || (var14[var20 + (var17 - 1)][var18 + var2] & 19137016) != 0) {
|
||||
continue label218;
|
||||
}
|
||||
}
|
||||
|
||||
class178.bufferX[var13] = var5 - 1;
|
||||
class178.bufferY[var13] = var6 + 1;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15 - 1][var16 + 1] = 6;
|
||||
class178.distances[var15 - 1][var16 + 1] = var19;
|
||||
}
|
||||
} while(var15 >= 128 - var2);
|
||||
} while(var16 >= 128 - var2);
|
||||
} while(class178.directions[var15 + 1][var16 + 1] != 0);
|
||||
} while((var14[var17 + var2][var18 + var2] & 19136992) != 0);
|
||||
|
||||
for (var20 = 1; var20 < var2; ++var20) {
|
||||
if ((var14[var17 + var20][var18 + var2] & 19137016) != 0 || (var14[var17 + var2][var20 + var18] & 19136995) != 0) {
|
||||
continue label241;
|
||||
}
|
||||
}
|
||||
|
||||
class178.bufferX[var13] = var5 + 1;
|
||||
class178.bufferY[var13] = var6 + 1;
|
||||
var13 = var13 + 1 & 4095;
|
||||
class178.directions[var15 + 1][var16 + 1] = 12;
|
||||
class178.distances[var15 + 1][var16 + 1] = var19;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
static {
|
||||
ArchiveDisk_buffer = new byte[520];
|
||||
}
|
||||
}
|
||||
@@ -5,8 +5,8 @@ import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("ik")
|
||||
@Implements("IndexStoreAction")
|
||||
public class IndexStoreAction extends Node {
|
||||
@Implements("ArchiveDiskAction")
|
||||
public class ArchiveDiskAction extends Node {
|
||||
@ObfuscatedName("rt")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1086790653
|
||||
@@ -36,14 +36,14 @@ public class IndexStoreAction extends Node {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lff;"
|
||||
)
|
||||
@Export("indexStore")
|
||||
IndexStore indexStore;
|
||||
@Export("archiveDisk")
|
||||
ArchiveDisk archiveDisk;
|
||||
@ObfuscatedName("w")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lit;"
|
||||
)
|
||||
@Export("indexCache")
|
||||
IndexCache indexCache;
|
||||
@Export("archive")
|
||||
Archive archive;
|
||||
|
||||
@ObfuscatedName("fn")
|
||||
@ObfuscatedSignature(
|
||||
@@ -94,7 +94,7 @@ public class IndexStoreAction extends Node {
|
||||
var5 = false;
|
||||
}
|
||||
|
||||
if (var0.movementSequence == var0.idleSequence && (var0.field22 > 25 || var5)) {
|
||||
if (var0.movementSequence == var0.readySequence && (var0.field22 > 25 || var5)) {
|
||||
if (var0.turnLeftSequence != -1) {
|
||||
var0.movementSequence = var0.turnLeftSequence;
|
||||
} else {
|
||||
@@ -109,7 +109,7 @@ public class IndexStoreAction extends Node {
|
||||
var5 = false;
|
||||
}
|
||||
|
||||
if (var0.movementSequence == var0.idleSequence && (var0.field22 > 25 || var5)) {
|
||||
if (var0.movementSequence == var0.readySequence && (var0.field22 > 25 || var5)) {
|
||||
if (var0.turnRightSequence != -1) {
|
||||
var0.movementSequence = var0.turnRightSequence;
|
||||
} else {
|
||||
107
runescape-client/src/main/java/ArchiveDiskActionHandler.java
Normal file
107
runescape-client/src/main/java/ArchiveDiskActionHandler.java
Normal file
@@ -0,0 +1,107 @@
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("iv")
|
||||
@Implements("ArchiveDiskActionHandler")
|
||||
public class ArchiveDiskActionHandler implements Runnable {
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lje;"
|
||||
)
|
||||
@Export("ArchiveDiskActionHandler_requestQueue")
|
||||
static NodeDeque ArchiveDiskActionHandler_requestQueue;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lje;"
|
||||
)
|
||||
@Export("ArchiveDiskActionHandler_responseQueue")
|
||||
static NodeDeque ArchiveDiskActionHandler_responseQueue;
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1282224505
|
||||
)
|
||||
static int field412;
|
||||
@ObfuscatedName("w")
|
||||
@Export("ArchiveDiskActionHandler_lock")
|
||||
static Object ArchiveDiskActionHandler_lock;
|
||||
|
||||
public void run() {
|
||||
try {
|
||||
while (true) {
|
||||
NodeDeque var1 = ArchiveDiskActionHandler_requestQueue;
|
||||
ArchiveDiskAction var2;
|
||||
synchronized(ArchiveDiskActionHandler_requestQueue) {
|
||||
var2 = (ArchiveDiskAction)ArchiveDiskActionHandler_requestQueue.last();
|
||||
}
|
||||
|
||||
Object var3;
|
||||
if (var2 != null) {
|
||||
if (var2.type == 0) {
|
||||
var2.archiveDisk.write((int)var2.key, var2.data, var2.data.length);
|
||||
var1 = ArchiveDiskActionHandler_requestQueue;
|
||||
synchronized(ArchiveDiskActionHandler_requestQueue) {
|
||||
var2.remove();
|
||||
}
|
||||
} else if (var2.type == 1) {
|
||||
var2.data = var2.archiveDisk.read((int)var2.key);
|
||||
var1 = ArchiveDiskActionHandler_requestQueue;
|
||||
synchronized(ArchiveDiskActionHandler_requestQueue) {
|
||||
ArchiveDiskActionHandler_responseQueue.addFirst(var2);
|
||||
}
|
||||
}
|
||||
|
||||
var3 = ArchiveDiskActionHandler_lock;
|
||||
synchronized(ArchiveDiskActionHandler_lock) {
|
||||
if (field412 <= 1) {
|
||||
field412 = 0;
|
||||
ArchiveDiskActionHandler_lock.notifyAll();
|
||||
return;
|
||||
}
|
||||
|
||||
field412 = 600;
|
||||
}
|
||||
} else {
|
||||
class203.method4010(100L);
|
||||
var3 = ArchiveDiskActionHandler_lock;
|
||||
synchronized(ArchiveDiskActionHandler_lock) {
|
||||
if (field412 <= 1) {
|
||||
field412 = 0;
|
||||
ArchiveDiskActionHandler_lock.notifyAll();
|
||||
return;
|
||||
}
|
||||
|
||||
--field412;
|
||||
}
|
||||
}
|
||||
}
|
||||
} catch (Exception var14) {
|
||||
NPCDefinition.sendStackTrace((String)null, var14);
|
||||
}
|
||||
}
|
||||
|
||||
@ObfuscatedName("ky")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Ljava/lang/String;B)V",
|
||||
garbageValue = "67"
|
||||
)
|
||||
@Export("clanKickUser")
|
||||
static final void clanKickUser(String var0) {
|
||||
if (PacketWriter.clanChat != null) {
|
||||
PacketBufferNode var1 = Interpreter.method1915(ClientPacket.field235, Client.packetWriter.isaacCipher);
|
||||
var1.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var0));
|
||||
var1.packetBuffer.writeStringCp1252NullTerminated(var0);
|
||||
Client.packetWriter.method241(var1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static {
|
||||
ArchiveDiskActionHandler_requestQueue = new NodeDeque();
|
||||
ArchiveDiskActionHandler_responseQueue = new NodeDeque();
|
||||
field412 = 0;
|
||||
ArchiveDiskActionHandler_lock = new Object();
|
||||
}
|
||||
}
|
||||
709
runescape-client/src/main/java/ArchiveLoader.java
Normal file
709
runescape-client/src/main/java/ArchiveLoader.java
Normal file
@@ -0,0 +1,709 @@
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("bd")
|
||||
@Implements("ArchiveLoader")
|
||||
public class ArchiveLoader {
|
||||
@ObfuscatedName("pf")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lko;"
|
||||
)
|
||||
static class310 field512;
|
||||
@ObfuscatedName("u")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Llq;"
|
||||
)
|
||||
@Export("titlebuttonSprite")
|
||||
static IndexedSprite titlebuttonSprite;
|
||||
@ObfuscatedName("x")
|
||||
public static short[][] field406;
|
||||
@ObfuscatedName("er")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 636454135
|
||||
)
|
||||
static int field407;
|
||||
@ObfuscatedName("gw")
|
||||
@Export("regionMapArchiveIds")
|
||||
static int[] regionMapArchiveIds;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lit;"
|
||||
)
|
||||
@Export("archive")
|
||||
final Archive archive;
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1459455501
|
||||
)
|
||||
final int field408;
|
||||
@ObfuscatedName("w")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 782003089
|
||||
)
|
||||
int field409;
|
||||
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lit;Ljava/lang/String;)V"
|
||||
)
|
||||
ArchiveLoader(Archive var1, String var2) {
|
||||
this.field409 = 0;
|
||||
this.archive = var1;
|
||||
this.field408 = var1.method5();
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(I)Z",
|
||||
garbageValue = "1352221725"
|
||||
)
|
||||
boolean method134() {
|
||||
this.field409 = 0;
|
||||
|
||||
for (int var1 = 0; var1 < this.field408; ++var1) {
|
||||
if (!this.archive.method133(var1) || this.archive.method132(var1)) {
|
||||
++this.field409;
|
||||
}
|
||||
}
|
||||
|
||||
return this.field409 >= this.field408;
|
||||
}
|
||||
|
||||
@ObfuscatedName("x")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lkk;Lkk;Lkk;I)V",
|
||||
garbageValue = "839403460"
|
||||
)
|
||||
@Export("drawTitle")
|
||||
static void drawTitle(Font var0, Font var1, Font var2) {
|
||||
Login.xPadding = (SoundCache.canvasWidth - 765) / 2;
|
||||
Login.loginBoxX = Login.xPadding + 202;
|
||||
Varps.loginBoxCenter = Login.loginBoxX + 180;
|
||||
int var3;
|
||||
int var4;
|
||||
int var5;
|
||||
byte var6;
|
||||
int var7;
|
||||
int var8;
|
||||
int var9;
|
||||
int var10;
|
||||
boolean var11;
|
||||
if (Login.worldSelectOpen) {
|
||||
if (class30.worldSelectBackSprites == null) {
|
||||
class30.worldSelectBackSprites = class2.method20(WorldMapSection3.archive8, "sl_back", "");
|
||||
}
|
||||
|
||||
Archive var12;
|
||||
int var13;
|
||||
int var14;
|
||||
IndexedSprite[] var15;
|
||||
if (Frames.worldSelectFlagSprites == null) {
|
||||
var12 = WorldMapSection3.archive8;
|
||||
var14 = var12.getGroupId("sl_flags");
|
||||
var13 = var12.getFileId(var14, "");
|
||||
if (!SpriteMask.loadSprite(var12, var14, var13)) {
|
||||
var15 = null;
|
||||
} else {
|
||||
var15 = WorldMapLabel.createIndexedSpriteArray();
|
||||
}
|
||||
|
||||
Frames.worldSelectFlagSprites = var15;
|
||||
}
|
||||
|
||||
if (AttackOption.worldSelectArrows == null) {
|
||||
var12 = WorldMapSection3.archive8;
|
||||
var14 = var12.getGroupId("sl_arrows");
|
||||
var13 = var12.getFileId(var14, "");
|
||||
if (!SpriteMask.loadSprite(var12, var14, var13)) {
|
||||
var15 = null;
|
||||
} else {
|
||||
var15 = WorldMapLabel.createIndexedSpriteArray();
|
||||
}
|
||||
|
||||
AttackOption.worldSelectArrows = var15;
|
||||
}
|
||||
|
||||
if (UrlRequest.worldSelectStars == null) {
|
||||
var12 = WorldMapSection3.archive8;
|
||||
var14 = var12.getGroupId("sl_stars");
|
||||
var13 = var12.getFileId(var14, "");
|
||||
if (!SpriteMask.loadSprite(var12, var14, var13)) {
|
||||
var15 = null;
|
||||
} else {
|
||||
var15 = WorldMapLabel.createIndexedSpriteArray();
|
||||
}
|
||||
|
||||
UrlRequest.worldSelectStars = var15;
|
||||
}
|
||||
|
||||
if (SecureRandomFuture.worldSelectLeftSprite == null) {
|
||||
SecureRandomFuture.worldSelectLeftSprite = MenuAction.loadIndexedSpriteByName(WorldMapSection3.archive8, "leftarrow", "");
|
||||
}
|
||||
|
||||
if (NetSocket.worldSelectRightSprite == null) {
|
||||
NetSocket.worldSelectRightSprite = MenuAction.loadIndexedSpriteByName(WorldMapSection3.archive8, "rightarrow", "");
|
||||
}
|
||||
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding, 23, 765, 480, 0);
|
||||
Rasterizer2D.drawGradient(Login.xPadding, 0, 125, 23, 12425273, 9135624);
|
||||
Rasterizer2D.drawGradient(Login.xPadding + 125, 0, 640, 23, 5197647, 2697513);
|
||||
var0.drawCentered("Select a world", Login.xPadding + 62, 15, 0, -1);
|
||||
if (UrlRequest.worldSelectStars != null) {
|
||||
UrlRequest.worldSelectStars[1].drawAt(Login.xPadding + 140, 1);
|
||||
var1.draw("Members only world", Login.xPadding + 152, 10, 16777215, -1);
|
||||
UrlRequest.worldSelectStars[0].drawAt(Login.xPadding + 140, 12);
|
||||
var1.draw("Free world", Login.xPadding + 152, 21, 16777215, -1);
|
||||
}
|
||||
|
||||
if (AttackOption.worldSelectArrows != null) {
|
||||
var10 = Login.xPadding + 280;
|
||||
if (World.sortOption1[0] == 0 && World.sortOption2[0] == 0) {
|
||||
AttackOption.worldSelectArrows[2].drawAt(var10, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[0].drawAt(var10, 4);
|
||||
}
|
||||
|
||||
if (World.sortOption1[0] == 0 && World.sortOption2[0] == 1) {
|
||||
AttackOption.worldSelectArrows[3].drawAt(var10 + 15, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[1].drawAt(var10 + 15, 4);
|
||||
}
|
||||
|
||||
var0.draw("World", var10 + 32, 17, 16777215, -1);
|
||||
var7 = Login.xPadding + 390;
|
||||
if (World.sortOption1[0] == 1 && World.sortOption2[0] == 0) {
|
||||
AttackOption.worldSelectArrows[2].drawAt(var7, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[0].drawAt(var7, 4);
|
||||
}
|
||||
|
||||
if (World.sortOption1[0] == 1 && World.sortOption2[0] == 1) {
|
||||
AttackOption.worldSelectArrows[3].drawAt(var7 + 15, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[1].drawAt(var7 + 15, 4);
|
||||
}
|
||||
|
||||
var0.draw("Players", var7 + 32, 17, 16777215, -1);
|
||||
var14 = Login.xPadding + 500;
|
||||
if (World.sortOption1[0] == 2 && World.sortOption2[0] == 0) {
|
||||
AttackOption.worldSelectArrows[2].drawAt(var14, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[0].drawAt(var14, 4);
|
||||
}
|
||||
|
||||
if (World.sortOption1[0] == 2 && World.sortOption2[0] == 1) {
|
||||
AttackOption.worldSelectArrows[3].drawAt(var14 + 15, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[1].drawAt(var14 + 15, 4);
|
||||
}
|
||||
|
||||
var0.draw("Location", var14 + 32, 17, 16777215, -1);
|
||||
var13 = Login.xPadding + 610;
|
||||
if (World.sortOption1[0] == 3 && World.sortOption2[0] == 0) {
|
||||
AttackOption.worldSelectArrows[2].drawAt(var13, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[0].drawAt(var13, 4);
|
||||
}
|
||||
|
||||
if (World.sortOption1[0] == 3 && World.sortOption2[0] == 1) {
|
||||
AttackOption.worldSelectArrows[3].drawAt(var13 + 15, 4);
|
||||
} else {
|
||||
AttackOption.worldSelectArrows[1].drawAt(var13 + 15, 4);
|
||||
}
|
||||
|
||||
var0.draw("Type", var13 + 32, 17, 16777215, -1);
|
||||
}
|
||||
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(Login.xPadding + 708, 4, 50, 16, 0);
|
||||
var1.drawCentered("Cancel", Login.xPadding + 708 + 25, 16, 16777215, -1);
|
||||
Login.hoveredWorldIndex = -1;
|
||||
if (class30.worldSelectBackSprites != null) {
|
||||
var6 = 88;
|
||||
byte var16 = 19;
|
||||
var14 = 765 / (var6 + 1) - 1;
|
||||
var13 = 480 / (var16 + 1);
|
||||
|
||||
while (true) {
|
||||
var8 = var13;
|
||||
var9 = var14;
|
||||
if (var13 * (var14 - 1) >= World.worldsCount) {
|
||||
--var14;
|
||||
}
|
||||
|
||||
if (var14 * (var13 - 1) >= World.worldsCount) {
|
||||
--var13;
|
||||
}
|
||||
|
||||
if (var14 * (var13 - 1) >= World.worldsCount) {
|
||||
--var13;
|
||||
}
|
||||
|
||||
if (var13 == var8 && var14 == var9) {
|
||||
var8 = (765 - var6 * var14) / (var14 + 1);
|
||||
if (var8 > 5) {
|
||||
var8 = 5;
|
||||
}
|
||||
|
||||
var9 = (480 - var16 * var13) / (var13 + 1);
|
||||
if (var9 > 5) {
|
||||
var9 = 5;
|
||||
}
|
||||
|
||||
var3 = (765 - var14 * var6 - var8 * (var14 - 1)) / 2;
|
||||
int var17 = (480 - var13 * var16 - var9 * (var13 - 1)) / 2;
|
||||
var4 = (var13 + World.worldsCount - 1) / var13;
|
||||
Login.worldSelectPagesCount = var4 - var14;
|
||||
if (SecureRandomFuture.worldSelectLeftSprite != null && Login.worldSelectPage > 0) {
|
||||
SecureRandomFuture.worldSelectLeftSprite.drawAt(8, Huffman.canvasHeight / 2 - SecureRandomFuture.worldSelectLeftSprite.subHeight / 2);
|
||||
}
|
||||
|
||||
if (NetSocket.worldSelectRightSprite != null && Login.worldSelectPage < Login.worldSelectPagesCount) {
|
||||
NetSocket.worldSelectRightSprite.drawAt(SoundCache.canvasWidth - NetSocket.worldSelectRightSprite.subWidth - 8, Huffman.canvasHeight / 2 - NetSocket.worldSelectRightSprite.subHeight / 2);
|
||||
}
|
||||
|
||||
int var18 = var17 + 23;
|
||||
int var19 = var3 + Login.xPadding;
|
||||
int var20 = 0;
|
||||
var11 = false;
|
||||
int var21 = Login.worldSelectPage;
|
||||
|
||||
int var22;
|
||||
for (var22 = var13 * var21; var22 < World.worldsCount && var21 - Login.worldSelectPage < var14; ++var22) {
|
||||
World var23 = ItemContainer.worlds[var22];
|
||||
boolean var24 = true;
|
||||
String var25 = Integer.toString(var23.population);
|
||||
if (var23.population == -1) {
|
||||
var25 = "OFF";
|
||||
var24 = false;
|
||||
} else if (var23.population > 1980) {
|
||||
var25 = "FULL";
|
||||
var24 = false;
|
||||
}
|
||||
|
||||
int var26 = 0;
|
||||
byte var27;
|
||||
if (var23.isBeta()) {
|
||||
if (var23.isMembersOnly()) {
|
||||
var27 = 7;
|
||||
} else {
|
||||
var27 = 6;
|
||||
}
|
||||
} else if (var23.isDeadman()) {
|
||||
var26 = 16711680;
|
||||
if (var23.isMembersOnly()) {
|
||||
var27 = 5;
|
||||
} else {
|
||||
var27 = 4;
|
||||
}
|
||||
} else if (var23.isPvp()) {
|
||||
if (var23.isMembersOnly()) {
|
||||
var27 = 3;
|
||||
} else {
|
||||
var27 = 2;
|
||||
}
|
||||
} else if (var23.isMembersOnly()) {
|
||||
var27 = 1;
|
||||
} else {
|
||||
var27 = 0;
|
||||
}
|
||||
|
||||
if (MouseHandler.MouseHandler_x >= var19 && MouseHandler.MouseHandler_y >= var18 && MouseHandler.MouseHandler_x < var19 + var6 && MouseHandler.MouseHandler_y < var16 + var18 && var24) {
|
||||
Login.hoveredWorldIndex = var22;
|
||||
class30.worldSelectBackSprites[var27].drawAtTransOverlay(var19, var18, 128, 16777215);
|
||||
var11 = true;
|
||||
} else {
|
||||
class30.worldSelectBackSprites[var27].drawAt(var19, var18);
|
||||
}
|
||||
|
||||
if (Frames.worldSelectFlagSprites != null) {
|
||||
Frames.worldSelectFlagSprites[(var23.isMembersOnly() ? 8 : 0) + var23.location].drawAt(var19 + 29, var18);
|
||||
}
|
||||
|
||||
var0.drawCentered(Integer.toString(var23.id), var19 + 15, var16 / 2 + var18 + 5, var26, -1);
|
||||
var1.drawCentered(var25, var19 + 60, var16 / 2 + var18 + 5, 268435455, -1);
|
||||
var18 = var18 + var9 + var16;
|
||||
++var20;
|
||||
if (var20 >= var13) {
|
||||
var18 = var17 + 23;
|
||||
var19 = var19 + var6 + var8;
|
||||
var20 = 0;
|
||||
++var21;
|
||||
}
|
||||
}
|
||||
|
||||
if (var11) {
|
||||
var22 = var1.stringWidth(ItemContainer.worlds[Login.hoveredWorldIndex].activity) + 6;
|
||||
int var44 = var1.ascent + 8;
|
||||
var5 = MouseHandler.MouseHandler_y + 25;
|
||||
if (var44 + var5 > 480) {
|
||||
var5 = MouseHandler.MouseHandler_y - 25 - var44;
|
||||
}
|
||||
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(MouseHandler.MouseHandler_x - var22 / 2, var5, var22, var44, 16777120);
|
||||
Rasterizer2D.Rasterizer2D_drawRectangle(MouseHandler.MouseHandler_x - var22 / 2, var5, var22, var44, 0);
|
||||
var1.drawCentered(ItemContainer.worlds[Login.hoveredWorldIndex].activity, MouseHandler.MouseHandler_x, var5 + var1.ascent + 4, 0, -1);
|
||||
}
|
||||
break;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
class197.rasterProvider.drawFull(0, 0);
|
||||
} else {
|
||||
Login.leftTitleSprite.drawAt(Login.xPadding, 0);
|
||||
Fonts.rightTitleSprite.drawAt(Login.xPadding + 382, 0);
|
||||
WorldMapSectionType.logoSprite.drawAt(Login.xPadding + 382 - WorldMapSectionType.logoSprite.subWidth / 2, 18);
|
||||
if (Client.gameState == 0 || Client.gameState == 5) {
|
||||
var6 = 20;
|
||||
var0.drawCentered("RuneScape is loading - please wait...", Login.loginBoxX + 180, 245 - var6, 16777215, -1);
|
||||
var7 = 253 - var6;
|
||||
Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 152, var7, 304, 34, 9179409);
|
||||
Rasterizer2D.Rasterizer2D_drawRectangle(Login.loginBoxX + 180 - 151, var7 + 1, 302, 32, 0);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150, var7 + 2, Login.Login_loadingPercent * 3, 30, 9179409);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(Login.loginBoxX + 180 - 150 + Login.Login_loadingPercent * 3, var7 + 2, 300 - Login.Login_loadingPercent * 3, 30, 0);
|
||||
var0.drawCentered(Login.Login_loadingText, Login.loginBoxX + 180, 276 - var6, 16777215, -1);
|
||||
}
|
||||
|
||||
String var28;
|
||||
String var29;
|
||||
short var30;
|
||||
String var31;
|
||||
String var32;
|
||||
String var33;
|
||||
short var34;
|
||||
if (Client.gameState == 20) {
|
||||
Login.titleboxSprite.drawAt(Login.loginBoxX + 180 - Login.titleboxSprite.subWidth / 2, 271 - Login.titleboxSprite.subHeight / 2);
|
||||
var30 = 201;
|
||||
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var10 += 7;
|
||||
if (Login.loginIndex != 4) {
|
||||
var0.draw("Login: ", Login.loginBoxX + 180 - 110, var10, 16777215, 0);
|
||||
var34 = 200;
|
||||
if (ReflectionCheck.clientPreferences.hideUsername) {
|
||||
var29 = Login.Login_username;
|
||||
var28 = class168.method3450('*', var29.length());
|
||||
var31 = var28;
|
||||
} else {
|
||||
var31 = Login.Login_username;
|
||||
}
|
||||
|
||||
for (var31 = var31; var0.stringWidth(var31) > var34; var31 = var31.substring(0, var31.length() - 1)) {
|
||||
}
|
||||
|
||||
var0.draw(AbstractFont.escapeBrackets(var31), Login.loginBoxX + 180 - 70, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var29 = "Password: ";
|
||||
var32 = Login.Login_password;
|
||||
var33 = class168.method3450('*', var32.length());
|
||||
var0.draw(var29 + var33, Login.loginBoxX + 180 - 108, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
}
|
||||
}
|
||||
|
||||
if (Client.gameState == 10 || Client.gameState == 11) {
|
||||
Login.titleboxSprite.drawAt(Login.loginBoxX, 171);
|
||||
short var35;
|
||||
if (Login.loginIndex == 0) {
|
||||
var30 = 251;
|
||||
var0.drawCentered("Welcome to RuneScape", Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 30;
|
||||
var7 = Login.loginBoxX + 180 - 80;
|
||||
var35 = 291;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawLines("New User", var7 - 73, var35 - 20, 144, 40, 16777215, 0, 1, 1, 0);
|
||||
var7 = Login.loginBoxX + 180 + 80;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawLines("Existing User", var7 - 73, var35 - 20, 144, 40, 16777215, 0, 1, 1, 0);
|
||||
} else if (Login.loginIndex == 1) {
|
||||
var0.drawCentered(Login.Login_response0, Login.loginBoxX + 180, 201, 16776960, 0);
|
||||
var30 = 236;
|
||||
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16777215, 0);
|
||||
var10 = var30 + 15;
|
||||
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var7 = Login.loginBoxX + 180 - 80;
|
||||
var35 = 321;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawCentered("Continue", var7, var35 + 5, 16777215, 0);
|
||||
var7 = Login.loginBoxX + 180 + 80;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawCentered("Cancel", var7, var35 + 5, 16777215, 0);
|
||||
} else {
|
||||
IndexedSprite var42;
|
||||
if (Login.loginIndex == 2) {
|
||||
var30 = 201;
|
||||
var0.drawCentered(Login.Login_response1, Varps.loginBoxCenter, var30, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var0.drawCentered(Login.Login_response2, Varps.loginBoxCenter, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var0.drawCentered(Login.Login_response3, Varps.loginBoxCenter, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var10 += 7;
|
||||
var0.draw("Login: ", Varps.loginBoxCenter - 110, var10, 16777215, 0);
|
||||
var34 = 200;
|
||||
if (ReflectionCheck.clientPreferences.hideUsername) {
|
||||
var29 = Login.Login_username;
|
||||
var28 = class168.method3450('*', var29.length());
|
||||
var31 = var28;
|
||||
} else {
|
||||
var31 = Login.Login_username;
|
||||
}
|
||||
|
||||
for (var31 = var31; var0.stringWidth(var31) > var34; var31 = var31.substring(1)) {
|
||||
}
|
||||
|
||||
var0.draw(AbstractFont.escapeBrackets(var31) + (Login.currentLoginField == 0 & Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Varps.loginBoxCenter - 70, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var29 = "Password: ";
|
||||
var32 = Login.Login_password;
|
||||
var33 = class168.method3450('*', var32.length());
|
||||
var0.draw(var29 + var33 + (Login.currentLoginField == 1 & Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Varps.loginBoxCenter - 108, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var30 = 277;
|
||||
var4 = Varps.loginBoxCenter + -117;
|
||||
boolean var40 = Client.Login_isUsernameRemembered;
|
||||
var11 = Login.field468;
|
||||
var42 = var40 ? (var11 ? KeyHandler.options_buttons_6Sprite : class308.options_buttons_2Sprite) : (var11 ? GraphicsObject.options_buttons_4Sprite : Login.options_buttons_0Sprite);
|
||||
var42.drawAt(var4, var30);
|
||||
var4 = var4 + var42.subWidth + 5;
|
||||
var1.draw("Remember username", var4, var30 + 13, 16776960, 0);
|
||||
var4 = Varps.loginBoxCenter + 24;
|
||||
boolean var47 = ReflectionCheck.clientPreferences.hideUsername;
|
||||
boolean var45 = Login.field469;
|
||||
IndexedSprite var48 = var47 ? (var45 ? KeyHandler.options_buttons_6Sprite : class308.options_buttons_2Sprite) : (var45 ? GraphicsObject.options_buttons_4Sprite : Login.options_buttons_0Sprite);
|
||||
var48.drawAt(var4, var30);
|
||||
var4 = var4 + var48.subWidth + 5;
|
||||
var1.draw("Hide username", var4, var30 + 13, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var5 = Varps.loginBoxCenter - 80;
|
||||
short var49 = 321;
|
||||
titlebuttonSprite.drawAt(var5 - 73, var49 - 20);
|
||||
var0.drawCentered("Login", var5, var49 + 5, 16777215, 0);
|
||||
var5 = Varps.loginBoxCenter + 80;
|
||||
titlebuttonSprite.drawAt(var5 - 73, var49 - 20);
|
||||
var0.drawCentered("Cancel", var5, var49 + 5, 16777215, 0);
|
||||
var30 = 357;
|
||||
switch(Login.field467) {
|
||||
case 2:
|
||||
AttackOption.field31 = "Having trouble logging in?";
|
||||
break;
|
||||
default:
|
||||
AttackOption.field31 = "Can't login? Click here.";
|
||||
}
|
||||
|
||||
TilePaint.field907 = new Bounds(Varps.loginBoxCenter, var30, var1.stringWidth(AttackOption.field31), 11);
|
||||
UrlRequester.field930 = new Bounds(Varps.loginBoxCenter, var30, var1.stringWidth("Still having trouble logging in?"), 11);
|
||||
var1.drawCentered(AttackOption.field31, Varps.loginBoxCenter, var30, 16777215, 0);
|
||||
} else if (Login.loginIndex == 3) {
|
||||
var30 = 201;
|
||||
var0.drawCentered("Invalid credentials.", Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 20;
|
||||
var1.drawCentered("For accounts created after 24th November 2010, please use your", Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var1.drawCentered("email address to login. Otherwise please login with your username.", Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var7 = Login.loginBoxX + 180;
|
||||
var35 = 276;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var2.drawCentered("Try again", var7, var35 + 5, 16777215, 0);
|
||||
var7 = Login.loginBoxX + 180;
|
||||
var35 = 326;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var2.drawCentered("Forgotten password?", var7, var35 + 5, 16777215, 0);
|
||||
} else {
|
||||
String var36;
|
||||
if (Login.loginIndex == 4) {
|
||||
var0.drawCentered("Authenticator", Login.loginBoxX + 180, 201, 16776960, 0);
|
||||
var30 = 236;
|
||||
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16777215, 0);
|
||||
var10 = var30 + 15;
|
||||
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var36 = "PIN: ";
|
||||
var28 = Login.otp;
|
||||
var31 = class168.method3450('*', var28.length());
|
||||
var0.draw(var36 + var31 + (Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 108, var10, 16777215, 0);
|
||||
var10 -= 8;
|
||||
var0.draw("Trust this computer", Login.loginBoxX + 180 - 9, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var0.draw("for 30 days: ", Login.loginBoxX + 180 - 9, var10, 16776960, 0);
|
||||
var9 = Login.loginBoxX + 180 - 9 + var0.stringWidth("for 30 days: ") + 15;
|
||||
var3 = var10 - var0.ascent;
|
||||
if (Login.field470) {
|
||||
var42 = class308.options_buttons_2Sprite;
|
||||
} else {
|
||||
var42 = Login.options_buttons_0Sprite;
|
||||
}
|
||||
|
||||
var42.drawAt(var9, var3);
|
||||
var10 += 15;
|
||||
var4 = Login.loginBoxX + 180 - 80;
|
||||
short var46 = 321;
|
||||
titlebuttonSprite.drawAt(var4 - 73, var46 - 20);
|
||||
var0.drawCentered("Continue", var4, var46 + 5, 16777215, 0);
|
||||
var4 = Login.loginBoxX + 180 + 80;
|
||||
titlebuttonSprite.drawAt(var4 - 73, var46 - 20);
|
||||
var0.drawCentered("Cancel", var4, var46 + 5, 16777215, 0);
|
||||
var1.drawCentered("<u=ff>Can't Log In?</u>", Login.loginBoxX + 180, var46 + 36, 255, 0);
|
||||
} else {
|
||||
short var37;
|
||||
if (Login.loginIndex != 5) {
|
||||
if (Login.loginIndex == 6) {
|
||||
var30 = 201;
|
||||
var0.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var0.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var0.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var7 = Login.loginBoxX + 180;
|
||||
var35 = 321;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawCentered("Back", var7, var35 + 5, 16777215, 0);
|
||||
} else if (Login.loginIndex == 7) {
|
||||
var30 = 216;
|
||||
var0.drawCentered("Your date of birth isn't set.", Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var2.drawCentered("Please verify your account status by", Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var2.drawCentered("setting your date of birth.", Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var7 = Login.loginBoxX + 180 - 80;
|
||||
var35 = 321;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawCentered("Set Date of Birth", var7, var35 + 5, 16777215, 0);
|
||||
var7 = Login.loginBoxX + 180 + 80;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawCentered("Back", var7, var35 + 5, 16777215, 0);
|
||||
} else if (Login.loginIndex == 8) {
|
||||
var30 = 216;
|
||||
var0.drawCentered("Sorry, but your account is not eligible to play.", Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var2.drawCentered("For more information, please take a look at", Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var2.drawCentered("our privacy policy.", Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var7 = Login.loginBoxX + 180 - 80;
|
||||
var35 = 321;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawCentered("Privacy Policy", var7, var35 + 5, 16777215, 0);
|
||||
var7 = Login.loginBoxX + 180 + 80;
|
||||
titlebuttonSprite.drawAt(var7 - 73, var35 - 20);
|
||||
var0.drawCentered("Back", var7, var35 + 5, 16777215, 0);
|
||||
} else if (Login.loginIndex == 12) {
|
||||
var30 = 201;
|
||||
String var43 = "";
|
||||
var36 = "";
|
||||
var31 = "";
|
||||
switch(Login.field466) {
|
||||
case 0:
|
||||
var43 = "Your account has been disabled.";
|
||||
var36 = Strings.field880;
|
||||
var31 = "";
|
||||
break;
|
||||
case 1:
|
||||
var43 = "Account locked as we suspect it has been stolen.";
|
||||
var36 = Strings.field881;
|
||||
var31 = "";
|
||||
break;
|
||||
default:
|
||||
MouseHandler.method1084(false);
|
||||
}
|
||||
|
||||
var0.drawCentered(var43, Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var2.drawCentered(var36, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var2.drawCentered(var31, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var8 = Login.loginBoxX + 180;
|
||||
var37 = 276;
|
||||
titlebuttonSprite.drawAt(var8 - 73, var37 - 20);
|
||||
var0.drawCentered("Support Page", var8, var37 + 5, 16777215, 0);
|
||||
var8 = Login.loginBoxX + 180;
|
||||
var37 = 326;
|
||||
titlebuttonSprite.drawAt(var8 - 73, var37 - 20);
|
||||
var0.drawCentered("Back", var8, var37 + 5, 16777215, 0);
|
||||
}
|
||||
} else {
|
||||
var0.drawCentered("Forgotten your password?", Login.loginBoxX + 180, 201, 16776960, 0);
|
||||
var30 = 221;
|
||||
var2.drawCentered(Login.Login_response1, Login.loginBoxX + 180, var30, 16776960, 0);
|
||||
var10 = var30 + 15;
|
||||
var2.drawCentered(Login.Login_response2, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var2.drawCentered(Login.Login_response3, Login.loginBoxX + 180, var10, 16776960, 0);
|
||||
var10 += 15;
|
||||
var10 += 14;
|
||||
var0.draw("Username/email: ", Login.loginBoxX + 180 - 145, var10, 16777215, 0);
|
||||
var34 = 174;
|
||||
if (ReflectionCheck.clientPreferences.hideUsername) {
|
||||
var29 = Login.Login_username;
|
||||
var28 = class168.method3450('*', var29.length());
|
||||
var31 = var28;
|
||||
} else {
|
||||
var31 = Login.Login_username;
|
||||
}
|
||||
|
||||
for (var31 = var31; var0.stringWidth(var31) > var34; var31 = var31.substring(1)) {
|
||||
}
|
||||
|
||||
var0.draw(AbstractFont.escapeBrackets(var31) + (Client.cycle % 40 < 20 ? BufferedFile.colorStartTag(16776960) + "|" : ""), Login.loginBoxX + 180 - 34, var10, 16777215, 0);
|
||||
var10 += 15;
|
||||
var8 = Login.loginBoxX + 180 - 80;
|
||||
var37 = 321;
|
||||
titlebuttonSprite.drawAt(var8 - 73, var37 - 20);
|
||||
var0.drawCentered("Recover", var8, var37 + 5, 16777215, 0);
|
||||
var8 = Login.loginBoxX + 180 + 80;
|
||||
titlebuttonSprite.drawAt(var8 - 73, var37 - 20);
|
||||
var0.drawCentered("Back", var8, var37 + 5, 16777215, 0);
|
||||
var37 = 356;
|
||||
var1.drawCentered("Still having trouble logging in?", Varps.loginBoxCenter, var37, 268435455, 0);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
if (Client.gameState >= 10) {
|
||||
int[] var38 = new int[4];
|
||||
Rasterizer2D.Rasterizer2D_getClipArray(var38);
|
||||
Rasterizer2D.Rasterizer2D_setClip(Login.xPadding, 0, Login.xPadding + 765, Huffman.canvasHeight);
|
||||
class16.loginScreenRunesAnimation.method1782(Login.xPadding - 22, Client.cycle);
|
||||
class16.loginScreenRunesAnimation.method1782(Login.xPadding + 22 + 765 - 128, Client.cycle);
|
||||
Rasterizer2D.Rasterizer2D_setClipArray(var38);
|
||||
}
|
||||
|
||||
KeyHandler.title_muteSprite[ReflectionCheck.clientPreferences.titleMusicDisabled ? 1 : 0].drawAt(Login.xPadding + 765 - 40, 463);
|
||||
if (Client.gameState > 5 && Client.language == 0) {
|
||||
if (class277.field1144 != null) {
|
||||
var10 = Login.xPadding + 5;
|
||||
var34 = 463;
|
||||
byte var39 = 100;
|
||||
byte var41 = 35;
|
||||
class277.field1144.drawAt(var10, var34);
|
||||
var0.drawCentered("World " + Client.worldId, var39 / 2 + var10, var41 / 2 + var34 - 2, 16777215, 0);
|
||||
if (FriendLoginUpdate.field356 != null) {
|
||||
var1.drawCentered("Loading...", var39 / 2 + var10, var41 / 2 + var34 + 12, 16777215, 0);
|
||||
} else {
|
||||
var1.drawCentered("Click to switch", var39 / 2 + var10, var41 / 2 + var34 + 12, 16777215, 0);
|
||||
}
|
||||
} else {
|
||||
class277.field1144 = MenuAction.loadIndexedSpriteByName(WorldMapSection3.archive8, "sl_button", "");
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
}
|
||||
}
|
||||
@@ -81,7 +81,7 @@ public enum AttackOption implements Enumerated {
|
||||
signature = "(Ljava/lang/CharSequence;Ljava/lang/CharSequence;II)I",
|
||||
garbageValue = "-189314181"
|
||||
)
|
||||
public static int method2033(CharSequence var0, CharSequence var1, int var2) {
|
||||
public static int method2033(CharSequence var0, CharSequence var1, int language) {
|
||||
int var3 = var0.length();
|
||||
int var4 = var1.length();
|
||||
int var5 = 0;
|
||||
@@ -146,13 +146,13 @@ public enum AttackOption implements Enumerated {
|
||||
}
|
||||
|
||||
var8 = var12;
|
||||
var9 = class12.method155(var9, var2);
|
||||
var14 = class12.method155(var14, var2);
|
||||
var9 = GrandExchangeOfferAgeComparator.method155(var9, language);
|
||||
var14 = GrandExchangeOfferAgeComparator.method155(var14, language);
|
||||
if (var9 != var14 && Character.toUpperCase(var9) != Character.toUpperCase(var14)) {
|
||||
var9 = Character.toLowerCase(var9);
|
||||
var14 = Character.toLowerCase(var14);
|
||||
if (var14 != var9) {
|
||||
return CollisionMap.method3631(var9, var2) - CollisionMap.method3631(var14, var2);
|
||||
return CollisionMap.method3631(var9, language) - CollisionMap.method3631(var14, language);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -168,7 +168,7 @@ public enum AttackOption implements Enumerated {
|
||||
var19 = Character.toLowerCase(var19);
|
||||
var18 = Character.toLowerCase(var18);
|
||||
if (var19 != var18) {
|
||||
return CollisionMap.method3631(var19, var2) - CollisionMap.method3631(var18, var2);
|
||||
return CollisionMap.method3631(var19, language) - CollisionMap.method3631(var18, language);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -181,7 +181,7 @@ public enum AttackOption implements Enumerated {
|
||||
var18 = var0.charAt(var20);
|
||||
char var13 = var1.charAt(var20);
|
||||
if (var18 != var13) {
|
||||
return CollisionMap.method3631(var18, var2) - CollisionMap.method3631(var13, var2);
|
||||
return CollisionMap.method3631(var18, language) - CollisionMap.method3631(var13, language);
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -60,35 +60,35 @@ public class AudioFilter {
|
||||
field32[var1][0] = -2.0F * var3 * (float)Math.cos((double)this.method25(var1, 0, var2));
|
||||
field32[var1][1] = var3 * var3;
|
||||
|
||||
float[] var10000;
|
||||
int var4;
|
||||
for (var4 = 1; var4 < this.field36[var1]; ++var4) {
|
||||
var3 = this.method24(var1, var4, var2);
|
||||
float var5 = -2.0F * var3 * (float)Math.cos((double)this.method25(var1, var4, var2));
|
||||
float var6 = var3 * var3;
|
||||
field32[var1][var4 * 2 + 1] = field32[var1][var4 * 2 - 1] * var6;
|
||||
field32[var1][var4 * 2] = field32[var1][var4 * 2 - 1] * var5 + field32[var1][var4 * 2 - 2] * var6;
|
||||
float[] var4;
|
||||
int var5;
|
||||
for (var5 = 1; var5 < this.field36[var1]; ++var5) {
|
||||
var3 = this.method24(var1, var5, var2);
|
||||
float var6 = -2.0F * var3 * (float)Math.cos((double)this.method25(var1, var5, var2));
|
||||
float var7 = var3 * var3;
|
||||
field32[var1][var5 * 2 + 1] = field32[var1][var5 * 2 - 1] * var7;
|
||||
field32[var1][var5 * 2] = field32[var1][var5 * 2 - 1] * var6 + field32[var1][var5 * 2 - 2] * var7;
|
||||
|
||||
for (int var7 = var4 * 2 - 1; var7 >= 2; --var7) {
|
||||
var10000 = field32[var1];
|
||||
var10000[var7] += field32[var1][var7 - 1] * var5 + field32[var1][var7 - 2] * var6;
|
||||
for (int var8 = var5 * 2 - 1; var8 >= 2; --var8) {
|
||||
var4 = field32[var1];
|
||||
var4[var8] += field32[var1][var8 - 1] * var6 + field32[var1][var8 - 2] * var7;
|
||||
}
|
||||
|
||||
var10000 = field32[var1];
|
||||
var10000[1] += field32[var1][0] * var5 + var6;
|
||||
var10000 = field32[var1];
|
||||
var10000[0] += var5;
|
||||
var4 = field32[var1];
|
||||
var4[1] += field32[var1][0] * var6 + var7;
|
||||
var4 = field32[var1];
|
||||
var4[0] += var6;
|
||||
}
|
||||
|
||||
if (var1 == 0) {
|
||||
for (var4 = 0; var4 < this.field36[0] * 2; ++var4) {
|
||||
var10000 = field32[0];
|
||||
var10000[var4] *= field34;
|
||||
for (var5 = 0; var5 < this.field36[0] * 2; ++var5) {
|
||||
var4 = field32[0];
|
||||
var4[var5] *= field34;
|
||||
}
|
||||
}
|
||||
|
||||
for (var4 = 0; var4 < this.field36[var1] * 2; ++var4) {
|
||||
field33[var1][var4] = (int)(field32[var1][var4] * 65536.0F);
|
||||
for (var5 = 0; var5 < this.field36[var1] * 2; ++var5) {
|
||||
field33[var1][var5] = (int)(field32[var1][var5] * 65536.0F);
|
||||
}
|
||||
|
||||
return this.field36[var1] * 2;
|
||||
|
||||
@@ -101,7 +101,7 @@ public final class BoundaryObject {
|
||||
Client.showMouseOverText = !Client.showMouseOverText;
|
||||
}
|
||||
|
||||
if (Client.rights >= 2) {
|
||||
if (Client.staffModLevel >= 2) {
|
||||
if (var0.equalsIgnoreCase("errortest")) {
|
||||
throw new RuntimeException();
|
||||
}
|
||||
|
||||
@@ -130,8 +130,7 @@ public class Bounds {
|
||||
return this.field42 + this.field44;
|
||||
}
|
||||
|
||||
@ObfuscatedName("toString")
|
||||
public String method35() {
|
||||
public String toString() {
|
||||
return null;
|
||||
}
|
||||
|
||||
|
||||
@@ -11,8 +11,8 @@ public class Buddy extends User {
|
||||
@ObfuscatedGetter(
|
||||
intValue = 429472919
|
||||
)
|
||||
@Export("world0")
|
||||
public int world0;
|
||||
@Export("world")
|
||||
public int world;
|
||||
@ObfuscatedName("u")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 120689297
|
||||
@@ -27,7 +27,7 @@ public class Buddy extends User {
|
||||
public int rank;
|
||||
|
||||
Buddy() {
|
||||
this.world0 = -1;
|
||||
this.world = -1;
|
||||
}
|
||||
|
||||
@ObfuscatedName("an")
|
||||
@@ -37,7 +37,7 @@ public class Buddy extends User {
|
||||
)
|
||||
@Export("set")
|
||||
void set(int var1, int var2) {
|
||||
this.world0 = var1;
|
||||
this.world = var1;
|
||||
this.int2 = var2;
|
||||
}
|
||||
|
||||
@@ -46,9 +46,9 @@ public class Buddy extends User {
|
||||
signature = "(B)I",
|
||||
garbageValue = "0"
|
||||
)
|
||||
@Export("world")
|
||||
public int world() {
|
||||
return this.world0;
|
||||
@Export("getWorld")
|
||||
public int getWorld() {
|
||||
return this.world;
|
||||
}
|
||||
|
||||
@ObfuscatedName("au")
|
||||
@@ -58,7 +58,7 @@ public class Buddy extends User {
|
||||
)
|
||||
@Export("hasWorld")
|
||||
public boolean hasWorld() {
|
||||
return this.world0 > 0;
|
||||
return this.world > 0;
|
||||
}
|
||||
|
||||
@ObfuscatedName("ff")
|
||||
|
||||
@@ -1,19 +1,23 @@
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("fw")
|
||||
public class class157 extends AbstractUserComparator {
|
||||
@Implements("BuddyRankComparator")
|
||||
public class BuddyRankComparator extends AbstractUserComparator {
|
||||
@ObfuscatedName("nm")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1006519291
|
||||
)
|
||||
static int field1114;
|
||||
@ObfuscatedName("m")
|
||||
final boolean field1969;
|
||||
@Export("reversed")
|
||||
final boolean reversed;
|
||||
|
||||
public class157(boolean var1) {
|
||||
this.field1969 = var1;
|
||||
public BuddyRankComparator(boolean var1) {
|
||||
this.reversed = var1;
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -21,12 +25,13 @@ public class class157 extends AbstractUserComparator {
|
||||
signature = "(Lke;Lke;I)I",
|
||||
garbageValue = "884616259"
|
||||
)
|
||||
int method3381(Buddy var1, Buddy var2) {
|
||||
return var2.rank != var1.rank ? (this.field1969 ? var1.rank - var2.rank : var2.rank - var1.rank) : this.method12(var1, var2);
|
||||
@Export("compareBuddy")
|
||||
int compareBuddy(Buddy var1, Buddy var2) {
|
||||
return var2.rank != var1.rank ? (this.reversed ? var1.rank - var2.rank : var2.rank - var1.rank) : this.compareUser(var1, var2);
|
||||
}
|
||||
|
||||
public int compare(Object var1, Object var2) {
|
||||
return this.method3381((Buddy)var1, (Buddy)var2);
|
||||
return this.compareBuddy((Buddy)var1, (Buddy)var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("s")
|
||||
@@ -51,8 +51,8 @@ public class Buffer extends Node {
|
||||
garbageValue = "-654332799"
|
||||
)
|
||||
@Export("writeByte")
|
||||
public void writeByte(int var1) {
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
public void writeByte(int value) {
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
}
|
||||
|
||||
@ObfuscatedName("w")
|
||||
@@ -61,9 +61,9 @@ public class Buffer extends Node {
|
||||
garbageValue = "0"
|
||||
)
|
||||
@Export("writeShort")
|
||||
public void writeShort(int var1) {
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 8);
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
public void writeShort(int value) {
|
||||
this.array[++this.index - 1] = (byte)(value >> 8);
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
}
|
||||
|
||||
@ObfuscatedName("o")
|
||||
@@ -72,10 +72,10 @@ public class Buffer extends Node {
|
||||
garbageValue = "-26"
|
||||
)
|
||||
@Export("writeMedium")
|
||||
public void writeMedium(int var1) {
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 16);
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 8);
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
public void writeMedium(int value) {
|
||||
this.array[++this.index - 1] = (byte)(value >> 16);
|
||||
this.array[++this.index - 1] = (byte)(value >> 8);
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
}
|
||||
|
||||
@ObfuscatedName("u")
|
||||
@@ -84,11 +84,11 @@ public class Buffer extends Node {
|
||||
garbageValue = "-106996411"
|
||||
)
|
||||
@Export("writeInt")
|
||||
public void writeInt(int var1) {
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 24);
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 16);
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 8);
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
public void writeInt(int value) {
|
||||
this.array[++this.index - 1] = (byte)(value >> 24);
|
||||
this.array[++this.index - 1] = (byte)(value >> 16);
|
||||
this.array[++this.index - 1] = (byte)(value >> 8);
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
}
|
||||
|
||||
@ObfuscatedName("g")
|
||||
@@ -121,8 +121,8 @@ public class Buffer extends Node {
|
||||
garbageValue = "-125"
|
||||
)
|
||||
@Export("writeBoolean")
|
||||
public void writeBoolean(boolean var1) {
|
||||
this.writeByte(var1 ? 1 : 0);
|
||||
public void writeBoolean(boolean value) {
|
||||
this.writeByte(value ? 1 : 0);
|
||||
}
|
||||
|
||||
@ObfuscatedName("d")
|
||||
@@ -131,12 +131,12 @@ public class Buffer extends Node {
|
||||
garbageValue = "-9"
|
||||
)
|
||||
@Export("writeStringCp1252NullTerminated")
|
||||
public void writeStringCp1252NullTerminated(String var1) {
|
||||
int var2 = var1.indexOf(0);
|
||||
public void writeStringCp1252NullTerminated(String string) {
|
||||
int var2 = string.indexOf(0);
|
||||
if (var2 >= 0) {
|
||||
throw new IllegalArgumentException("");
|
||||
} else {
|
||||
this.index += SoundCache.encodeStringCp1252(var1, 0, var1.length(), this.array, this.index);
|
||||
this.index += SoundCache.encodeStringCp1252(string, 0, string.length(), this.array, this.index);
|
||||
this.array[++this.index - 1] = 0;
|
||||
}
|
||||
}
|
||||
@@ -147,13 +147,13 @@ public class Buffer extends Node {
|
||||
garbageValue = "22356"
|
||||
)
|
||||
@Export("writeStringCp1252NullCircumfixed")
|
||||
public void writeStringCp1252NullCircumfixed(String var1) {
|
||||
int var2 = var1.indexOf(0);
|
||||
public void writeStringCp1252NullCircumfixed(String string) {
|
||||
int var2 = string.indexOf(0);
|
||||
if (var2 >= 0) {
|
||||
throw new IllegalArgumentException("");
|
||||
} else {
|
||||
this.array[++this.index - 1] = 0;
|
||||
this.index += SoundCache.encodeStringCp1252(var1, 0, var1.length(), this.array, this.index);
|
||||
this.index += SoundCache.encodeStringCp1252(string, 0, string.length(), this.array, this.index);
|
||||
this.array[++this.index - 1] = 0;
|
||||
}
|
||||
}
|
||||
@@ -232,15 +232,15 @@ public class Buffer extends Node {
|
||||
garbageValue = "1324532803"
|
||||
)
|
||||
@Export("writeSmartByteShort")
|
||||
public void writeSmartByteShort(int var1) {
|
||||
if (var1 >= 0 && var1 < 128) {
|
||||
this.writeByte(var1);
|
||||
public void writeSmartByteShort(int value) {
|
||||
if (value >= 0 && value < 128) {
|
||||
this.writeByte(value);
|
||||
} else {
|
||||
if (var1 < 0 || var1 >= 32768) {
|
||||
if (value < 0 || value >= 32768) {
|
||||
throw new IllegalArgumentException();
|
||||
}
|
||||
|
||||
this.writeShort(var1 + 32768);
|
||||
this.writeShort(value + 32768);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -388,7 +388,7 @@ public class Buffer extends Node {
|
||||
}
|
||||
|
||||
int var2 = this.index - var1 - 1;
|
||||
return var2 == 0 ? "" : WidgetGroupParent.decodeStringCp1252(this.array, var1, var2);
|
||||
return var2 == 0 ? "" : InterfaceParent.decodeStringCp1252(this.array, var1, var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("ak")
|
||||
@@ -408,7 +408,7 @@ public class Buffer extends Node {
|
||||
}
|
||||
|
||||
int var3 = this.index - var2 - 1;
|
||||
return var3 == 0 ? "" : WidgetGroupParent.decodeStringCp1252(this.array, var2, var3);
|
||||
return var3 == 0 ? "" : InterfaceParent.decodeStringCp1252(this.array, var2, var3);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -578,7 +578,7 @@ public class Buffer extends Node {
|
||||
garbageValue = "36"
|
||||
)
|
||||
@Export("xteaEncryptAll")
|
||||
public void xteaEncryptAll(int[] var1) {
|
||||
public void xteaEncryptAll(int[] xteaKey) {
|
||||
int var2 = this.index / 8;
|
||||
this.index = 0;
|
||||
|
||||
@@ -588,8 +588,8 @@ public class Buffer extends Node {
|
||||
int var6 = 0;
|
||||
int var7 = -1640531527;
|
||||
|
||||
for (int var8 = 32; var8-- > 0; var5 += var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6) {
|
||||
var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3];
|
||||
for (int var8 = 32; var8-- > 0; var5 += var4 + (var4 << 4 ^ var4 >>> 5) ^ xteaKey[var6 >>> 11 & 3] + var6) {
|
||||
var4 += var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + xteaKey[var6 & 3];
|
||||
var6 += var7;
|
||||
}
|
||||
|
||||
@@ -606,7 +606,7 @@ public class Buffer extends Node {
|
||||
garbageValue = "1682045100"
|
||||
)
|
||||
@Export("xteaDecryptAll")
|
||||
public void xteaDecryptAll(int[] var1) {
|
||||
public void xteaDecryptAll(int[] xteaKey) {
|
||||
int var2 = this.index / 8;
|
||||
this.index = 0;
|
||||
|
||||
@@ -616,8 +616,8 @@ public class Buffer extends Node {
|
||||
int var6 = -957401312;
|
||||
int var7 = -1640531527;
|
||||
|
||||
for (int var8 = 32; var8-- > 0; var4 -= var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + var1[var6 & 3]) {
|
||||
var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ var1[var6 >>> 11 & 3] + var6;
|
||||
for (int var8 = 32; var8-- > 0; var4 -= var5 + (var5 << 4 ^ var5 >>> 5) ^ var6 + xteaKey[var6 & 3]) {
|
||||
var5 -= var4 + (var4 << 4 ^ var4 >>> 5) ^ xteaKey[var6 >>> 11 & 3] + var6;
|
||||
var6 -= var7;
|
||||
}
|
||||
|
||||
@@ -634,10 +634,10 @@ public class Buffer extends Node {
|
||||
garbageValue = "-1341435074"
|
||||
)
|
||||
@Export("xteaEncrypt")
|
||||
public void xteaEncrypt(int[] var1, int var2, int var3) {
|
||||
public void xteaEncrypt(int[] xteaKey, int start, int end) {
|
||||
int var4 = this.index;
|
||||
this.index = var2;
|
||||
int var5 = (var3 - var2) / 8;
|
||||
this.index = start;
|
||||
int var5 = (end - start) / 8;
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6) {
|
||||
int var7 = this.readInt();
|
||||
@@ -645,8 +645,8 @@ public class Buffer extends Node {
|
||||
int var9 = 0;
|
||||
int var10 = -1640531527;
|
||||
|
||||
for (int var11 = 32; var11-- > 0; var8 += var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9) {
|
||||
var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3];
|
||||
for (int var11 = 32; var11-- > 0; var8 += var7 + (var7 << 4 ^ var7 >>> 5) ^ xteaKey[var9 >>> 11 & 3] + var9) {
|
||||
var7 += var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + xteaKey[var9 & 3];
|
||||
var9 += var10;
|
||||
}
|
||||
|
||||
@@ -664,10 +664,10 @@ public class Buffer extends Node {
|
||||
garbageValue = "307218624"
|
||||
)
|
||||
@Export("xteaDecrypt")
|
||||
public void xteaDecrypt(int[] var1, int var2, int var3) {
|
||||
public void xteaDecrypt(int[] xteaKey, int start, int end) {
|
||||
int var4 = this.index;
|
||||
this.index = var2;
|
||||
int var5 = (var3 - var2) / 8;
|
||||
this.index = start;
|
||||
int var5 = (end - start) / 8;
|
||||
|
||||
for (int var6 = 0; var6 < var5; ++var6) {
|
||||
int var7 = this.readInt();
|
||||
@@ -675,8 +675,8 @@ public class Buffer extends Node {
|
||||
int var9 = -957401312;
|
||||
int var10 = -1640531527;
|
||||
|
||||
for (int var11 = 32; var11-- > 0; var7 -= var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + var1[var9 & 3]) {
|
||||
var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ var1[var9 >>> 11 & 3] + var9;
|
||||
for (int var11 = 32; var11-- > 0; var7 -= var8 + (var8 << 4 ^ var8 >>> 5) ^ var9 + xteaKey[var9 & 3]) {
|
||||
var8 -= var7 + (var7 << 4 ^ var7 >>> 5) ^ xteaKey[var9 >>> 11 & 3] + var9;
|
||||
var9 -= var10;
|
||||
}
|
||||
|
||||
@@ -835,9 +835,9 @@ public class Buffer extends Node {
|
||||
garbageValue = "51"
|
||||
)
|
||||
@Export("writeShortLE")
|
||||
public void writeShortLE(int var1) {
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 8);
|
||||
public void writeShortLE(int value) {
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
this.array[++this.index - 1] = (byte)(value >> 8);
|
||||
}
|
||||
|
||||
@ObfuscatedName("bo")
|
||||
@@ -936,11 +936,11 @@ public class Buffer extends Node {
|
||||
garbageValue = "78"
|
||||
)
|
||||
@Export("writeIntLE")
|
||||
public void writeIntLE(int var1) {
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 8);
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 16);
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 24);
|
||||
public void writeIntLE(int value) {
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
this.array[++this.index - 1] = (byte)(value >> 8);
|
||||
this.array[++this.index - 1] = (byte)(value >> 16);
|
||||
this.array[++this.index - 1] = (byte)(value >> 24);
|
||||
}
|
||||
|
||||
@ObfuscatedName("bz")
|
||||
@@ -949,11 +949,11 @@ public class Buffer extends Node {
|
||||
garbageValue = "80"
|
||||
)
|
||||
@Export("writeIntME")
|
||||
public void writeIntME(int var1) {
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 8);
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 24);
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 16);
|
||||
public void writeIntME(int value) {
|
||||
this.array[++this.index - 1] = (byte)(value >> 8);
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
this.array[++this.index - 1] = (byte)(value >> 24);
|
||||
this.array[++this.index - 1] = (byte)(value >> 16);
|
||||
}
|
||||
|
||||
@ObfuscatedName("bg")
|
||||
@@ -962,11 +962,11 @@ public class Buffer extends Node {
|
||||
garbageValue = "2115295559"
|
||||
)
|
||||
@Export("writeIntLE16")
|
||||
public void writeIntLE16(int var1) {
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 16);
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 24);
|
||||
this.array[++this.index - 1] = (byte)var1;
|
||||
this.array[++this.index - 1] = (byte)(var1 >> 8);
|
||||
public void writeIntLE16(int value) {
|
||||
this.array[++this.index - 1] = (byte)(value >> 16);
|
||||
this.array[++this.index - 1] = (byte)(value >> 24);
|
||||
this.array[++this.index - 1] = (byte)value;
|
||||
this.array[++this.index - 1] = (byte)(value >> 8);
|
||||
}
|
||||
|
||||
@ObfuscatedName("bt")
|
||||
|
||||
@@ -91,11 +91,11 @@ public class BufferedFile {
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@Export("seek")
|
||||
public void seek(long var1) throws IOException {
|
||||
if (var1 < 0L) {
|
||||
public void seek(long index) throws IOException {
|
||||
if (index < 0L) {
|
||||
throw new IOException("");
|
||||
} else {
|
||||
this.field51 = var1;
|
||||
this.field51 = index;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -115,8 +115,8 @@ public class BufferedFile {
|
||||
garbageValue = "617965847"
|
||||
)
|
||||
@Export("readFill")
|
||||
public void readFill(byte[] var1) throws IOException {
|
||||
this.read(var1, 0, var1.length);
|
||||
public void readFill(byte[] dst) throws IOException {
|
||||
this.read(dst, 0, dst.length);
|
||||
}
|
||||
|
||||
@ObfuscatedName("o")
|
||||
@@ -125,69 +125,69 @@ public class BufferedFile {
|
||||
garbageValue = "-35"
|
||||
)
|
||||
@Export("read")
|
||||
public void read(byte[] var1, int var2, int var3) throws IOException {
|
||||
public void read(byte[] dst, int dstIndex, int length) throws IOException {
|
||||
try {
|
||||
if (var3 + var2 > var1.length) {
|
||||
throw new ArrayIndexOutOfBoundsException(var3 + var2 - var1.length);
|
||||
if (length + dstIndex > dst.length) {
|
||||
throw new ArrayIndexOutOfBoundsException(length + dstIndex - dst.length);
|
||||
}
|
||||
|
||||
if (-1L != this.field49 && this.field51 >= this.field49 && this.field51 + (long)var3 <= this.field49 + (long)this.field50) {
|
||||
System.arraycopy(this.writeBuffer, (int)(this.field51 - this.field49), var1, var2, var3);
|
||||
this.field51 += (long)var3;
|
||||
if (-1L != this.field49 && this.field51 >= this.field49 && this.field51 + (long)length <= this.field49 + (long)this.field50) {
|
||||
System.arraycopy(this.writeBuffer, (int)(this.field51 - this.field49), dst, dstIndex, length);
|
||||
this.field51 += (long)length;
|
||||
return;
|
||||
}
|
||||
|
||||
long var4 = this.field51;
|
||||
int var6 = var3;
|
||||
int var6 = length;
|
||||
int var7;
|
||||
if (this.field51 >= this.field47 && this.field51 < this.field47 + (long)this.field48) {
|
||||
var7 = (int)((long)this.field48 - (this.field51 - this.field47));
|
||||
if (var7 > var3) {
|
||||
var7 = var3;
|
||||
if (var7 > length) {
|
||||
var7 = length;
|
||||
}
|
||||
|
||||
System.arraycopy(this.readBuffer, (int)(this.field51 - this.field47), var1, var2, var7);
|
||||
System.arraycopy(this.readBuffer, (int)(this.field51 - this.field47), dst, dstIndex, var7);
|
||||
this.field51 += (long)var7;
|
||||
var2 += var7;
|
||||
var3 -= var7;
|
||||
dstIndex += var7;
|
||||
length -= var7;
|
||||
}
|
||||
|
||||
if (var3 > this.readBuffer.length) {
|
||||
if (length > this.readBuffer.length) {
|
||||
this.accessFile.seek(this.field51);
|
||||
|
||||
for (this.field53 = this.field51; var3 > 0; var3 -= var7) {
|
||||
var7 = this.accessFile.read(var1, var2, var3);
|
||||
for (this.field53 = this.field51; length > 0; length -= var7) {
|
||||
var7 = this.accessFile.read(dst, dstIndex, length);
|
||||
if (var7 == -1) {
|
||||
break;
|
||||
}
|
||||
|
||||
this.field53 += (long)var7;
|
||||
this.field51 += (long)var7;
|
||||
var2 += var7;
|
||||
dstIndex += var7;
|
||||
}
|
||||
} else if (var3 > 0) {
|
||||
} else if (length > 0) {
|
||||
this.load();
|
||||
var7 = var3;
|
||||
if (var3 > this.field48) {
|
||||
var7 = length;
|
||||
if (length > this.field48) {
|
||||
var7 = this.field48;
|
||||
}
|
||||
|
||||
System.arraycopy(this.readBuffer, 0, var1, var2, var7);
|
||||
var2 += var7;
|
||||
var3 -= var7;
|
||||
System.arraycopy(this.readBuffer, 0, dst, dstIndex, var7);
|
||||
dstIndex += var7;
|
||||
length -= var7;
|
||||
this.field51 += (long)var7;
|
||||
}
|
||||
|
||||
if (-1L != this.field49) {
|
||||
if (this.field49 > this.field51 && var3 > 0) {
|
||||
var7 = var2 + (int)(this.field49 - this.field51);
|
||||
if (var7 > var3 + var2) {
|
||||
var7 = var3 + var2;
|
||||
if (this.field49 > this.field51 && length > 0) {
|
||||
var7 = dstIndex + (int)(this.field49 - this.field51);
|
||||
if (var7 > length + dstIndex) {
|
||||
var7 = length + dstIndex;
|
||||
}
|
||||
|
||||
while (var2 < var7) {
|
||||
var1[var2++] = 0;
|
||||
--var3;
|
||||
while (dstIndex < var7) {
|
||||
dst[dstIndex++] = 0;
|
||||
--length;
|
||||
++this.field51;
|
||||
}
|
||||
}
|
||||
@@ -208,9 +208,9 @@ public class BufferedFile {
|
||||
|
||||
if (var8 > -1L && var10 > var8) {
|
||||
int var12 = (int)(var10 - var8);
|
||||
System.arraycopy(this.writeBuffer, (int)(var8 - this.field49), var1, (int)(var8 - var4) + var2, var12);
|
||||
System.arraycopy(this.writeBuffer, (int)(var8 - this.field49), dst, (int)(var8 - var4) + dstIndex, var12);
|
||||
if (var10 > this.field51) {
|
||||
var3 = (int)((long)var3 - (var10 - this.field51));
|
||||
length = (int)((long)length - (var10 - this.field51));
|
||||
this.field51 = var10;
|
||||
}
|
||||
}
|
||||
@@ -220,7 +220,7 @@ public class BufferedFile {
|
||||
throw var13;
|
||||
}
|
||||
|
||||
if (var3 > 0) {
|
||||
if (length > 0) {
|
||||
throw new EOFException();
|
||||
}
|
||||
}
|
||||
@@ -256,34 +256,34 @@ public class BufferedFile {
|
||||
garbageValue = "-601174169"
|
||||
)
|
||||
@Export("write")
|
||||
public void write(byte[] var1, int var2, int var3) throws IOException {
|
||||
public void write(byte[] src, int srcIndex, int length) throws IOException {
|
||||
try {
|
||||
if (this.field51 + (long)var3 > this.capacity) {
|
||||
this.capacity = this.field51 + (long)var3;
|
||||
if (this.field51 + (long)length > this.capacity) {
|
||||
this.capacity = this.field51 + (long)length;
|
||||
}
|
||||
|
||||
if (-1L != this.field49 && (this.field51 < this.field49 || this.field51 > this.field49 + (long)this.field50)) {
|
||||
this.flush();
|
||||
}
|
||||
|
||||
if (this.field49 != -1L && (long)var3 + this.field51 > this.field49 + (long)this.writeBuffer.length) {
|
||||
if (this.field49 != -1L && (long)length + this.field51 > this.field49 + (long)this.writeBuffer.length) {
|
||||
int var4 = (int)((long)this.writeBuffer.length - (this.field51 - this.field49));
|
||||
System.arraycopy(var1, var2, this.writeBuffer, (int)(this.field51 - this.field49), var4);
|
||||
System.arraycopy(src, srcIndex, this.writeBuffer, (int)(this.field51 - this.field49), var4);
|
||||
this.field51 += (long)var4;
|
||||
var2 += var4;
|
||||
var3 -= var4;
|
||||
srcIndex += var4;
|
||||
length -= var4;
|
||||
this.field50 = this.writeBuffer.length;
|
||||
this.flush();
|
||||
}
|
||||
|
||||
if (var3 <= this.writeBuffer.length) {
|
||||
if (var3 > 0) {
|
||||
if (length <= this.writeBuffer.length) {
|
||||
if (length > 0) {
|
||||
if (this.field49 == -1L) {
|
||||
this.field49 = this.field51;
|
||||
}
|
||||
|
||||
System.arraycopy(var1, var2, this.writeBuffer, (int)(this.field51 - this.field49), var3);
|
||||
this.field51 += (long)var3;
|
||||
System.arraycopy(src, srcIndex, this.writeBuffer, (int)(this.field51 - this.field49), length);
|
||||
this.field51 += (long)length;
|
||||
if (this.field51 - this.field49 > (long)this.field50) {
|
||||
this.field50 = (int)(this.field51 - this.field49);
|
||||
}
|
||||
@@ -294,8 +294,8 @@ public class BufferedFile {
|
||||
this.field53 = this.field51;
|
||||
}
|
||||
|
||||
this.accessFile.write(var1, var2, var3);
|
||||
this.field53 += (long)var3;
|
||||
this.accessFile.write(src, srcIndex, length);
|
||||
this.field53 += (long)length;
|
||||
if (this.field53 > this.field52) {
|
||||
this.field52 = this.field53;
|
||||
}
|
||||
@@ -304,22 +304,22 @@ public class BufferedFile {
|
||||
long var6 = -1L;
|
||||
if (this.field51 >= this.field47 && this.field51 < (long)this.field48 + this.field47) {
|
||||
var10 = this.field51;
|
||||
} else if (this.field47 >= this.field51 && this.field47 < (long)var3 + this.field51) {
|
||||
} else if (this.field47 >= this.field51 && this.field47 < (long)length + this.field51) {
|
||||
var10 = this.field47;
|
||||
}
|
||||
|
||||
if (this.field51 + (long)var3 > this.field47 && (long)var3 + this.field51 <= (long)this.field48 + this.field47) {
|
||||
var6 = this.field51 + (long)var3;
|
||||
} else if ((long)this.field48 + this.field47 > this.field51 && this.field47 + (long)this.field48 <= (long)var3 + this.field51) {
|
||||
if (this.field51 + (long)length > this.field47 && (long)length + this.field51 <= (long)this.field48 + this.field47) {
|
||||
var6 = this.field51 + (long)length;
|
||||
} else if ((long)this.field48 + this.field47 > this.field51 && this.field47 + (long)this.field48 <= (long)length + this.field51) {
|
||||
var6 = (long)this.field48 + this.field47;
|
||||
}
|
||||
|
||||
if (var10 > -1L && var6 > var10) {
|
||||
int var8 = (int)(var6 - var10);
|
||||
System.arraycopy(var1, (int)(var10 + (long)var2 - this.field51), this.readBuffer, (int)(var10 - this.field47), var8);
|
||||
System.arraycopy(src, (int)(var10 + (long)srcIndex - this.field51), this.readBuffer, (int)(var10 - this.field47), var8);
|
||||
}
|
||||
|
||||
this.field51 += (long)var3;
|
||||
this.field51 += (long)length;
|
||||
}
|
||||
|
||||
} catch (IOException var9) {
|
||||
@@ -387,8 +387,8 @@ public class BufferedFile {
|
||||
garbageValue = "-792629541"
|
||||
)
|
||||
@Export("colorStartTag")
|
||||
static String colorStartTag(int var0) {
|
||||
return "<col=" + Integer.toHexString(var0) + ">";
|
||||
static String colorStartTag(int color) {
|
||||
return "<col=" + Integer.toHexString(color) + ">";
|
||||
}
|
||||
|
||||
@ObfuscatedName("er")
|
||||
|
||||
@@ -40,8 +40,8 @@ public class BufferedNetSocket extends AbstractSocket {
|
||||
garbageValue = "1765046516"
|
||||
)
|
||||
@Export("isAvailable")
|
||||
public boolean isAvailable(int var1) throws IOException {
|
||||
return this.source.isAvailable(var1);
|
||||
public boolean isAvailable(int length) throws IOException {
|
||||
return this.source.isAvailable(length);
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@@ -70,8 +70,8 @@ public class BufferedNetSocket extends AbstractSocket {
|
||||
garbageValue = "-1089665746"
|
||||
)
|
||||
@Export("read")
|
||||
public int read(byte[] var1, int var2, int var3) throws IOException {
|
||||
return this.source.read(var1, var2, var3);
|
||||
public int read(byte[] dst, int dstIndex, int length) throws IOException {
|
||||
return this.source.read(dst, dstIndex, length);
|
||||
}
|
||||
|
||||
@ObfuscatedName("u")
|
||||
@@ -80,8 +80,8 @@ public class BufferedNetSocket extends AbstractSocket {
|
||||
garbageValue = "-86"
|
||||
)
|
||||
@Export("write")
|
||||
public void write(byte[] var1, int var2, int var3) throws IOException {
|
||||
this.sink.write(var1, var2, var3);
|
||||
public void write(byte[] src, int srcIndex, int length) throws IOException {
|
||||
this.sink.write(src, srcIndex, length);
|
||||
}
|
||||
|
||||
@ObfuscatedName("g")
|
||||
|
||||
@@ -40,8 +40,8 @@ public class BufferedSink implements Runnable {
|
||||
@Export("exception")
|
||||
IOException exception;
|
||||
@ObfuscatedName("l")
|
||||
@Export("isClosed0")
|
||||
boolean isClosed0;
|
||||
@Export("closed")
|
||||
boolean closed;
|
||||
|
||||
BufferedSink(OutputStream var1, int var2) {
|
||||
this.position = 0;
|
||||
@@ -61,7 +61,7 @@ public class BufferedSink implements Runnable {
|
||||
)
|
||||
@Export("isClosed")
|
||||
boolean isClosed() {
|
||||
if (this.isClosed0) {
|
||||
if (this.closed) {
|
||||
try {
|
||||
this.outputStream.close();
|
||||
if (this.exception == null) {
|
||||
@@ -85,8 +85,8 @@ public class BufferedSink implements Runnable {
|
||||
garbageValue = "0"
|
||||
)
|
||||
@Export("write")
|
||||
void write(byte[] var1, int var2, int var3) throws IOException {
|
||||
if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) {
|
||||
void write(byte[] src, int srcIndex, int length) throws IOException {
|
||||
if (length >= 0 && srcIndex >= 0 && length + srcIndex <= src.length) {
|
||||
synchronized(this) {
|
||||
if (this.exception != null) {
|
||||
throw new IOException(this.exception.toString());
|
||||
@@ -98,18 +98,18 @@ public class BufferedSink implements Runnable {
|
||||
var5 = this.position - this.limit - 1;
|
||||
}
|
||||
|
||||
if (var5 < var3) {
|
||||
if (var5 < length) {
|
||||
throw new IOException("");
|
||||
} else {
|
||||
if (var3 + this.limit <= this.capacity) {
|
||||
System.arraycopy(var1, var2, this.buffer, this.limit, var3);
|
||||
if (length + this.limit <= this.capacity) {
|
||||
System.arraycopy(src, srcIndex, this.buffer, this.limit, length);
|
||||
} else {
|
||||
int var6 = this.capacity - this.limit;
|
||||
System.arraycopy(var1, var2, this.buffer, this.limit, var6);
|
||||
System.arraycopy(var1, var6 + var2, this.buffer, 0, var3 - var6);
|
||||
System.arraycopy(src, srcIndex, this.buffer, this.limit, var6);
|
||||
System.arraycopy(src, var6 + srcIndex, this.buffer, 0, length - var6);
|
||||
}
|
||||
|
||||
this.limit = (var3 + this.limit) % this.capacity;
|
||||
this.limit = (length + this.limit) % this.capacity;
|
||||
this.notifyAll();
|
||||
}
|
||||
}
|
||||
@@ -127,7 +127,7 @@ public class BufferedSink implements Runnable {
|
||||
@Export("close")
|
||||
void close() {
|
||||
synchronized(this) {
|
||||
this.isClosed0 = true;
|
||||
this.closed = true;
|
||||
this.notifyAll();
|
||||
}
|
||||
|
||||
@@ -138,33 +138,33 @@ public class BufferedSink implements Runnable {
|
||||
|
||||
}
|
||||
|
||||
@Export("run")
|
||||
@ObfuscatedName("run")
|
||||
public void run() {
|
||||
while (true) {
|
||||
synchronized(this){}
|
||||
synchronized(this) {
|
||||
;
|
||||
}
|
||||
|
||||
while (true) {
|
||||
boolean var13 = false;
|
||||
boolean var1 = false;
|
||||
|
||||
int var1;
|
||||
int var2;
|
||||
try {
|
||||
var13 = true;
|
||||
var1 = true;
|
||||
if (this.exception != null) {
|
||||
return;
|
||||
}
|
||||
|
||||
if (this.position <= this.limit) {
|
||||
var1 = this.limit - this.position;
|
||||
var2 = this.limit - this.position;
|
||||
} else {
|
||||
var1 = this.capacity - this.position + this.limit;
|
||||
var2 = this.capacity - this.position + this.limit;
|
||||
}
|
||||
|
||||
if (var1 <= 0) {
|
||||
if (var2 <= 0) {
|
||||
try {
|
||||
this.outputStream.flush();
|
||||
} catch (IOException var17) {
|
||||
this.exception = var17;
|
||||
} catch (IOException var20) {
|
||||
this.exception = var20;
|
||||
return;
|
||||
}
|
||||
|
||||
@@ -179,31 +179,31 @@ public class BufferedSink implements Runnable {
|
||||
continue;
|
||||
}
|
||||
|
||||
var13 = false;
|
||||
var1 = false;
|
||||
} finally {
|
||||
if (var13) {
|
||||
;
|
||||
if (var1) {
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
try {
|
||||
if (var1 + this.position <= this.capacity) {
|
||||
this.outputStream.write(this.buffer, this.position, var1);
|
||||
} else {
|
||||
int var2 = this.capacity - this.position;
|
||||
if (var2 + this.position <= this.capacity) {
|
||||
this.outputStream.write(this.buffer, this.position, var2);
|
||||
this.outputStream.write(this.buffer, 0, var1 - var2);
|
||||
} else {
|
||||
int var3 = this.capacity - this.position;
|
||||
this.outputStream.write(this.buffer, this.position, var3);
|
||||
this.outputStream.write(this.buffer, 0, var2 - var3);
|
||||
}
|
||||
} catch (IOException var16) {
|
||||
IOException var3 = var16;
|
||||
} catch (IOException var17) {
|
||||
IOException var4 = var17;
|
||||
synchronized(this) {
|
||||
this.exception = var3;
|
||||
this.exception = var4;
|
||||
return;
|
||||
}
|
||||
}
|
||||
|
||||
synchronized(this) {
|
||||
this.position = (var1 + this.position) % this.capacity;
|
||||
this.position = (var2 + this.position) % this.capacity;
|
||||
}
|
||||
|
||||
if (!this.isClosed()) {
|
||||
@@ -221,13 +221,13 @@ public class BufferedSink implements Runnable {
|
||||
garbageValue = "449588720"
|
||||
)
|
||||
static void method3603() {
|
||||
Tiles.field908 = (byte[][][])null;
|
||||
Fonts.field350 = (byte[][][])null;
|
||||
class32.field1157 = (byte[][][])null;
|
||||
class307.field1155 = (byte[][][])null;
|
||||
Tiles.field910 = (int[][][])null;
|
||||
Tiles.field909 = (byte[][][])null;
|
||||
Huffman.field398 = (int[][])null;
|
||||
Tiles.field908 = ((byte[][][])null);
|
||||
Fonts.field350 = ((byte[][][])null);
|
||||
class32.field1157 = ((byte[][][])null);
|
||||
class307.field1155 = ((byte[][][])null);
|
||||
Tiles.field910 = ((int[][][])null);
|
||||
Tiles.field909 = ((byte[][][])null);
|
||||
Huffman.field398 = ((int[][])null);
|
||||
class13.field1112 = null;
|
||||
Formatting.field353 = null;
|
||||
class214.field1131 = null;
|
||||
|
||||
@@ -14,7 +14,7 @@ public class BufferedSource implements Runnable {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lir;"
|
||||
)
|
||||
public static AbstractIndexCache field54;
|
||||
public static AbstractArchive field54;
|
||||
@ObfuscatedName("m")
|
||||
@Export("thread")
|
||||
Thread thread;
|
||||
@@ -63,10 +63,10 @@ public class BufferedSource implements Runnable {
|
||||
garbageValue = "1727240458"
|
||||
)
|
||||
@Export("isAvailable")
|
||||
boolean isAvailable(int var1) throws IOException {
|
||||
if (var1 == 0) {
|
||||
boolean isAvailable(int length) throws IOException {
|
||||
if (length == 0) {
|
||||
return true;
|
||||
} else if (var1 > 0 && var1 < this.capacity) {
|
||||
} else if (length > 0 && length < this.capacity) {
|
||||
synchronized(this) {
|
||||
int var3;
|
||||
if (this.position <= this.limit) {
|
||||
@@ -75,7 +75,7 @@ public class BufferedSource implements Runnable {
|
||||
var3 = this.capacity - this.position + this.limit;
|
||||
}
|
||||
|
||||
if (var3 < var1) {
|
||||
if (var3 < length) {
|
||||
if (this.exception != null) {
|
||||
throw new IOException(this.exception.toString());
|
||||
} else {
|
||||
@@ -144,8 +144,8 @@ public class BufferedSource implements Runnable {
|
||||
garbageValue = "-37"
|
||||
)
|
||||
@Export("read")
|
||||
int read(byte[] var1, int var2, int var3) throws IOException {
|
||||
if (var3 >= 0 && var2 >= 0 && var3 + var2 <= var1.length) {
|
||||
int read(byte[] dst, int dstIndex, int length) throws IOException {
|
||||
if (length >= 0 && dstIndex >= 0 && length + dstIndex <= dst.length) {
|
||||
synchronized(this) {
|
||||
int var5;
|
||||
if (this.position <= this.limit) {
|
||||
@@ -154,24 +154,24 @@ public class BufferedSource implements Runnable {
|
||||
var5 = this.capacity - this.position + this.limit;
|
||||
}
|
||||
|
||||
if (var3 > var5) {
|
||||
var3 = var5;
|
||||
if (length > var5) {
|
||||
length = var5;
|
||||
}
|
||||
|
||||
if (var3 == 0 && this.exception != null) {
|
||||
if (length == 0 && this.exception != null) {
|
||||
throw new IOException(this.exception.toString());
|
||||
} else {
|
||||
if (var3 + this.position <= this.capacity) {
|
||||
System.arraycopy(this.buffer, this.position, var1, var2, var3);
|
||||
if (length + this.position <= this.capacity) {
|
||||
System.arraycopy(this.buffer, this.position, dst, dstIndex, length);
|
||||
} else {
|
||||
int var6 = this.capacity - this.position;
|
||||
System.arraycopy(this.buffer, this.position, var1, var2, var6);
|
||||
System.arraycopy(this.buffer, 0, var1, var6 + var2, var3 - var6);
|
||||
System.arraycopy(this.buffer, this.position, dst, dstIndex, var6);
|
||||
System.arraycopy(this.buffer, 0, dst, var6 + dstIndex, length - var6);
|
||||
}
|
||||
|
||||
this.position = (var3 + this.position) % this.capacity;
|
||||
this.position = (length + this.position) % this.capacity;
|
||||
this.notifyAll();
|
||||
return var3;
|
||||
return length;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
@@ -201,8 +201,6 @@ public class BufferedSource implements Runnable {
|
||||
|
||||
}
|
||||
|
||||
@Export("run")
|
||||
@ObfuscatedName("run")
|
||||
public void run() {
|
||||
while (true) {
|
||||
int var1;
|
||||
|
||||
@@ -40,8 +40,8 @@ public class ByteArrayPool {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lit;"
|
||||
)
|
||||
@Export("indexCache13")
|
||||
static IndexCache indexCache13;
|
||||
@Export("archive13")
|
||||
static Archive archive13;
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
|
||||
@@ -292,49 +292,49 @@ public final class Bzip2Decompressor {
|
||||
}
|
||||
|
||||
int var33;
|
||||
int var50;
|
||||
for (var50 = 0; var50 < var28; ++var50) {
|
||||
var33 = method3708(5, var0);
|
||||
int var52;
|
||||
for (var33 = 0; var33 < var28; ++var33) {
|
||||
var52 = method3708(5, var0);
|
||||
|
||||
for (var25 = 0; var25 < var27; ++var25) {
|
||||
while (true) {
|
||||
var24 = method3711(var0);
|
||||
if (var24 == 0) {
|
||||
var0.field88[var50][var25] = (byte)var33;
|
||||
var0.field88[var33][var25] = (byte)var52;
|
||||
break;
|
||||
}
|
||||
|
||||
var24 = method3711(var0);
|
||||
if (var24 == 0) {
|
||||
++var33;
|
||||
++var52;
|
||||
} else {
|
||||
--var33;
|
||||
--var52;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (var50 = 0; var50 < var28; ++var50) {
|
||||
byte var51 = 32;
|
||||
byte var34 = 0;
|
||||
for (var33 = 0; var33 < var28; ++var33) {
|
||||
byte var34 = 32;
|
||||
byte var35 = 0;
|
||||
|
||||
for (var25 = 0; var25 < var27; ++var25) {
|
||||
if (var0.field88[var50][var25] > var34) {
|
||||
var34 = var0.field88[var50][var25];
|
||||
if (var0.field88[var33][var25] > var35) {
|
||||
var35 = var0.field88[var33][var25];
|
||||
}
|
||||
|
||||
if (var0.field88[var50][var25] < var51) {
|
||||
var51 = var0.field88[var50][var25];
|
||||
if (var0.field88[var33][var25] < var34) {
|
||||
var34 = var0.field88[var33][var25];
|
||||
}
|
||||
}
|
||||
|
||||
method3706(var0.field89[var50], var0.field90[var50], var0.field91[var50], var0.field88[var50], var51, var34, var27);
|
||||
var0.field92[var50] = var51;
|
||||
method3706(var0.field89[var33], var0.field90[var33], var0.field91[var33], var0.field88[var33], var34, var35, var27);
|
||||
var0.field92[var33] = var34;
|
||||
}
|
||||
|
||||
var33 = var0.field80 + 1;
|
||||
int var52 = -1;
|
||||
byte var35 = 0;
|
||||
var52 = var0.field80 + 1;
|
||||
int var53 = -1;
|
||||
byte var54 = 0;
|
||||
|
||||
for (var25 = 0; var25 <= 255; ++var25) {
|
||||
var0.field77[var25] = 0;
|
||||
@@ -355,17 +355,17 @@ public final class Bzip2Decompressor {
|
||||
|
||||
int var39 = 0;
|
||||
byte var40;
|
||||
if (var35 == 0) {
|
||||
++var52;
|
||||
var35 = 50;
|
||||
var40 = var0.field86[var52];
|
||||
if (var54 == 0) {
|
||||
++var53;
|
||||
var54 = 50;
|
||||
var40 = var0.field86[var53];
|
||||
var19 = var0.field92[var40];
|
||||
var20 = var0.field89[var40];
|
||||
var22 = var0.field91[var40];
|
||||
var21 = var0.field90[var40];
|
||||
}
|
||||
|
||||
int var41 = var35 - 1;
|
||||
int var41 = var54 - 1;
|
||||
int var42 = var19;
|
||||
|
||||
int var43;
|
||||
@@ -378,46 +378,46 @@ public final class Bzip2Decompressor {
|
||||
int var45 = var22[var43 - var21[var42]];
|
||||
|
||||
while (true) {
|
||||
int[] var10000;
|
||||
int var54;
|
||||
while (var45 != var33) {
|
||||
int var46;
|
||||
int var47;
|
||||
int[] var46;
|
||||
int var48;
|
||||
while (var45 != var52) {
|
||||
int var49;
|
||||
if (var45 != 0 && var45 != 1) {
|
||||
var46 = var45 - 1;
|
||||
int var48;
|
||||
if (var46 < 16) {
|
||||
var47 = var0.field85[0];
|
||||
var48 = var45 - 1;
|
||||
int var10003;
|
||||
int var50;
|
||||
if (var48 < 16) {
|
||||
var49 = var0.field85[0];
|
||||
|
||||
for (var24 = var0.field84[var47 + var46]; var46 > 3; var46 -= 4) {
|
||||
var48 = var47 + var46;
|
||||
var0.field84[var48] = var0.field84[var48 - 1];
|
||||
var0.field84[var48 - 1] = var0.field84[var48 - 2];
|
||||
var0.field84[var48 - 2] = var0.field84[var48 - 3];
|
||||
var0.field84[var48 - 3] = var0.field84[var48 - 4];
|
||||
for (var24 = var0.field84[var49 + var48]; var48 > 3; var48 -= 4) {
|
||||
var50 = var49 + var48;
|
||||
var0.field84[var50] = var0.field84[var50 - 1];
|
||||
var0.field84[var50 - 1] = var0.field84[var50 - 2];
|
||||
var0.field84[var50 - 2] = var0.field84[var50 - 3];
|
||||
var0.field84[var50 - 3] = var0.field84[var50 - 4];
|
||||
}
|
||||
|
||||
while (var46 > 0) {
|
||||
var0.field84[var47 + var46] = var0.field84[var47 + var46 - 1];
|
||||
--var46;
|
||||
while (var48 > 0) {
|
||||
var0.field84[var49 + var48] = var0.field84[var49 + var48 - 1];
|
||||
--var48;
|
||||
}
|
||||
|
||||
var0.field84[var47] = var24;
|
||||
var0.field84[var49] = var24;
|
||||
} else {
|
||||
var48 = var46 / 16;
|
||||
int var49 = var46 % 16;
|
||||
var47 = var0.field85[var48] + var49;
|
||||
var50 = var48 / 16;
|
||||
int var51 = var48 % 16;
|
||||
var49 = var0.field85[var50] + var51;
|
||||
|
||||
for (var24 = var0.field84[var47]; var47 > var0.field85[var48]; --var47) {
|
||||
var0.field84[var47] = var0.field84[var47 - 1];
|
||||
for (var24 = var0.field84[var49]; var49 > var0.field85[var50]; --var49) {
|
||||
var0.field84[var49] = var0.field84[var49 - 1];
|
||||
}
|
||||
|
||||
for (var54 = var0.field85[var48]++; var48 > 0; --var48) {
|
||||
var54 = var0.field85[var48]--;
|
||||
var0.field84[var0.field85[var48]] = var0.field84[var0.field85[var48 - 1] + 16 - 1];
|
||||
for (var10003 = var0.field85[var50]++; var50 > 0; --var50) {
|
||||
var10003 = var0.field85[var50]--;
|
||||
var0.field84[var0.field85[var50]] = var0.field84[var0.field85[var50 - 1] + 16 - 1];
|
||||
}
|
||||
|
||||
var54 = var0.field85[0]--;
|
||||
var10003 = var0.field85[0]--;
|
||||
var0.field84[var0.field85[0]] = var24;
|
||||
if (var0.field85[0] == 0) {
|
||||
var36 = 4095;
|
||||
@@ -433,13 +433,13 @@ public final class Bzip2Decompressor {
|
||||
}
|
||||
}
|
||||
|
||||
var54 = var0.field77[var0.field83[var24 & 255] & 255]++;
|
||||
var10003 = var0.field77[var0.field83[var24 & 255] & 255]++;
|
||||
WorldMapSection0.field1056[var39] = var0.field83[var24 & 255] & 255;
|
||||
++var39;
|
||||
if (var41 == 0) {
|
||||
++var52;
|
||||
++var53;
|
||||
var41 = 50;
|
||||
var40 = var0.field86[var52];
|
||||
var40 = var0.field86[var53];
|
||||
var19 = var0.field92[var40];
|
||||
var20 = var0.field89[var40];
|
||||
var22 = var0.field91[var40];
|
||||
@@ -456,21 +456,21 @@ public final class Bzip2Decompressor {
|
||||
|
||||
var45 = var22[var43 - var21[var42]];
|
||||
} else {
|
||||
var46 = -1;
|
||||
var47 = 1;
|
||||
var48 = -1;
|
||||
var49 = 1;
|
||||
|
||||
do {
|
||||
if (var45 == 0) {
|
||||
var46 += var47;
|
||||
var48 += var49;
|
||||
} else if (var45 == 1) {
|
||||
var46 += var47 * 2;
|
||||
var48 += var49 * 2;
|
||||
}
|
||||
|
||||
var47 *= 2;
|
||||
var49 *= 2;
|
||||
if (var41 == 0) {
|
||||
++var52;
|
||||
++var53;
|
||||
var41 = 50;
|
||||
var40 = var0.field86[var52];
|
||||
var40 = var0.field86[var53];
|
||||
var19 = var0.field92[var40];
|
||||
var20 = var0.field89[var40];
|
||||
var22 = var0.field91[var40];
|
||||
@@ -488,11 +488,11 @@ public final class Bzip2Decompressor {
|
||||
var45 = var22[var43 - var21[var42]];
|
||||
} while(var45 == 0 || var45 == 1);
|
||||
|
||||
++var46;
|
||||
++var48;
|
||||
var24 = var0.field83[var0.field84[var0.field85[0]] & 255];
|
||||
var10000 = var0.field77;
|
||||
var46 = var0.field77;
|
||||
|
||||
for (var10000[var24 & 255] += var46; var46 > 0; --var46) {
|
||||
for (var46[var24 & 255] += var48; var48 > 0; --var48) {
|
||||
WorldMapSection0.field1056[var39] = var24 & 255;
|
||||
++var39;
|
||||
}
|
||||
@@ -508,16 +508,16 @@ public final class Bzip2Decompressor {
|
||||
}
|
||||
|
||||
for (var25 = 1; var25 <= 256; ++var25) {
|
||||
var10000 = var0.field79;
|
||||
var10000[var25] += var0.field79[var25 - 1];
|
||||
var46 = var0.field79;
|
||||
var46[var25] += var0.field79[var25 - 1];
|
||||
}
|
||||
|
||||
for (var25 = 0; var25 < var39; ++var25) {
|
||||
var24 = (byte)(WorldMapSection0.field1056[var25] & 255);
|
||||
var10000 = WorldMapSection0.field1056;
|
||||
int var53 = var0.field79[var24 & 255];
|
||||
var10000[var53] |= var25 << 8;
|
||||
var54 = var0.field79[var24 & 255]++;
|
||||
var46 = WorldMapSection0.field1056;
|
||||
var48 = var0.field79[var24 & 255];
|
||||
var46[var48] |= var25 << 8;
|
||||
++var0.field79[var24 & 255];
|
||||
}
|
||||
|
||||
var0.field75 = WorldMapSection0.field1056[var0.field74] >> 8;
|
||||
|
||||
@@ -118,7 +118,7 @@ public final class Canvas extends java.awt.Canvas {
|
||||
static int method861(int var0, Script var1, boolean var2) {
|
||||
int var3;
|
||||
int var4;
|
||||
Widget var6;
|
||||
Widget var5;
|
||||
if (var0 == ScriptOpcodes.CC_CREATE) {
|
||||
RouteStrategy.Interpreter_intStackSize -= 3;
|
||||
var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize];
|
||||
@@ -127,62 +127,62 @@ public final class Canvas extends java.awt.Canvas {
|
||||
if (var4 == 0) {
|
||||
throw new RuntimeException();
|
||||
} else {
|
||||
var6 = Huffman.getWidget(var3);
|
||||
if (var6.children == null) {
|
||||
var6.children = new Widget[var9 + 1];
|
||||
var5 = Huffman.getWidget(var3);
|
||||
if (var5.children == null) {
|
||||
var5.children = new Widget[var9 + 1];
|
||||
}
|
||||
|
||||
if (var6.children.length <= var9) {
|
||||
if (var5.children.length <= var9) {
|
||||
Widget[] var7 = new Widget[var9 + 1];
|
||||
|
||||
for (int var8 = 0; var8 < var6.children.length; ++var8) {
|
||||
var7[var8] = var6.children[var8];
|
||||
for (int var8 = 0; var8 < var5.children.length; ++var8) {
|
||||
var7[var8] = var5.children[var8];
|
||||
}
|
||||
|
||||
var6.children = var7;
|
||||
var5.children = var7;
|
||||
}
|
||||
|
||||
if (var9 > 0 && var6.children[var9 - 1] == null) {
|
||||
if (var9 > 0 && var5.children[var9 - 1] == null) {
|
||||
throw new RuntimeException("" + (var9 - 1));
|
||||
} else {
|
||||
Widget var10 = new Widget();
|
||||
var10.type = var4;
|
||||
var10.parentId = var10.id = var6.id;
|
||||
var10.parentId = var10.id = var5.id;
|
||||
var10.childIndex = var9;
|
||||
var10.isIf3 = true;
|
||||
var6.children[var9] = var10;
|
||||
var5.children[var9] = var10;
|
||||
if (var2) {
|
||||
WorldMapIcon1.field1030 = var10;
|
||||
} else {
|
||||
class12.field1111 = var10;
|
||||
GrandExchangeOfferAgeComparator.field1111 = var10;
|
||||
}
|
||||
|
||||
class22.method295(var6);
|
||||
class22.method295(var5);
|
||||
return 1;
|
||||
}
|
||||
}
|
||||
} else {
|
||||
Widget var5;
|
||||
Widget var6;
|
||||
if (var0 == ScriptOpcodes.CC_DELETE) {
|
||||
var5 = var2 ? WorldMapIcon1.field1030 : class12.field1111;
|
||||
var6 = Huffman.getWidget(var5.id);
|
||||
var6.children[var5.childIndex] = null;
|
||||
class22.method295(var6);
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CC_DELETEALL) {
|
||||
var5 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]);
|
||||
var5.children = null;
|
||||
var6 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111;
|
||||
var5 = Huffman.getWidget(var6.id);
|
||||
var5.children[var6.childIndex] = null;
|
||||
class22.method295(var5);
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CC_DELETEALL) {
|
||||
var6 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]);
|
||||
var6.children = null;
|
||||
class22.method295(var6);
|
||||
return 1;
|
||||
} else if (var0 != ScriptOpcodes.CC_FIND) {
|
||||
if (var0 == ScriptOpcodes.IF_FIND) {
|
||||
var5 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]);
|
||||
if (var5 != null) {
|
||||
var6 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]);
|
||||
if (var6 != null) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1;
|
||||
if (var2) {
|
||||
WorldMapIcon1.field1030 = var5;
|
||||
WorldMapIcon1.field1030 = var6;
|
||||
} else {
|
||||
class12.field1111 = var5;
|
||||
GrandExchangeOfferAgeComparator.field1111 = var6;
|
||||
}
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0;
|
||||
@@ -196,13 +196,13 @@ public final class Canvas extends java.awt.Canvas {
|
||||
RouteStrategy.Interpreter_intStackSize -= 2;
|
||||
var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize];
|
||||
var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1];
|
||||
var6 = class204.getWidgetChild(var3, var4);
|
||||
if (var6 != null && var4 != -1) {
|
||||
var5 = class204.getWidgetChild(var3, var4);
|
||||
if (var5 != null && var4 != -1) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1;
|
||||
if (var2) {
|
||||
WorldMapIcon1.field1030 = var6;
|
||||
WorldMapIcon1.field1030 = var5;
|
||||
} else {
|
||||
class12.field1111 = var6;
|
||||
GrandExchangeOfferAgeComparator.field1111 = var5;
|
||||
}
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0;
|
||||
@@ -218,12 +218,12 @@ public final class Canvas extends java.awt.Canvas {
|
||||
signature = "(ILir;Ljava/lang/String;Ljava/lang/String;IZS)V",
|
||||
garbageValue = "-9124"
|
||||
)
|
||||
public static void method858(int var0, AbstractIndexCache var1, String var2, String var3, int var4, boolean var5) {
|
||||
int var6 = var1.getArchiveId(var2);
|
||||
int var7 = var1.getRecordId(var6, var3);
|
||||
public static void method858(int var0, AbstractArchive var1, String groupName, String fileName, int var4, boolean var5) {
|
||||
int var6 = var1.getGroupId(groupName);
|
||||
int var7 = var1.getFileId(var6, fileName);
|
||||
class214.field1129 = 1;
|
||||
class214.field1130 = var1;
|
||||
class30.musicTrackArchiveId = var6;
|
||||
class30.musicTrackGroupId = var6;
|
||||
GrandExchangeOffer.musicTrackFileId = var7;
|
||||
WorldMapLabel.field1039 = var4;
|
||||
RectangleMode.musicTrackBoolean = var5;
|
||||
@@ -243,7 +243,7 @@ public final class Canvas extends java.awt.Canvas {
|
||||
|
||||
if (var0.hitpoints == 0) {
|
||||
if (var0.field903 < 0 || VarbitDefinition.method4910(var0.field903, var0.field905)) {
|
||||
ParamKeyDefinition.method4933(var0.level, var0.type, var0.x, var0.y, var0.field903, var0.field904, var0.field905);
|
||||
ParamDefinition.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.field903, var0.field904, var0.field905);
|
||||
var0.remove();
|
||||
}
|
||||
} else {
|
||||
@@ -252,7 +252,7 @@ public final class Canvas extends java.awt.Canvas {
|
||||
}
|
||||
|
||||
if (var0.delay == 0 && var0.x >= 1 && var0.y >= 1 && var0.x <= 102 && var0.y <= 102 && (var0.id < 0 || VarbitDefinition.method4910(var0.id, var0.field908))) {
|
||||
ParamKeyDefinition.method4933(var0.level, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field908);
|
||||
ParamDefinition.addPendingSpawnToScene(var0.plane, var0.type, var0.x, var0.y, var0.id, var0.orientation, var0.field908);
|
||||
var0.delay = -1;
|
||||
if (var0.field903 == var0.id && var0.field903 == -1) {
|
||||
var0.remove();
|
||||
|
||||
@@ -30,7 +30,7 @@ public class ChatChannel {
|
||||
garbageValue = "463993373"
|
||||
)
|
||||
@Export("addMessage")
|
||||
Message addMessage(int var1, String var2, String var3, String var4) {
|
||||
Message addMessage(int type, String sender, String text, String prefix) {
|
||||
Message var5 = this.messages[99];
|
||||
|
||||
for (int var6 = this.count; var6 > 0; --var6) {
|
||||
@@ -40,11 +40,11 @@ public class ChatChannel {
|
||||
}
|
||||
|
||||
if (var5 == null) {
|
||||
var5 = new Message(var1, var2, var4, var3);
|
||||
var5 = new Message(type, sender, prefix, text);
|
||||
} else {
|
||||
var5.remove();
|
||||
var5.removeDual();
|
||||
var5.set(var1, var2, var4, var3);
|
||||
var5.set(type, sender, prefix, text);
|
||||
}
|
||||
|
||||
this.messages[0] = var5;
|
||||
@@ -61,8 +61,8 @@ public class ChatChannel {
|
||||
garbageValue = "-195254780"
|
||||
)
|
||||
@Export("getMessage")
|
||||
Message getMessage(int var1) {
|
||||
return var1 >= 0 && var1 < this.count ? this.messages[var1] : null;
|
||||
Message getMessage(int index) {
|
||||
return index >= 0 && index < this.count ? this.messages[index] : null;
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@@ -80,7 +80,8 @@ public class ChatChannel {
|
||||
signature = "(CI)Z",
|
||||
garbageValue = "-1857344803"
|
||||
)
|
||||
public static boolean method2238(char var0) {
|
||||
@Export("isCharPrintable")
|
||||
public static boolean isCharPrintable(char var0) {
|
||||
return var0 >= ' ' && var0 <= '~' ? true : (var0 >= 160 && var0 <= 255 ? true : var0 == 8364 || var0 == 338 || var0 == 8212 || var0 == 339 || var0 == 376);
|
||||
}
|
||||
|
||||
@@ -317,7 +318,7 @@ public class ChatChannel {
|
||||
|
||||
if (var0.isIf3) {
|
||||
if (Client.isSpellSelected) {
|
||||
if (WorldComparator.method58(class1.getWidgetClickMask(var0)) && (FloorDecoration.selectedSpellFlags & 32) == 32) {
|
||||
if (GrandExchangeOfferWorldComparator.method58(class1.getWidgetClickMask(var0)) && (FloorDecoration.selectedSpellFlags & 32) == 32) {
|
||||
Tiles.insertMenuItemNoShift(Client.selectedSpellActionName, Client.selectedSpellName + " -> " + var0.dataText, 58, 0, var0.childIndex, var0.id);
|
||||
}
|
||||
} else {
|
||||
|
||||
@@ -26,7 +26,8 @@ public class ClanChat extends UserList {
|
||||
@Export("owner")
|
||||
public String owner;
|
||||
@ObfuscatedName("k")
|
||||
public byte field96;
|
||||
@Export("minKick")
|
||||
public byte minKick;
|
||||
@ObfuscatedName("n")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1534670751
|
||||
@@ -95,9 +96,9 @@ public class ClanChat extends UserList {
|
||||
garbageValue = "455791964"
|
||||
)
|
||||
@Export("readUpdate")
|
||||
public final void readUpdate(Buffer var1) {
|
||||
this.method77(var1.readStringCp1252NullTerminated());
|
||||
long var2 = var1.readLong();
|
||||
public final void readUpdate(Buffer buffer) {
|
||||
this.method77(buffer.readStringCp1252NullTerminated());
|
||||
long var2 = buffer.readLong();
|
||||
long var4 = var2;
|
||||
String var6;
|
||||
int var7;
|
||||
@@ -126,17 +127,17 @@ public class ClanChat extends UserList {
|
||||
}
|
||||
|
||||
this.method76(var6);
|
||||
this.field96 = var1.readByte();
|
||||
var7 = var1.readUnsignedByte();
|
||||
this.minKick = buffer.readByte();
|
||||
var7 = buffer.readUnsignedByte();
|
||||
if (var7 != 255) {
|
||||
this.clear();
|
||||
|
||||
for (int var12 = 0; var12 < var7; ++var12) {
|
||||
ClanMate var13 = (ClanMate)this.addLastNoPreviousUsername(new Username(var1.readStringCp1252NullTerminated(), this.loginType));
|
||||
int var10 = var1.readUnsignedShort();
|
||||
ClanMate var13 = (ClanMate)this.addLastNoPreviousUsername(new Username(buffer.readStringCp1252NullTerminated(), this.loginType));
|
||||
int var10 = buffer.readUnsignedShort();
|
||||
var13.set(var10, ++this.field97 - 1);
|
||||
var13.rank = var1.readByte();
|
||||
var1.readStringCp1252NullTerminated();
|
||||
var13.rank = buffer.readByte();
|
||||
buffer.readStringCp1252NullTerminated();
|
||||
this.method79(var13);
|
||||
}
|
||||
}
|
||||
@@ -164,7 +165,7 @@ public class ClanChat extends UserList {
|
||||
}
|
||||
|
||||
var6 = (ClanMate)this.getByCurrentUsername(var2);
|
||||
if (var6 != null && var6.world() == var3) {
|
||||
if (var6 != null && var6.getWorld() == var3) {
|
||||
this.remove(var6);
|
||||
}
|
||||
} else {
|
||||
@@ -217,7 +218,7 @@ public class ClanChat extends UserList {
|
||||
garbageValue = "-128608554"
|
||||
)
|
||||
final void method79(ClanMate var1) {
|
||||
if (var1.username().equals(this.localUser.username())) {
|
||||
if (var1.getUsername().equals(this.localUser.username())) {
|
||||
this.rank = var1.rank;
|
||||
}
|
||||
|
||||
|
||||
@@ -55,7 +55,7 @@ public class ClanMate extends Buddy {
|
||||
)
|
||||
@Export("fillIsFriend")
|
||||
void fillIsFriend() {
|
||||
this.isFriend0 = WorldMapArea.friendSystem.friendsList.contains(super.username0) ? TriBool.TriBool_true : TriBool.TriBool_false;
|
||||
this.isFriend0 = WorldMapArea.friendSystem.friendsList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false;
|
||||
}
|
||||
|
||||
@ObfuscatedName("w")
|
||||
@@ -89,6 +89,6 @@ public class ClanMate extends Buddy {
|
||||
)
|
||||
@Export("fillIsIgnored")
|
||||
void fillIsIgnored() {
|
||||
this.isIgnored0 = WorldMapArea.friendSystem.ignoreList.contains(super.username0) ? TriBool.TriBool_true : TriBool.TriBool_false;
|
||||
this.isIgnored0 = WorldMapArea.friendSystem.ignoreList.contains(super.username) ? TriBool.TriBool_true : TriBool.TriBool_false;
|
||||
}
|
||||
}
|
||||
|
||||
File diff suppressed because it is too large
Load Diff
@@ -149,8 +149,8 @@ public class ClientPreferences {
|
||||
garbageValue = "0"
|
||||
)
|
||||
static final void method1809(int var0) {
|
||||
if (GroundItemPile.loadWidgetGroup(var0)) {
|
||||
NetFileRequest.method4555(Widget.widgets[var0], -1);
|
||||
if (GroundItemPile.loadInterface(var0)) {
|
||||
NetFileRequest.method4555(Widget.interfaceComponents[var0], -1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -27,7 +27,7 @@ public abstract class Clock {
|
||||
garbageValue = "-126803683"
|
||||
)
|
||||
@Export("wait")
|
||||
public abstract int wait(int var1, int var2);
|
||||
public abstract int wait(int cycleMs, int minSleepMs);
|
||||
|
||||
@ObfuscatedName("m")
|
||||
public static String method3534(long var0) {
|
||||
@@ -41,22 +41,22 @@ public abstract class Clock {
|
||||
++var2;
|
||||
}
|
||||
|
||||
char var4;
|
||||
StringBuilder var8;
|
||||
for (var8 = new StringBuilder(var2); var0 != 0L; var8.append(var4)) {
|
||||
StringBuilder var4;
|
||||
char var8;
|
||||
for (var4 = new StringBuilder(var2); var0 != 0L; var4.append(var8)) {
|
||||
long var5 = var0;
|
||||
var0 /= 37L;
|
||||
var4 = class306.base37Table[(int)(var5 - 37L * var0)];
|
||||
if (var4 == '_') {
|
||||
int var7 = var8.length() - 1;
|
||||
var8.setCharAt(var7, Character.toUpperCase(var8.charAt(var7)));
|
||||
var4 = 160;
|
||||
var8 = class306.base37Table[(int)(var5 - 37L * var0)];
|
||||
if (var8 == '_') {
|
||||
int var7 = var4.length() - 1;
|
||||
var4.setCharAt(var7, Character.toUpperCase(var4.charAt(var7)));
|
||||
var8 = 160;
|
||||
}
|
||||
}
|
||||
|
||||
var8.reverse();
|
||||
var8.setCharAt(0, Character.toUpperCase(var8.charAt(0)));
|
||||
return var8.toString();
|
||||
var4.reverse();
|
||||
var4.setCharAt(0, Character.toUpperCase(var4.charAt(0)));
|
||||
return var4.toString();
|
||||
}
|
||||
} else {
|
||||
return null;
|
||||
|
||||
@@ -249,8 +249,8 @@ public class CollisionMap {
|
||||
public void method92(int var1, int var2) {
|
||||
var1 -= this.xInset;
|
||||
var2 -= this.yInset;
|
||||
int[] var10000 = this.flags[var1];
|
||||
var10000[var2] |= 2097152;
|
||||
int[] var3 = this.flags[var1];
|
||||
var3[var2] |= 2097152;
|
||||
}
|
||||
|
||||
@ObfuscatedName("o")
|
||||
@@ -261,8 +261,8 @@ public class CollisionMap {
|
||||
public void method93(int var1, int var2) {
|
||||
var1 -= this.xInset;
|
||||
var2 -= this.yInset;
|
||||
int[] var10000 = this.flags[var1];
|
||||
var10000[var2] |= 262144;
|
||||
int[] var3 = this.flags[var1];
|
||||
var3[var2] |= 262144;
|
||||
}
|
||||
|
||||
@ObfuscatedName("u")
|
||||
@@ -271,8 +271,8 @@ public class CollisionMap {
|
||||
garbageValue = "953350100"
|
||||
)
|
||||
void method94(int var1, int var2, int var3) {
|
||||
int[] var10000 = this.flags[var1];
|
||||
var10000[var2] |= var3;
|
||||
int[] var4 = this.flags[var1];
|
||||
var4[var2] |= var3;
|
||||
}
|
||||
|
||||
@ObfuscatedName("g")
|
||||
@@ -465,8 +465,8 @@ public class CollisionMap {
|
||||
garbageValue = "52290294"
|
||||
)
|
||||
void method97(int var1, int var2, int var3) {
|
||||
int[] var10000 = this.flags[var1];
|
||||
var10000[var2] &= ~var3;
|
||||
int[] var4 = this.flags[var1];
|
||||
var4[var2] &= ~var3;
|
||||
}
|
||||
|
||||
@ObfuscatedName("x")
|
||||
@@ -477,8 +477,8 @@ public class CollisionMap {
|
||||
public void method98(int var1, int var2) {
|
||||
var1 -= this.xInset;
|
||||
var2 -= this.yInset;
|
||||
int[] var10000 = this.flags[var1];
|
||||
var10000[var2] &= -262145;
|
||||
int[] var3 = this.flags[var1];
|
||||
var3[var2] &= -262145;
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
|
||||
@@ -5,8 +5,8 @@ import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("hu")
|
||||
@Implements("TileLocation")
|
||||
public class TileLocation {
|
||||
@Implements("Coord")
|
||||
public class Coord {
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 503621925
|
||||
@@ -29,19 +29,19 @@ public class TileLocation {
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lhu;)V"
|
||||
)
|
||||
public TileLocation(TileLocation var1) {
|
||||
public Coord(Coord var1) {
|
||||
this.plane = var1.plane;
|
||||
this.x = var1.x;
|
||||
this.y = var1.y;
|
||||
}
|
||||
|
||||
public TileLocation(int var1, int var2, int var3) {
|
||||
public Coord(int var1, int var2, int var3) {
|
||||
this.plane = var1;
|
||||
this.x = var2;
|
||||
this.y = var3;
|
||||
}
|
||||
|
||||
public TileLocation(int var1) {
|
||||
public Coord(int var1) {
|
||||
if (var1 == -1) {
|
||||
this.plane = -1;
|
||||
} else {
|
||||
@@ -67,9 +67,9 @@ public class TileLocation {
|
||||
signature = "(Lhu;B)Z",
|
||||
garbageValue = "-1"
|
||||
)
|
||||
@Export("equals0")
|
||||
boolean equals0(TileLocation var1) {
|
||||
return this.plane != var1.plane ? false : (this.x != var1.x ? false : this.y == var1.y);
|
||||
@Export("equalsCoord")
|
||||
boolean equalsCoord(Coord other) {
|
||||
return this.plane != other.plane ? false : (this.x != other.x ? false : this.y == other.y);
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@@ -77,23 +77,20 @@ public class TileLocation {
|
||||
signature = "(Ljava/lang/String;I)Ljava/lang/String;",
|
||||
garbageValue = "997364398"
|
||||
)
|
||||
@Export("toString0")
|
||||
String toString0(String var1) {
|
||||
return this.plane + var1 + (this.x >> 6) + var1 + (this.y >> 6) + var1 + (this.x & 63) + var1 + (this.y & 63);
|
||||
@Export("toString")
|
||||
String toString(String separator) {
|
||||
return this.plane + separator + (this.x >> 6) + separator + (this.y >> 6) + separator + (this.x & 63) + separator + (this.y & 63);
|
||||
}
|
||||
|
||||
@ObfuscatedName("equals")
|
||||
public boolean method326(Object var1) {
|
||||
return this == var1 ? true : (!(var1 instanceof TileLocation) ? false : this.equals0((TileLocation)var1));
|
||||
public boolean equals(Object var1) {
|
||||
return this == var1 ? true : (!(var1 instanceof Coord) ? false : this.equalsCoord((Coord)var1));
|
||||
}
|
||||
|
||||
@ObfuscatedName("hashCode")
|
||||
public int method327() {
|
||||
public int hashCode() {
|
||||
return this.packed();
|
||||
}
|
||||
|
||||
@ObfuscatedName("toString")
|
||||
public String method328() {
|
||||
return this.toString0(",");
|
||||
public String toString() {
|
||||
return this.toString(",");
|
||||
}
|
||||
}
|
||||
@@ -126,12 +126,12 @@ public class Decimator {
|
||||
garbageValue = "-1419232405"
|
||||
)
|
||||
@Export("scaleRate")
|
||||
int scaleRate(int var1) {
|
||||
int scaleRate(int rate) {
|
||||
if (this.table != null) {
|
||||
var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate);
|
||||
rate = (int)((long)this.outputRate * (long)rate / (long)this.inputRate);
|
||||
}
|
||||
|
||||
return var1;
|
||||
return rate;
|
||||
}
|
||||
|
||||
@ObfuscatedName("q")
|
||||
@@ -140,12 +140,12 @@ public class Decimator {
|
||||
garbageValue = "25"
|
||||
)
|
||||
@Export("scalePosition")
|
||||
int scalePosition(int var1) {
|
||||
int scalePosition(int position) {
|
||||
if (this.table != null) {
|
||||
var1 = (int)((long)this.outputRate * (long)var1 / (long)this.inputRate) + 6;
|
||||
position = (int)((long)this.outputRate * (long)position / (long)this.inputRate) + 6;
|
||||
}
|
||||
|
||||
return var1;
|
||||
return position;
|
||||
}
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@@ -159,7 +159,7 @@ public class Decimator {
|
||||
if (KeyHandler.field453 == KeyHandler.field455) {
|
||||
return false;
|
||||
} else {
|
||||
IndexStoreAction.field411 = KeyHandler.field450[KeyHandler.field453];
|
||||
ArchiveDiskAction.field411 = KeyHandler.field450[KeyHandler.field453];
|
||||
GzipDecompressor.field378 = KeyHandler.field449[KeyHandler.field453];
|
||||
KeyHandler.field453 = KeyHandler.field453 + 1 & 127;
|
||||
return true;
|
||||
@@ -212,10 +212,10 @@ public class Decimator {
|
||||
ViewportMouse.field951 = (var16 + var10) / 2;
|
||||
ViewportMouse.field952 = (var13 + var12) / 2;
|
||||
ViewportMouse.field953 = (var17 - var9) / 2;
|
||||
class311.field1156 = (var16 - var10) / 2;
|
||||
DefaultsGroup.field1156 = (var16 - var10) / 2;
|
||||
Skeleton.field874 = (var13 - var12) / 2;
|
||||
GraphicsObject.field377 = Math.abs(ViewportMouse.field953);
|
||||
ViewportMouse.field954 = Math.abs(class311.field1156);
|
||||
ViewportMouse.field954 = Math.abs(DefaultsGroup.field1156);
|
||||
class248.field1142 = Math.abs(Skeleton.field874);
|
||||
}
|
||||
|
||||
@@ -228,7 +228,7 @@ public class Decimator {
|
||||
var9 = AccessFile.field7 - var5;
|
||||
var10 = ViewportMouse.field951 - var6;
|
||||
var11 = ViewportMouse.field952 - var7;
|
||||
return Math.abs(var9) > var8 + GraphicsObject.field377 ? false : (Math.abs(var10) > var12 + ViewportMouse.field954 ? false : (Math.abs(var11) > var13 + class248.field1142 ? false : (Math.abs(var11 * class311.field1156 - var10 * Skeleton.field874) > var13 * ViewportMouse.field954 + var12 * class248.field1142 ? false : (Math.abs(var9 * Skeleton.field874 - var11 * ViewportMouse.field953) > var8 * class248.field1142 + var13 * GraphicsObject.field377 ? false : Math.abs(var10 * ViewportMouse.field953 - var9 * class311.field1156) <= var8 * ViewportMouse.field954 + var12 * GraphicsObject.field377))));
|
||||
return Math.abs(var9) > var8 + GraphicsObject.field377 ? false : (Math.abs(var10) > var12 + ViewportMouse.field954 ? false : (Math.abs(var11) > var13 + class248.field1142 ? false : (Math.abs(var11 * DefaultsGroup.field1156 - var10 * Skeleton.field874) > var13 * ViewportMouse.field954 + var12 * class248.field1142 ? false : (Math.abs(var9 * Skeleton.field874 - var11 * ViewportMouse.field953) > var8 * class248.field1142 + var13 * GraphicsObject.field377 ? false : Math.abs(var10 * ViewportMouse.field953 - var9 * DefaultsGroup.field1156) <= var8 * ViewportMouse.field954 + var12 * GraphicsObject.field377))));
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -1,14 +1,18 @@
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("ka")
|
||||
public class class311 {
|
||||
@Implements("DefaultsGroup")
|
||||
public class DefaultsGroup {
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lka;"
|
||||
)
|
||||
static final class311 field3810;
|
||||
@Export("DefaultsGroup_graphics")
|
||||
static final DefaultsGroup DefaultsGroup_graphics;
|
||||
@ObfuscatedName("e")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -2077113503
|
||||
@@ -18,10 +22,11 @@ public class class311 {
|
||||
@ObfuscatedGetter(
|
||||
intValue = -800980069
|
||||
)
|
||||
final int field3809;
|
||||
@Export("group")
|
||||
final int group;
|
||||
|
||||
class311(int var1) {
|
||||
this.field3809 = var1;
|
||||
DefaultsGroup(int var1) {
|
||||
this.group = var1;
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -34,6 +39,6 @@ public class class311 {
|
||||
}
|
||||
|
||||
static {
|
||||
field3810 = new class311(3);
|
||||
DefaultsGroup_graphics = new DefaultsGroup(3);
|
||||
}
|
||||
}
|
||||
@@ -39,8 +39,8 @@ public final class DemotingHashTable {
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@Export("get")
|
||||
public Object get(long var1) {
|
||||
Wrapper var3 = (Wrapper)this.hashTable.get(var1);
|
||||
public Object get(long key) {
|
||||
Wrapper var3 = (Wrapper)this.hashTable.get(key);
|
||||
if (var3 == null) {
|
||||
return null;
|
||||
} else {
|
||||
@@ -70,8 +70,8 @@ public final class DemotingHashTable {
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@Export("remove")
|
||||
void remove(long var1) {
|
||||
Wrapper var3 = (Wrapper)this.hashTable.get(var1);
|
||||
void remove(long key) {
|
||||
Wrapper var3 = (Wrapper)this.hashTable.get(key);
|
||||
this.removeWrapper(var3);
|
||||
}
|
||||
|
||||
@@ -80,31 +80,31 @@ public final class DemotingHashTable {
|
||||
signature = "(Leu;)V"
|
||||
)
|
||||
@Export("removeWrapper")
|
||||
void removeWrapper(Wrapper var1) {
|
||||
if (var1 != null) {
|
||||
var1.remove();
|
||||
var1.removeDual();
|
||||
this.remaining += var1.size;
|
||||
void removeWrapper(Wrapper wrapper) {
|
||||
if (wrapper != null) {
|
||||
wrapper.remove();
|
||||
wrapper.removeDual();
|
||||
this.remaining += wrapper.size;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@ObfuscatedName("w")
|
||||
@Export("put")
|
||||
public void put(Object var1, long var2, int var4) {
|
||||
if (var4 > this.capacity) {
|
||||
public void put(Object value, long key, int size) {
|
||||
if (size > this.capacity) {
|
||||
throw new IllegalStateException();
|
||||
} else {
|
||||
this.remove(var2);
|
||||
this.remaining -= var4;
|
||||
this.remove(key);
|
||||
this.remaining -= size;
|
||||
|
||||
while (this.remaining < 0) {
|
||||
Wrapper var5 = (Wrapper)this.queue.removeLast();
|
||||
this.removeWrapper(var5);
|
||||
}
|
||||
|
||||
DirectWrapper var6 = new DirectWrapper(var1, var4);
|
||||
this.hashTable.put(var6, var2);
|
||||
DirectWrapper var6 = new DirectWrapper(value, size);
|
||||
this.hashTable.put(var6, key);
|
||||
this.queue.add(var6);
|
||||
var6.keyDual = 0L;
|
||||
}
|
||||
@@ -112,7 +112,7 @@ public final class DemotingHashTable {
|
||||
|
||||
@ObfuscatedName("o")
|
||||
@Export("demote")
|
||||
public void demote(int var1) {
|
||||
public void demote(int softeningLevel) {
|
||||
for (Wrapper var2 = (Wrapper)this.queue.last(); var2 != null; var2 = (Wrapper)this.queue.previous()) {
|
||||
if (var2.isSoft()) {
|
||||
if (var2.get() == null) {
|
||||
@@ -120,7 +120,7 @@ public final class DemotingHashTable {
|
||||
var2.removeDual();
|
||||
this.remaining += var2.size;
|
||||
}
|
||||
} else if (++var2.keyDual > (long)var1) {
|
||||
} else if (++var2.keyDual > (long)softeningLevel) {
|
||||
SoftWrapper var3 = new SoftWrapper(var2.get(), var2.size);
|
||||
this.hashTable.put(var3, var2.key);
|
||||
DualNodeDeque.DualNodeDeque_addBefore(var3, var2);
|
||||
|
||||
@@ -45,15 +45,15 @@ public class DevicePcmPlayer extends PcmPlayer {
|
||||
garbageValue = "-1738349775"
|
||||
)
|
||||
@Export("open")
|
||||
protected void open(int var1) throws LineUnavailableException {
|
||||
protected void open(int bufferSize) throws LineUnavailableException {
|
||||
try {
|
||||
Info var2 = new Info(SourceDataLine.class, this.format, var1 << (PcmPlayer.isStereo ? 2 : 1));
|
||||
Info var2 = new Info(SourceDataLine.class, this.format, bufferSize << (PcmPlayer.isStereo ? 2 : 1));
|
||||
this.line = (SourceDataLine)AudioSystem.getLine(var2);
|
||||
this.line.open();
|
||||
this.line.start();
|
||||
this.capacity2 = var1;
|
||||
this.capacity2 = bufferSize;
|
||||
} catch (LineUnavailableException var5) {
|
||||
int var3 = (var1 >>> 1 & 1431655765) + (var1 & 1431655765);
|
||||
int var3 = (bufferSize >>> 1 & 1431655765) + (bufferSize & 1431655765);
|
||||
var3 = (var3 >>> 2 & 858993459) + (var3 & 858993459);
|
||||
var3 = (var3 >>> 4) + var3 & 252645135;
|
||||
var3 += var3 >>> 8;
|
||||
@@ -64,7 +64,7 @@ public class DevicePcmPlayer extends PcmPlayer {
|
||||
throw var5;
|
||||
}
|
||||
|
||||
this.open(World.method1759(var1));
|
||||
this.open(World.method1759(bufferSize));
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -149,8 +149,8 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
signature = "([Lho;IIIIIIIII)V",
|
||||
garbageValue = "-1516599170"
|
||||
)
|
||||
@Export("drawWidgetGroup")
|
||||
static final void drawWidgetGroup(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
|
||||
@Export("drawInterface")
|
||||
static final void drawInterface(Widget[] var0, int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8) {
|
||||
Rasterizer2D.Rasterizer2D_setClip(var2, var3, var4, var5);
|
||||
Rasterizer3D.Rasterizer3D_method1();
|
||||
|
||||
@@ -184,7 +184,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
if (var1 != -1412584499 && !var10.isScrollBar) {
|
||||
class279.field1145 = var0;
|
||||
class54.field1161 = var6;
|
||||
class157.field1114 = var7;
|
||||
BuddyRankComparator.field1114 = var7;
|
||||
continue;
|
||||
}
|
||||
|
||||
@@ -328,12 +328,12 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
}
|
||||
}
|
||||
|
||||
drawWidgetGroup(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
|
||||
drawInterface(var0, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
|
||||
if (var10.children != null) {
|
||||
drawWidgetGroup(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
|
||||
drawInterface(var10.children, var10.id, var15, var16, var17, var18, var12 - var10.scrollX, var13 - var10.scrollY, var11);
|
||||
}
|
||||
|
||||
WidgetGroupParent var23 = (WidgetGroupParent)Client.widgetGroupParents.get((long)var10.id);
|
||||
InterfaceParent var23 = (InterfaceParent)Client.interfaceParents.get((long)var10.id);
|
||||
if (var23 != null) {
|
||||
Interpreter.drawWidgets(var23.group, var15, var16, var17, var18, var12, var13, var11);
|
||||
}
|
||||
@@ -344,7 +344,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
|
||||
if (Client.isResizable || Client.field101[var11] || Client.gameDrawingMode > 1) {
|
||||
if (var10.type == 0 && !var10.isIf3 && var10.scrollHeight > var10.height) {
|
||||
class11.method148(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight);
|
||||
GrandExchangeOfferNameComparator.method148(var12 + var10.width, var13, var10.scrollY, var10.height, var10.scrollHeight);
|
||||
}
|
||||
|
||||
if (var10.type != 1) {
|
||||
@@ -358,17 +358,17 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
for (var19 = 0; var19 < var10.rawHeight; ++var19) {
|
||||
for (var20 = 0; var20 < var10.rawWidth; ++var20) {
|
||||
var21 = var12 + var20 * (var10.paddingX + 32);
|
||||
var33 = var13 + var19 * (var10.paddingY + 32);
|
||||
var26 = var13 + var19 * (var10.paddingY + 32);
|
||||
if (var22 < 20) {
|
||||
var21 += var10.inventoryXOffsets[var22];
|
||||
var33 += var10.inventoryYOffsets[var22];
|
||||
var26 += var10.inventoryYOffsets[var22];
|
||||
}
|
||||
|
||||
if (var10.itemIds[var22] <= 0) {
|
||||
if (var10.inventorySprites != null && var22 < 20) {
|
||||
Sprite var36 = var10.getInventorySprite(var22);
|
||||
if (var36 != null) {
|
||||
var36.drawAt2(var21, var33);
|
||||
var36.drawAt2(var21, var26);
|
||||
} else if (Widget.field957) {
|
||||
class22.method295(var10);
|
||||
}
|
||||
@@ -376,38 +376,38 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
} else {
|
||||
boolean var35 = false;
|
||||
boolean var46 = false;
|
||||
var26 = var10.itemIds[var22] - 1;
|
||||
if (var21 + 32 > var2 && var21 < var4 && var33 + 32 > var3 && var33 < var5 || var10 == dragInventoryWidget && var22 == Client.dragItemSlotSource) {
|
||||
var25 = var10.itemIds[var22] - 1;
|
||||
if (var21 + 32 > var2 && var21 < var4 && var26 + 32 > var3 && var26 < var5 || var10 == dragInventoryWidget && var22 == Client.dragItemSlotSource) {
|
||||
Sprite var42;
|
||||
if (Client.isItemSelected == 1 && var22 == HealthBarDefinition.selectedItemSlot && var10.id == ServerPacket.selectedItemWidget) {
|
||||
var42 = class226.getItemSprite(var26, var10.itemQuantities[var22], 2, 0, 2, false);
|
||||
var42 = class226.getItemSprite(var25, var10.itemQuantities[var22], 2, 0, 2, false);
|
||||
} else {
|
||||
var42 = class226.getItemSprite(var26, var10.itemQuantities[var22], 1, 3153952, 2, false);
|
||||
var42 = class226.getItemSprite(var25, var10.itemQuantities[var22], 1, 3153952, 2, false);
|
||||
}
|
||||
|
||||
if (var42 != null) {
|
||||
if (var10 == dragInventoryWidget && var22 == Client.dragItemSlotSource) {
|
||||
var24 = MouseHandler.MouseHandler_x - Client.field205;
|
||||
var25 = MouseHandler.MouseHandler_y - Client.field206;
|
||||
var33 = MouseHandler.MouseHandler_x - Client.field205;
|
||||
var24 = MouseHandler.MouseHandler_y - Client.field206;
|
||||
if (var33 < 5 && var33 > -5) {
|
||||
var33 = 0;
|
||||
}
|
||||
|
||||
if (var24 < 5 && var24 > -5) {
|
||||
var24 = 0;
|
||||
}
|
||||
|
||||
if (var25 < 5 && var25 > -5) {
|
||||
var25 = 0;
|
||||
}
|
||||
|
||||
if (Client.itemDragDuration < 5) {
|
||||
var33 = 0;
|
||||
var24 = 0;
|
||||
var25 = 0;
|
||||
}
|
||||
|
||||
var42.method310(var21 + var24, var33 + var25, 128);
|
||||
var42.method310(var21 + var33, var26 + var24, 128);
|
||||
if (var1 != -1) {
|
||||
Widget var47 = var0[var1 & 65535];
|
||||
int var45;
|
||||
if (var33 + var25 < Rasterizer2D.Rasterizer2D_yClipStart && var47.scrollY > 0) {
|
||||
var45 = (Rasterizer2D.Rasterizer2D_yClipStart - var33 - var25) * Client.field183 / 3;
|
||||
if (var26 + var24 < Rasterizer2D.Rasterizer2D_yClipStart && var47.scrollY > 0) {
|
||||
var45 = (Rasterizer2D.Rasterizer2D_yClipStart - var26 - var24) * Client.field183 / 3;
|
||||
if (var45 > Client.field183 * 10) {
|
||||
var45 = Client.field183 * 10;
|
||||
}
|
||||
@@ -421,8 +421,8 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
class22.method295(var47);
|
||||
}
|
||||
|
||||
if (var25 + var33 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var47.scrollY < var47.scrollHeight - var47.height) {
|
||||
var45 = (var33 + var25 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field183 / 3;
|
||||
if (var24 + var26 + 32 > Rasterizer2D.Rasterizer2D_yClipEnd && var47.scrollY < var47.scrollHeight - var47.height) {
|
||||
var45 = (var26 + var24 + 32 - Rasterizer2D.Rasterizer2D_yClipEnd) * Client.field183 / 3;
|
||||
if (var45 > Client.field183 * 10) {
|
||||
var45 = Client.field183 * 10;
|
||||
}
|
||||
@@ -437,9 +437,9 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
}
|
||||
}
|
||||
} else if (var10 == BoundaryObject.field40 && var22 == Client.field204) {
|
||||
var42.method310(var21, var33, 128);
|
||||
var42.method310(var21, var26, 128);
|
||||
} else {
|
||||
var42.drawAt2(var21, var33);
|
||||
var42.drawAt2(var21, var26);
|
||||
}
|
||||
} else {
|
||||
class22.method295(var10);
|
||||
@@ -569,16 +569,16 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
} else {
|
||||
Rasterizer2D.Rasterizer2D_expandClip(var12, var13, var12 + var10.width, var13 + var10.height);
|
||||
var21 = (var19 - 1 + var10.width) / var19;
|
||||
var33 = (var20 - 1 + var10.height) / var20;
|
||||
var26 = (var20 - 1 + var10.height) / var20;
|
||||
|
||||
for (var24 = 0; var24 < var21; ++var24) {
|
||||
for (var25 = 0; var25 < var33; ++var25) {
|
||||
for (var33 = 0; var33 < var21; ++var33) {
|
||||
for (var24 = 0; var24 < var26; ++var24) {
|
||||
if (var10.spriteAngle != 0) {
|
||||
var37.method317(var19 / 2 + var12 + var19 * var24, var20 / 2 + var13 + var25 * var20, var10.spriteAngle, 4096);
|
||||
var37.method317(var19 / 2 + var12 + var19 * var33, var20 / 2 + var13 + var24 * var20, var10.spriteAngle, 4096);
|
||||
} else if (var14 != 0) {
|
||||
var37.method310(var12 + var19 * var24, var13 + var20 * var25, 256 - (var14 & 255));
|
||||
var37.method310(var12 + var19 * var33, var13 + var20 * var24, 256 - (var14 & 255));
|
||||
} else {
|
||||
var37.drawAt2(var12 + var19 * var24, var13 + var25 * var20);
|
||||
var37.drawAt2(var12 + var19 * var33, var13 + var24 * var20);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -602,7 +602,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
if (var10.itemId != -1) {
|
||||
var28 = Skills.getItemDefinition(var10.itemId);
|
||||
if (var28 != null) {
|
||||
var28 = var28.method144(var10.itemQuantity);
|
||||
var28 = var28.getCountObj(var10.itemQuantity);
|
||||
var43 = var28.getModel(1);
|
||||
if (var43 != null) {
|
||||
var43.calculateBoundsCylinder();
|
||||
@@ -631,17 +631,17 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
}
|
||||
|
||||
Rasterizer3D.method2989(var10.width / 2 + var12, var10.height / 2 + var13);
|
||||
var33 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16;
|
||||
var24 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16;
|
||||
var26 = Rasterizer3D.Rasterizer3D_sine[var10.modelAngleX] * var10.modelZoom >> 16;
|
||||
var33 = Rasterizer3D.Rasterizer3D_cosine[var10.modelAngleX] * var10.modelZoom >> 16;
|
||||
if (var43 != null) {
|
||||
if (!var10.isIf3) {
|
||||
var43.method199(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var33, var24);
|
||||
var43.method199(0, var10.modelAngleY, 0, var10.modelAngleX, 0, var26, var33);
|
||||
} else {
|
||||
var43.calculateBoundsCylinder();
|
||||
if (var10.modelOrthog) {
|
||||
var43.method200(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var21 + var33 + var10.modelOffsetY, var24 + var10.modelOffsetY, var10.modelZoom);
|
||||
var43.method200(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var21 + var26 + var10.modelOffsetY, var33 + var10.modelOffsetY, var10.modelZoom);
|
||||
} else {
|
||||
var43.method199(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var33 + var21 + var10.modelOffsetY, var24 + var10.modelOffsetY);
|
||||
var43.method199(0, var10.modelAngleY, var10.modelAngleZ, var10.modelAngleX, var10.modelOffsetX, var26 + var21 + var10.modelOffsetY, var33 + var10.modelOffsetY);
|
||||
}
|
||||
}
|
||||
}
|
||||
@@ -670,14 +670,14 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
var29 = BufferedFile.colorStartTag(16748608) + var28.name + "</col> " + 'x' + GrandExchangeEvent.method88(var10.itemQuantities[var19]);
|
||||
}
|
||||
|
||||
var25 = var21 * (var10.paddingX + 115) + var12;
|
||||
var26 = var20 * (var10.paddingY + 12) + var13;
|
||||
var24 = var21 * (var10.paddingX + 115) + var12;
|
||||
var25 = var20 * (var10.paddingY + 12) + var13;
|
||||
if (var10.textXAlignment == 0) {
|
||||
var27.draw(var29, var25, var26, var10.color, var10.textShadowed ? 0 : -1);
|
||||
var27.draw(var29, var24, var25, var10.color, var10.textShadowed ? 0 : -1);
|
||||
} else if (var10.textXAlignment == 1) {
|
||||
var27.drawCentered(var29, var10.width / 2 + var25, var26, var10.color, var10.textShadowed ? 0 : -1);
|
||||
var27.drawCentered(var29, var10.width / 2 + var24, var25, var10.color, var10.textShadowed ? 0 : -1);
|
||||
} else {
|
||||
var27.drawRightAligned(var29, var25 + var10.width - 1, var26, var10.color, var10.textShadowed ? 0 : -1);
|
||||
var27.drawRightAligned(var29, var24 + var10.width - 1, var25, var10.color, var10.textShadowed ? 0 : -1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -694,43 +694,43 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
|
||||
String var31;
|
||||
for (var30 = MouseRecorder.method1194(var30, var10); var30.length() > 0; var19 = var19 + var39.ascent + 1) {
|
||||
var24 = var30.indexOf("<br>");
|
||||
if (var24 != -1) {
|
||||
var31 = var30.substring(0, var24);
|
||||
var30 = var30.substring(var24 + 4);
|
||||
var33 = var30.indexOf("<br>");
|
||||
if (var33 != -1) {
|
||||
var31 = var30.substring(0, var33);
|
||||
var30 = var30.substring(var33 + 4);
|
||||
} else {
|
||||
var31 = var30;
|
||||
var30 = "";
|
||||
}
|
||||
|
||||
var25 = var39.stringWidth(var31);
|
||||
if (var25 > var22) {
|
||||
var22 = var25;
|
||||
var24 = var39.stringWidth(var31);
|
||||
if (var24 > var22) {
|
||||
var22 = var24;
|
||||
}
|
||||
}
|
||||
|
||||
var22 += 6;
|
||||
var19 += 7;
|
||||
var24 = var12 + var10.width - 5 - var22;
|
||||
var25 = var13 + var10.height + 5;
|
||||
if (var24 < var12 + 5) {
|
||||
var24 = var12 + 5;
|
||||
var33 = var12 + var10.width - 5 - var22;
|
||||
var24 = var13 + var10.height + 5;
|
||||
if (var33 < var12 + 5) {
|
||||
var33 = var12 + 5;
|
||||
}
|
||||
|
||||
if (var22 + var24 > var4) {
|
||||
var24 = var4 - var22;
|
||||
if (var22 + var33 > var4) {
|
||||
var33 = var4 - var22;
|
||||
}
|
||||
|
||||
if (var25 + var19 > var5) {
|
||||
var25 = var5 - var19;
|
||||
if (var24 + var19 > var5) {
|
||||
var24 = var5 - var19;
|
||||
}
|
||||
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var24, var25, var22, var19, 16777120);
|
||||
Rasterizer2D.Rasterizer2D_drawRectangle(var24, var25, var22, var19, 0);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var33, var24, var22, var19, 16777120);
|
||||
Rasterizer2D.Rasterizer2D_drawRectangle(var33, var24, var22, var19, 0);
|
||||
var30 = var10.text;
|
||||
var26 = var25 + var39.ascent + 2;
|
||||
var25 = var24 + var39.ascent + 2;
|
||||
|
||||
for (var30 = MouseRecorder.method1194(var30, var10); var30.length() > 0; var26 = var26 + var39.ascent + 1) {
|
||||
for (var30 = MouseRecorder.method1194(var30, var10); var30.length() > 0; var25 = var25 + var39.ascent + 1) {
|
||||
int var32 = var30.indexOf("<br>");
|
||||
if (var32 != -1) {
|
||||
var31 = var30.substring(0, var32);
|
||||
@@ -740,7 +740,7 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
var30 = "";
|
||||
}
|
||||
|
||||
var39.draw(var31, var24 + 3, var26, 0, -1);
|
||||
var39.draw(var31, var33 + 3, var25, 0, -1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -781,8 +781,8 @@ public class DevicePcmPlayerProvider implements PcmPlayerProvider {
|
||||
garbageValue = "-1666917204"
|
||||
)
|
||||
static final void method845(int var0) {
|
||||
if (GroundItemPile.loadWidgetGroup(var0)) {
|
||||
Widget[] var1 = Widget.widgets[var0];
|
||||
if (GroundItemPile.loadInterface(var0)) {
|
||||
Widget[] var1 = Widget.interfaceComponents[var0];
|
||||
|
||||
for (int var2 = 0; var2 < var1.length; ++var2) {
|
||||
Widget var3 = var1[var2];
|
||||
|
||||
@@ -30,9 +30,9 @@ public class DirectByteArrayCopier extends AbstractByteArrayCopier {
|
||||
garbageValue = "-2034091753"
|
||||
)
|
||||
@Export("set")
|
||||
void set(byte[] var1) {
|
||||
this.directBuffer = ByteBuffer.allocateDirect(var1.length);
|
||||
void set(byte[] array) {
|
||||
this.directBuffer = ByteBuffer.allocateDirect(array.length);
|
||||
this.directBuffer.position(0);
|
||||
this.directBuffer.put(var1);
|
||||
this.directBuffer.put(array);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -215,15 +215,15 @@ public class DynamicObject extends Entity {
|
||||
} else if (var0 == ScriptOpcodes.CHAT_SETFILTER) {
|
||||
RouteStrategy.Interpreter_intStackSize -= 3;
|
||||
Client.publicChatMode = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize];
|
||||
IndexCacheLoader.field512 = WorldMapElement.method4783(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]);
|
||||
if (IndexCacheLoader.field512 == null) {
|
||||
IndexCacheLoader.field512 = class310.field3805;
|
||||
ArchiveLoader.field512 = WorldMapElement.method4783(Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1]);
|
||||
if (ArchiveLoader.field512 == null) {
|
||||
ArchiveLoader.field512 = class310.field3805;
|
||||
}
|
||||
|
||||
Client.field138 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2];
|
||||
PacketBufferNode var15 = Interpreter.method1915(ClientPacket.field237, Client.packetWriter.isaacCipher);
|
||||
var15.packetBuffer.writeByte(Client.publicChatMode);
|
||||
var15.packetBuffer.writeByte(IndexCacheLoader.field512.field3804);
|
||||
var15.packetBuffer.writeByte(ArchiveLoader.field512.field3804);
|
||||
var15.packetBuffer.writeByte(Client.field138);
|
||||
Client.packetWriter.method241(var15);
|
||||
return 1;
|
||||
@@ -236,27 +236,27 @@ public class DynamicObject extends Entity {
|
||||
RouteStrategy.Interpreter_intStackSize -= 2;
|
||||
var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize];
|
||||
var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1];
|
||||
PacketBufferNode var13 = Interpreter.method1915(ClientPacket.field260, Client.packetWriter.isaacCipher);
|
||||
var13.packetBuffer.writeByte(WorldMapRegion.method550(var3) + 2);
|
||||
var13.packetBuffer.writeStringCp1252NullTerminated(var3);
|
||||
var13.packetBuffer.writeByte(var4 - 1);
|
||||
var13.packetBuffer.writeByte(var5);
|
||||
Client.packetWriter.method241(var13);
|
||||
PacketBufferNode var12 = Interpreter.method1915(ClientPacket.field260, Client.packetWriter.isaacCipher);
|
||||
var12.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var3) + 2);
|
||||
var12.packetBuffer.writeStringCp1252NullTerminated(var3);
|
||||
var12.packetBuffer.writeByte(var4 - 1);
|
||||
var12.packetBuffer.writeByte(var5);
|
||||
Client.packetWriter.method241(var12);
|
||||
return 1;
|
||||
} else {
|
||||
Message var11;
|
||||
Message var6;
|
||||
if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYTYPEANDLINE) {
|
||||
RouteStrategy.Interpreter_intStackSize -= 2;
|
||||
var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize];
|
||||
var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1];
|
||||
var11 = Message.method1226(var5, var4);
|
||||
if (var11 != null) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.count;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.cycle;
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.sender != null ? var11.sender : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.prefix != null ? var11.prefix : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.text != null ? var11.text : "";
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.isFromFriend() ? 1 : (var11.isFromIgnored() ? 2 : 0);
|
||||
var6 = Message.method1226(var5, var4);
|
||||
if (var6 != null) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.count;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.cycle;
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.sender != null ? var6.sender : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.prefix != null ? var6.prefix : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.text != null ? var6.text : "";
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.isFromFriend() ? 1 : (var6.isFromIgnored() ? 2 : 0);
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0;
|
||||
@@ -269,14 +269,14 @@ public class DynamicObject extends Entity {
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CHAT_GETHISTORY_BYUID) {
|
||||
var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
var11 = NetCache.method4708(var5);
|
||||
if (var11 != null) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.type;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.cycle;
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.sender != null ? var11.sender : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.prefix != null ? var11.prefix : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var11.text != null ? var11.text : "";
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var11.isFromFriend() ? 1 : (var11.isFromIgnored() ? 2 : 0);
|
||||
var6 = NetCache.method4708(var5);
|
||||
if (var6 != null) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.type;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.cycle;
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.sender != null ? var6.sender : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.prefix != null ? var6.prefix : "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.text != null ? var6.text : "";
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.isFromFriend() ? 1 : (var6.isFromIgnored() ? 2 : 0);
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0;
|
||||
@@ -288,153 +288,153 @@ public class DynamicObject extends Entity {
|
||||
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CHAT_GETFILTER_PRIVATE) {
|
||||
if (IndexCacheLoader.field512 == null) {
|
||||
if (ArchiveLoader.field512 == null) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = -1;
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = IndexCacheLoader.field512.field3804;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ArchiveLoader.field512.field3804;
|
||||
}
|
||||
|
||||
return 1;
|
||||
} else {
|
||||
String var6;
|
||||
String var7;
|
||||
if (var0 == ScriptOpcodes.CHAT_SENDPUBLIC) {
|
||||
var3 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize];
|
||||
var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
var6 = var3.toLowerCase();
|
||||
byte var12 = 0;
|
||||
if (var6.startsWith("yellow:")) {
|
||||
var12 = 0;
|
||||
var7 = var3.toLowerCase();
|
||||
byte var13 = 0;
|
||||
if (var7.startsWith("yellow:")) {
|
||||
var13 = 0;
|
||||
var3 = var3.substring("yellow:".length());
|
||||
} else if (var6.startsWith("red:")) {
|
||||
var12 = 1;
|
||||
} else if (var7.startsWith("red:")) {
|
||||
var13 = 1;
|
||||
var3 = var3.substring("red:".length());
|
||||
} else if (var6.startsWith("green:")) {
|
||||
var12 = 2;
|
||||
} else if (var7.startsWith("green:")) {
|
||||
var13 = 2;
|
||||
var3 = var3.substring("green:".length());
|
||||
} else if (var6.startsWith("cyan:")) {
|
||||
var12 = 3;
|
||||
} else if (var7.startsWith("cyan:")) {
|
||||
var13 = 3;
|
||||
var3 = var3.substring("cyan:".length());
|
||||
} else if (var6.startsWith("purple:")) {
|
||||
var12 = 4;
|
||||
} else if (var7.startsWith("purple:")) {
|
||||
var13 = 4;
|
||||
var3 = var3.substring("purple:".length());
|
||||
} else if (var6.startsWith("white:")) {
|
||||
var12 = 5;
|
||||
} else if (var7.startsWith("white:")) {
|
||||
var13 = 5;
|
||||
var3 = var3.substring("white:".length());
|
||||
} else if (var6.startsWith("flash1:")) {
|
||||
var12 = 6;
|
||||
} else if (var7.startsWith("flash1:")) {
|
||||
var13 = 6;
|
||||
var3 = var3.substring("flash1:".length());
|
||||
} else if (var6.startsWith("flash2:")) {
|
||||
var12 = 7;
|
||||
} else if (var7.startsWith("flash2:")) {
|
||||
var13 = 7;
|
||||
var3 = var3.substring("flash2:".length());
|
||||
} else if (var6.startsWith("flash3:")) {
|
||||
var12 = 8;
|
||||
} else if (var7.startsWith("flash3:")) {
|
||||
var13 = 8;
|
||||
var3 = var3.substring("flash3:".length());
|
||||
} else if (var6.startsWith("glow1:")) {
|
||||
var12 = 9;
|
||||
} else if (var7.startsWith("glow1:")) {
|
||||
var13 = 9;
|
||||
var3 = var3.substring("glow1:".length());
|
||||
} else if (var6.startsWith("glow2:")) {
|
||||
var12 = 10;
|
||||
} else if (var7.startsWith("glow2:")) {
|
||||
var13 = 10;
|
||||
var3 = var3.substring("glow2:".length());
|
||||
} else if (var6.startsWith("glow3:")) {
|
||||
var12 = 11;
|
||||
} else if (var7.startsWith("glow3:")) {
|
||||
var13 = 11;
|
||||
var3 = var3.substring("glow3:".length());
|
||||
} else if (Client.language != 0) {
|
||||
if (var6.startsWith("yellow:")) {
|
||||
var12 = 0;
|
||||
if (var7.startsWith("yellow:")) {
|
||||
var13 = 0;
|
||||
var3 = var3.substring("yellow:".length());
|
||||
} else if (var6.startsWith("red:")) {
|
||||
var12 = 1;
|
||||
} else if (var7.startsWith("red:")) {
|
||||
var13 = 1;
|
||||
var3 = var3.substring("red:".length());
|
||||
} else if (var6.startsWith("green:")) {
|
||||
var12 = 2;
|
||||
} else if (var7.startsWith("green:")) {
|
||||
var13 = 2;
|
||||
var3 = var3.substring("green:".length());
|
||||
} else if (var6.startsWith("cyan:")) {
|
||||
var12 = 3;
|
||||
} else if (var7.startsWith("cyan:")) {
|
||||
var13 = 3;
|
||||
var3 = var3.substring("cyan:".length());
|
||||
} else if (var6.startsWith("purple:")) {
|
||||
var12 = 4;
|
||||
} else if (var7.startsWith("purple:")) {
|
||||
var13 = 4;
|
||||
var3 = var3.substring("purple:".length());
|
||||
} else if (var6.startsWith("white:")) {
|
||||
var12 = 5;
|
||||
} else if (var7.startsWith("white:")) {
|
||||
var13 = 5;
|
||||
var3 = var3.substring("white:".length());
|
||||
} else if (var6.startsWith("flash1:")) {
|
||||
var12 = 6;
|
||||
} else if (var7.startsWith("flash1:")) {
|
||||
var13 = 6;
|
||||
var3 = var3.substring("flash1:".length());
|
||||
} else if (var6.startsWith("flash2:")) {
|
||||
var12 = 7;
|
||||
} else if (var7.startsWith("flash2:")) {
|
||||
var13 = 7;
|
||||
var3 = var3.substring("flash2:".length());
|
||||
} else if (var6.startsWith("flash3:")) {
|
||||
var12 = 8;
|
||||
} else if (var7.startsWith("flash3:")) {
|
||||
var13 = 8;
|
||||
var3 = var3.substring("flash3:".length());
|
||||
} else if (var6.startsWith("glow1:")) {
|
||||
var12 = 9;
|
||||
} else if (var7.startsWith("glow1:")) {
|
||||
var13 = 9;
|
||||
var3 = var3.substring("glow1:".length());
|
||||
} else if (var6.startsWith("glow2:")) {
|
||||
var12 = 10;
|
||||
} else if (var7.startsWith("glow2:")) {
|
||||
var13 = 10;
|
||||
var3 = var3.substring("glow2:".length());
|
||||
} else if (var6.startsWith("glow3:")) {
|
||||
var12 = 11;
|
||||
} else if (var7.startsWith("glow3:")) {
|
||||
var13 = 11;
|
||||
var3 = var3.substring("glow3:".length());
|
||||
}
|
||||
}
|
||||
|
||||
var6 = var3.toLowerCase();
|
||||
var7 = var3.toLowerCase();
|
||||
byte var14 = 0;
|
||||
if (var6.startsWith("wave:")) {
|
||||
if (var7.startsWith("wave:")) {
|
||||
var14 = 1;
|
||||
var3 = var3.substring("wave:".length());
|
||||
} else if (var6.startsWith("wave2:")) {
|
||||
} else if (var7.startsWith("wave2:")) {
|
||||
var14 = 2;
|
||||
var3 = var3.substring("wave2:".length());
|
||||
} else if (var6.startsWith("shake:")) {
|
||||
} else if (var7.startsWith("shake:")) {
|
||||
var14 = 3;
|
||||
var3 = var3.substring("shake:".length());
|
||||
} else if (var6.startsWith("scroll:")) {
|
||||
} else if (var7.startsWith("scroll:")) {
|
||||
var14 = 4;
|
||||
var3 = var3.substring("scroll:".length());
|
||||
} else if (var6.startsWith("slide:")) {
|
||||
} else if (var7.startsWith("slide:")) {
|
||||
var14 = 5;
|
||||
var3 = var3.substring("slide:".length());
|
||||
} else if (Client.language != 0) {
|
||||
if (var6.startsWith("wave:")) {
|
||||
if (var7.startsWith("wave:")) {
|
||||
var14 = 1;
|
||||
var3 = var3.substring("wave:".length());
|
||||
} else if (var6.startsWith("wave2:")) {
|
||||
} else if (var7.startsWith("wave2:")) {
|
||||
var14 = 2;
|
||||
var3 = var3.substring("wave2:".length());
|
||||
} else if (var6.startsWith("shake:")) {
|
||||
} else if (var7.startsWith("shake:")) {
|
||||
var14 = 3;
|
||||
var3 = var3.substring("shake:".length());
|
||||
} else if (var6.startsWith("scroll:")) {
|
||||
} else if (var7.startsWith("scroll:")) {
|
||||
var14 = 4;
|
||||
var3 = var3.substring("scroll:".length());
|
||||
} else if (var6.startsWith("slide:")) {
|
||||
} else if (var7.startsWith("slide:")) {
|
||||
var14 = 5;
|
||||
var3 = var3.substring("slide:".length());
|
||||
}
|
||||
}
|
||||
|
||||
PacketBufferNode var9 = Interpreter.method1915(ClientPacket.field319, Client.packetWriter.isaacCipher);
|
||||
var9.packetBuffer.writeByte(0);
|
||||
int var10 = var9.packetBuffer.index;
|
||||
var9.packetBuffer.writeByte(var4);
|
||||
var9.packetBuffer.writeByte(var12);
|
||||
var9.packetBuffer.writeByte(var14);
|
||||
TextureProvider.method2777(var9.packetBuffer, var3);
|
||||
var9.packetBuffer.method41(var9.packetBuffer.index - var10);
|
||||
Client.packetWriter.method241(var9);
|
||||
PacketBufferNode var10 = Interpreter.method1915(ClientPacket.field319, Client.packetWriter.isaacCipher);
|
||||
var10.packetBuffer.writeByte(0);
|
||||
int var11 = var10.packetBuffer.index;
|
||||
var10.packetBuffer.writeByte(var4);
|
||||
var10.packetBuffer.writeByte(var13);
|
||||
var10.packetBuffer.writeByte(var14);
|
||||
TextureProvider.method2777(var10.packetBuffer, var3);
|
||||
var10.packetBuffer.method41(var10.packetBuffer.index - var11);
|
||||
Client.packetWriter.method241(var10);
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CHAT_SENDPRIVATE) {
|
||||
Interpreter.Interpreter_stringStackSize -= 2;
|
||||
var3 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize];
|
||||
var6 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1];
|
||||
PacketBufferNode var7 = Interpreter.method1915(ClientPacket.field247, Client.packetWriter.isaacCipher);
|
||||
var7.packetBuffer.writeShort(0);
|
||||
int var8 = var7.packetBuffer.index;
|
||||
var7.packetBuffer.writeStringCp1252NullTerminated(var3);
|
||||
TextureProvider.method2777(var7.packetBuffer, var6);
|
||||
var7.packetBuffer.method40(var7.packetBuffer.index - var8);
|
||||
Client.packetWriter.method241(var7);
|
||||
var7 = Interpreter.Interpreter_stringStack[Interpreter.Interpreter_stringStackSize + 1];
|
||||
PacketBufferNode var8 = Interpreter.method1915(ClientPacket.field247, Client.packetWriter.isaacCipher);
|
||||
var8.packetBuffer.writeShort(0);
|
||||
int var9 = var8.packetBuffer.index;
|
||||
var8.packetBuffer.writeStringCp1252NullTerminated(var3);
|
||||
TextureProvider.method2777(var8.packetBuffer, var7);
|
||||
var8.packetBuffer.method40(var8.packetBuffer.index - var9);
|
||||
Client.packetWriter.method241(var8);
|
||||
return 1;
|
||||
} else if (var0 != ScriptOpcodes.CHAT_PLAYERNAME) {
|
||||
if (var0 == ScriptOpcodes.CHAT_GETFILTER_TRADE) {
|
||||
@@ -442,11 +442,11 @@ public class DynamicObject extends Entity {
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CHAT_GETHISTORYLENGTH) {
|
||||
var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = WidgetGroupParent.method1174(var5);
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = InterfaceParent.method1174(var5);
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CHAT_GETNEXTUID) {
|
||||
var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = class12.method161(var5);
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = GrandExchangeOfferAgeComparator.method161(var5);
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CHAT_GETPREVUID) {
|
||||
var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
@@ -491,14 +491,14 @@ public class DynamicObject extends Entity {
|
||||
)
|
||||
protected static int method2222() {
|
||||
int var0 = 0;
|
||||
if (AbstractIndexCache.garbageCollector == null || !AbstractIndexCache.garbageCollector.isValid()) {
|
||||
if (AbstractArchive.garbageCollector == null || !AbstractArchive.garbageCollector.isValid()) {
|
||||
try {
|
||||
Iterator var1 = ManagementFactory.getGarbageCollectorMXBeans().iterator();
|
||||
|
||||
while (var1.hasNext()) {
|
||||
GarbageCollectorMXBean var2 = (GarbageCollectorMXBean)var1.next();
|
||||
if (var2.isValid()) {
|
||||
AbstractIndexCache.garbageCollector = var2;
|
||||
AbstractArchive.garbageCollector = var2;
|
||||
GameShell.garbageCollectorLastCheckTimeMs = -1L;
|
||||
GameShell.garbageCollectorLastCollectionTime = -1L;
|
||||
}
|
||||
@@ -507,9 +507,9 @@ public class DynamicObject extends Entity {
|
||||
}
|
||||
}
|
||||
|
||||
if (AbstractIndexCache.garbageCollector != null) {
|
||||
if (AbstractArchive.garbageCollector != null) {
|
||||
long var10 = class203.currentTimeMs();
|
||||
long var3 = AbstractIndexCache.garbageCollector.getCollectionTime();
|
||||
long var3 = AbstractArchive.garbageCollector.getCollectionTime();
|
||||
if (GameShell.garbageCollectorLastCollectionTime != -1L) {
|
||||
long var5 = var3 - GameShell.garbageCollectorLastCollectionTime;
|
||||
long var7 = var10 - GameShell.garbageCollectorLastCheckTimeMs;
|
||||
@@ -547,76 +547,76 @@ public class DynamicObject extends Entity {
|
||||
|
||||
int var7;
|
||||
int var8;
|
||||
int[] var10000;
|
||||
int[] var9;
|
||||
for (var7 = 0; var7 < 32768; ++var7) {
|
||||
NPC var9 = Client.npcs[var7];
|
||||
if (var9 != null) {
|
||||
NPC var10 = Client.npcs[var7];
|
||||
if (var10 != null) {
|
||||
for (var8 = 0; var8 < 10; ++var8) {
|
||||
var10000 = var9.pathX;
|
||||
var10000[var8] -= var5;
|
||||
var10000 = var9.pathY;
|
||||
var10000[var8] -= var6;
|
||||
var9 = var10.pathX;
|
||||
var9[var8] -= var5;
|
||||
var9 = var10.pathY;
|
||||
var9[var8] -= var6;
|
||||
}
|
||||
|
||||
var9.x -= var5 * 128;
|
||||
var9.y -= var6 * 128;
|
||||
var10.x -= var5 * 128;
|
||||
var10.y -= var6 * 128;
|
||||
}
|
||||
}
|
||||
|
||||
for (var7 = 0; var7 < 2048; ++var7) {
|
||||
Player var20 = Client.players[var7];
|
||||
if (var20 != null) {
|
||||
Player var21 = Client.players[var7];
|
||||
if (var21 != null) {
|
||||
for (var8 = 0; var8 < 10; ++var8) {
|
||||
var10000 = var20.pathX;
|
||||
var10000[var8] -= var5;
|
||||
var10000 = var20.pathY;
|
||||
var10000[var8] -= var6;
|
||||
var9 = var21.pathX;
|
||||
var9[var8] -= var5;
|
||||
var9 = var21.pathY;
|
||||
var9[var8] -= var6;
|
||||
}
|
||||
|
||||
var20.x -= var5 * 128;
|
||||
var20.y -= var6 * 128;
|
||||
var21.x -= var5 * 128;
|
||||
var21.y -= var6 * 128;
|
||||
}
|
||||
}
|
||||
|
||||
byte var21 = 0;
|
||||
byte var10 = 104;
|
||||
byte var11 = 1;
|
||||
byte var22 = 0;
|
||||
byte var11 = 104;
|
||||
byte var12 = 1;
|
||||
if (var5 < 0) {
|
||||
var21 = 103;
|
||||
var10 = -1;
|
||||
var22 = 103;
|
||||
var11 = -1;
|
||||
var12 = -1;
|
||||
}
|
||||
|
||||
byte var12 = 0;
|
||||
byte var13 = 104;
|
||||
byte var14 = 1;
|
||||
byte var13 = 0;
|
||||
byte var14 = 104;
|
||||
byte var15 = 1;
|
||||
if (var6 < 0) {
|
||||
var12 = 103;
|
||||
var13 = -1;
|
||||
var13 = 103;
|
||||
var14 = -1;
|
||||
var15 = -1;
|
||||
}
|
||||
|
||||
int var15;
|
||||
for (int var16 = var21; var16 != var10; var16 += var11) {
|
||||
for (var15 = var12; var13 != var15; var15 += var14) {
|
||||
int var17 = var16 + var5;
|
||||
int var18 = var15 + var6;
|
||||
int var16;
|
||||
for (int var17 = var22; var17 != var11; var17 += var12) {
|
||||
for (var16 = var13; var14 != var16; var16 += var15) {
|
||||
int var18 = var17 + var5;
|
||||
int var19 = var16 + var6;
|
||||
|
||||
for (int var19 = 0; var19 < 4; ++var19) {
|
||||
if (var17 >= 0 && var18 >= 0 && var17 < 104 && var18 < 104) {
|
||||
Client.groundItems[var19][var16][var15] = Client.groundItems[var19][var17][var18];
|
||||
for (int var20 = 0; var20 < 4; ++var20) {
|
||||
if (var18 >= 0 && var19 >= 0 && var18 < 104 && var19 < 104) {
|
||||
Client.groundItems[var20][var17][var16] = Client.groundItems[var20][var18][var19];
|
||||
} else {
|
||||
Client.groundItems[var19][var16][var15] = null;
|
||||
Client.groundItems[var20][var17][var16] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
for (PendingSpawn var22 = (PendingSpawn)Client.pendingSpawns.last(); var22 != null; var22 = (PendingSpawn)Client.pendingSpawns.previous()) {
|
||||
var22.x -= var5;
|
||||
var22.y -= var6;
|
||||
if (var22.x < 0 || var22.y < 0 || var22.x >= 104 || var22.y >= 104) {
|
||||
var22.remove();
|
||||
for (PendingSpawn var23 = (PendingSpawn)Client.pendingSpawns.last(); var23 != null; var23 = (PendingSpawn)Client.pendingSpawns.previous()) {
|
||||
var23.x -= var5;
|
||||
var23.y -= var6;
|
||||
if (var23.x < 0 || var23.y < 0 || var23.x >= 104 || var23.y >= 104) {
|
||||
var23.remove();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -628,15 +628,15 @@ public class DynamicObject extends Entity {
|
||||
Client.soundEffectCount = 0;
|
||||
Client.isCameraLocked = false;
|
||||
WorldMapSection1.cameraX -= var5 << 7;
|
||||
class11.cameraZ -= var6 << 7;
|
||||
GrandExchangeOfferNameComparator.cameraZ -= var6 << 7;
|
||||
MouseHandler.oculusOrbFocalPointX -= var5 << 7;
|
||||
ScriptEvent.oculusOrbFocalPointY -= var6 << 7;
|
||||
Client.field125 = -1;
|
||||
Client.graphicsObjects.clear();
|
||||
Client.projectiles.clear();
|
||||
|
||||
for (var15 = 0; var15 < 4; ++var15) {
|
||||
Client.collisionMaps[var15].clear();
|
||||
for (var16 = 0; var16 < 4; ++var16) {
|
||||
Client.collisionMaps[var16].clear();
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -29,12 +29,12 @@ public abstract class Entity extends DualNode {
|
||||
}
|
||||
|
||||
@ObfuscatedName("cy")
|
||||
@Export("renderDraw")
|
||||
void renderDraw(int var1, int var2, int var3, int var4, int var5, int var6, int var7, int var8, long var9) {
|
||||
@Export("draw")
|
||||
void draw(int yaw, int cameraPitchSine, int cameraPitchCosine, int cameraYawSine, int cameraYawCosine, int x, int y, int var8, long tag) {
|
||||
Model var11 = this.getModel();
|
||||
if (var11 != null) {
|
||||
this.height = var11.height;
|
||||
var11.renderDraw(var1, var2, var3, var4, var5, var6, var7, var8, var9);
|
||||
var11.draw(yaw, cameraPitchSine, cameraPitchCosine, cameraYawSine, cameraYawCosine, x, y, var8, tag);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -11,8 +11,8 @@ public class EnumDefinition extends DualNode {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lir;"
|
||||
)
|
||||
@Export("EnumDefinition_indexCache")
|
||||
public static AbstractIndexCache EnumDefinition_indexCache;
|
||||
@Export("EnumDefinition_archive")
|
||||
public static AbstractArchive EnumDefinition_archive;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Ler;"
|
||||
@@ -20,14 +20,14 @@ public class EnumDefinition extends DualNode {
|
||||
@Export("EnumDefinition_cached")
|
||||
static EvictingDualNodeHashTable EnumDefinition_cached;
|
||||
@ObfuscatedName("q")
|
||||
@Export("keyType")
|
||||
public char keyType;
|
||||
@Export("inputType")
|
||||
public char inputType;
|
||||
@ObfuscatedName("w")
|
||||
@Export("valType")
|
||||
public char valType;
|
||||
@Export("outputType")
|
||||
public char outputType;
|
||||
@ObfuscatedName("o")
|
||||
@Export("defaultString")
|
||||
public String defaultString;
|
||||
@Export("defaultStr")
|
||||
public String defaultStr;
|
||||
@ObfuscatedName("u")
|
||||
@ObfuscatedGetter(
|
||||
intValue = 1948115527
|
||||
@@ -38,8 +38,8 @@ public class EnumDefinition extends DualNode {
|
||||
@ObfuscatedGetter(
|
||||
intValue = -12324053
|
||||
)
|
||||
@Export("size0")
|
||||
public int size0;
|
||||
@Export("outputCount")
|
||||
public int outputCount;
|
||||
@ObfuscatedName("l")
|
||||
@Export("keys")
|
||||
public int[] keys;
|
||||
@@ -47,12 +47,12 @@ public class EnumDefinition extends DualNode {
|
||||
@Export("intVals")
|
||||
public int[] intVals;
|
||||
@ObfuscatedName("x")
|
||||
@Export("stringVals")
|
||||
public String[] stringVals;
|
||||
@Export("strVals")
|
||||
public String[] strVals;
|
||||
|
||||
EnumDefinition() {
|
||||
this.defaultString = "null";
|
||||
this.size0 = 0;
|
||||
this.defaultStr = "null";
|
||||
this.outputCount = 0;
|
||||
}
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@@ -60,15 +60,15 @@ public class EnumDefinition extends DualNode {
|
||||
signature = "(Lgr;I)V",
|
||||
garbageValue = "-230039710"
|
||||
)
|
||||
@Export("read")
|
||||
void read(Buffer var1) {
|
||||
@Export("decode")
|
||||
void decode(Buffer var1) {
|
||||
while (true) {
|
||||
int var2 = var1.readUnsignedByte();
|
||||
if (var2 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.readNext(var1, var2);
|
||||
this.decodeNext(var1, var2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -77,33 +77,33 @@ public class EnumDefinition extends DualNode {
|
||||
signature = "(Lgr;II)V",
|
||||
garbageValue = "-1255400805"
|
||||
)
|
||||
@Export("readNext")
|
||||
void readNext(Buffer var1, int var2) {
|
||||
@Export("decodeNext")
|
||||
void decodeNext(Buffer var1, int var2) {
|
||||
if (var2 == 1) {
|
||||
this.keyType = (char)var1.readUnsignedByte();
|
||||
this.inputType = (char)var1.readUnsignedByte();
|
||||
} else if (var2 == 2) {
|
||||
this.valType = (char)var1.readUnsignedByte();
|
||||
this.outputType = (char)var1.readUnsignedByte();
|
||||
} else if (var2 == 3) {
|
||||
this.defaultString = var1.readStringCp1252NullTerminated();
|
||||
this.defaultStr = var1.readStringCp1252NullTerminated();
|
||||
} else if (var2 == 4) {
|
||||
this.defaultInt = var1.readInt();
|
||||
} else {
|
||||
int var3;
|
||||
if (var2 == 5) {
|
||||
this.size0 = var1.readUnsignedShort();
|
||||
this.keys = new int[this.size0];
|
||||
this.stringVals = new String[this.size0];
|
||||
this.outputCount = var1.readUnsignedShort();
|
||||
this.keys = new int[this.outputCount];
|
||||
this.strVals = new String[this.outputCount];
|
||||
|
||||
for (var3 = 0; var3 < this.size0; ++var3) {
|
||||
for (var3 = 0; var3 < this.outputCount; ++var3) {
|
||||
this.keys[var3] = var1.readInt();
|
||||
this.stringVals[var3] = var1.readStringCp1252NullTerminated();
|
||||
this.strVals[var3] = var1.readStringCp1252NullTerminated();
|
||||
}
|
||||
} else if (var2 == 6) {
|
||||
this.size0 = var1.readUnsignedShort();
|
||||
this.keys = new int[this.size0];
|
||||
this.intVals = new int[this.size0];
|
||||
this.outputCount = var1.readUnsignedShort();
|
||||
this.keys = new int[this.outputCount];
|
||||
this.intVals = new int[this.outputCount];
|
||||
|
||||
for (var3 = 0; var3 < this.size0; ++var3) {
|
||||
for (var3 = 0; var3 < this.outputCount; ++var3) {
|
||||
this.keys[var3] = var1.readInt();
|
||||
this.intVals[var3] = var1.readInt();
|
||||
}
|
||||
@@ -119,7 +119,7 @@ public class EnumDefinition extends DualNode {
|
||||
)
|
||||
@Export("size")
|
||||
public int size() {
|
||||
return this.size0;
|
||||
return this.outputCount;
|
||||
}
|
||||
|
||||
static {
|
||||
|
||||
@@ -48,8 +48,8 @@ public final class EvictingDualNodeHashTable {
|
||||
signature = "(J)Lfn;"
|
||||
)
|
||||
@Export("get")
|
||||
public DualNode get(long var1) {
|
||||
DualNode var3 = (DualNode)this.hashTable.get(var1);
|
||||
public DualNode get(long key) {
|
||||
DualNode var3 = (DualNode)this.hashTable.get(key);
|
||||
if (var3 != null) {
|
||||
this.deque.addFirst(var3);
|
||||
}
|
||||
@@ -59,8 +59,8 @@ public final class EvictingDualNodeHashTable {
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@Export("remove")
|
||||
public void remove(long var1) {
|
||||
DualNode var3 = (DualNode)this.hashTable.get(var1);
|
||||
public void remove(long key) {
|
||||
DualNode var3 = (DualNode)this.hashTable.get(key);
|
||||
if (var3 != null) {
|
||||
var3.remove();
|
||||
var3.removeDual();
|
||||
@@ -74,7 +74,7 @@ public final class EvictingDualNodeHashTable {
|
||||
signature = "(Lfn;J)V"
|
||||
)
|
||||
@Export("put")
|
||||
public void put(DualNode var1, long var2) {
|
||||
public void put(DualNode value, long key) {
|
||||
if (this.remainingCapacity == 0) {
|
||||
DualNode var4 = this.deque.removeLast();
|
||||
var4.remove();
|
||||
@@ -88,8 +88,8 @@ public final class EvictingDualNodeHashTable {
|
||||
--this.remainingCapacity;
|
||||
}
|
||||
|
||||
this.hashTable.put(var1, var2);
|
||||
this.deque.addFirst(var1);
|
||||
this.hashTable.put(value, key);
|
||||
this.deque.addFirst(value);
|
||||
}
|
||||
|
||||
@ObfuscatedName("w")
|
||||
|
||||
@@ -41,13 +41,13 @@ public class FaceNormal {
|
||||
garbageValue = "-1788849120"
|
||||
)
|
||||
static Script method3236(int var0, int var1, int var2) {
|
||||
int var3 = UnitPriceComparator.method125(var1, var0);
|
||||
Script var4 = WidgetGroupParent.method1175(var3, var0);
|
||||
int var3 = GrandExchangeOfferUnitPriceComparator.method125(var1, var0);
|
||||
Script var4 = InterfaceParent.method1175(var3, var0);
|
||||
if (var4 != null) {
|
||||
return var4;
|
||||
} else {
|
||||
var3 = PacketBuffer.method4081(var2, var0);
|
||||
var4 = WidgetGroupParent.method1175(var3, var0);
|
||||
var4 = InterfaceParent.method1175(var3, var0);
|
||||
return var4 != null ? var4 : null;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -61,57 +61,57 @@ public final class FloorDecoration {
|
||||
signature = "(Lir;Lir;I)I",
|
||||
garbageValue = "-1749538901"
|
||||
)
|
||||
static int method2853(AbstractIndexCache var0, AbstractIndexCache var1) {
|
||||
static int method2853(AbstractArchive var0, AbstractArchive var1) {
|
||||
int var2 = 0;
|
||||
if (var0.tryLoadRecordByNames("title.jpg", "")) {
|
||||
if (var0.tryLoadFileByNames("title.jpg", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("logo", "")) {
|
||||
if (var1.tryLoadFileByNames("logo", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("logo_deadman_mode", "")) {
|
||||
if (var1.tryLoadFileByNames("logo_deadman_mode", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("titlebox", "")) {
|
||||
if (var1.tryLoadFileByNames("titlebox", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("titlebutton", "")) {
|
||||
if (var1.tryLoadFileByNames("titlebutton", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("runes", "")) {
|
||||
if (var1.tryLoadFileByNames("runes", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("title_mute", "")) {
|
||||
if (var1.tryLoadFileByNames("title_mute", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("options_radio_buttons,0", "")) {
|
||||
if (var1.tryLoadFileByNames("options_radio_buttons,0", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("options_radio_buttons,2", "")) {
|
||||
if (var1.tryLoadFileByNames("options_radio_buttons,2", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("options_radio_buttons,4", "")) {
|
||||
if (var1.tryLoadFileByNames("options_radio_buttons,4", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
if (var1.tryLoadRecordByNames("options_radio_buttons,6", "")) {
|
||||
if (var1.tryLoadFileByNames("options_radio_buttons,6", "")) {
|
||||
++var2;
|
||||
}
|
||||
|
||||
var1.tryLoadRecordByNames("sl_back", "");
|
||||
var1.tryLoadRecordByNames("sl_flags", "");
|
||||
var1.tryLoadRecordByNames("sl_arrows", "");
|
||||
var1.tryLoadRecordByNames("sl_stars", "");
|
||||
var1.tryLoadRecordByNames("sl_button", "");
|
||||
var1.tryLoadFileByNames("sl_back", "");
|
||||
var1.tryLoadFileByNames("sl_flags", "");
|
||||
var1.tryLoadFileByNames("sl_arrows", "");
|
||||
var1.tryLoadFileByNames("sl_stars", "");
|
||||
var1.tryLoadFileByNames("sl_button", "");
|
||||
return var2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -5,13 +5,13 @@ import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("jf")
|
||||
@Implements("OverlayDefinition")
|
||||
public class OverlayDefinition extends DualNode {
|
||||
@Implements("FloorOverlayDefinition")
|
||||
public class FloorOverlayDefinition extends DualNode {
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lir;"
|
||||
)
|
||||
public static AbstractIndexCache field663;
|
||||
public static AbstractArchive field663;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Ler;"
|
||||
@@ -74,7 +74,7 @@ public class OverlayDefinition extends DualNode {
|
||||
@Export("lightness2")
|
||||
public int lightness2;
|
||||
|
||||
public OverlayDefinition() {
|
||||
public FloorOverlayDefinition() {
|
||||
this.rgb = 0;
|
||||
this.texture = -1;
|
||||
this.field665 = true;
|
||||
@@ -86,8 +86,8 @@ public class OverlayDefinition extends DualNode {
|
||||
signature = "(I)V",
|
||||
garbageValue = "867788548"
|
||||
)
|
||||
@Export("init")
|
||||
public void init() {
|
||||
@Export("postDecode")
|
||||
public void postDecode() {
|
||||
if (this.rgb2 != -1) {
|
||||
this.setHsl(this.rgb2);
|
||||
this.hue2 = this.hue;
|
||||
@@ -103,15 +103,15 @@ public class OverlayDefinition extends DualNode {
|
||||
signature = "(Lgr;II)V",
|
||||
garbageValue = "-424203051"
|
||||
)
|
||||
@Export("read")
|
||||
public void read(Buffer var1, int var2) {
|
||||
@Export("decode")
|
||||
public void decode(Buffer var1, int var2) {
|
||||
while (true) {
|
||||
int var3 = var1.readUnsignedByte();
|
||||
if (var3 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.readNext(var1, var3, var2);
|
||||
this.decodeNext(var1, var3, var2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -120,8 +120,8 @@ public class OverlayDefinition extends DualNode {
|
||||
signature = "(Lgr;III)V",
|
||||
garbageValue = "2094105763"
|
||||
)
|
||||
@Export("readNext")
|
||||
void readNext(Buffer var1, int var2, int var3) {
|
||||
@Export("decodeNext")
|
||||
void decodeNext(Buffer var1, int var2, int var3) {
|
||||
if (var2 == 1) {
|
||||
this.rgb = var1.readMedium();
|
||||
} else if (var2 == 2) {
|
||||
@@ -141,10 +141,10 @@ public class OverlayDefinition extends DualNode {
|
||||
garbageValue = "489697731"
|
||||
)
|
||||
@Export("setHsl")
|
||||
void setHsl(int var1) {
|
||||
double var2 = (double)(var1 >> 16 & 255) / 256.0D;
|
||||
double var4 = (double)(var1 >> 8 & 255) / 256.0D;
|
||||
double var6 = (double)(var1 & 255) / 256.0D;
|
||||
void setHsl(int rgb) {
|
||||
double var2 = (double)(rgb >> 16 & 255) / 256.0D;
|
||||
double var4 = (double)(rgb >> 8 & 255) / 256.0D;
|
||||
double var6 = (double)(rgb & 255) / 256.0D;
|
||||
double var8 = var2;
|
||||
if (var4 < var2) {
|
||||
var8 = var4;
|
||||
@@ -208,33 +208,33 @@ public class OverlayDefinition extends DualNode {
|
||||
garbageValue = "30"
|
||||
)
|
||||
@Export("alignWidgetPosition")
|
||||
static void alignWidgetPosition(Widget var0, int var1, int var2) {
|
||||
if (var0.xAlignment == 0) {
|
||||
var0.x = var0.rawX;
|
||||
} else if (var0.xAlignment == 1) {
|
||||
var0.x = var0.rawX + (var1 - var0.width) / 2;
|
||||
} else if (var0.xAlignment == 2) {
|
||||
var0.x = var1 - var0.width - var0.rawX;
|
||||
} else if (var0.xAlignment == 3) {
|
||||
var0.x = var0.rawX * var1 >> 14;
|
||||
} else if (var0.xAlignment == 4) {
|
||||
var0.x = (var0.rawX * var1 >> 14) + (var1 - var0.width) / 2;
|
||||
static void alignWidgetPosition(Widget component, int parentWidth, int parentHeight) {
|
||||
if (component.xAlignment == 0) {
|
||||
component.x = component.rawX;
|
||||
} else if (component.xAlignment == 1) {
|
||||
component.x = component.rawX + (parentWidth - component.width) / 2;
|
||||
} else if (component.xAlignment == 2) {
|
||||
component.x = parentWidth - component.width - component.rawX;
|
||||
} else if (component.xAlignment == 3) {
|
||||
component.x = component.rawX * parentWidth >> 14;
|
||||
} else if (component.xAlignment == 4) {
|
||||
component.x = (component.rawX * parentWidth >> 14) + (parentWidth - component.width) / 2;
|
||||
} else {
|
||||
var0.x = var1 - var0.width - (var0.rawX * var1 >> 14);
|
||||
component.x = parentWidth - component.width - (component.rawX * parentWidth >> 14);
|
||||
}
|
||||
|
||||
if (var0.yAlignment == 0) {
|
||||
var0.y = var0.rawY;
|
||||
} else if (var0.yAlignment == 1) {
|
||||
var0.y = (var2 - var0.height) / 2 + var0.rawY;
|
||||
} else if (var0.yAlignment == 2) {
|
||||
var0.y = var2 - var0.height - var0.rawY;
|
||||
} else if (var0.yAlignment == 3) {
|
||||
var0.y = var2 * var0.rawY >> 14;
|
||||
} else if (var0.yAlignment == 4) {
|
||||
var0.y = (var2 * var0.rawY >> 14) + (var2 - var0.height) / 2;
|
||||
if (component.yAlignment == 0) {
|
||||
component.y = component.rawY;
|
||||
} else if (component.yAlignment == 1) {
|
||||
component.y = (parentHeight - component.height) / 2 + component.rawY;
|
||||
} else if (component.yAlignment == 2) {
|
||||
component.y = parentHeight - component.height - component.rawY;
|
||||
} else if (component.yAlignment == 3) {
|
||||
component.y = parentHeight * component.rawY >> 14;
|
||||
} else if (component.yAlignment == 4) {
|
||||
component.y = (parentHeight * component.rawY >> 14) + (parentHeight - component.height) / 2;
|
||||
} else {
|
||||
var0.y = var2 - var0.height - (var2 * var0.rawY >> 14);
|
||||
component.y = parentHeight - component.height - (parentHeight * component.rawY >> 14);
|
||||
}
|
||||
|
||||
}
|
||||
@@ -5,20 +5,20 @@ import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("ih")
|
||||
@Implements("UnderlayDefinition")
|
||||
public class UnderlayDefinition extends DualNode {
|
||||
@Implements("FloorUnderlayDefinition")
|
||||
public class FloorUnderlayDefinition extends DualNode {
|
||||
@ObfuscatedName("m")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lir;"
|
||||
)
|
||||
@Export("UnderlayDefinition_indexCache")
|
||||
static AbstractIndexCache UnderlayDefinition_indexCache;
|
||||
@Export("FloorUnderlayDefinition_archive")
|
||||
static AbstractArchive FloorUnderlayDefinition_archive;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Ler;"
|
||||
)
|
||||
@Export("UnderlayDefinition_cached")
|
||||
static EvictingDualNodeHashTable UnderlayDefinition_cached;
|
||||
@Export("FloorUnderlayDefinition_cached")
|
||||
static EvictingDualNodeHashTable FloorUnderlayDefinition_cached;
|
||||
@ObfuscatedName("q")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -635678213
|
||||
@@ -50,7 +50,7 @@ public class UnderlayDefinition extends DualNode {
|
||||
@Export("hueMultiplier")
|
||||
public int hueMultiplier;
|
||||
|
||||
UnderlayDefinition() {
|
||||
FloorUnderlayDefinition() {
|
||||
this.rgb = 0;
|
||||
}
|
||||
|
||||
@@ -59,8 +59,8 @@ public class UnderlayDefinition extends DualNode {
|
||||
signature = "(I)V",
|
||||
garbageValue = "-782326269"
|
||||
)
|
||||
@Export("init")
|
||||
void init() {
|
||||
@Export("postDecode")
|
||||
void postDecode() {
|
||||
this.setHsl(this.rgb);
|
||||
}
|
||||
|
||||
@@ -69,15 +69,15 @@ public class UnderlayDefinition extends DualNode {
|
||||
signature = "(Lgr;II)V",
|
||||
garbageValue = "-336010991"
|
||||
)
|
||||
@Export("read")
|
||||
void read(Buffer var1, int var2) {
|
||||
@Export("decode")
|
||||
void decode(Buffer var1, int var2) {
|
||||
while (true) {
|
||||
int var3 = var1.readUnsignedByte();
|
||||
if (var3 == 0) {
|
||||
return;
|
||||
}
|
||||
|
||||
this.readNext(var1, var3, var2);
|
||||
this.decodeNext(var1, var3, var2);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -86,8 +86,8 @@ public class UnderlayDefinition extends DualNode {
|
||||
signature = "(Lgr;III)V",
|
||||
garbageValue = "137131494"
|
||||
)
|
||||
@Export("readNext")
|
||||
void readNext(Buffer var1, int var2, int var3) {
|
||||
@Export("decodeNext")
|
||||
void decodeNext(Buffer var1, int var2, int var3) {
|
||||
if (var2 == 1) {
|
||||
this.rgb = var1.readMedium();
|
||||
}
|
||||
@@ -100,10 +100,10 @@ public class UnderlayDefinition extends DualNode {
|
||||
garbageValue = "-107"
|
||||
)
|
||||
@Export("setHsl")
|
||||
void setHsl(int var1) {
|
||||
double var2 = (double)(var1 >> 16 & 255) / 256.0D;
|
||||
double var4 = (double)(var1 >> 8 & 255) / 256.0D;
|
||||
double var6 = (double)(var1 & 255) / 256.0D;
|
||||
void setHsl(int rgb) {
|
||||
double var2 = (double)(rgb >> 16 & 255) / 256.0D;
|
||||
double var4 = (double)(rgb >> 8 & 255) / 256.0D;
|
||||
double var6 = (double)(rgb & 255) / 256.0D;
|
||||
double var8 = var2;
|
||||
if (var4 < var2) {
|
||||
var8 = var4;
|
||||
@@ -181,6 +181,6 @@ public class UnderlayDefinition extends DualNode {
|
||||
}
|
||||
|
||||
static {
|
||||
UnderlayDefinition_cached = new EvictingDualNodeHashTable(64);
|
||||
FloorUnderlayDefinition_cached = new EvictingDualNodeHashTable(64);
|
||||
}
|
||||
}
|
||||
@@ -57,9 +57,9 @@ public class FontName {
|
||||
)
|
||||
@Export("calculateTag")
|
||||
public static long calculateTag(int x, int y, int type, boolean isNotInteractable, int identifier) {
|
||||
long var5 = (long)((x & 0b1111111) << 0 | (y & 0b1111111) << 7 | (type & 0b11) << 14) | ((long)identifier & 0xffffffffL) << 17;
|
||||
long var5 = (long)((x & 127) << 0 | (y & 127) << 7 | (type & 3) << 14) | ((long)identifier & 4294967295L) << 17;
|
||||
if (isNotInteractable) {
|
||||
var5 |= 0x10000L;
|
||||
var5 |= 65536L;
|
||||
}
|
||||
|
||||
return var5;
|
||||
@@ -85,7 +85,7 @@ public class FontName {
|
||||
)
|
||||
static final void method5638(String var0, int var1) {
|
||||
PacketBufferNode var2 = Interpreter.method1915(ClientPacket.field299, Client.packetWriter.isaacCipher);
|
||||
var2.packetBuffer.writeByte(WorldMapRegion.method550(var0) + 1);
|
||||
var2.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var0) + 1);
|
||||
var2.packetBuffer.writeStringCp1252NullTerminated(var0);
|
||||
var2.packetBuffer.writeByte(var1);
|
||||
Client.packetWriter.method241(var2);
|
||||
@@ -113,8 +113,8 @@ public class FontName {
|
||||
var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
if (WorldMapArea.friendSystem.method99() && var3 >= 0 && var3 < WorldMapArea.friendSystem.friendsList.size()) {
|
||||
Friend var6 = (Friend)WorldMapArea.friendSystem.friendsList.get(var3);
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.name();
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.previousName();
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.getName();
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.getPreviousName();
|
||||
} else {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "";
|
||||
@@ -124,7 +124,7 @@ public class FontName {
|
||||
} else if (var0 == ScriptOpcodes.FRIEND_GETWORLD) {
|
||||
var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
if (WorldMapArea.friendSystem.method99() && var3 >= 0 && var3 < WorldMapArea.friendSystem.friendsList.size()) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)WorldMapArea.friendSystem.friendsList.get(var3)).world0;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)WorldMapArea.friendSystem.friendsList.get(var3)).world;
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0;
|
||||
}
|
||||
@@ -186,7 +186,7 @@ public class FontName {
|
||||
} else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERNAME) {
|
||||
var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size()) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = PacketWriter.clanChat.get(var3).username().getName();
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = PacketWriter.clanChat.get(var3).getUsername().getName();
|
||||
} else {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "";
|
||||
}
|
||||
@@ -195,7 +195,7 @@ public class FontName {
|
||||
} else if (var0 == ScriptOpcodes.CLAN_GETCHATUSERWORLD) {
|
||||
var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size()) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)PacketWriter.clanChat.get(var3)).world();
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = ((Buddy)PacketWriter.clanChat.get(var3)).getWorld();
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0;
|
||||
}
|
||||
@@ -211,11 +211,11 @@ public class FontName {
|
||||
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CLAN_GETCHATMINKICK) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = PacketWriter.clanChat != null ? PacketWriter.clanChat.field96 : 0;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = PacketWriter.clanChat != null ? PacketWriter.clanChat.minKick : 0;
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CLAN_KICKUSER) {
|
||||
var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize];
|
||||
IndexStoreActionHandler.method4655(var4);
|
||||
ArchiveDiskActionHandler.clanKickUser(var4);
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CLAN_GETCHATRANK) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = PacketWriter.clanChat != null ? PacketWriter.clanChat.rank : 0;
|
||||
@@ -225,7 +225,7 @@ public class FontName {
|
||||
class31.method574(var4);
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CLAN_LEAVECHAT) {
|
||||
class12.method158();
|
||||
GrandExchangeOfferAgeComparator.method158();
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.IGNORE_COUNT) {
|
||||
if (!WorldMapArea.friendSystem.method99()) {
|
||||
@@ -239,8 +239,8 @@ public class FontName {
|
||||
var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
if (WorldMapArea.friendSystem.method99() && var3 >= 0 && var3 < WorldMapArea.friendSystem.ignoreList.size()) {
|
||||
Ignored var7 = (Ignored)WorldMapArea.friendSystem.ignoreList.get(var3);
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.name();
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.previousName();
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.getName();
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.getPreviousName();
|
||||
} else {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "";
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = "";
|
||||
@@ -254,7 +254,7 @@ public class FontName {
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.CLAN_ISSELF) {
|
||||
var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size() && PacketWriter.clanChat.get(var3).username().equals(Canvas.localPlayer.username)) {
|
||||
if (PacketWriter.clanChat != null && var3 < PacketWriter.clanChat.size() && PacketWriter.clanChat.get(var3).getUsername().equals(Canvas.localPlayer.username)) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1;
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 0;
|
||||
@@ -425,12 +425,12 @@ public class FontName {
|
||||
return 1;
|
||||
} else if (var0 == 3656) {
|
||||
var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1;
|
||||
WorldMapArea.friendSystem.friendsList.addComparator(new class157(var5));
|
||||
WorldMapArea.friendSystem.friendsList.addComparator(new BuddyRankComparator(var5));
|
||||
return 1;
|
||||
} else if (var0 == 3657) {
|
||||
var5 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize] == 1;
|
||||
if (PacketWriter.clanChat != null) {
|
||||
PacketWriter.clanChat.addComparator(new class157(var5));
|
||||
PacketWriter.clanChat.addComparator(new BuddyRankComparator(var5));
|
||||
}
|
||||
|
||||
return 1;
|
||||
@@ -471,25 +471,25 @@ public class FontName {
|
||||
VarpDefinition.VarpDefinition_cached.clear();
|
||||
GrandExchangeEvents.method69();
|
||||
Buffer.clearHealthbarCaches();
|
||||
StructDefinition.field886.clear();
|
||||
StructDefinition.StructDefinition_cached.clear();
|
||||
InvDefinition.method4754();
|
||||
Projectile.method2089();
|
||||
PlayerAppearance.PlayerAppearance_cachedModels.clear();
|
||||
class157.method3382();
|
||||
BuddyRankComparator.method3382();
|
||||
((TextureProvider)Rasterizer3D.Rasterizer3D_textureLoader).clear();
|
||||
Script.Script_cached.clear();
|
||||
AbstractIndexCache.indexCache0.method8();
|
||||
Skeleton.indexCache1.method8();
|
||||
WorldMapIcon1.indexCache3.method8();
|
||||
WorldMapDecoration.indexCache4.method8();
|
||||
SecureRandomFuture.indexCache5.method8();
|
||||
UserComparator3.indexCache6.method8();
|
||||
class40.indexCache7.method8();
|
||||
WorldMapSection3.indexCache8.method8();
|
||||
class238.indexCache9.method8();
|
||||
class16.indexCache10.method8();
|
||||
Login.indexCache11.method8();
|
||||
Formatting.indexCache12.method8();
|
||||
AbstractArchive.archive0.method8();
|
||||
Skeleton.archive1.method8();
|
||||
WorldMapIcon1.archive3.method8();
|
||||
WorldMapDecoration.archive4.method8();
|
||||
SecureRandomFuture.archive5.method8();
|
||||
UserComparator3.archive6.method8();
|
||||
class40.archive7.method8();
|
||||
WorldMapSection3.archive8.method8();
|
||||
class238.archive9.method8();
|
||||
class16.archive10.method8();
|
||||
Login.archive11.method8();
|
||||
Formatting.archive12.method8();
|
||||
}
|
||||
|
||||
@ObfuscatedName("gg")
|
||||
@@ -498,16 +498,16 @@ public class FontName {
|
||||
garbageValue = "-2003105831"
|
||||
)
|
||||
@Export("setViewportShape")
|
||||
static final void setViewportShape(int var0, int var1, int var2, int var3, boolean var4) {
|
||||
if (var2 < 1) {
|
||||
var2 = 1;
|
||||
static final void setViewportShape(int x, int y, int width, int height, boolean clear) {
|
||||
if (width < 1) {
|
||||
width = 1;
|
||||
}
|
||||
|
||||
if (var3 < 1) {
|
||||
var3 = 1;
|
||||
if (height < 1) {
|
||||
height = 1;
|
||||
}
|
||||
|
||||
int var5 = var3 - 334;
|
||||
int var5 = height - 334;
|
||||
int var6;
|
||||
if (var5 < 0) {
|
||||
var6 = Client.field130;
|
||||
@@ -517,53 +517,53 @@ public class FontName {
|
||||
var6 = (Client.field131 - Client.field130) * var5 / 100 + Client.field130;
|
||||
}
|
||||
|
||||
int var7 = var3 * var6 * 512 / (var2 * 334);
|
||||
int var7 = height * var6 * 512 / (width * 334);
|
||||
int var8;
|
||||
int var9;
|
||||
short var10;
|
||||
if (var7 < Client.field132) {
|
||||
var10 = Client.field132;
|
||||
var6 = var10 * var2 * 334 / (var3 * 512);
|
||||
var6 = var10 * width * 334 / (height * 512);
|
||||
if (var6 > Client.field134) {
|
||||
var6 = Client.field134;
|
||||
var8 = var3 * var6 * 512 / (var10 * 334);
|
||||
var9 = (var2 - var8) / 2;
|
||||
if (var4) {
|
||||
var8 = height * var6 * 512 / (var10 * 334);
|
||||
var9 = (width - var8) / 2;
|
||||
if (clear) {
|
||||
Rasterizer2D.Rasterizer2D_resetClip();
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var9, var3, -16777216);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var0 + var2 - var9, var1, var9, var3, -16777216);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(x, y, var9, height, -16777216);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(x + width - var9, y, var9, height, -16777216);
|
||||
}
|
||||
|
||||
var0 += var9;
|
||||
var2 -= var9 * 2;
|
||||
x += var9;
|
||||
width -= var9 * 2;
|
||||
}
|
||||
} else if (var7 > Client.field133) {
|
||||
var10 = Client.field133;
|
||||
var6 = var10 * var2 * 334 / (var3 * 512);
|
||||
var6 = var10 * width * 334 / (height * 512);
|
||||
if (var6 < Client.field135) {
|
||||
var6 = Client.field135;
|
||||
var8 = var10 * var2 * 334 / (var6 * 512);
|
||||
var9 = (var3 - var8) / 2;
|
||||
if (var4) {
|
||||
var8 = var10 * width * 334 / (var6 * 512);
|
||||
var9 = (height - var8) / 2;
|
||||
if (clear) {
|
||||
Rasterizer2D.Rasterizer2D_resetClip();
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var1, var2, var9, -16777216);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(var0, var3 + var1 - var9, var2, var9, -16777216);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(x, y, width, var9, -16777216);
|
||||
Rasterizer2D.Rasterizer2D_fillRectangle(x, height + y - var9, width, var9, -16777216);
|
||||
}
|
||||
|
||||
var1 += var9;
|
||||
var3 -= var9 * 2;
|
||||
y += var9;
|
||||
height -= var9 * 2;
|
||||
}
|
||||
}
|
||||
|
||||
Client.viewportZoom = var3 * var6 / 334;
|
||||
if (var2 != Client.viewportWidth || var3 != Client.viewportHeight) {
|
||||
ScriptEvent.method1183(var2, var3);
|
||||
Client.viewportZoom = height * var6 / 334;
|
||||
if (width != Client.viewportWidth || height != Client.viewportHeight) {
|
||||
ScriptEvent.method1183(width, height);
|
||||
}
|
||||
|
||||
Client.viewportOffsetX = var0;
|
||||
Client.viewportOffsetY = var1;
|
||||
Client.viewportWidth = var2;
|
||||
Client.viewportHeight = var3;
|
||||
Client.viewportOffsetX = x;
|
||||
Client.viewportOffsetY = y;
|
||||
Client.viewportWidth = width;
|
||||
Client.viewportHeight = height;
|
||||
}
|
||||
|
||||
@ObfuscatedName("km")
|
||||
|
||||
@@ -11,8 +11,8 @@ public class Fonts {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lff;"
|
||||
)
|
||||
@Export("indexStore255")
|
||||
static IndexStore indexStore255;
|
||||
@Export("masterDisk")
|
||||
static ArchiveDisk masterDisk;
|
||||
@ObfuscatedName("o")
|
||||
static byte[][][] field350;
|
||||
@ObfuscatedName("l")
|
||||
@@ -25,12 +25,12 @@ public class Fonts {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lir;"
|
||||
)
|
||||
AbstractIndexCache field351;
|
||||
AbstractArchive field351;
|
||||
@ObfuscatedName("f")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lir;"
|
||||
)
|
||||
AbstractIndexCache field352;
|
||||
AbstractArchive field352;
|
||||
@ObfuscatedName("q")
|
||||
@Export("map")
|
||||
HashMap map;
|
||||
@@ -38,7 +38,7 @@ public class Fonts {
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lir;Lir;)V"
|
||||
)
|
||||
public Fonts(AbstractIndexCache var1, AbstractIndexCache var2) {
|
||||
public Fonts(AbstractArchive var1, AbstractArchive var2) {
|
||||
this.field351 = var1;
|
||||
this.field352 = var2;
|
||||
this.map = new HashMap();
|
||||
@@ -59,12 +59,12 @@ public class Fonts {
|
||||
if (this.map.containsKey(var5)) {
|
||||
var2.put(var5, this.map.get(var5));
|
||||
} else {
|
||||
AbstractIndexCache var6 = this.field351;
|
||||
AbstractIndexCache var7 = this.field352;
|
||||
AbstractArchive var6 = this.field351;
|
||||
AbstractArchive var7 = this.field352;
|
||||
String var8 = var5.field349;
|
||||
int var9 = var6.getArchiveId(var8);
|
||||
int var10 = var6.getRecordId(var9, "");
|
||||
Font var11 = SpriteIds.method5823(var6, var7, var9, var10);
|
||||
int var9 = var6.getGroupId(var8);
|
||||
int var10 = var6.getFileId(var9, "");
|
||||
Font var11 = GraphicsDefaults.method5823(var6, var7, var9, var10);
|
||||
if (var11 != null) {
|
||||
this.map.put(var5, var11);
|
||||
var2.put(var5, var11);
|
||||
|
||||
@@ -13,8 +13,8 @@ public class Formatting {
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lit;"
|
||||
)
|
||||
@Export("indexCache12")
|
||||
static IndexCache indexCache12;
|
||||
@Export("archive12")
|
||||
static Archive archive12;
|
||||
|
||||
@ObfuscatedName("s")
|
||||
@ObfuscatedSignature(
|
||||
@@ -22,7 +22,7 @@ public class Formatting {
|
||||
garbageValue = "1654486766"
|
||||
)
|
||||
static int method2023(int var0, Script var1, boolean var2) {
|
||||
Widget var3 = var2 ? WorldMapIcon1.field1030 : class12.field1111;
|
||||
Widget var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111;
|
||||
if (var0 == ScriptOpcodes.CC_GETINVOBJECT) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.itemId;
|
||||
return 1;
|
||||
@@ -51,33 +51,33 @@ public class Formatting {
|
||||
int var3;
|
||||
int var4;
|
||||
int var5;
|
||||
EnumDefinition var9;
|
||||
EnumDefinition var6;
|
||||
if (var0 == ScriptOpcodes.ENUM_STRING) {
|
||||
RouteStrategy.Interpreter_intStackSize -= 2;
|
||||
var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize];
|
||||
var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1];
|
||||
var9 = Interpreter.getEnum(var3);
|
||||
if (var9.valType != 's') {
|
||||
var6 = Interpreter.getEnum(var3);
|
||||
if (var6.outputType != 's') {
|
||||
}
|
||||
|
||||
for (var5 = 0; var5 < var9.size0; ++var5) {
|
||||
if (var4 == var9.keys[var5]) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.stringVals[var5];
|
||||
var9 = null;
|
||||
for (var5 = 0; var5 < var6.outputCount; ++var5) {
|
||||
if (var4 == var6.keys[var5]) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.strVals[var5];
|
||||
var6 = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (var9 != null) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var9.defaultString;
|
||||
if (var6 != null) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var6.defaultStr;
|
||||
}
|
||||
|
||||
return 1;
|
||||
} else if (var0 != ScriptOpcodes.ENUM) {
|
||||
if (var0 == ScriptOpcodes.ENUM_GETOUTPUTCOUNT) {
|
||||
var3 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
var9 = Interpreter.getEnum(var3);
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var9.size();
|
||||
var6 = Interpreter.getEnum(var3);
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var6.size();
|
||||
return 1;
|
||||
} else {
|
||||
return 2;
|
||||
@@ -86,28 +86,28 @@ public class Formatting {
|
||||
RouteStrategy.Interpreter_intStackSize -= 4;
|
||||
var3 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize];
|
||||
var4 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 1];
|
||||
int var6 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2];
|
||||
int var7 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 2];
|
||||
var5 = Interpreter.Interpreter_intStack[RouteStrategy.Interpreter_intStackSize + 3];
|
||||
EnumDefinition var7 = Interpreter.getEnum(var6);
|
||||
if (var3 == var7.keyType && var4 == var7.valType) {
|
||||
for (int var8 = 0; var8 < var7.size0; ++var8) {
|
||||
if (var5 == var7.keys[var8]) {
|
||||
EnumDefinition var8 = Interpreter.getEnum(var7);
|
||||
if (var3 == var8.inputType && var4 == var8.outputType) {
|
||||
for (int var9 = 0; var9 < var8.outputCount; ++var9) {
|
||||
if (var5 == var8.keys[var9]) {
|
||||
if (var4 == 115) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.stringVals[var8];
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.strVals[var9];
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var7.intVals[var8];
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var8.intVals[var9];
|
||||
}
|
||||
|
||||
var7 = null;
|
||||
var8 = null;
|
||||
break;
|
||||
}
|
||||
}
|
||||
|
||||
if (var7 != null) {
|
||||
if (var8 != null) {
|
||||
if (var4 == 115) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var7.defaultString;
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var8.defaultStr;
|
||||
} else {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var7.defaultInt;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var8.defaultInt;
|
||||
}
|
||||
}
|
||||
|
||||
|
||||
@@ -7,8 +7,8 @@ import net.runelite.mapping.ObfuscatedSignature;
|
||||
@Implements("Frames")
|
||||
public class Frames extends DualNode {
|
||||
@ObfuscatedName("o")
|
||||
@Export("IndexStoreActionHandler_thread")
|
||||
static Thread IndexStoreActionHandler_thread;
|
||||
@Export("ArchiveDiskActionHandler_thread")
|
||||
static Thread ArchiveDiskActionHandler_thread;
|
||||
@ObfuscatedName("bc")
|
||||
@ObfuscatedSignature(
|
||||
signature = "[Llq;"
|
||||
@@ -26,14 +26,14 @@ public class Frames extends DualNode {
|
||||
signature = "(Lir;Lir;IZ)V",
|
||||
garbageValue = "0"
|
||||
)
|
||||
public Frames(AbstractIndexCache var1, AbstractIndexCache var2, int var3, boolean var4) {
|
||||
public Frames(AbstractArchive var1, AbstractArchive var2, int var3, boolean var4) {
|
||||
NodeDeque var5 = new NodeDeque();
|
||||
int var6 = var1.method4(var3);
|
||||
this.frames = new Animation[var6];
|
||||
int[] var7 = var1.method3(var3);
|
||||
|
||||
for (int var8 = 0; var8 < var7.length; ++var8) {
|
||||
byte[] var9 = var1.takeRecord(var3, var7[var8]);
|
||||
byte[] var9 = var1.takeFile(var3, var7[var8]);
|
||||
Skeleton var10 = null;
|
||||
int var11 = (var9[0] & 255) << 8 | var9[1] & 255;
|
||||
|
||||
@@ -45,7 +45,7 @@ public class Frames extends DualNode {
|
||||
}
|
||||
|
||||
if (var10 == null) {
|
||||
byte[] var13 = var2.getRecord(var11, 0);
|
||||
byte[] var13 = var2.getFile(var11, 0);
|
||||
var10 = new Skeleton(var11, var13);
|
||||
var5.addFirst(var10);
|
||||
}
|
||||
@@ -61,8 +61,8 @@ public class Frames extends DualNode {
|
||||
garbageValue = "-1018278334"
|
||||
)
|
||||
@Export("hasAlphaTransform")
|
||||
public boolean hasAlphaTransform(int var1) {
|
||||
return this.frames[var1].hasAlphaTransform;
|
||||
public boolean hasAlphaTransform(int frame) {
|
||||
return this.frames[frame].hasAlphaTransform;
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -70,7 +70,7 @@ public class Frames extends DualNode {
|
||||
signature = "(Lir;I)V",
|
||||
garbageValue = "1204337492"
|
||||
)
|
||||
public static void method3241(AbstractIndexCache var0) {
|
||||
public static void method3241(AbstractArchive var0) {
|
||||
VarcInt.field942 = var0;
|
||||
}
|
||||
|
||||
|
||||
@@ -20,9 +20,9 @@ public class Friend extends Buddy {
|
||||
signature = "(Lkq;I)I",
|
||||
garbageValue = "-1559116693"
|
||||
)
|
||||
@Export("compareTo00")
|
||||
int compareTo00(Friend var1) {
|
||||
return super.world0 == Client.worldId && Client.worldId != var1.world0 ? -1 : (Client.worldId == var1.world0 && super.world0 != Client.worldId ? 1 : (super.world0 != 0 && var1.world0 == 0 ? -1 : (var1.world0 != 0 && super.world0 == 0 ? 1 : (this.field354 && !var1.field354 ? -1 : (!this.field354 && var1.field354 ? 1 : (this.field355 && !var1.field355 ? -1 : (!this.field355 && var1.field355 ? 1 : (super.world0 != 0 ? super.int2 - var1.int2 : var1.int2 - super.int2))))))));
|
||||
@Export("compareToFriend")
|
||||
int compareToFriend(Friend other) {
|
||||
return super.world == Client.worldId && Client.worldId != other.world ? -1 : (Client.worldId == other.world && super.world != Client.worldId ? 1 : (super.world != 0 && other.world == 0 ? -1 : (other.world != 0 && super.world == 0 ? 1 : (this.field354 && !other.field354 ? -1 : (!this.field354 && other.field354 ? 1 : (this.field355 && !other.field355 ? -1 : (!this.field355 && other.field355 ? 1 : (super.world != 0 ? super.int2 - other.int2 : other.int2 - super.int2))))))));
|
||||
}
|
||||
|
||||
@ObfuscatedName("aj")
|
||||
@@ -30,12 +30,12 @@ public class Friend extends Buddy {
|
||||
signature = "(Ljs;I)I",
|
||||
garbageValue = "1627362569"
|
||||
)
|
||||
public int compareTo0(User var1) {
|
||||
return this.compareTo00((Friend)var1);
|
||||
@Export("compareToUser")
|
||||
public int compareToUser(User var1) {
|
||||
return this.compareToFriend((Friend)var1);
|
||||
}
|
||||
|
||||
@ObfuscatedName("compareTo")
|
||||
public int compareTo(Object var1) {
|
||||
return this.compareTo00((Friend)var1);
|
||||
return this.compareToFriend((Friend)var1);
|
||||
}
|
||||
}
|
||||
|
||||
@@ -161,7 +161,7 @@ public class FriendSystem {
|
||||
WorldMapIcon1.addGameMessage(30, "", var4);
|
||||
} else {
|
||||
PacketBufferNode var6 = Interpreter.method1915(ClientPacket.field310, Client.packetWriter.isaacCipher);
|
||||
var6.packetBuffer.writeByte(WorldMapRegion.method550(var1));
|
||||
var6.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var1));
|
||||
var6.packetBuffer.writeStringCp1252NullTerminated(var1);
|
||||
Client.packetWriter.method241(var6);
|
||||
}
|
||||
@@ -214,7 +214,7 @@ public class FriendSystem {
|
||||
WorldMapIcon1.addGameMessage(30, "", var4);
|
||||
} else {
|
||||
var5 = Interpreter.method1915(ClientPacket.field312, Client.packetWriter.isaacCipher);
|
||||
var5.packetBuffer.writeByte(WorldMapRegion.method550(var1));
|
||||
var5.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(var1));
|
||||
var5.packetBuffer.writeStringCp1252NullTerminated(var1);
|
||||
Client.packetWriter.method241(var5);
|
||||
}
|
||||
@@ -240,15 +240,15 @@ public class FriendSystem {
|
||||
garbageValue = "-2122207917"
|
||||
)
|
||||
@Export("removeFriend")
|
||||
final void removeFriend(String var1) {
|
||||
if (var1 != null) {
|
||||
Username var2 = new Username(var1, this.loginType);
|
||||
final void removeFriend(String name) {
|
||||
if (name != null) {
|
||||
Username var2 = new Username(name, this.loginType);
|
||||
if (var2.hasCleanName()) {
|
||||
if (this.friendsList.removeByUsername(var2)) {
|
||||
WorldMapManager.method668();
|
||||
PacketBufferNode var3 = Interpreter.method1915(ClientPacket.field276, Client.packetWriter.isaacCipher);
|
||||
var3.packetBuffer.writeByte(WorldMapRegion.method550(var1));
|
||||
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
||||
var3.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(name));
|
||||
var3.packetBuffer.writeStringCp1252NullTerminated(name);
|
||||
Client.packetWriter.method241(var3);
|
||||
}
|
||||
|
||||
@@ -264,15 +264,15 @@ public class FriendSystem {
|
||||
garbageValue = "-1673636127"
|
||||
)
|
||||
@Export("removeIgnore")
|
||||
final void removeIgnore(String var1) {
|
||||
if (var1 != null) {
|
||||
Username var2 = new Username(var1, this.loginType);
|
||||
final void removeIgnore(String name) {
|
||||
if (name != null) {
|
||||
Username var2 = new Username(name, this.loginType);
|
||||
if (var2.hasCleanName()) {
|
||||
if (this.ignoreList.removeByUsername(var2)) {
|
||||
WorldMapManager.method668();
|
||||
PacketBufferNode var3 = Interpreter.method1915(ClientPacket.field250, Client.packetWriter.isaacCipher);
|
||||
var3.packetBuffer.writeByte(WorldMapRegion.method550(var1));
|
||||
var3.packetBuffer.writeStringCp1252NullTerminated(var1);
|
||||
var3.packetBuffer.writeByte(WorldMapRegion.stringCp1252NullTerminatedByteSize(name));
|
||||
var3.packetBuffer.writeStringCp1252NullTerminated(name);
|
||||
Client.packetWriter.method241(var3);
|
||||
}
|
||||
|
||||
@@ -304,18 +304,18 @@ public class FriendSystem {
|
||||
var0 -= 1000;
|
||||
var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]);
|
||||
} else {
|
||||
var3 = var2 ? WorldMapIcon1.field1030 : class12.field1111;
|
||||
var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111;
|
||||
}
|
||||
|
||||
if (var0 == ScriptOpcodes.CC_CALLONRESIZE) {
|
||||
if (Interpreter.field425 >= 10) {
|
||||
throw new RuntimeException();
|
||||
} else if (var3.field975 == null) {
|
||||
} else if (var3.onResize == null) {
|
||||
return 0;
|
||||
} else {
|
||||
ScriptEvent var4 = new ScriptEvent();
|
||||
var4.widget = var3;
|
||||
var4.args0 = var3.field975;
|
||||
var4.args0 = var3.onResize;
|
||||
var4.field772 = Interpreter.field425 + 1;
|
||||
Client.scriptEvents.addFirst(var4);
|
||||
return 1;
|
||||
@@ -332,6 +332,6 @@ public class FriendSystem {
|
||||
)
|
||||
@Export("jmodCheck")
|
||||
public static boolean jmodCheck() {
|
||||
return Client.rights >= 2;
|
||||
return Client.staffModLevel >= 2;
|
||||
}
|
||||
}
|
||||
|
||||
@@ -63,7 +63,7 @@ public class FriendsList extends UserList {
|
||||
@Export("isFriended")
|
||||
public boolean isFriended(Username var1, boolean var2) {
|
||||
Friend var3 = (Friend)this.getByUsername(var1);
|
||||
return var3 != null && (!var2 || var3.world0 != 0);
|
||||
return var3 != null && (!var2 || var3.world != 0);
|
||||
}
|
||||
|
||||
@ObfuscatedName("x")
|
||||
@@ -72,24 +72,24 @@ public class FriendsList extends UserList {
|
||||
garbageValue = "-11"
|
||||
)
|
||||
@Export("read")
|
||||
public void read(Buffer var1, int var2) {
|
||||
public void read(Buffer buffer, int var2) {
|
||||
while (true) {
|
||||
if (var1.index < var2) {
|
||||
boolean var3 = var1.readUnsignedByte() == 1;
|
||||
Username var4 = new Username(var1.readStringCp1252NullTerminated(), this.loginType);
|
||||
Username var5 = new Username(var1.readStringCp1252NullTerminated(), this.loginType);
|
||||
int var6 = var1.readUnsignedShort();
|
||||
int var7 = var1.readUnsignedByte();
|
||||
int var8 = var1.readUnsignedByte();
|
||||
if (buffer.index < var2) {
|
||||
boolean var3 = buffer.readUnsignedByte() == 1;
|
||||
Username var4 = new Username(buffer.readStringCp1252NullTerminated(), this.loginType);
|
||||
Username var5 = new Username(buffer.readStringCp1252NullTerminated(), this.loginType);
|
||||
int var6 = buffer.readUnsignedShort();
|
||||
int var7 = buffer.readUnsignedByte();
|
||||
int var8 = buffer.readUnsignedByte();
|
||||
boolean var9 = (var8 & 2) != 0;
|
||||
boolean var10 = (var8 & 1) != 0;
|
||||
if (var6 > 0) {
|
||||
var1.readStringCp1252NullTerminated();
|
||||
var1.readUnsignedByte();
|
||||
var1.readInt();
|
||||
buffer.readStringCp1252NullTerminated();
|
||||
buffer.readUnsignedByte();
|
||||
buffer.readInt();
|
||||
}
|
||||
|
||||
var1.readStringCp1252NullTerminated();
|
||||
buffer.readStringCp1252NullTerminated();
|
||||
if (var4 != null && var4.hasCleanName()) {
|
||||
Friend var11 = (Friend)this.getByCurrentUsername(var4);
|
||||
if (var3) {
|
||||
@@ -105,7 +105,7 @@ public class FriendsList extends UserList {
|
||||
|
||||
if (var11 != null) {
|
||||
this.changeName(var11, var4, var5);
|
||||
if (var6 != var11.world0) {
|
||||
if (var6 != var11.world) {
|
||||
boolean var14 = true;
|
||||
|
||||
for (FriendLoginUpdate var13 = (FriendLoginUpdate)this.friendLoginUpdates.last(); var13 != null; var13 = (FriendLoginUpdate)this.friendLoginUpdates.previous()) {
|
||||
@@ -132,13 +132,13 @@ public class FriendsList extends UserList {
|
||||
var11 = (Friend)this.addLast(var4, var5);
|
||||
}
|
||||
|
||||
if (var6 != var11.world0) {
|
||||
if (var6 != var11.world) {
|
||||
var11.int2 = ++this.field358 - 1;
|
||||
if (var11.world0 == -1 && var6 == 0) {
|
||||
if (var11.world == -1 && var6 == 0) {
|
||||
var11.int2 = -(var11.int2 * -1377538447) * 120689297;
|
||||
}
|
||||
|
||||
var11.world0 = var6;
|
||||
var11.world = var6;
|
||||
}
|
||||
|
||||
var11.rank = var7;
|
||||
|
||||
@@ -469,7 +469,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
garbageValue = "559367680"
|
||||
)
|
||||
@Export("startThread")
|
||||
protected final void startThread(int var1, int var2, int var3) {
|
||||
protected final void startThread(int width, int height, int revision) {
|
||||
try {
|
||||
if (gameShell != null) {
|
||||
++field361;
|
||||
@@ -483,9 +483,9 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
}
|
||||
|
||||
gameShell = this;
|
||||
SoundCache.canvasWidth = var1;
|
||||
Huffman.canvasHeight = var2;
|
||||
RunException.revision = var3;
|
||||
SoundCache.canvasWidth = width;
|
||||
Huffman.canvasHeight = height;
|
||||
RunException.revision = revision;
|
||||
RunException.applet = this;
|
||||
if (taskHandler == null) {
|
||||
taskHandler = new TaskHandler();
|
||||
@@ -598,7 +598,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
class230.field1138 = hasFocus;
|
||||
}
|
||||
|
||||
this.vmethod112();
|
||||
this.doCycle();
|
||||
}
|
||||
|
||||
@ObfuscatedName("ar")
|
||||
@@ -635,7 +635,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
}
|
||||
|
||||
this.method110();
|
||||
this.methodDraw(this.field369);
|
||||
this.draw(this.field369);
|
||||
if (this.field369) {
|
||||
this.clearBackground();
|
||||
}
|
||||
@@ -718,15 +718,16 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
signature = "(I)V",
|
||||
garbageValue = "1445885427"
|
||||
)
|
||||
protected abstract void vmethod112();
|
||||
@Export("doCycle")
|
||||
protected abstract void doCycle();
|
||||
|
||||
@ObfuscatedName("ab")
|
||||
@ObfuscatedSignature(
|
||||
signature = "(ZI)V",
|
||||
garbageValue = "106302203"
|
||||
)
|
||||
@Export("methodDraw")
|
||||
protected abstract void methodDraw(boolean var1);
|
||||
@Export("draw")
|
||||
protected abstract void draw(boolean var1);
|
||||
|
||||
@ObfuscatedName("ae")
|
||||
@ObfuscatedSignature(
|
||||
@@ -809,13 +810,13 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
garbageValue = "39"
|
||||
)
|
||||
@Export("error")
|
||||
protected void error(String var1) {
|
||||
protected void error(String type) {
|
||||
if (!this.hasErrored) {
|
||||
this.hasErrored = true;
|
||||
System.out.println("error_game_" + var1);
|
||||
System.out.println("error_game_" + type);
|
||||
|
||||
try {
|
||||
this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + var1 + ".ws"), "_self");
|
||||
this.getAppletContext().showDocument(new URL(this.getCodeBase(), "error_game_" + type + ".ws"), "_self");
|
||||
} catch (Exception var3) {
|
||||
}
|
||||
}
|
||||
@@ -868,8 +869,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
)
|
||||
protected abstract void vmethod114();
|
||||
|
||||
@ObfuscatedName("destroy")
|
||||
public final void method115() {
|
||||
public final void destroy() {
|
||||
if (this == gameShell && !isKilled) {
|
||||
stopTimeMs = class203.currentTimeMs();
|
||||
class203.method4010(5000L);
|
||||
@@ -878,8 +878,6 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
|
||||
}
|
||||
|
||||
@Export("paint")
|
||||
@ObfuscatedName("paint")
|
||||
public final synchronized void paint(Graphics var1) {
|
||||
if (this == gameShell && !isKilled) {
|
||||
this.field369 = true;
|
||||
@@ -893,8 +891,6 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
|
||||
}
|
||||
|
||||
@Export("run")
|
||||
@ObfuscatedName("run")
|
||||
public void run() {
|
||||
try {
|
||||
if (TaskHandler.javaVendor != null) {
|
||||
@@ -908,7 +904,7 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
|
||||
if (var2.startsWith("1.6.0_")) {
|
||||
int var3;
|
||||
for (var3 = 6; var3 < var2.length() && class159.method3394(var2.charAt(var3)); ++var3) {
|
||||
for (var3 = 6; var3 < var2.length() && class159.isCharDigit(var2.charAt(var3)); ++var3) {
|
||||
}
|
||||
|
||||
String var4 = var2.substring(6, var3);
|
||||
@@ -953,76 +949,53 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
this.kill();
|
||||
}
|
||||
|
||||
@ObfuscatedName("start")
|
||||
public final void method116() {
|
||||
public final void start() {
|
||||
if (this == gameShell && !isKilled) {
|
||||
stopTimeMs = 0L;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Export("update")
|
||||
@ObfuscatedName("update")
|
||||
public final void update(Graphics var1) {
|
||||
this.paint(var1);
|
||||
}
|
||||
|
||||
@Export("focusGained")
|
||||
@ObfuscatedName("focusGained")
|
||||
public final void focusGained(FocusEvent var1) {
|
||||
hasFocus = true;
|
||||
this.field369 = true;
|
||||
}
|
||||
|
||||
@Export("windowActivated")
|
||||
@ObfuscatedName("windowActivated")
|
||||
public final void windowActivated(WindowEvent var1) {
|
||||
}
|
||||
|
||||
@Export("windowClosed")
|
||||
@ObfuscatedName("windowClosed")
|
||||
public final void windowClosed(WindowEvent var1) {
|
||||
}
|
||||
|
||||
@Export("windowClosing")
|
||||
@ObfuscatedName("windowClosing")
|
||||
public final void windowClosing(WindowEvent var1) {
|
||||
this.method115();
|
||||
this.destroy();
|
||||
}
|
||||
|
||||
@Export("windowDeiconified")
|
||||
@ObfuscatedName("windowDeiconified")
|
||||
public final void windowDeiconified(WindowEvent var1) {
|
||||
}
|
||||
|
||||
@Export("windowOpened")
|
||||
@ObfuscatedName("windowOpened")
|
||||
public final void windowOpened(WindowEvent var1) {
|
||||
}
|
||||
|
||||
@ObfuscatedName("init")
|
||||
public abstract void vmethod117();
|
||||
public abstract void init();
|
||||
|
||||
@ObfuscatedName("stop")
|
||||
public final void method118() {
|
||||
public final void stop() {
|
||||
if (this == gameShell && !isKilled) {
|
||||
stopTimeMs = class203.currentTimeMs() + 4000L;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@Export("windowIconified")
|
||||
@ObfuscatedName("windowIconified")
|
||||
public final void windowIconified(WindowEvent var1) {
|
||||
}
|
||||
|
||||
@Export("windowDeactivated")
|
||||
@ObfuscatedName("windowDeactivated")
|
||||
public final void windowDeactivated(WindowEvent var1) {
|
||||
}
|
||||
|
||||
@Export("focusLost")
|
||||
@ObfuscatedName("focusLost")
|
||||
public final void focusLost(FocusEvent var1) {
|
||||
hasFocus = false;
|
||||
}
|
||||
@@ -1033,23 +1006,23 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
garbageValue = "17"
|
||||
)
|
||||
@Export("updateGameState")
|
||||
static void updateGameState(int var0) {
|
||||
if (var0 != Client.gameState) {
|
||||
static void updateGameState(int gameState) {
|
||||
if (gameState != Client.gameState) {
|
||||
if (Client.gameState == 0) {
|
||||
TextureProvider.client.method113();
|
||||
}
|
||||
|
||||
if (var0 == 20 || var0 == 40 || var0 == 45) {
|
||||
if (gameState == 20 || gameState == 40 || gameState == 45) {
|
||||
Client.loginState = 0;
|
||||
Client.field168 = 0;
|
||||
Client.field169 = 0;
|
||||
Client.timer.method331(var0);
|
||||
if (var0 != 20) {
|
||||
Client.timer.method331(gameState);
|
||||
if (gameState != 20) {
|
||||
class15.method184(false);
|
||||
}
|
||||
}
|
||||
|
||||
if (var0 != 20 && var0 != 40 && ClientParameter.field341 != null) {
|
||||
if (gameState != 20 && gameState != 40 && ClientParameter.field341 != null) {
|
||||
ClientParameter.field341.close();
|
||||
ClientParameter.field341 = null;
|
||||
}
|
||||
@@ -1062,19 +1035,19 @@ public abstract class GameShell extends Applet implements Runnable, FocusListene
|
||||
Client.field180 = 1;
|
||||
}
|
||||
|
||||
if (var0 != 5 && var0 != 10) {
|
||||
if (var0 == 20) {
|
||||
class2.method27(class16.indexCache10, WorldMapSection3.indexCache8, true, Client.gameState == 11 ? 4 : 0);
|
||||
} else if (var0 == 11) {
|
||||
class2.method27(class16.indexCache10, WorldMapSection3.indexCache8, false, 4);
|
||||
if (gameState != 5 && gameState != 10) {
|
||||
if (gameState == 20) {
|
||||
class2.method27(class16.archive10, WorldMapSection3.archive8, true, Client.gameState == 11 ? 4 : 0);
|
||||
} else if (gameState == 11) {
|
||||
class2.method27(class16.archive10, WorldMapSection3.archive8, false, 4);
|
||||
} else {
|
||||
class80.method2015();
|
||||
}
|
||||
} else {
|
||||
class2.method27(class16.indexCache10, WorldMapSection3.indexCache8, true, 0);
|
||||
class2.method27(class16.archive10, WorldMapSection3.archive8, true, 0);
|
||||
}
|
||||
|
||||
Client.gameState = var0;
|
||||
Client.gameState = gameState;
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
@@ -26,18 +26,18 @@ public class GrandExchangeEvent {
|
||||
@Export("grandExchangeOffer")
|
||||
public final GrandExchangeOffer grandExchangeOffer;
|
||||
@ObfuscatedName("w")
|
||||
@Export("string1")
|
||||
String string1;
|
||||
@Export("offerName")
|
||||
String offerName;
|
||||
@ObfuscatedName("o")
|
||||
@Export("string2")
|
||||
String string2;
|
||||
@Export("previousOfferName")
|
||||
String previousOfferName;
|
||||
|
||||
@ObfuscatedSignature(
|
||||
signature = "(Lgr;BI)V"
|
||||
)
|
||||
GrandExchangeEvent(Buffer var1, byte var2, int var3) {
|
||||
this.string1 = var1.readStringCp1252NullTerminated();
|
||||
this.string2 = var1.readStringCp1252NullTerminated();
|
||||
this.offerName = var1.readStringCp1252NullTerminated();
|
||||
this.previousOfferName = var1.readStringCp1252NullTerminated();
|
||||
this.world = var1.readUnsignedShort();
|
||||
this.field370 = var1.readLong();
|
||||
int var4 = var1.readInt();
|
||||
@@ -57,8 +57,9 @@ public class GrandExchangeEvent {
|
||||
signature = "(I)Ljava/lang/String;",
|
||||
garbageValue = "1672323214"
|
||||
)
|
||||
public String method119() {
|
||||
return this.string1;
|
||||
@Export("getOfferName")
|
||||
public String getOfferName() {
|
||||
return this.offerName;
|
||||
}
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@@ -66,8 +67,9 @@ public class GrandExchangeEvent {
|
||||
signature = "(I)Ljava/lang/String;",
|
||||
garbageValue = "-271438207"
|
||||
)
|
||||
public String method120() {
|
||||
return this.string2;
|
||||
@Export("getPreviousOfferName")
|
||||
public String getPreviousOfferName() {
|
||||
return this.previousOfferName;
|
||||
}
|
||||
|
||||
@ObfuscatedName("f")
|
||||
@@ -76,14 +78,14 @@ public class GrandExchangeEvent {
|
||||
garbageValue = "-1003049523"
|
||||
)
|
||||
@Export("runScript0")
|
||||
static void runScript0(ScriptEvent var0, int var1) {
|
||||
Object[] var2 = var0.args0;
|
||||
static void runScript0(ScriptEvent scriptEvent, int var1) {
|
||||
Object[] var2 = scriptEvent.args0;
|
||||
Script var3;
|
||||
int var4;
|
||||
if (class12.method162(var0.type0)) {
|
||||
if (GrandExchangeOfferAgeComparator.method162(scriptEvent.type0)) {
|
||||
class15.worldMapEvent = (WorldMapEvent)var2[0];
|
||||
WorldMapElement var5 = ViewportMouse.getWorldMapElement(class15.worldMapEvent.mapElement);
|
||||
var3 = FaceNormal.method3236(var0.type0, var5.field1020, var5.category);
|
||||
var3 = FaceNormal.method3236(scriptEvent.type0, var5.field1020, var5.category);
|
||||
} else {
|
||||
var4 = (Integer)var2[0];
|
||||
var3 = SoundSystem.method2451(var4);
|
||||
@@ -113,46 +115,46 @@ public class GrandExchangeEvent {
|
||||
if (var2[var8] instanceof Integer) {
|
||||
var11 = (Integer)var2[var8];
|
||||
if (var11 == -2147483647) {
|
||||
var11 = var0.mouseX;
|
||||
var11 = scriptEvent.mouseX;
|
||||
}
|
||||
|
||||
if (var11 == -2147483646) {
|
||||
var11 = var0.mouseY;
|
||||
var11 = scriptEvent.mouseY;
|
||||
}
|
||||
|
||||
if (var11 == -2147483645) {
|
||||
var11 = var0.widget != null ? var0.widget.id : -1;
|
||||
var11 = scriptEvent.widget != null ? scriptEvent.widget.id : -1;
|
||||
}
|
||||
|
||||
if (var11 == -2147483644) {
|
||||
var11 = var0.opIndex;
|
||||
var11 = scriptEvent.opIndex;
|
||||
}
|
||||
|
||||
if (var11 == -2147483643) {
|
||||
var11 = var0.widget != null ? var0.widget.childIndex : -1;
|
||||
var11 = scriptEvent.widget != null ? scriptEvent.widget.childIndex : -1;
|
||||
}
|
||||
|
||||
if (var11 == -2147483642) {
|
||||
var11 = var0.dragTarget != null ? var0.dragTarget.id : -1;
|
||||
var11 = scriptEvent.dragTarget != null ? scriptEvent.dragTarget.id : -1;
|
||||
}
|
||||
|
||||
if (var11 == -2147483641) {
|
||||
var11 = var0.dragTarget != null ? var0.dragTarget.childIndex : -1;
|
||||
var11 = scriptEvent.dragTarget != null ? scriptEvent.dragTarget.childIndex : -1;
|
||||
}
|
||||
|
||||
if (var11 == -2147483640) {
|
||||
var11 = var0.keyTyped;
|
||||
var11 = scriptEvent.keyTyped;
|
||||
}
|
||||
|
||||
if (var11 == -2147483639) {
|
||||
var11 = var0.keyPressed;
|
||||
var11 = scriptEvent.keyPressed;
|
||||
}
|
||||
|
||||
Username.Interpreter_intLocals[var9++] = var11;
|
||||
} else if (var2[var8] instanceof String) {
|
||||
var12 = (String)var2[var8];
|
||||
if (var12.equals("event_opbase")) {
|
||||
var12 = var0.targetName;
|
||||
var12 = scriptEvent.targetName;
|
||||
}
|
||||
|
||||
Interpreter.Interpreter_stringLocals[var26++] = var12;
|
||||
@@ -160,7 +162,7 @@ public class GrandExchangeEvent {
|
||||
}
|
||||
|
||||
var8 = 0;
|
||||
Interpreter.field425 = var0.field772;
|
||||
Interpreter.field425 = scriptEvent.field772;
|
||||
|
||||
while (true) {
|
||||
++var8;
|
||||
@@ -197,7 +199,7 @@ public class GrandExchangeEvent {
|
||||
} else if (var13 == ScriptOpcodes.SET_VARP) {
|
||||
var11 = var6[var4];
|
||||
Varps.Varps_main[var11] = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
IndexCache.method4703(var11);
|
||||
Archive.method4703(var11);
|
||||
} else if (var13 == ScriptOpcodes.SCONST) {
|
||||
Interpreter.Interpreter_stringStack[++Interpreter.Interpreter_stringStackSize - 1] = var3.stringOperands[var4];
|
||||
} else if (var13 == ScriptOpcodes.JUMP) {
|
||||
|
||||
@@ -13,13 +13,17 @@ import net.runelite.rs.ScriptOpcodes;
|
||||
@Implements("GrandExchangeEvents")
|
||||
public class GrandExchangeEvents {
|
||||
@ObfuscatedName("f")
|
||||
public static Comparator field371;
|
||||
@Export("geAgeComparator")
|
||||
public static Comparator geAgeComparator;
|
||||
@ObfuscatedName("q")
|
||||
public static Comparator field372;
|
||||
@Export("geUnitPriceComparator")
|
||||
public static Comparator geUnitPriceComparator;
|
||||
@ObfuscatedName("w")
|
||||
public static Comparator field373;
|
||||
@Export("geItemNameComparator")
|
||||
public static Comparator geItemNameComparator;
|
||||
@ObfuscatedName("o")
|
||||
public static Comparator field374;
|
||||
@Export("geTotalQuantityComparator")
|
||||
public static Comparator geTotalQuantityComparator;
|
||||
@ObfuscatedName("z")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1605454211
|
||||
@@ -79,14 +83,14 @@ public class GrandExchangeEvents {
|
||||
garbageValue = "1601363438"
|
||||
)
|
||||
@Export("addChatMessage")
|
||||
static void addChatMessage(int var0, String var1, String var2, String var3) {
|
||||
ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(var0);
|
||||
static void addChatMessage(int type, String sender, String text, String prefix) {
|
||||
ChatChannel var4 = (ChatChannel)Messages.Messages_channels.get(type);
|
||||
if (var4 == null) {
|
||||
var4 = new ChatChannel();
|
||||
Messages.Messages_channels.put(var0, var4);
|
||||
Messages.Messages_channels.put(type, var4);
|
||||
}
|
||||
|
||||
Message var5 = var4.addMessage(var0, var1, var2, var3);
|
||||
Message var5 = var4.addMessage(type, sender, text, prefix);
|
||||
Messages.Messages_hashTable.put(var5, (long)var5.count);
|
||||
Messages.Messages_queue.add(var5);
|
||||
Client.chatCycle = Client.cycleCntr;
|
||||
@@ -153,7 +157,7 @@ public class GrandExchangeEvents {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.rectangleMode.rsOrdinal();
|
||||
return 1;
|
||||
} else if (var0 == 2614) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.field964 ? 1 : 0;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = var3.modelTransparency ? 1 : 0;
|
||||
return 1;
|
||||
} else {
|
||||
return 2;
|
||||
@@ -166,17 +170,17 @@ public class GrandExchangeEvents {
|
||||
garbageValue = "-635606409"
|
||||
)
|
||||
static final void method74(int var0, int var1) {
|
||||
if (GroundItemPile.loadWidgetGroup(var0)) {
|
||||
class30.method570(Widget.widgets[var0], var1);
|
||||
if (GroundItemPile.loadInterface(var0)) {
|
||||
class30.method570(Widget.interfaceComponents[var0], var1);
|
||||
}
|
||||
|
||||
}
|
||||
|
||||
static {
|
||||
field371 = new class12();
|
||||
new WorldComparator();
|
||||
field372 = new UnitPriceComparator();
|
||||
field373 = new class11();
|
||||
field374 = new TotalQuantityComparator();
|
||||
geAgeComparator = new GrandExchangeOfferAgeComparator();
|
||||
new GrandExchangeOfferWorldComparator();
|
||||
geUnitPriceComparator = new GrandExchangeOfferUnitPriceComparator();
|
||||
geItemNameComparator = new GrandExchangeOfferNameComparator();
|
||||
geTotalQuantityComparator = new GrandExchangeOfferTotalQuantityComparator();
|
||||
}
|
||||
}
|
||||
|
||||
@@ -139,11 +139,11 @@ public class GrandExchangeOffer {
|
||||
garbageValue = "50"
|
||||
)
|
||||
static int method101() {
|
||||
if (Client.indexCacheLoaders != null && Client.indexCacheLoaderIndex < Client.indexCacheLoaders.size()) {
|
||||
if (Client.archiveLoaders != null && Client.archiveLoaderArchive < Client.archiveLoaders.size()) {
|
||||
int var0 = 0;
|
||||
|
||||
for (int var1 = 0; var1 <= Client.indexCacheLoaderIndex; ++var1) {
|
||||
var0 += ((IndexCacheLoader)Client.indexCacheLoaders.get(var1)).field409;
|
||||
for (int var1 = 0; var1 <= Client.archiveLoaderArchive; ++var1) {
|
||||
var0 += ((ArchiveLoader)Client.archiveLoaders.get(var1)).field409;
|
||||
}
|
||||
|
||||
return var0 * 10000 / Client.field140;
|
||||
|
||||
@@ -1,9 +1,12 @@
|
||||
import java.util.Comparator;
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
|
||||
@ObfuscatedName("n")
|
||||
final class class12 implements Comparator {
|
||||
@Implements("GrandExchangeOfferAgeComparator")
|
||||
final class GrandExchangeOfferAgeComparator implements Comparator {
|
||||
@ObfuscatedName("n")
|
||||
@ObfuscatedSignature(
|
||||
signature = "Lho;"
|
||||
@@ -15,7 +18,8 @@ final class class12 implements Comparator {
|
||||
signature = "(Ll;Ll;B)I",
|
||||
garbageValue = "-86"
|
||||
)
|
||||
int method149(GrandExchangeEvent var1, GrandExchangeEvent var2) {
|
||||
@Export("compareTyped")
|
||||
int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) {
|
||||
return var1.field370 < var2.field370 ? -1 : (var1.field370 == var2.field370 ? 0 : 1);
|
||||
}
|
||||
|
||||
@@ -24,7 +28,7 @@ final class class12 implements Comparator {
|
||||
}
|
||||
|
||||
public int compare(Object var1, Object var2) {
|
||||
return this.method149((GrandExchangeEvent)var1, (GrandExchangeEvent)var2);
|
||||
return this.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -123,11 +127,11 @@ final class class12 implements Comparator {
|
||||
garbageValue = "1731524026"
|
||||
)
|
||||
static void method159() {
|
||||
for (WidgetGroupParent var0 = (WidgetGroupParent)Client.widgetGroupParents.first(); var0 != null; var0 = (WidgetGroupParent)Client.widgetGroupParents.next()) {
|
||||
for (InterfaceParent var0 = (InterfaceParent)Client.interfaceParents.first(); var0 != null; var0 = (InterfaceParent)Client.interfaceParents.next()) {
|
||||
int var1 = var0.group;
|
||||
if (GroundItemPile.loadWidgetGroup(var1)) {
|
||||
if (GroundItemPile.loadInterface(var1)) {
|
||||
boolean var2 = true;
|
||||
Widget[] var3 = Widget.widgets[var1];
|
||||
Widget[] var3 = Widget.interfaceComponents[var1];
|
||||
|
||||
int var4;
|
||||
for (var4 = 0; var4 < var3.length; ++var4) {
|
||||
@@ -1,12 +1,14 @@
|
||||
import java.util.Comparator;
|
||||
import net.runelite.mapping.Export;
|
||||
import net.runelite.mapping.Implements;
|
||||
import net.runelite.mapping.ObfuscatedGetter;
|
||||
import net.runelite.mapping.ObfuscatedName;
|
||||
import net.runelite.mapping.ObfuscatedSignature;
|
||||
import net.runelite.rs.ScriptOpcodes;
|
||||
|
||||
@ObfuscatedName("k")
|
||||
final class class11 implements Comparator {
|
||||
@Implements("GrandExchangeOfferNameComparator")
|
||||
final class GrandExchangeOfferNameComparator implements Comparator {
|
||||
@ObfuscatedName("hl")
|
||||
@ObfuscatedGetter(
|
||||
intValue = -1945589829
|
||||
@@ -19,8 +21,9 @@ final class class11 implements Comparator {
|
||||
signature = "(Ll;Ll;B)I",
|
||||
garbageValue = "1"
|
||||
)
|
||||
int method138(GrandExchangeEvent var1, GrandExchangeEvent var2) {
|
||||
return var1.method119().compareTo(var2.method119());
|
||||
@Export("compareTyped")
|
||||
int compareTyped(GrandExchangeEvent var1, GrandExchangeEvent var2) {
|
||||
return var1.getOfferName().compareTo(var2.getOfferName());
|
||||
}
|
||||
|
||||
public boolean equals(Object var1) {
|
||||
@@ -28,7 +31,7 @@ final class class11 implements Comparator {
|
||||
}
|
||||
|
||||
public int compare(Object var1, Object var2) {
|
||||
return this.method138((GrandExchangeEvent)var1, (GrandExchangeEvent)var2);
|
||||
return this.compareTyped((GrandExchangeEvent)var1, (GrandExchangeEvent)var2);
|
||||
}
|
||||
|
||||
@ObfuscatedName("m")
|
||||
@@ -88,7 +91,7 @@ final class class11 implements Comparator {
|
||||
var0 -= 1000;
|
||||
var3 = Huffman.getWidget(Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize]);
|
||||
} else {
|
||||
var3 = var2 ? WorldMapIcon1.field1030 : class12.field1111;
|
||||
var3 = var2 ? WorldMapIcon1.field1030 : GrandExchangeOfferAgeComparator.field1111;
|
||||
}
|
||||
|
||||
String var4 = Interpreter.Interpreter_stringStack[--Interpreter.Interpreter_stringStackSize];
|
||||
@@ -159,21 +162,21 @@ final class class11 implements Comparator {
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONSCROLLWHEEL) {
|
||||
var3.onScroll = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONCHATTRANSMIT) {
|
||||
var3.field970 = var8;
|
||||
var3.onChatTransmit = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONKEY) {
|
||||
var3.onKeyListener = var8;
|
||||
var3.onKey = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONFRIENDTRANSMIT) {
|
||||
var3.field971 = var8;
|
||||
var3.onFriendTransmit = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONCLANTRANSMIT) {
|
||||
var3.field972 = var8;
|
||||
var3.onClanTransmit = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONMISCTRANSMIT) {
|
||||
var3.field973 = var8;
|
||||
var3.onMiscTransmit = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONDIALOGABORT) {
|
||||
var3.onDialogAbortListener = var8;
|
||||
var3.onDialogAbort = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONSUBCHANGE) {
|
||||
var3.field974 = var8;
|
||||
var3.onSubChange = var8;
|
||||
} else if (var0 == ScriptOpcodes.CC_SETONSTOCKTRANSMIT) {
|
||||
var3.field976 = var8;
|
||||
var3.onStockTransmit = var8;
|
||||
} else if (var0 == 1426) {
|
||||
var3.field977 = var8;
|
||||
} else {
|
||||
@@ -181,7 +184,7 @@ final class class11 implements Comparator {
|
||||
return 2;
|
||||
}
|
||||
|
||||
var3.field975 = var8;
|
||||
var3.onResize = var8;
|
||||
}
|
||||
|
||||
var3.hasListener = true;
|
||||
@@ -210,7 +213,7 @@ final class class11 implements Comparator {
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.IF_HASSUB) {
|
||||
int var4 = Interpreter.Interpreter_intStack[--RouteStrategy.Interpreter_intStackSize];
|
||||
WidgetGroupParent var5 = (WidgetGroupParent)Client.widgetGroupParents.get((long)var4);
|
||||
InterfaceParent var5 = (InterfaceParent)Client.interfaceParents.get((long)var4);
|
||||
if (var5 != null) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = 1;
|
||||
} else {
|
||||
@@ -219,7 +222,7 @@ final class class11 implements Comparator {
|
||||
|
||||
return 1;
|
||||
} else if (var0 == ScriptOpcodes.IF_GETTOP) {
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.rootWidgetGroup;
|
||||
Interpreter.Interpreter_intStack[++RouteStrategy.Interpreter_intStackSize - 1] = Client.rootInterface;
|
||||
return 1;
|
||||
} else {
|
||||
return 2;
|
||||
Some files were not shown because too many files have changed in this diff Show More
Reference in New Issue
Block a user