mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-09 16:45:46 -07:00
Created TypeList classes and moved static members to them
This commit is contained in:
parent
6ba1f2f808
commit
b3a5fdbec9
356 changed files with 6604 additions and 6652 deletions
|
|
@ -12,9 +12,9 @@ public final class AnimFrameset extends SecondaryNode {
|
|||
@OriginalMember(owner = "client!cl", name = "<init>", descriptor = "(Lclient!ve;Lclient!ve;IZ)V")
|
||||
public AnimFrameset(@OriginalArg(0) Js5 arg0, @OriginalArg(1) Js5 arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3) {
|
||||
@Pc(5) LinkedList local5 = new LinkedList();
|
||||
@Pc(10) int local10 = arg0.method4504(arg2);
|
||||
@Pc(10) int local10 = arg0.getGroupCapacity(arg2);
|
||||
this.frames = new AnimFrame[local10];
|
||||
@Pc(19) int[] local19 = arg0.method4503(arg2);
|
||||
@Pc(19) int[] local19 = arg0.getFileIds(arg2);
|
||||
for (@Pc(21) int local21 = 0; local21 < local19.length; local21++) {
|
||||
@Pc(37) byte[] local37 = arg0.getFile(arg2, local19[local21]);
|
||||
@Pc(51) int local51 = local37[1] & 0xFF | (local37[0] & 0xFF) << 8;
|
||||
|
|
|
|||
|
|
@ -96,7 +96,7 @@ public final class AreaSound extends Node {
|
|||
this.radius = this.player.soundRadius * 128;
|
||||
}
|
||||
if (this.sound != local8 && this.primaryStream != null) {
|
||||
Static204.soundStream.removeSubStream(this.primaryStream);
|
||||
client.soundStream.removeSubStream(this.primaryStream);
|
||||
this.primaryStream = null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,6 +9,8 @@ public class AudioChannel {
|
|||
|
||||
@OriginalMember(owner = "client!na", name = "w", descriptor = "Z")
|
||||
public static boolean stereo;
|
||||
@OriginalMember(owner = "client!va", name = "O", descriptor = "I")
|
||||
public static int threadPriority;
|
||||
|
||||
@OriginalMember(owner = "client!vh", name = "h", descriptor = "Lclient!qb;")
|
||||
private PcmStream stream;
|
||||
|
|
@ -60,7 +62,7 @@ public class AudioChannel {
|
|||
|
||||
@OriginalMember(owner = "client!dc", name = "a", descriptor = "(IIIZ)V")
|
||||
public static void init(@OriginalArg(3) boolean arg0) {
|
||||
Static258.threadPriority = 2;
|
||||
threadPriority = 2;
|
||||
stereo = arg0;
|
||||
Static44.sampleRate = 22050;
|
||||
}
|
||||
|
|
@ -80,10 +82,10 @@ public class AudioChannel {
|
|||
local33.bufferCapacity = 16384;
|
||||
}
|
||||
local33.open(local33.bufferCapacity);
|
||||
if (Static258.threadPriority > 0 && Static60.thread == null) {
|
||||
if (threadPriority > 0 && Static60.thread == null) {
|
||||
Static60.thread = new AudioThread();
|
||||
Static60.thread.signLink = arg1;
|
||||
arg1.startThread(Static258.threadPriority, Static60.thread);
|
||||
arg1.startThread(threadPriority, Static60.thread);
|
||||
}
|
||||
if (Static60.thread != null) {
|
||||
if (Static60.thread.channels[arg3] != null) {
|
||||
|
|
@ -100,10 +102,10 @@ public class AudioChannel {
|
|||
local120.init(arg2);
|
||||
local120.bufferCapacity = 16384;
|
||||
local120.open(local120.bufferCapacity);
|
||||
if (Static258.threadPriority > 0 && Static60.thread == null) {
|
||||
if (threadPriority > 0 && Static60.thread == null) {
|
||||
Static60.thread = new AudioThread();
|
||||
Static60.thread.signLink = arg1;
|
||||
arg1.startThread(Static258.threadPriority, Static60.thread);
|
||||
arg1.startThread(threadPriority, Static60.thread);
|
||||
}
|
||||
if (Static60.thread != null) {
|
||||
if (Static60.thread.channels[arg3] != null) {
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ public final class BasType {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!ck", name = "a", descriptor = "(ILclient!wa;)V")
|
||||
public final void method880(@OriginalArg(1) Buffer arg0) {
|
||||
public final void decode(@OriginalArg(1) Buffer arg0) {
|
||||
while (true) {
|
||||
@Pc(16) int local16 = arg0.g1();
|
||||
if (local16 == 0) {
|
||||
|
|
|
|||
46
client/src/main/java/BasTypeList.java
Normal file
46
client/src/main/java/BasTypeList.java
Normal file
|
|
@ -0,0 +1,46 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class BasTypeList {
|
||||
@OriginalMember(owner = "client!vf", name = "a", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!nd", name = "p", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!ge", name = "a", descriptor = "(BLclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0) {
|
||||
archive = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!hb", name = "a", descriptor = "(ZI)Lclient!ck;")
|
||||
public static BasType get(@OriginalArg(1) int arg0) {
|
||||
@Pc(10) BasType local10 = (BasType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(21) byte[] local21 = archive.getFile(32, arg0);
|
||||
local10 = new BasType();
|
||||
if (local21 != null) {
|
||||
local10.decode(new Buffer(local21));
|
||||
}
|
||||
local10.method878();
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jk", name = "e", descriptor = "(B)V")
|
||||
public static void method2433() {
|
||||
types.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!bi", name = "c", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!di", name = "d", descriptor = "(I)V")
|
||||
public static void method1172() {
|
||||
types.method3103();
|
||||
}
|
||||
}
|
||||
32
client/src/main/java/Base37.java
Normal file
32
client/src/main/java/Base37.java
Normal file
|
|
@ -0,0 +1,32 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class Base37 {
|
||||
@OriginalMember(owner = "client!ge", name = "a", descriptor = "(IJ)Lclient!na;")
|
||||
public static JagString decodeLowerCase(@OriginalArg(1) long arg0) {
|
||||
if (arg0 <= 0L || arg0 >= 6582952005840035281L) {
|
||||
return null;
|
||||
} else if (arg0 % 37L == 0L) {
|
||||
return null;
|
||||
} else {
|
||||
@Pc(32) int local32 = 0;
|
||||
@Pc(34) long local34 = arg0;
|
||||
while (local34 != 0L) {
|
||||
local34 /= 37L;
|
||||
local32++;
|
||||
}
|
||||
@Pc(48) byte[] local48 = new byte[local32];
|
||||
while (arg0 != 0L) {
|
||||
@Pc(65) long local65 = arg0;
|
||||
arg0 /= 37L;
|
||||
local32--;
|
||||
local48[local32] = Static31.aByteArray12[(int) (local65 - arg0 * 37L)];
|
||||
}
|
||||
@Pc(88) JagString local88 = new JagString();
|
||||
local88.chars = local48;
|
||||
local88.length = local48.length;
|
||||
return local88;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -59,7 +59,12 @@ public class Buffer extends Node {
|
|||
this.data = src;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!wa", name = "c", descriptor = "(I)I")
|
||||
@OriginalMember(owner = "client!si", name = "a", descriptor = "(BLclient!na;)I")
|
||||
public static int getStringLength(@OriginalArg(1) JagString arg0) {
|
||||
return arg0.length() + 1;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!wa", name = "c", descriptor = "(I)I")
|
||||
public final int g2() {
|
||||
this.offset += 2;
|
||||
return ((this.data[this.offset - 2] & 0xFF) << 8) + (this.data[this.offset - 1] & 0xFF);
|
||||
|
|
|
|||
|
|
@ -35,7 +35,7 @@ public class Camera {
|
|||
yawTarget = mod(yawTarget, 2047.0d);
|
||||
@Pc(33) int local33 = Static81.cameraX >> 7;
|
||||
@Pc(37) int local37 = Static111.cameraZ >> 7;
|
||||
@Pc(43) int local43 = Static207.method3685(Static55.level, Static81.cameraX, Static111.cameraZ);
|
||||
@Pc(43) int local43 = SceneGraph.getTileHeight(Static55.level, Static81.cameraX, Static111.cameraZ);
|
||||
@Pc(45) int local45 = 0;
|
||||
@Pc(64) int local64;
|
||||
if (local33 > 3 && local37 > 3 && local33 < 100 && local37 < 100) {
|
||||
|
|
|
|||
|
|
@ -2,13 +2,29 @@ import org.openrs2.deob.annotation.OriginalMember;
|
|||
|
||||
public class Cheat {
|
||||
@OriginalMember(owner = "client!p", name = "f", descriptor = "Lclient!na;")
|
||||
public static final JagString JS5DROP = Static28.parse("::serverjs5drop");
|
||||
public static final JagString JS5DROP = JagString.parse("::serverjs5drop");
|
||||
@OriginalMember(owner = "client!v", name = "d", descriptor = "Lclient!na;")
|
||||
public static final JagString CLIENTDROP = Static28.parse("::clientdrop");
|
||||
public static final JagString CLIENTDROP = JagString.parse("::clientdrop");
|
||||
@OriginalMember(owner = "client!dg", name = "b", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_333 = Static28.parse("Shift)2click ENABLED(Q");
|
||||
public static final JagString aClass100_333 = JagString.parse("Shift)2click ENABLED(Q");
|
||||
@OriginalMember(owner = "client!dg", name = "d", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_334 = Static28.parse("Cache:");
|
||||
public static final JagString aClass100_334 = JagString.parse("Cache:");
|
||||
@OriginalMember(owner = "client!c", name = "Y", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_154 = JagString.parse("Mem:");
|
||||
@OriginalMember(owner = "client!nh", name = "hb", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_623 = JagString.parse("::fps ");
|
||||
@OriginalMember(owner = "client!nb", name = "e", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_775 = JagString.parse("::breakcon");
|
||||
@OriginalMember(owner = "client!wf", name = "s", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_943 = JagString.parse("Forced tweening disabled)3");
|
||||
@OriginalMember(owner = "client!wd", name = "f", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_990 = JagString.parse("::errortest");
|
||||
@OriginalMember(owner = "client!wb", name = "j", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_1093 = JagString.parse("Memory after cleanup=");
|
||||
@OriginalMember(owner = "client!th", name = "h", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_1088 = JagString.parse("::setparticles");
|
||||
@OriginalMember(owner = "client!rc", name = "K", descriptor = "Lclient!na;")
|
||||
public static final JagString aClass100_232 = JagString.parse("::rect_debug");
|
||||
@OriginalMember(owner = "client!dg", name = "f", descriptor = "Z")
|
||||
public static boolean displayFps = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -5,8 +5,8 @@ import org.openrs2.deob.annotation.OriginalMember;
|
|||
public final class Class32 {
|
||||
|
||||
@OriginalMember(owner = "client!ee", name = "h", descriptor = "I")
|
||||
public int anInt1739;
|
||||
public int flag;
|
||||
|
||||
@OriginalMember(owner = "client!ee", name = "i", descriptor = "Lclient!na;")
|
||||
public JagString aClass100_378;
|
||||
public JagString name;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -26,5 +26,5 @@ public final class Class5 {
|
|||
public short aShort8;
|
||||
|
||||
@OriginalMember(owner = "client!ae", name = "h", descriptor = "Z")
|
||||
public boolean aBoolean3 = false;
|
||||
public boolean valid = false;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -6,6 +6,12 @@ import org.openrs2.deob.annotation.Pc;
|
|||
@OriginalClass("client!be")
|
||||
public final class Component {
|
||||
|
||||
@OriginalMember(owner = "client!pf", name = "b", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable sprites = new SoftLruHashTable(200);
|
||||
@OriginalMember(owner = "client!jk", name = "z", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable models = new SoftLruHashTable(50);
|
||||
@OriginalMember(owner = "client!gn", name = "i", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable fonts = new SoftLruHashTable(20);
|
||||
@OriginalMember(owner = "client!be", name = "b", descriptor = "[Ljava/lang/Object;")
|
||||
public Object[] anObjectArray1;
|
||||
|
||||
|
|
@ -477,6 +483,13 @@ public final class Component {
|
|||
@OriginalMember(owner = "client!be", name = "xd", descriptor = "I")
|
||||
public int anInt530 = 0;
|
||||
|
||||
@OriginalMember(owner = "client!ec", name = "a", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
sprites.clean(50);
|
||||
models.clean(50);
|
||||
fonts.clean(50);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!be", name = "a", descriptor = "(IIB)V")
|
||||
public final void method477(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1) {
|
||||
if (this.anIntArray39 == null || this.anIntArray39.length <= arg0) {
|
||||
|
|
@ -500,7 +513,7 @@ public final class Component {
|
|||
if (this.anIntArray37 != null) {
|
||||
return true;
|
||||
}
|
||||
@Pc(18) SoftwareIndexedSprite local18 = Static164.loadSoftwareIndexedSprite(this.anInt477, Static23.aClass153_12);
|
||||
@Pc(18) SoftwareIndexedSprite local18 = Static164.loadSoftwareIndexedSprite(this.anInt477, InterfaceList.aClass153_12);
|
||||
if (local18 == null) {
|
||||
return false;
|
||||
}
|
||||
|
|
@ -774,15 +787,15 @@ public final class Component {
|
|||
if (local29 == -1) {
|
||||
return null;
|
||||
}
|
||||
@Pc(43) Sprite local43 = (Sprite) Static190.aClass99_26.get((long) local29);
|
||||
@Pc(43) Sprite local43 = (Sprite) sprites.get((long) local29);
|
||||
if (local43 != null) {
|
||||
return local43;
|
||||
}
|
||||
local43 = SpriteLoader.loadSprites(local29, Static23.aClass153_12);
|
||||
local43 = SpriteLoader.loadSprites(local29, InterfaceList.aClass153_12);
|
||||
if (local43 == null) {
|
||||
Static211.aBoolean72 = true;
|
||||
} else {
|
||||
Static190.aClass99_26.put(local43, (long) local29);
|
||||
sprites.put(local43, (long) local29);
|
||||
}
|
||||
return local43;
|
||||
}
|
||||
|
|
@ -848,22 +861,22 @@ public final class Component {
|
|||
} else {
|
||||
@Pc(61) Model local61;
|
||||
if (local10 == 1) {
|
||||
local61 = (Model) Static124.aClass99_17.get((long) ((local10 << 16) + local13));
|
||||
local61 = (Model) models.get((long) ((local10 << 16) + local13));
|
||||
if (local61 == null) {
|
||||
@Pc(69) RawModel local69 = Static77.create(Static203.aClass153_85, local13);
|
||||
@Pc(69) RawModel local69 = Static77.create(InterfaceList.aClass153_85, local13);
|
||||
if (local69 == null) {
|
||||
Static211.aBoolean72 = true;
|
||||
return null;
|
||||
}
|
||||
local61 = local69.createModel(64, 768, -50, -10, -50);
|
||||
Static124.aClass99_17.put(local61, (long) (local13 + (local10 << 16)));
|
||||
models.put(local61, (long) (local13 + (local10 << 16)));
|
||||
}
|
||||
if (arg1 != null) {
|
||||
local61 = arg1.method4215(local61, arg0, arg3, arg2);
|
||||
}
|
||||
return local61;
|
||||
} else if (local10 == 2) {
|
||||
local61 = Static214.get(local13).getHeadModel(arg1, arg3, arg0, arg2);
|
||||
local61 = NpcTypeList.get(local13).getHeadModel(arg1, arg3, arg0, arg2);
|
||||
if (local61 == null) {
|
||||
Static211.aBoolean72 = true;
|
||||
return null;
|
||||
|
|
@ -882,7 +895,7 @@ public final class Component {
|
|||
return local61;
|
||||
}
|
||||
} else if (local10 == 4) {
|
||||
@Pc(164) ObjType local164 = Static71.get(local13);
|
||||
@Pc(164) ObjType local164 = ObjTypeList.get(local13);
|
||||
@Pc(173) Model local173 = local164.getModel(arg0, arg3, arg1, 10, arg2);
|
||||
if (local173 == null) {
|
||||
Static211.aBoolean72 = true;
|
||||
|
|
@ -891,7 +904,7 @@ public final class Component {
|
|||
return local173;
|
||||
}
|
||||
} else if (local10 == 6) {
|
||||
local61 = Static214.get(local13).getBodyModel(null, 0, 0, arg0, arg3, arg2, null, 0, arg1);
|
||||
local61 = NpcTypeList.get(local13).getBodyModel(null, 0, 0, arg0, arg3, arg2, null, 0, arg1);
|
||||
if (local61 == null) {
|
||||
Static211.aBoolean72 = true;
|
||||
return null;
|
||||
|
|
@ -930,15 +943,15 @@ public final class Component {
|
|||
return null;
|
||||
}
|
||||
@Pc(66) long local66 = ((this.aBoolean21 ? 1L : 0L) << 38) + ((this.aBoolean18 ? 1L : 0L) << 35) + (long) local12 + ((long) this.anInt514 << 36) + ((this.aBoolean26 ? 1L : 0L) << 39) + ((long) this.anInt513 << 40);
|
||||
@Pc(72) Sprite local72 = (Sprite) Static190.aClass99_26.get(local66);
|
||||
@Pc(72) Sprite local72 = (Sprite) sprites.get(local66);
|
||||
if (local72 != null) {
|
||||
return local72;
|
||||
}
|
||||
@Pc(85) SoftwareSprite local85;
|
||||
if (this.aBoolean18) {
|
||||
local85 = Static80.loadSoftwareAlphaSprite(Static23.aClass153_12, local12);
|
||||
local85 = Static80.loadSoftwareAlphaSprite(InterfaceList.aClass153_12, local12);
|
||||
} else {
|
||||
local85 = SpriteLoader.loadSoftwareSprite(0, Static23.aClass153_12, local12);
|
||||
local85 = SpriteLoader.loadSoftwareSprite(0, InterfaceList.aClass153_12, local12);
|
||||
}
|
||||
if (local85 == null) {
|
||||
Static211.aBoolean72 = true;
|
||||
|
|
@ -969,7 +982,7 @@ public final class Component {
|
|||
} else {
|
||||
local72 = new GlSprite(local85);
|
||||
}
|
||||
Static190.aClass99_26.put(local72, local66);
|
||||
sprites.put(local72, local66);
|
||||
return local72;
|
||||
}
|
||||
|
||||
|
|
@ -1162,16 +1175,16 @@ public final class Component {
|
|||
if (this.anInt502 == -1) {
|
||||
return null;
|
||||
}
|
||||
@Pc(21) Font local21 = (Font) Static87.aClass99_12.get((long) this.anInt502);
|
||||
@Pc(21) Font local21 = (Font) fonts.get((long) this.anInt502);
|
||||
if (local21 != null) {
|
||||
return local21;
|
||||
}
|
||||
local21 = Static127.method2462(this.anInt502, Static23.aClass153_12, Static167.aClass153_64);
|
||||
local21 = Static127.method2462(this.anInt502, InterfaceList.aClass153_12, InterfaceList.aClass153_64);
|
||||
if (local21 == null) {
|
||||
Static211.aBoolean72 = true;
|
||||
} else {
|
||||
local21.setNameIcons(arg0, null);
|
||||
Static87.aClass99_12.put(local21, (long) this.anInt502);
|
||||
fonts.put(local21, (long) this.anInt502);
|
||||
}
|
||||
return local21;
|
||||
}
|
||||
|
|
|
|||
123
client/src/main/java/CreateManager.java
Normal file
123
client/src/main/java/CreateManager.java
Normal file
|
|
@ -0,0 +1,123 @@
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
|
||||
public class CreateManager {
|
||||
@OriginalMember(owner = "client!oe", name = "l", descriptor = "I")
|
||||
public static int step = 0;
|
||||
@OriginalMember(owner = "client!sf", name = "a", descriptor = "I")
|
||||
public static int loops = 0;
|
||||
@OriginalMember(owner = "client!eg", name = "v", descriptor = "I")
|
||||
public static int errors = 0;
|
||||
@OriginalMember(owner = "client!sc", name = "y", descriptor = "I")
|
||||
public static int reply = -2;
|
||||
@OriginalMember(owner = "client!si", name = "S", descriptor = "[Lclient!na;")
|
||||
public static JagString[] suggestedNames;
|
||||
|
||||
@OriginalMember(owner = "client!mh", name = "f", descriptor = "(B)V")
|
||||
public static void loop() {
|
||||
if (step == 0) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
if (++loops > 2000) {
|
||||
if (Protocol.socket != null) {
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
}
|
||||
if (errors >= 1) {
|
||||
reply = -5;
|
||||
step = 0;
|
||||
return;
|
||||
}
|
||||
step = 1;
|
||||
loops = 0;
|
||||
errors++;
|
||||
if (client.port == client.defaultPort) {
|
||||
client.port = client.alternatePort;
|
||||
} else {
|
||||
client.port = client.defaultPort;
|
||||
}
|
||||
}
|
||||
if (step == 1) {
|
||||
Protocol.socketRequest = GameShell.signLink.openSocket(client.hostname, client.port);
|
||||
step = 2;
|
||||
}
|
||||
@Pc(120) int local120;
|
||||
if (step == 2) {
|
||||
if (Protocol.socketRequest.status == 2) {
|
||||
throw new IOException();
|
||||
}
|
||||
if (Protocol.socketRequest.status != 1) {
|
||||
return;
|
||||
}
|
||||
Protocol.socket = new BufferedSocket((Socket) Protocol.socketRequest.result, GameShell.signLink);
|
||||
Protocol.socketRequest = null;
|
||||
Protocol.socket.write(Protocol.outboundBuffer.data, Protocol.outboundBuffer.offset);
|
||||
if (client.musicChannel != null) {
|
||||
client.musicChannel.method3571();
|
||||
}
|
||||
if (client.soundChannel != null) {
|
||||
client.soundChannel.method3571();
|
||||
}
|
||||
local120 = Protocol.socket.read();
|
||||
if (client.musicChannel != null) {
|
||||
client.musicChannel.method3571();
|
||||
}
|
||||
if (client.soundChannel != null) {
|
||||
client.soundChannel.method3571();
|
||||
}
|
||||
if (local120 != 21) {
|
||||
reply = local120;
|
||||
step = 0;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
step = 3;
|
||||
}
|
||||
if (step == 3) {
|
||||
if (Protocol.socket.available() < 1) {
|
||||
return;
|
||||
}
|
||||
suggestedNames = new JagString[Protocol.socket.read()];
|
||||
step = 4;
|
||||
}
|
||||
if (step == 4) {
|
||||
if (Protocol.socket.available() < suggestedNames.length * 8) {
|
||||
return;
|
||||
}
|
||||
Protocol.inboundBuffer.offset = 0;
|
||||
Protocol.socket.read(0, suggestedNames.length * 8, Protocol.inboundBuffer.data);
|
||||
for (local120 = 0; local120 < suggestedNames.length; local120++) {
|
||||
suggestedNames[local120] = Base37.decodeLowerCase(Protocol.inboundBuffer.g8());
|
||||
}
|
||||
reply = 21;
|
||||
step = 0;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
} catch (@Pc(238) IOException local238) {
|
||||
if (Protocol.socket != null) {
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
}
|
||||
if (errors < 1) {
|
||||
errors++;
|
||||
if (client.defaultPort == client.port) {
|
||||
client.port = client.alternatePort;
|
||||
} else {
|
||||
client.port = client.defaultPort;
|
||||
}
|
||||
loops = 0;
|
||||
step = 1;
|
||||
} else {
|
||||
reply = -4;
|
||||
step = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -17,13 +17,13 @@ public final class CursorType {
|
|||
|
||||
@OriginalMember(owner = "client!ia", name = "a", descriptor = "(B)Lclient!mm;")
|
||||
public final SoftwareSprite getSprite() {
|
||||
@Pc(7) SoftwareSprite local7 = (SoftwareSprite) Static7.sprites.get((long) this.spriteId);
|
||||
@Pc(7) SoftwareSprite local7 = (SoftwareSprite) CursorTypeList.sprites.get((long) this.spriteId);
|
||||
if (local7 != null) {
|
||||
return local7;
|
||||
}
|
||||
local7 = Static80.loadSoftwareAlphaSprite(Static243.spritesArchive, this.spriteId);
|
||||
local7 = Static80.loadSoftwareAlphaSprite(CursorTypeList.spritesArchive, this.spriteId);
|
||||
if (local7 != null) {
|
||||
Static7.sprites.put(local7, (long) this.spriteId);
|
||||
CursorTypeList.sprites.put(local7, (long) this.spriteId);
|
||||
}
|
||||
return local7;
|
||||
}
|
||||
|
|
|
|||
53
client/src/main/java/CursorTypeList.java
Normal file
53
client/src/main/java/CursorTypeList.java
Normal file
|
|
@ -0,0 +1,53 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class CursorTypeList {
|
||||
@OriginalMember(owner = "client!ge", name = "i", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!ah", name = "i", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable sprites = new SoftLruHashTable(2);
|
||||
@OriginalMember(owner = "client!mc", name = "Z", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
@OriginalMember(owner = "client!tk", name = "j", descriptor = "Lclient!ve;")
|
||||
public static Js5 spritesArchive;
|
||||
|
||||
@OriginalMember(owner = "client!u", name = "a", descriptor = "(BLclient!ve;Lclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0, @OriginalArg(2) Js5 arg1) {
|
||||
archive = arg0;
|
||||
spritesArchive = arg1;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!qg", name = "d", descriptor = "(II)Lclient!ia;")
|
||||
public static CursorType get(@OriginalArg(0) int arg0) {
|
||||
@Pc(10) CursorType local10 = (CursorType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(20) byte[] local20 = archive.getFile(33, arg0);
|
||||
local10 = new CursorType();
|
||||
if (local20 != null) {
|
||||
local10.decode(new Buffer(local20), arg0);
|
||||
}
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!an", name = "i", descriptor = "(I)V")
|
||||
public static void method351() {
|
||||
types.clear();
|
||||
sprites.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!c", name = "d", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
sprites.clean(5);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ca", name = "a", descriptor = "(Z)V")
|
||||
public static void method741() {
|
||||
types.method3103();
|
||||
sprites.method3103();
|
||||
}
|
||||
}
|
||||
30
client/src/main/java/EnumTypeList.java
Normal file
30
client/src/main/java/EnumTypeList.java
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class EnumTypeList {
|
||||
@OriginalMember(owner = "client!lj", name = "p", descriptor = "Lclient!gn;")
|
||||
public static final LruHashTable types = new LruHashTable(128);
|
||||
@OriginalMember(owner = "client!gk", name = "e", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!gl", name = "a", descriptor = "(Lclient!ve;I)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0) {
|
||||
archive = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ui", name = "a", descriptor = "(IZ)Lclient!ml;")
|
||||
public static EnumType get(@OriginalArg(0) int arg0) {
|
||||
@Pc(10) EnumType local10 = (EnumType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(24) byte[] local24 = archive.getFile(Static97.method1959(arg0), Static103.method2236(arg0));
|
||||
local10 = new EnumType();
|
||||
if (local24 != null) {
|
||||
local10.decode(new Buffer(local24));
|
||||
}
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
}
|
||||
24
client/src/main/java/Equipment.java
Normal file
24
client/src/main/java/Equipment.java
Normal file
|
|
@ -0,0 +1,24 @@
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class Equipment {
|
||||
@OriginalMember(owner = "client!ta", name = "p", descriptor = "[I")
|
||||
public static int[] anIntArray455;
|
||||
|
||||
@OriginalMember(owner = "client!eh", name = "a", descriptor = "(I)V")
|
||||
public static void init() {
|
||||
@Pc(8) int[] local8 = new int[ObjTypeList.anInt3245];
|
||||
@Pc(10) int local10 = 0;
|
||||
@Pc(12) int local12;
|
||||
for (local12 = 0; local12 < ObjTypeList.anInt3245; local12++) {
|
||||
@Pc(19) ObjType local19 = ObjTypeList.get(local12);
|
||||
if (local19.manWear1 >= 0 || local19.womanWear1 >= 0) {
|
||||
local8[local10++] = local12;
|
||||
}
|
||||
}
|
||||
anIntArray455 = new int[local10];
|
||||
for (local12 = 0; local12 < local10; local12++) {
|
||||
anIntArray455[local12] = local8[local12];
|
||||
}
|
||||
}
|
||||
}
|
||||
26
client/src/main/java/Flames.java
Normal file
26
client/src/main/java/Flames.java
Normal file
|
|
@ -0,0 +1,26 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
|
||||
public class Flames {
|
||||
@OriginalMember(owner = "client!se", name = "t", descriptor = "[I")
|
||||
public static final int[] anIntArray445 = new int[] { 12543016, 15504954, 15914854, 16773818 };
|
||||
@OriginalMember(owner = "client!bb", name = "m", descriptor = "Lclient!na;")
|
||||
public static final JagString RUNES = JagString.parse("runes");
|
||||
@OriginalMember(owner = "client!km", name = "Yc", descriptor = "I")
|
||||
public static int anInt3443;
|
||||
|
||||
@OriginalMember(owner = "client!gg", name = "a", descriptor = "(ILclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0) {
|
||||
anInt3443 = arg0.getGroupId(RUNES);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!sk", name = "a", descriptor = "(Lclient!ve;I)Z")
|
||||
public static boolean isReady(@OriginalArg(0) Js5 arg0) {
|
||||
return arg0.isFileReady(anInt3443);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!wa", name = "a", descriptor = "(Z)V")
|
||||
public static void update() {
|
||||
Static250.anInt5434++;
|
||||
}
|
||||
}
|
||||
|
|
@ -39,7 +39,7 @@ public final class FloType {
|
|||
public int anInt5889 = 1190717;
|
||||
|
||||
@OriginalMember(owner = "client!wl", name = "a", descriptor = "(ILclient!wa;I)V")
|
||||
public final void method4669(@OriginalArg(1) Buffer arg0, @OriginalArg(2) int arg1) {
|
||||
public final void decode(@OriginalArg(1) Buffer arg0, @OriginalArg(2) int arg1) {
|
||||
while (true) {
|
||||
@Pc(5) int local5 = arg0.g1();
|
||||
if (local5 == 0) {
|
||||
|
|
|
|||
|
|
@ -1,6 +1,48 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class FloTypeList {
|
||||
@OriginalMember(owner = "client!t", name = "p", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!hj", name = "a", descriptor = "I")
|
||||
public static int capacity;
|
||||
@OriginalMember(owner = "client!cl", name = "J", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!qc", name = "a", descriptor = "(ZLclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0) {
|
||||
archive = arg0;
|
||||
capacity = archive.getGroupCapacity(4);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!um", name = "a", descriptor = "(BI)Lclient!wl;")
|
||||
public static FloType method4395(@OriginalArg(1) int arg0) {
|
||||
@Pc(6) FloType local6 = (FloType) types.get((long) arg0);
|
||||
if (local6 != null) {
|
||||
return local6;
|
||||
}
|
||||
@Pc(30) byte[] local30 = archive.getFile(4, arg0);
|
||||
local6 = new FloType();
|
||||
if (local30 != null) {
|
||||
local6.decode(new Buffer(local30), arg0);
|
||||
}
|
||||
types.put(local6, (long) arg0);
|
||||
return local6;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!uh", name = "e", descriptor = "(I)V")
|
||||
public static void method4301() {
|
||||
types.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!wh", name = "a", descriptor = "(I)V")
|
||||
public static void method4612() {
|
||||
types.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!aj", name = "c", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -92,7 +92,7 @@ public final class FluType {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!ni", name = "a", descriptor = "(ILclient!wa;I)V")
|
||||
public final void method3217(@OriginalArg(0) int arg0, @OriginalArg(1) Buffer arg1) {
|
||||
public final void decode(@OriginalArg(0) int arg0, @OriginalArg(1) Buffer arg1) {
|
||||
while (true) {
|
||||
@Pc(7) int local7 = arg1.g1();
|
||||
if (local7 == 0) {
|
||||
|
|
|
|||
45
client/src/main/java/FluTypeList.java
Normal file
45
client/src/main/java/FluTypeList.java
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class FluTypeList {
|
||||
@OriginalMember(owner = "client!gj", name = "p", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!oj", name = "x", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!qc", name = "a", descriptor = "(ZI)Lclient!ni;")
|
||||
public static FluType get(@OriginalArg(1) int arg0) {
|
||||
@Pc(10) FluType local10 = (FluType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(27) byte[] local27 = archive.getFile(1, arg0);
|
||||
local10 = new FluType();
|
||||
if (local27 != null) {
|
||||
local10.decode(arg0, new Buffer(local27));
|
||||
}
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!hc", name = "a", descriptor = "(Lclient!ve;I)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0) {
|
||||
archive = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!sd", name = "f", descriptor = "(B)V")
|
||||
public static void method3885() {
|
||||
types.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ed", name = "c", descriptor = "(I)V")
|
||||
public static void method1308() {
|
||||
types.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!fk", name = "b", descriptor = "(IB)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
}
|
||||
}
|
||||
6
client/src/main/java/FontMetricsList.java
Normal file
6
client/src/main/java/FontMetricsList.java
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
|
||||
public class FontMetricsList {
|
||||
@OriginalMember(owner = "client!l", name = "f", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable fontMetrics = new SoftLruHashTable(4);
|
||||
}
|
||||
|
|
@ -9,6 +9,8 @@ public class Fonts {
|
|||
public static Font p12Full;
|
||||
@OriginalMember(owner = "client!wl", name = "q", descriptor = "Lclient!rk;")
|
||||
public static Font b12Full;
|
||||
@OriginalMember(owner = "client!vj", name = "j", descriptor = "Lclient!dd;")
|
||||
public static SoftwareFont p11FullSoftware;
|
||||
|
||||
@OriginalMember(owner = "client!fn", name = "a", descriptor = "(Lclient!ve;Lclient!ve;Z)I")
|
||||
public static int getReady(@OriginalArg(0) Js5 arg0, @OriginalArg(1) Js5 arg1) {
|
||||
|
|
@ -33,4 +35,21 @@ public class Fonts {
|
|||
}
|
||||
return ready;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ld", name = "a", descriptor = "(B)I")
|
||||
public static int getTotal() {
|
||||
return 6;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!hn", name = "a", descriptor = "(Lclient!ve;ILclient!ve;)V")
|
||||
public static void load(@OriginalArg(0) Js5 arg0, @OriginalArg(2) Js5 arg1) {
|
||||
p11Full = Static127.method2462(Sprites.p11FullId, arg1, arg0);
|
||||
if (GlRenderer.enabled) {
|
||||
p11FullSoftware = Static122.method2412(Sprites.p11FullId, arg0, arg1);
|
||||
} else {
|
||||
p11FullSoftware = (SoftwareFont) p11Full;
|
||||
}
|
||||
p12Full = Static127.method2462(Sprites.p12FullId, arg1, arg0);
|
||||
b12Full = Static127.method2462(Sprites.b12FullId, arg1, arg0);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -50,7 +50,7 @@ public final class GlAlphaSprite extends GlSprite {
|
|||
}
|
||||
GlRenderer.setTextureId(this.textureId);
|
||||
local96.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA, this.powerOfTwoWidth, this.powerOfTwoHeight, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, local94);
|
||||
Static63.onCard2d += local94.limit() - this.anInt1869;
|
||||
GlCleaner.onCard2d += local94.limit() - this.anInt1869;
|
||||
this.anInt1869 = local94.limit();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -12,7 +12,7 @@ public final class GlBuffer {
|
|||
public ByteBuffer aByteBuffer8;
|
||||
|
||||
@OriginalMember(owner = "client!ql", name = "b", descriptor = "Z")
|
||||
public boolean aBoolean235 = false;
|
||||
public boolean valid = false;
|
||||
|
||||
@OriginalMember(owner = "client!ql", name = "a", descriptor = "I")
|
||||
public int anInt4777 = 0;
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import org.openrs2.deob.annotation.OriginalArg;
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public final class Static63 {
|
||||
public final class GlCleaner {
|
||||
|
||||
@OriginalMember(owner = "client!fa", name = "a", descriptor = "I")
|
||||
public static int onCardTexture = 0;
|
||||
|
|
@ -34,13 +34,13 @@ public final class GlFont extends Font {
|
|||
@Override
|
||||
protected void finalize() throws Throwable {
|
||||
if (this.textureId != -1) {
|
||||
Static63.deleteTexture2d(this.textureId, this.size, this.contextId);
|
||||
GlCleaner.deleteTexture2d(this.textureId, this.size, this.contextId);
|
||||
this.textureId = -1;
|
||||
this.size = 0;
|
||||
}
|
||||
if (this.listIds != null) {
|
||||
for (@Pc(21) int i = 0; i < this.listIds.length; i++) {
|
||||
Static63.deleteList(this.listIds[i], this.contextId);
|
||||
GlCleaner.deleteList(this.listIds[i], this.contextId);
|
||||
}
|
||||
this.listIds = null;
|
||||
}
|
||||
|
|
@ -139,7 +139,7 @@ public final class GlFont extends Font {
|
|||
gl.glEnd();
|
||||
gl.glEndList();
|
||||
}
|
||||
this.contextId = Static63.contextId;
|
||||
this.contextId = GlCleaner.contextId;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!mb", name = "a", descriptor = "([[B)V")
|
||||
|
|
@ -186,11 +186,11 @@ public final class GlFont extends Font {
|
|||
@Pc(162) int[] temp = new int[1];
|
||||
gl.glGenTextures(1, temp, 0);
|
||||
this.textureId = temp[0];
|
||||
this.contextId = Static63.contextId;
|
||||
this.contextId = GlCleaner.contextId;
|
||||
}
|
||||
GlRenderer.setTextureId(this.textureId);
|
||||
gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_LUMINANCE_ALPHA, this.powerOfTwoSize, this.powerOfTwoSize, 0, GL2.GL_LUMINANCE_ALPHA, GL2.GL_UNSIGNED_BYTE, buffer);
|
||||
Static63.onCard2d += buffer.limit() - this.size;
|
||||
GlCleaner.onCard2d += buffer.limit() - this.size;
|
||||
this.size = buffer.limit();
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_NEAREST);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_NEAREST);
|
||||
|
|
|
|||
|
|
@ -69,11 +69,11 @@ public final class GlIndexedSprite extends IndexedSprite {
|
|||
@Pc(102) int[] local102 = new int[1];
|
||||
local95.glGenTextures(1, local102, 0);
|
||||
this.anInt4281 = local102[0];
|
||||
this.anInt4285 = Static63.contextId;
|
||||
this.anInt4285 = GlCleaner.contextId;
|
||||
}
|
||||
GlRenderer.setTextureId(this.anInt4281);
|
||||
local95.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA, this.anInt4287, this.anInt4286, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, local93);
|
||||
Static63.onCard2d += local93.limit() - this.anInt4284;
|
||||
GlCleaner.onCard2d += local93.limit() - this.anInt4284;
|
||||
this.anInt4284 = local93.limit();
|
||||
}
|
||||
|
||||
|
|
@ -120,12 +120,12 @@ public final class GlIndexedSprite extends IndexedSprite {
|
|||
@Override
|
||||
public final void finalize() throws Throwable {
|
||||
if (this.anInt4281 != -1) {
|
||||
Static63.deleteTexture2d(this.anInt4281, this.anInt4284, this.anInt4285);
|
||||
GlCleaner.deleteTexture2d(this.anInt4281, this.anInt4284, this.anInt4285);
|
||||
this.anInt4281 = -1;
|
||||
this.anInt4284 = 0;
|
||||
}
|
||||
if (this.anInt4282 != -1) {
|
||||
Static63.deleteList(this.anInt4282, this.anInt4285);
|
||||
GlCleaner.deleteList(this.anInt4282, this.anInt4285);
|
||||
this.anInt4282 = -1;
|
||||
}
|
||||
super.finalize();
|
||||
|
|
@ -138,7 +138,7 @@ public final class GlIndexedSprite extends IndexedSprite {
|
|||
@Pc(17) GL2 local17 = GlRenderer.gl;
|
||||
if (this.anInt4282 == -1) {
|
||||
this.anInt4282 = local17.glGenLists(1);
|
||||
this.anInt4285 = Static63.contextId;
|
||||
this.anInt4285 = GlCleaner.contextId;
|
||||
}
|
||||
local17.glNewList(this.anInt4282, GL2.GL_COMPILE);
|
||||
local17.glBegin(GL2.GL_TRIANGLE_FAN);
|
||||
|
|
|
|||
File diff suppressed because it is too large
Load diff
|
|
@ -119,7 +119,7 @@ public final class GlRenderer {
|
|||
private static boolean fogEnabled = true;
|
||||
|
||||
@OriginalMember(owner = "client!tf", name = "I", descriptor = "Lclient!na;")
|
||||
private static final JagString RADEON = Static28.parse("radeon");
|
||||
private static final JagString RADEON = JagString.parse("radeon");
|
||||
|
||||
private static JAWTWindow window;
|
||||
|
||||
|
|
@ -485,7 +485,7 @@ public final class GlRenderer {
|
|||
}
|
||||
|
||||
if (context != null) {
|
||||
Static63.clear(); // GlCleaner
|
||||
GlCleaner.clear(); // GlCleaner
|
||||
try {
|
||||
if (GLContext.getCurrent() == context) {
|
||||
context.release();
|
||||
|
|
|
|||
|
|
@ -23,7 +23,7 @@ public final class GlSolidColorTexture extends SecondaryNode {
|
|||
@Pc(12) int[] local12 = new int[1];
|
||||
local9.glGenTextures(1, local12, 0);
|
||||
this.anInt5058 = local12[0];
|
||||
this.anInt5059 = Static63.contextId;
|
||||
this.anInt5059 = GlCleaner.contextId;
|
||||
GlRenderer.setTextureId(this.anInt5058);
|
||||
@Pc(32) int local32 = Rasteriser.palette[arg0];
|
||||
@Pc(58) byte[] local58 = new byte[] { (byte) (local32 >> 16), (byte) (local32 >> 8), (byte) local32, -1 };
|
||||
|
|
@ -31,7 +31,7 @@ public final class GlSolidColorTexture extends SecondaryNode {
|
|||
local9.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA, 1, 1, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, local61);
|
||||
local9.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR);
|
||||
local9.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
|
||||
Static63.onCardTexture += local61.limit() - this.anInt5065;
|
||||
GlCleaner.onCardTexture += local61.limit() - this.anInt5065;
|
||||
this.anInt5065 = local61.limit();
|
||||
}
|
||||
|
||||
|
|
@ -39,7 +39,7 @@ public final class GlSolidColorTexture extends SecondaryNode {
|
|||
@Override
|
||||
public final void finalize() throws Throwable {
|
||||
if (this.anInt5058 != -1) {
|
||||
Static63.method1485(this.anInt5058, this.anInt5065, this.anInt5059);
|
||||
GlCleaner.method1485(this.anInt5058, this.anInt5065, this.anInt5059);
|
||||
this.anInt5058 = -1;
|
||||
this.anInt5065 = 0;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -324,12 +324,12 @@ public class GlSprite extends Sprite {
|
|||
@Override
|
||||
public final void finalize() throws Throwable {
|
||||
if (this.textureId != -1) {
|
||||
Static63.deleteTexture2d(this.textureId, this.anInt1869, this.anInt1875);
|
||||
GlCleaner.deleteTexture2d(this.textureId, this.anInt1869, this.anInt1875);
|
||||
this.textureId = -1;
|
||||
this.anInt1869 = 0;
|
||||
}
|
||||
if (this.anInt1871 != -1) {
|
||||
Static63.deleteList(this.anInt1871, this.anInt1875);
|
||||
GlCleaner.deleteList(this.anInt1871, this.anInt1875);
|
||||
this.anInt1871 = -1;
|
||||
}
|
||||
super.finalize();
|
||||
|
|
@ -463,11 +463,11 @@ public class GlSprite extends Sprite {
|
|||
@Pc(100) int[] local100 = new int[1];
|
||||
local93.glGenTextures(1, local100, 0);
|
||||
this.textureId = local100[0];
|
||||
this.anInt1875 = Static63.contextId;
|
||||
this.anInt1875 = GlCleaner.contextId;
|
||||
}
|
||||
GlRenderer.setTextureId(this.textureId);
|
||||
local93.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA, this.powerOfTwoWidth, this.powerOfTwoHeight, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, local91);
|
||||
Static63.onCard2d += local91.limit() - this.anInt1869;
|
||||
GlCleaner.onCard2d += local91.limit() - this.anInt1869;
|
||||
this.anInt1869 = local91.limit();
|
||||
}
|
||||
|
||||
|
|
@ -493,7 +493,7 @@ public class GlSprite extends Sprite {
|
|||
@Pc(17) GL2 local17 = GlRenderer.gl;
|
||||
if (this.anInt1871 == -1) {
|
||||
this.anInt1871 = local17.glGenLists(1);
|
||||
this.anInt1875 = Static63.contextId;
|
||||
this.anInt1875 = GlCleaner.contextId;
|
||||
}
|
||||
local17.glNewList(this.anInt1871, GL2.GL_COMPILE);
|
||||
local17.glBegin(GL2.GL_TRIANGLE_FAN);
|
||||
|
|
|
|||
|
|
@ -178,7 +178,7 @@ public final class GlTexture extends SecondaryNode {
|
|||
if (this.textureId == -1) {
|
||||
@Pc(53) int[] temp = new int[1];
|
||||
gl.glGenTextures(1, temp, 0);
|
||||
this.anInt5492 = Static63.contextId;
|
||||
this.anInt5492 = GlCleaner.contextId;
|
||||
this.textureId = temp[0];
|
||||
GlRenderer.setTextureId(this.textureId);
|
||||
@Pc(82) ByteBuffer pixels = ByteBuffer.wrap(this.aClass88_1.method2728(size, size, this.aBoolean288, arg1, 0.7D, arg0));
|
||||
|
|
@ -215,7 +215,7 @@ public final class GlTexture extends SecondaryNode {
|
|||
// gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_GENERATE_MIPMAP, GL2.GL_TRUE);
|
||||
// gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA8, size, size, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, pixels);
|
||||
|
||||
Static63.onCardTexture += pixels.limit() * 4 / 3 - this.textureSize;
|
||||
GlCleaner.onCardTexture += pixels.limit() * 4 / 3 - this.textureSize;
|
||||
this.textureSize = pixels.limit() * 4 / 3;
|
||||
} else if (this.anInt5489 == 1) {
|
||||
@Pc(129) int local129 = 0;
|
||||
|
|
@ -225,7 +225,7 @@ public final class GlTexture extends SecondaryNode {
|
|||
if (size == 0) {
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR_MIPMAP_LINEAR);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
|
||||
Static63.onCardTexture += pixels.limit() * 4 / 3 - this.textureSize;
|
||||
GlCleaner.onCardTexture += pixels.limit() * 4 / 3 - this.textureSize;
|
||||
this.textureSize = pixels.limit() * 4 / 3;
|
||||
break;
|
||||
}
|
||||
|
|
@ -235,7 +235,7 @@ public final class GlTexture extends SecondaryNode {
|
|||
gl.glTexImage2D(GL2.GL_TEXTURE_2D, 0, GL2.GL_RGBA, size, size, 0, GL2.GL_RGBA, GL2.GL_UNSIGNED_BYTE, pixels);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR);
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
|
||||
Static63.onCardTexture += pixels.limit() - this.textureSize;
|
||||
GlCleaner.onCardTexture += pixels.limit() - this.textureSize;
|
||||
this.textureSize = pixels.limit();
|
||||
}
|
||||
gl.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_WRAP_S, this.aBoolean285 ? GL2.GL_REPEAT : GL2.GL_CLAMP_TO_EDGE);
|
||||
|
|
@ -308,7 +308,7 @@ public final class GlTexture extends SecondaryNode {
|
|||
@Override
|
||||
public final void finalize() throws Throwable {
|
||||
if (this.textureId != -1) {
|
||||
Static63.method1485(this.textureId, this.textureSize, this.anInt5492);
|
||||
GlCleaner.method1485(this.textureId, this.textureSize, this.anInt5492);
|
||||
this.textureSize = 0;
|
||||
this.textureId = -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -298,7 +298,7 @@ public final class GlTile extends Node {
|
|||
this.aByteBuffer3.position(28);
|
||||
local257.glTexCoordPointer(2, GL2.GL_FLOAT, local282, this.aByteBuffer3);
|
||||
if (this.aBoolean139) {
|
||||
local257.glClientActiveTexture(Static275.method4607());
|
||||
local257.glClientActiveTexture(UnderwaterMaterialRenderer.method4607());
|
||||
this.aByteBuffer3.position(36);
|
||||
local257.glTexCoordPointer(1, GL2.GL_FLOAT, local282, this.aByteBuffer3);
|
||||
local257.glClientActiveTexture(GL2.GL_TEXTURE0);
|
||||
|
|
@ -312,7 +312,7 @@ public final class GlTile extends Node {
|
|||
}
|
||||
local257.glTexCoordPointer(2, GL2.GL_FLOAT, local282, 28L);
|
||||
if (this.aBoolean139) {
|
||||
local257.glClientActiveTexture(Static275.method4607());
|
||||
local257.glClientActiveTexture(UnderwaterMaterialRenderer.method4607());
|
||||
local257.glTexCoordPointer(1, GL2.GL_FLOAT, local282, 36L);
|
||||
local257.glClientActiveTexture(GL2.GL_TEXTURE0);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class GlVertexBufferObject {
|
|||
local9.glGenBuffers(1, local12, 0);
|
||||
this.aBoolean300 = arg0;
|
||||
this.anInt5760 = local12[0];
|
||||
this.anInt5761 = Static63.contextId;
|
||||
this.anInt5761 = GlCleaner.contextId;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!vi", name = "a", descriptor = "(Ljava/nio/ByteBuffer;)V")
|
||||
|
|
@ -52,7 +52,7 @@ public final class GlVertexBufferObject {
|
|||
@Override
|
||||
public final void finalize() throws Throwable {
|
||||
if (this.anInt5760 != -1) {
|
||||
Static63.method1489(this.anInt5760, this.anInt5762, this.anInt5761);
|
||||
GlCleaner.method1489(this.anInt5760, this.anInt5762, this.anInt5761);
|
||||
this.anInt5760 = -1;
|
||||
this.anInt5762 = 0;
|
||||
}
|
||||
|
|
@ -70,7 +70,7 @@ public final class GlVertexBufferObject {
|
|||
@Pc(1) GL2 local1 = GlRenderer.gl;
|
||||
local1.glBindBuffer(GL2.GL_ELEMENT_ARRAY_BUFFER, this.anInt5760);
|
||||
local1.glBufferData(GL2.GL_ELEMENT_ARRAY_BUFFER, arg0.limit(), arg0, this.aBoolean300 ? GL2.GL_STREAM_DRAW : GL2.GL_STATIC_DRAW);
|
||||
Static63.anInt1945 += arg0.limit() - this.anInt5762;
|
||||
GlCleaner.anInt1945 += arg0.limit() - this.anInt5762;
|
||||
this.anInt5762 = arg0.limit();
|
||||
}
|
||||
|
||||
|
|
@ -85,7 +85,7 @@ public final class GlVertexBufferObject {
|
|||
@Pc(1) GL2 local1 = GlRenderer.gl;
|
||||
local1.glBindBuffer(GL2.GL_ARRAY_BUFFER, this.anInt5760);
|
||||
local1.glBufferData(GL2.GL_ARRAY_BUFFER, arg0.limit(), arg0, this.aBoolean300 ? GL2.GL_STREAM_DRAW : GL2.GL_STATIC_DRAW);
|
||||
Static63.anInt1945 += arg0.limit() - this.anInt5762;
|
||||
GlCleaner.anInt1945 += arg0.limit() - this.anInt5762;
|
||||
this.anInt5762 = arg0.limit();
|
||||
}
|
||||
}
|
||||
|
|
|
|||
65
client/src/main/java/HintArrowManager.java
Normal file
65
client/src/main/java/HintArrowManager.java
Normal file
|
|
@ -0,0 +1,65 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class HintArrowManager {
|
||||
@OriginalMember(owner = "client!ih", name = "l", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable HINT_ARROWS = new SoftLruHashTable(4);
|
||||
|
||||
@OriginalMember(owner = "client!mh", name = "c", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
HINT_ARROWS.clean(5);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!og", name = "a", descriptor = "(I)V")
|
||||
public static void method3329() {
|
||||
HINT_ARROWS.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!oi", name = "b", descriptor = "(I)V")
|
||||
public static void clear() {
|
||||
HINT_ARROWS.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!rm", name = "a", descriptor = "(ZIIIILclient!ak;I)Lclient!ak;")
|
||||
public static Model getModel(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) Model arg4, @OriginalArg(6) int arg5) {
|
||||
@Pc(4) long local4 = (long) arg2;
|
||||
@Pc(10) Model local10 = (Model) HINT_ARROWS.get(local4);
|
||||
if (local10 == null) {
|
||||
@Pc(22) RawModel local22 = Static77.create(client.js5Archive7, arg2);
|
||||
if (local22 == null) {
|
||||
return null;
|
||||
}
|
||||
local10 = local22.createModel(64, 768, -50, -10, -50);
|
||||
HINT_ARROWS.put(local10, local4);
|
||||
}
|
||||
@Pc(42) int local42 = arg4.method4562();
|
||||
@Pc(45) int local45 = arg4.method4561();
|
||||
@Pc(48) int local48 = arg4.method4576();
|
||||
@Pc(51) int local51 = arg4.method4550();
|
||||
local10 = local10.method4560(true, true, true);
|
||||
if (arg0 != 0) {
|
||||
local10.method4554(arg0);
|
||||
}
|
||||
@Pc(94) int local94;
|
||||
if (GlRenderer.enabled) {
|
||||
@Pc(68) GlModel local68 = (GlModel) local10;
|
||||
if (arg5 != SceneGraph.getTileHeight(Static55.level, arg3 + local42, arg1 + local48) || arg5 != SceneGraph.getTileHeight(Static55.level, arg3 + local45, local51 + arg1)) {
|
||||
for (local94 = 0; local94 < local68.vertexCount; local94++) {
|
||||
local68.anIntArray465[local94] += SceneGraph.getTileHeight(Static55.level, local68.anIntArray461[local94] + arg3, local68.anIntArray466[local94] + arg1) - arg5;
|
||||
}
|
||||
local68.bounds.valid = false;
|
||||
local68.vertexBuffer.valid = false;
|
||||
}
|
||||
} else {
|
||||
@Pc(142) SoftwareModel local142 = (SoftwareModel) local10;
|
||||
if (arg5 != SceneGraph.getTileHeight(Static55.level, local42 + arg3, local48 + arg1) || arg5 != SceneGraph.getTileHeight(Static55.level, arg3 + local45, local51 + arg1)) {
|
||||
for (local94 = 0; local94 < local142.vertexCount; local94++) {
|
||||
local142.anIntArray527[local94] += SceneGraph.getTileHeight(Static55.level, arg3 + local142.anIntArray528[local94], local142.anIntArray531[local94] + arg1) - arg5;
|
||||
}
|
||||
local142.boundsValid = false;
|
||||
}
|
||||
}
|
||||
return local10;
|
||||
}
|
||||
}
|
||||
6
client/src/main/java/HitBarList.java
Normal file
6
client/src/main/java/HitBarList.java
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
|
||||
public class HitBarList {
|
||||
@OriginalMember(owner = "client!fm", name = "S", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable hitBars = new SoftLruHashTable(4);
|
||||
}
|
||||
|
|
@ -36,7 +36,7 @@ public final class IdkType {
|
|||
@Pc(16) RawModel[] local16 = new RawModel[5];
|
||||
for (@Pc(18) int local18 = 0; local18 < 5; local18++) {
|
||||
if (this.headModels[local18] != -1) {
|
||||
local16[local13++] = Static77.create(Static14.modelsArchive, this.headModels[local18]);
|
||||
local16[local13++] = Static77.create(IdkTypeList.modelsArchive, this.headModels[local18]);
|
||||
}
|
||||
}
|
||||
@Pc(52) RawModel local52 = new RawModel(local16, local13);
|
||||
|
|
@ -61,7 +61,7 @@ public final class IdkType {
|
|||
}
|
||||
@Pc(13) boolean local13 = true;
|
||||
for (@Pc(22) int local22 = 0; local22 < this.bodyModels.length; local22++) {
|
||||
if (!Static14.modelsArchive.isFileReady(0, this.bodyModels[local22])) {
|
||||
if (!IdkTypeList.modelsArchive.isFileReady(0, this.bodyModels[local22])) {
|
||||
local13 = false;
|
||||
}
|
||||
}
|
||||
|
|
@ -112,7 +112,7 @@ public final class IdkType {
|
|||
}
|
||||
@Pc(16) RawModel[] local16 = new RawModel[this.bodyModels.length];
|
||||
for (@Pc(18) int local18 = 0; local18 < this.bodyModels.length; local18++) {
|
||||
local16[local18] = Static77.create(Static14.modelsArchive, this.bodyModels[local18]);
|
||||
local16[local18] = Static77.create(IdkTypeList.modelsArchive, this.bodyModels[local18]);
|
||||
}
|
||||
@Pc(56) RawModel local56;
|
||||
if (local16.length == 1) {
|
||||
|
|
@ -138,7 +138,7 @@ public final class IdkType {
|
|||
public final boolean isHeadModelReady() {
|
||||
@Pc(3) boolean local3 = true;
|
||||
for (@Pc(12) int local12 = 0; local12 < 5; local12++) {
|
||||
if (this.headModels[local12] != -1 && !Static14.modelsArchive.isFileReady(0, this.headModels[local12])) {
|
||||
if (this.headModels[local12] != -1 && !IdkTypeList.modelsArchive.isFileReady(0, this.headModels[local12])) {
|
||||
local3 = false;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
51
client/src/main/java/IdkTypeList.java
Normal file
51
client/src/main/java/IdkTypeList.java
Normal file
|
|
@ -0,0 +1,51 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class IdkTypeList {
|
||||
@OriginalMember(owner = "client!fe", name = "jb", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!bd", name = "g", descriptor = "Lclient!ve;")
|
||||
public static Js5 modelsArchive;
|
||||
@OriginalMember(owner = "client!ri", name = "c", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
@OriginalMember(owner = "client!ec", name = "z", descriptor = "I")
|
||||
public static int anInt1716;
|
||||
|
||||
@OriginalMember(owner = "client!jl", name = "a", descriptor = "(ILclient!ve;Lclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0, @OriginalArg(2) Js5 arg1) {
|
||||
modelsArchive = arg0;
|
||||
archive = arg1;
|
||||
anInt1716 = archive.getGroupCapacity(3);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!gg", name = "d", descriptor = "(II)Lclient!dm;")
|
||||
public static IdkType get(@OriginalArg(0) int arg0) {
|
||||
@Pc(10) IdkType local10 = (IdkType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(21) byte[] local21 = archive.getFile(3, arg0);
|
||||
local10 = new IdkType();
|
||||
if (local21 != null) {
|
||||
local10.decode(new Buffer(local21));
|
||||
}
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!oi", name = "a", descriptor = "(I)V")
|
||||
public static void method3342() {
|
||||
types.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!t", name = "b", descriptor = "(I)V")
|
||||
public static void method3999() {
|
||||
types.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!te", name = "a", descriptor = "(IZ)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
}
|
||||
}
|
||||
|
|
@ -1,12 +1,151 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class InterfaceList {
|
||||
@OriginalMember(owner = "client!p", name = "c", descriptor = "Lclient!ih;")
|
||||
public static final LinkedList lowPriorityRequests = new LinkedList();
|
||||
@OriginalMember(owner = "client!ch", name = "y", descriptor = "[Z")
|
||||
public static final boolean[] rectangleRedraw = new boolean[100];
|
||||
@OriginalMember(owner = "client!qj", name = "i", descriptor = "[I")
|
||||
public static final int[] keyChars = new int[128];
|
||||
@OriginalMember(owner = "client!sg", name = "q", descriptor = "[I")
|
||||
public static final int[] keyCodes = new int[128];
|
||||
@OriginalMember(owner = "client!bn", name = "V", descriptor = "I")
|
||||
public static int anInt766 = 0;
|
||||
@OriginalMember(owner = "client!md", name = "W", descriptor = "I")
|
||||
public static int topLevelInterface = -1;
|
||||
@OriginalMember(owner = "client!bm", name = "f", descriptor = "Lclient!ve;")
|
||||
public static Js5 aClass153_12;
|
||||
@OriginalMember(owner = "client!nd", name = "v", descriptor = "Lclient!ve;")
|
||||
public static Js5 aClass153_64;
|
||||
@OriginalMember(owner = "client!qg", name = "ab", descriptor = "Lclient!ve;")
|
||||
public static Js5 aClass153_84;
|
||||
@OriginalMember(owner = "client!qh", name = "g", descriptor = "Lclient!ve;")
|
||||
public static Js5 aClass153_85;
|
||||
@OriginalMember(owner = "client!th", name = "j", descriptor = "[[Lclient!be;")
|
||||
public static Component[][] components;
|
||||
@OriginalMember(owner = "client!sc", name = "m", descriptor = "[Z")
|
||||
public static boolean[] aBooleanArray115;
|
||||
@OriginalMember(owner = "client!oj", name = "y", descriptor = "I")
|
||||
public static int keyQueueSize = 0;
|
||||
@OriginalMember(owner = "client!je", name = "fb", descriptor = "I")
|
||||
public static int transmitTimer = 1;
|
||||
|
||||
@OriginalMember(owner = "client!ab", name = "a", descriptor = "(ZLclient!ve;Lclient!ve;Lclient!ve;Lclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0, @OriginalArg(2) Js5 arg1, @OriginalArg(3) Js5 arg2, @OriginalArg(4) Js5 arg3) {
|
||||
aClass153_12 = arg1;
|
||||
aClass153_64 = arg0;
|
||||
aClass153_84 = arg2;
|
||||
aClass153_85 = arg3;
|
||||
components = new Component[aClass153_84.method4483()][];
|
||||
aBooleanArray115 = new boolean[aClass153_84.method4483()];
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ig", name = "a", descriptor = "(BI)V")
|
||||
public static void method2275(@OriginalArg(1) int arg0) {
|
||||
if (arg0 == -1 || !aBooleanArray115[arg0]) {
|
||||
return;
|
||||
}
|
||||
aClass153_84.method4490(arg0);
|
||||
if (components[arg0] == null) {
|
||||
return;
|
||||
}
|
||||
@Pc(27) boolean local27 = true;
|
||||
for (@Pc(29) int local29 = 0; local29 < components[arg0].length; local29++) {
|
||||
if (components[arg0][local29] != null) {
|
||||
if (components[arg0][local29].type == 2) {
|
||||
local27 = false;
|
||||
} else {
|
||||
components[arg0][local29] = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (local27) {
|
||||
components[arg0] = null;
|
||||
}
|
||||
aBooleanArray115[arg0] = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!tm", name = "b", descriptor = "(II)Z")
|
||||
public static boolean load(@OriginalArg(0) int arg0) {
|
||||
if (aBooleanArray115[arg0]) {
|
||||
return true;
|
||||
} else if (aClass153_84.method4479(arg0)) {
|
||||
@Pc(25) int local25 = aClass153_84.getGroupCapacity(arg0);
|
||||
if (local25 == 0) {
|
||||
aBooleanArray115[arg0] = true;
|
||||
return true;
|
||||
}
|
||||
if (components[arg0] == null) {
|
||||
components[arg0] = new Component[local25];
|
||||
}
|
||||
for (@Pc(46) int local46 = 0; local46 < local25; local46++) {
|
||||
if (components[arg0][local46] == null) {
|
||||
@Pc(62) byte[] local62 = aClass153_84.getFile(arg0, local46);
|
||||
if (local62 != null) {
|
||||
@Pc(74) Component local74 = components[arg0][local46] = new Component();
|
||||
local74.id = local46 + (arg0 << 16);
|
||||
if (local62[0] == -1) {
|
||||
local74.method490(new Buffer(local62));
|
||||
} else {
|
||||
local74.method481(new Buffer(local62));
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
aBooleanArray115[arg0] = true;
|
||||
return true;
|
||||
} else {
|
||||
return false;
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!eb", name = "d", descriptor = "(I)V")
|
||||
public static void method1287() {
|
||||
components = new Component[aClass153_84.method4483()][];
|
||||
aBooleanArray115 = new boolean[aClass153_84.method4483()];
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!i", name = "i", descriptor = "(Z)V")
|
||||
public static void method2245() {
|
||||
for (@Pc(6) Class3_Sub31 local6 = (Class3_Sub31) Static119.aClass133_9.head(); local6 != null; local6 = (Class3_Sub31) Static119.aClass133_9.next()) {
|
||||
@Pc(14) int local14 = local6.anInt5878;
|
||||
if (load(local14)) {
|
||||
@Pc(21) boolean local21 = true;
|
||||
@Pc(25) Component[] local25 = components[local14];
|
||||
@Pc(27) int local27;
|
||||
for (local27 = 0; local27 < local25.length; local27++) {
|
||||
if (local25[local27] != null) {
|
||||
local21 = local25[local27].aBoolean32;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (!local21) {
|
||||
local27 = (int) local6.key;
|
||||
@Pc(60) Component local60 = getComponent(local27);
|
||||
if (local60 != null) {
|
||||
Static43.redraw(local60);
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!af", name = "a", descriptor = "(BI)Lclient!be;")
|
||||
public static Component getComponent(@OriginalArg(1) int id) {
|
||||
@Pc(7) int interfaceId = id >> 16;
|
||||
@Pc(18) int componentId = id & 0xFFFF;
|
||||
if (components[interfaceId] == null || components[interfaceId][componentId] == null) {
|
||||
@Pc(33) boolean success = load(interfaceId);
|
||||
if (!success) {
|
||||
return null;
|
||||
}
|
||||
// todo: this should not be necessary, data/server-related?
|
||||
if (components.length <= interfaceId || components[interfaceId].length <= componentId) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
return components[interfaceId][componentId];
|
||||
}
|
||||
}
|
||||
|
|
|
|||
30
client/src/main/java/InvTypeList.java
Normal file
30
client/src/main/java/InvTypeList.java
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class InvTypeList {
|
||||
@OriginalMember(owner = "client!ha", name = "p", descriptor = "Lclient!gn;")
|
||||
public static final LruHashTable types = new LruHashTable(64);
|
||||
@OriginalMember(owner = "client!al", name = "q", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!je", name = "a", descriptor = "(ILclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0) {
|
||||
archive = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!u", name = "a", descriptor = "(II)Lclient!md;")
|
||||
public static InvType list(@OriginalArg(0) int id) {
|
||||
@Pc(16) InvType invType = (InvType) types.get((long) id);
|
||||
if (invType != null) {
|
||||
return invType;
|
||||
}
|
||||
@Pc(27) byte[] data = archive.getFile(5, id);
|
||||
invType = new InvType();
|
||||
if (data != null) {
|
||||
invType.decode(new Buffer(data));
|
||||
}
|
||||
types.put(invType, (long) id);
|
||||
return invType;
|
||||
}
|
||||
}
|
||||
|
|
@ -158,7 +158,7 @@ public final class IsaacRandom {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!ij", name = "a", descriptor = "(I)I")
|
||||
public final int method2295() {
|
||||
public final int getNextKey() {
|
||||
if (GlobalConfig.USE_ISAAC) {
|
||||
if (this.anInt2916-- == 0) {
|
||||
this.method2296();
|
||||
|
|
|
|||
|
|
@ -13,7 +13,7 @@ import org.openrs2.deob.annotation.Pc;
|
|||
public final class JagString implements StringInterface {
|
||||
|
||||
@OriginalMember(owner = "client!pa", name = "O", descriptor = "Lclient!na;")
|
||||
public static final JagString EMPTY = Static28.parse("");
|
||||
public static final JagString EMPTY = parse("");
|
||||
@OriginalMember(owner = "client!na", name = "T", descriptor = "[B")
|
||||
public byte[] chars;
|
||||
|
||||
|
|
@ -101,7 +101,30 @@ public final class JagString implements StringInterface {
|
|||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Z)Ljava/net/URL;")
|
||||
@OriginalMember(owner = "client!cd", name = "a", descriptor = "(Ljava/lang/String;B)Lclient!na;")
|
||||
public static JagString parse(@OriginalArg(0) String arg0) {
|
||||
@Pc(6) byte[] local6 = arg0.getBytes();
|
||||
@Pc(9) int local9 = local6.length;
|
||||
@Pc(13) JagString local13 = new JagString();
|
||||
@Pc(15) int local15 = 0;
|
||||
local13.chars = new byte[local9];
|
||||
while (local9 > local15) {
|
||||
@Pc(29) int local29 = local6[local15++] & 0xFF;
|
||||
if (local29 <= 45 && local29 >= 40) {
|
||||
if (local15 >= local9) {
|
||||
break;
|
||||
}
|
||||
@Pc(51) int local51 = local6[local15++] & 0xFF;
|
||||
local13.chars[local13.length++] = (byte) (local51 + (local29 + -40) * 43 - 48);
|
||||
} else if (local29 != 0) {
|
||||
local13.chars[local13.length++] = (byte) local29;
|
||||
}
|
||||
}
|
||||
local13.method3156();
|
||||
return local13.method3151();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!na", name = "a", descriptor = "(Z)Ljava/net/URL;")
|
||||
public final URL method3107() throws MalformedURLException {
|
||||
return new URL(new String(this.chars, 0, this.length));
|
||||
}
|
||||
|
|
@ -856,7 +879,7 @@ public final class JagString implements StringInterface {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!na", name = "a", descriptor = "(ILjava/applet/Applet;)Ljava/lang/Object;")
|
||||
public final Object method3157(@OriginalArg(1) Applet arg0) throws Throwable {
|
||||
public final Object browserControlCall(@OriginalArg(1) Applet arg0) throws Throwable {
|
||||
@Pc(12) String local12 = new String(this.chars, 0, this.length);
|
||||
@Pc(17) Object local17 = Static287.method1757(local12, arg0);
|
||||
if (local17 instanceof String) {
|
||||
|
|
@ -888,7 +911,7 @@ public final class JagString implements StringInterface {
|
|||
|
||||
@OriginalMember(owner = "client!na", name = "k", descriptor = "(I)Lclient!na;")
|
||||
public final JagString method3159() {
|
||||
@Pc(9) JagString local9 = Static79.decode37(this.encode37());
|
||||
@Pc(9) JagString local9 = Base37.decodeLowerCase(this.encode37());
|
||||
return local9 == null ? Static228.aClass100_967 : local9;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -95,7 +95,7 @@ public final class Js5 {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!ve", name = "b", descriptor = "(B)I")
|
||||
public final int method4480() {
|
||||
public final int getChecksum() {
|
||||
if (!this.method4484()) {
|
||||
throw new IllegalStateException("");
|
||||
}
|
||||
|
|
@ -460,7 +460,7 @@ public final class Js5 {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!ve", name = "a", descriptor = "(BI)[I")
|
||||
public final int[] method4503(@OriginalArg(1) int arg0) {
|
||||
public final int[] getFileIds(@OriginalArg(1) int arg0) {
|
||||
if (!this.method4492(arg0)) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -476,7 +476,7 @@ public final class Js5 {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!ve", name = "a", descriptor = "(IB)I")
|
||||
public final int method4504(@OriginalArg(0) int arg0) {
|
||||
public final int getGroupCapacity(@OriginalArg(0) int arg0) {
|
||||
return this.method4492(arg0) ? this.aClass70_2.anIntArray270[arg0] : 0;
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -164,7 +164,7 @@ public final class Js5CachedResourceProvider extends Js5ResourceProvider {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!bg", name = "a", descriptor = "(Z)V")
|
||||
public final void method528() {
|
||||
public final void prefetchAll() {
|
||||
if (this.aClass49_2 != null) {
|
||||
this.aBoolean36 = true;
|
||||
if (this.aClass69_17 == null) {
|
||||
|
|
|
|||
|
|
@ -31,7 +31,7 @@ public final class Js5MasterIndex {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!al", name = "b", descriptor = "(I)Z")
|
||||
public final boolean method178() {
|
||||
public final boolean isReady() {
|
||||
if (this.aClass3_Sub15_1 != null) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -69,7 +69,7 @@ public final class Js5MasterIndex {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!al", name = "a", descriptor = "(IILclient!ge;Lclient!ge;)Lclient!bg;")
|
||||
public final Js5CachedResourceProvider method180(@OriginalArg(1) int arg0, @OriginalArg(2) Cache arg1, @OriginalArg(3) Cache arg2) {
|
||||
public final Js5CachedResourceProvider getResourceProvider(@OriginalArg(1) int arg0, @OriginalArg(2) Cache arg1, @OriginalArg(3) Cache arg2) {
|
||||
return this.method188(arg2, arg0, arg1);
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -223,7 +223,7 @@ public final class Js5NetQueue {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!jb", name = "a", descriptor = "(ZZ)V")
|
||||
public final void method2322(@OriginalArg(0) boolean arg0) {
|
||||
public final void writeLoggedIn(@OriginalArg(0) boolean arg0) {
|
||||
if (this.aClass95_1 == null) {
|
||||
return;
|
||||
}
|
||||
|
|
@ -261,7 +261,7 @@ public final class Js5NetQueue {
|
|||
}
|
||||
this.aClass95_1 = arg1;
|
||||
this.method2331();
|
||||
this.method2322(arg0);
|
||||
this.writeLoggedIn(arg0);
|
||||
this.aClass3_Sub15_5.offset = 0;
|
||||
this.aClass3_Sub2_Sub5_Sub2_2 = null;
|
||||
while (true) {
|
||||
|
|
|
|||
|
|
@ -10,13 +10,13 @@ public final class Js5QuickChatCommandDecoder implements QuickChatCommandDecoder
|
|||
@Override
|
||||
public final JagString method30(@OriginalArg(0) int arg0, @OriginalArg(1) int[] arg1, @OriginalArg(3) long arg2) {
|
||||
if (arg0 == 0) {
|
||||
@Pc(12) EnumType local12 = Static253.method4330(arg1[0]);
|
||||
@Pc(12) EnumType local12 = EnumTypeList.get(arg1[0]);
|
||||
return local12.getString((int) arg2);
|
||||
} else if (arg0 == 1 || arg0 == 10) {
|
||||
@Pc(31) ObjType local31 = Static71.get((int) arg2);
|
||||
@Pc(31) ObjType local31 = ObjTypeList.get((int) arg2);
|
||||
return local31.name;
|
||||
} else if (arg0 == 6 || arg0 == 7 || arg0 == 11) {
|
||||
return Static253.method4330(arg1[0]).getString((int) arg2);
|
||||
return EnumTypeList.get(arg1[0]).getString((int) arg2);
|
||||
} else {
|
||||
return null;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -19,7 +19,7 @@ public final class LightType {
|
|||
public int anInt2873 = 2048;
|
||||
|
||||
@OriginalMember(owner = "client!ic", name = "a", descriptor = "(ILclient!wa;I)V")
|
||||
public final void method2257(@OriginalArg(1) Buffer arg0, @OriginalArg(2) int arg1) {
|
||||
public final void decode(@OriginalArg(1) Buffer arg0, @OriginalArg(2) int arg1) {
|
||||
while (true) {
|
||||
@Pc(5) int local5 = arg0.g1();
|
||||
if (local5 == 0) {
|
||||
|
|
|
|||
45
client/src/main/java/LightTypeList.java
Normal file
45
client/src/main/java/LightTypeList.java
Normal file
|
|
@ -0,0 +1,45 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class LightTypeList {
|
||||
@OriginalMember(owner = "client!rm", name = "d", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!gl", name = "a", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!id", name = "a", descriptor = "(Lclient!ve;B)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0) {
|
||||
archive = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!la", name = "a", descriptor = "(II)Lclient!ic;")
|
||||
public static LightType get(@OriginalArg(1) int arg0) {
|
||||
@Pc(10) LightType local10 = (LightType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(26) byte[] local26 = archive.getFile(31, arg0);
|
||||
local10 = new LightType();
|
||||
if (local26 != null) {
|
||||
local10.decode(new Buffer(local26), arg0);
|
||||
}
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!c", name = "c", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!gd", name = "b", descriptor = "(I)V")
|
||||
public static void method1695() {
|
||||
types.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!hd", name = "a", descriptor = "(I)V")
|
||||
public static void method1882() {
|
||||
types.method3103();
|
||||
}
|
||||
}
|
||||
|
|
@ -10,7 +10,9 @@ import org.openrs2.deob.annotation.Pc;
|
|||
@OriginalClass("client!rd")
|
||||
public final class LiquidMaterialRenderer implements MaterialRenderer {
|
||||
|
||||
@OriginalMember(owner = "client!rd", name = "a", descriptor = "I")
|
||||
@OriginalMember(owner = "client!rd", name = "d", descriptor = "[F")
|
||||
public static final float[] aFloatArray24 = new float[4];
|
||||
@OriginalMember(owner = "client!rd", name = "a", descriptor = "I")
|
||||
private int anInt4829 = -1;
|
||||
|
||||
@OriginalMember(owner = "client!rd", name = "e", descriptor = "I")
|
||||
|
|
@ -171,8 +173,8 @@ public final class LiquidMaterialRenderer implements MaterialRenderer {
|
|||
}
|
||||
local5.glActiveTexture(GL2.GL_TEXTURE0);
|
||||
if ((arg0 & 0x40) == 0) {
|
||||
local5.glGetFloatv(GL2.GL_LIGHT_MODEL_AMBIENT, Static212.aFloatArray24, 0);
|
||||
local5.glProgramLocalParameter4fvARB(GL2.GL_VERTEX_PROGRAM_ARB, 66, Static212.aFloatArray24, 0);
|
||||
local5.glGetFloatv(GL2.GL_LIGHT_MODEL_AMBIENT, aFloatArray24, 0);
|
||||
local5.glProgramLocalParameter4fvARB(GL2.GL_VERTEX_PROGRAM_ARB, 66, aFloatArray24, 0);
|
||||
} else {
|
||||
local5.glProgramLocalParameter4fARB(GL2.GL_VERTEX_PROGRAM_ARB, 66, 1.0F, 1.0F, 1.0F, 1.0F);
|
||||
}
|
||||
|
|
|
|||
|
|
@ -17,14 +17,14 @@ public class LoadingBar {
|
|||
if (GlRenderer.enabled) {
|
||||
Static46.method1179(GameShell.canvasWidth / 2 - 152, local9, 304, 34, 9179409);
|
||||
Static46.method1179(GameShell.canvasWidth / 2 - 151, local9 - -1, 302, 32, 0);
|
||||
Static46.method1186(GameShell.canvasWidth / 2 - 150, local9 + 2, Static199.mainLoadPercentage * 3, 30, 9179409);
|
||||
Static46.method1186(GameShell.canvasWidth / 2 + Static199.mainLoadPercentage * 3 - 150, local9 + 2, 300 - Static199.mainLoadPercentage * 3, 30, 0);
|
||||
Static46.method1186(GameShell.canvasWidth / 2 - 150, local9 + 2, client.mainLoadPercentage * 3, 30, 9179409);
|
||||
Static46.method1186(GameShell.canvasWidth / 2 + client.mainLoadPercentage * 3 - 150, local9 + 2, 300 - client.mainLoadPercentage * 3, 30, 0);
|
||||
} else {
|
||||
SoftwareRaster.drawRect(GameShell.canvasWidth / 2 - 152, local9, 304, 34, 9179409);
|
||||
SoftwareRaster.drawRect(GameShell.canvasWidth / 2 - 151, local9 + 1, 302, 32, 0);
|
||||
SoftwareRaster.fillRect(GameShell.canvasWidth / 2 - 150, local9 + 2, Static199.mainLoadPercentage * 3, 30, 9179409);
|
||||
SoftwareRaster.fillRect(Static199.mainLoadPercentage * 3 + GameShell.canvasWidth / 2 - 150, local9 + 2, 300 - Static199.mainLoadPercentage * 3, 30, 0);
|
||||
SoftwareRaster.fillRect(GameShell.canvasWidth / 2 - 150, local9 + 2, client.mainLoadPercentage * 3, 30, 9179409);
|
||||
SoftwareRaster.fillRect(client.mainLoadPercentage * 3 + GameShell.canvasWidth / 2 - 150, local9 + 2, 300 - client.mainLoadPercentage * 3, 30, 0);
|
||||
}
|
||||
arg1.renderCenter(Static126.mainLoadSecondaryText, GameShell.canvasWidth / 2, GameShell.canvasHeight / 2 + 4, 16777215, -1);
|
||||
arg1.renderCenter(client.mainLoadSecondaryText, GameShell.canvasWidth / 2, GameShell.canvasHeight / 2 + 4, 16777215, -1);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -58,4 +58,11 @@ public class LoadingBarAwt {
|
|||
GameShell.canvas.repaint();
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!n", name = "a", descriptor = "(B)V")
|
||||
public static void clear() {
|
||||
Static240.aFontMetrics1 = null;
|
||||
Static222.aFont1 = null;
|
||||
Static149.anImage3 = null;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -82,7 +82,7 @@ public final class Loc extends Entity {
|
|||
if (arg8 instanceof Loc) {
|
||||
((Loc) arg8).method1046();
|
||||
} else {
|
||||
local67 = Static271.get(this.anInt1299);
|
||||
local67 = LocTypeList.get(this.anInt1299);
|
||||
if (local67.multiLocs != null) {
|
||||
local67 = local67.getMultiLoc();
|
||||
}
|
||||
|
|
@ -92,7 +92,7 @@ public final class Loc extends Entity {
|
|||
}
|
||||
}
|
||||
if (arg6 != -1) {
|
||||
this.aClass144_2 = Static36.get(arg6);
|
||||
this.aClass144_2 = SeqTypeList.get(arg6);
|
||||
this.anInt1297 = 0;
|
||||
if (this.aClass144_2.frames.length <= 1) {
|
||||
this.anInt1304 = 0;
|
||||
|
|
@ -128,7 +128,7 @@ public final class Loc extends Entity {
|
|||
this.method1048(true);
|
||||
}
|
||||
if (arg8 == null) {
|
||||
local67 = Static271.get(this.anInt1299);
|
||||
local67 = LocTypeList.get(this.anInt1299);
|
||||
if (local67.multiLocs != null) {
|
||||
this.aBoolean80 = true;
|
||||
}
|
||||
|
|
@ -222,7 +222,7 @@ public final class Loc extends Entity {
|
|||
@OriginalMember(owner = "client!dc", name = "a", descriptor = "(ZI)Lclient!th;")
|
||||
private Entity method1048(@OriginalArg(0) boolean arg0) {
|
||||
@Pc(12) boolean local12 = Static107.surfaceTileHeightMap != Static83.activeTileHeightMap;
|
||||
@Pc(19) LocType local19 = Static271.get(this.anInt1299);
|
||||
@Pc(19) LocType local19 = LocTypeList.get(this.anInt1299);
|
||||
@Pc(22) int local22 = local19.anInt4430;
|
||||
if (local19.multiLocs != null) {
|
||||
local19 = local19.getMultiLoc();
|
||||
|
|
@ -234,7 +234,7 @@ public final class Loc extends Entity {
|
|||
return null;
|
||||
}
|
||||
@Pc(69) int local69;
|
||||
if (client.game != 0 && this.aBoolean80 && (this.aClass144_2 == null || this.aClass144_2 != null && this.aClass144_2.anInt5361 != local19.anInt4430)) {
|
||||
if (client.game != 0 && this.aBoolean80 && (this.aClass144_2 == null || this.aClass144_2 != null && this.aClass144_2.id != local19.anInt4430)) {
|
||||
local69 = local19.anInt4430;
|
||||
if (local19.anInt4430 == -1) {
|
||||
local69 = local22;
|
||||
|
|
@ -242,7 +242,7 @@ public final class Loc extends Entity {
|
|||
if (local69 == -1) {
|
||||
this.aClass144_2 = null;
|
||||
} else {
|
||||
this.aClass144_2 = Static36.get(local69);
|
||||
this.aClass144_2 = SeqTypeList.get(local69);
|
||||
}
|
||||
if (this.aClass144_2 != null) {
|
||||
if (local19.aBoolean209 && this.aClass144_2.anInt5362 != -1) {
|
||||
|
|
@ -269,7 +269,7 @@ public final class Loc extends Entity {
|
|||
@Pc(192) int local192 = (local157 >> 1) + this.anInt1300;
|
||||
@Pc(201) int local201 = (local157 + 1 >> 1) + this.anInt1300;
|
||||
this.method1047(local192 * 128, local185 * 128);
|
||||
@Pc(256) boolean local256 = !local12 && local19.aBoolean212 && (local19.anInt4426 != this.anInt1321 || (this.anInt1297 != this.anInt1322 || this.aClass144_2 != null && (this.aClass144_2.aBoolean280 || Static204.applyTweening) && this.anInt1297 != this.anInt1304) && Preferences.sceneryShadowsType >= 2);
|
||||
@Pc(256) boolean local256 = !local12 && local19.aBoolean212 && (local19.id != this.anInt1321 || (this.anInt1297 != this.anInt1322 || this.aClass144_2 != null && (this.aClass144_2.aBoolean280 || Static204.applyTweening) && this.anInt1297 != this.anInt1304) && Preferences.sceneryShadowsType >= 2);
|
||||
if (arg0 && !local256) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -319,7 +319,7 @@ public final class Loc extends Entity {
|
|||
this.anInt1294 = local429;
|
||||
this.anInt1296 = local302;
|
||||
}
|
||||
this.anInt1321 = local19.anInt4426;
|
||||
this.anInt1321 = local19.id;
|
||||
this.anInt1322 = this.anInt1297;
|
||||
}
|
||||
return local389.aClass8_10;
|
||||
|
|
|
|||
|
|
@ -34,7 +34,7 @@ public final class LocType {
|
|||
public int[] multiLocs;
|
||||
|
||||
@OriginalMember(owner = "client!pb", name = "hb", descriptor = "I")
|
||||
public int anInt4426;
|
||||
public int id;
|
||||
|
||||
@OriginalMember(owner = "client!pb", name = "wb", descriptor = "[I")
|
||||
public int[] anIntArray381;
|
||||
|
|
@ -188,7 +188,7 @@ public final class LocType {
|
|||
if (this.shapes != null) {
|
||||
for (@Pc(18) int local18 = 0; local18 < this.shapes.length; local18++) {
|
||||
if (arg0 == this.shapes[local18]) {
|
||||
return Static121.modelsArchive.isFileReady(0, this.models[local18] & 0xFFFF);
|
||||
return LocTypeList.modelsArchive.isFileReady(0, this.models[local18] & 0xFFFF);
|
||||
}
|
||||
}
|
||||
return true;
|
||||
|
|
@ -197,7 +197,7 @@ public final class LocType {
|
|||
} else if (arg0 == 10) {
|
||||
@Pc(71) boolean local71 = true;
|
||||
for (@Pc(73) int local73 = 0; local73 < this.models.length; local73++) {
|
||||
local71 &= Static121.modelsArchive.isFileReady(0, this.models[local73] & 0xFFFF);
|
||||
local71 &= LocTypeList.modelsArchive.isFileReady(0, this.models[local73] & 0xFFFF);
|
||||
}
|
||||
return local71;
|
||||
} else {
|
||||
|
|
@ -215,9 +215,9 @@ public final class LocType {
|
|||
}
|
||||
if (local26 < 0 || local26 >= this.multiLocs.length - 1 || this.multiLocs[local26] == -1) {
|
||||
@Pc(84) int local84 = this.multiLocs[this.multiLocs.length - 1];
|
||||
return local84 == -1 ? null : Static271.get(local84);
|
||||
return local84 == -1 ? null : LocTypeList.get(local84);
|
||||
} else {
|
||||
return Static271.get(this.multiLocs[local26]);
|
||||
return LocTypeList.get(this.multiLocs[local26]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -243,16 +243,16 @@ public final class LocType {
|
|||
if (local10) {
|
||||
local60 += 65536;
|
||||
}
|
||||
local7 = (RawModel) Static169.aClass99_24.get((long) local60);
|
||||
local7 = (RawModel) LocTypeList.aClass99_24.get((long) local60);
|
||||
if (local7 == null) {
|
||||
local7 = Static77.create(Static121.modelsArchive, local60 & 0xFFFF);
|
||||
local7 = Static77.create(LocTypeList.modelsArchive, local60 & 0xFFFF);
|
||||
if (local7 == null) {
|
||||
return null;
|
||||
}
|
||||
if (local10) {
|
||||
local7.method1673();
|
||||
}
|
||||
Static169.aClass99_24.put(local7, (long) local60);
|
||||
LocTypeList.aClass99_24.put(local7, (long) local60);
|
||||
}
|
||||
if (local46 > 1) {
|
||||
Static274.tempModels[local48] = local7;
|
||||
|
|
@ -276,16 +276,16 @@ public final class LocType {
|
|||
if (local10) {
|
||||
local48 += 65536;
|
||||
}
|
||||
local7 = (RawModel) Static169.aClass99_24.get((long) local48);
|
||||
local7 = (RawModel) LocTypeList.aClass99_24.get((long) local48);
|
||||
if (local7 == null) {
|
||||
local7 = Static77.create(Static121.modelsArchive, local48 & 0xFFFF);
|
||||
local7 = Static77.create(LocTypeList.modelsArchive, local48 & 0xFFFF);
|
||||
if (local7 == null) {
|
||||
return null;
|
||||
}
|
||||
if (local10) {
|
||||
local7.method1673();
|
||||
}
|
||||
Static169.aClass99_24.put(local7, (long) local48);
|
||||
LocTypeList.aClass99_24.put(local7, (long) local48);
|
||||
}
|
||||
}
|
||||
@Pc(211) boolean local211;
|
||||
|
|
@ -319,7 +319,7 @@ public final class LocType {
|
|||
if (this.aByteArray63 == null || this.aByteArray63.length <= local315) {
|
||||
local265.recolor(this.recolorSource[local315], this.recolorDestination[local315]);
|
||||
} else {
|
||||
local265.recolor(this.recolorSource[local315], Static62.aShortArray19[this.aByteArray63[local315] & 0xFF]);
|
||||
local265.recolor(this.recolorSource[local315], client.aShortArray19[this.aByteArray63[local315] & 0xFF]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -363,7 +363,7 @@ public final class LocType {
|
|||
}
|
||||
for (@Pc(44) int local44 = 0; local44 < this.multiLocs.length; local44++) {
|
||||
if (this.multiLocs[local44] != -1) {
|
||||
@Pc(70) LocType local70 = Static271.get(this.multiLocs[local44]);
|
||||
@Pc(70) LocType local70 = LocTypeList.get(this.multiLocs[local44]);
|
||||
if (local70.sound != -1 || local70.anIntArray381 != null) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -609,7 +609,7 @@ public final class LocType {
|
|||
}
|
||||
@Pc(13) boolean local13 = true;
|
||||
for (@Pc(15) int local15 = 0; local15 < this.models.length; local15++) {
|
||||
local13 &= Static121.modelsArchive.isFileReady(0, this.models[local15] & 0xFFFF);
|
||||
local13 &= LocTypeList.modelsArchive.isFileReady(0, this.models[local15] & 0xFFFF);
|
||||
}
|
||||
return local13;
|
||||
}
|
||||
|
|
@ -639,11 +639,11 @@ public final class LocType {
|
|||
if (arg1) {
|
||||
local135 = ~local135;
|
||||
}
|
||||
local79 = (GlModel) Static169.aClass99_24.get(local135);
|
||||
local79 = (GlModel) LocTypeList.aClass99_24.get(local135);
|
||||
if (local79 == null) {
|
||||
@Pc(175) RawModel local175 = null;
|
||||
for (local177 = 0; local177 < local24; local177++) {
|
||||
local175 = Static77.create(Static121.modelsArchive, this.models[local177] & 0xFFFF);
|
||||
local175 = Static77.create(LocTypeList.modelsArchive, this.models[local177] & 0xFFFF);
|
||||
if (local175 == null) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -655,7 +655,7 @@ public final class LocType {
|
|||
local175 = new RawModel(Static274.tempModels, local24);
|
||||
}
|
||||
local79 = new GlModel(local175, local10, local17, arg1);
|
||||
Static169.aClass99_24.put(local79, local135);
|
||||
LocTypeList.aClass99_24.put(local79, local135);
|
||||
}
|
||||
} else {
|
||||
local24 = -1;
|
||||
|
|
@ -673,14 +673,14 @@ public final class LocType {
|
|||
if (arg1) {
|
||||
local26 += 65536;
|
||||
}
|
||||
local79 = (GlModel) Static169.aClass99_24.get((long) local26);
|
||||
local79 = (GlModel) LocTypeList.aClass99_24.get((long) local26);
|
||||
if (local79 == null) {
|
||||
@Pc(90) RawModel local90 = Static77.create(Static121.modelsArchive, local26 & 0xFFFF);
|
||||
@Pc(90) RawModel local90 = Static77.create(LocTypeList.modelsArchive, local26 & 0xFFFF);
|
||||
if (local90 == null) {
|
||||
return null;
|
||||
}
|
||||
local79 = new GlModel(local90, local10, local17, arg1);
|
||||
Static169.aClass99_24.put(local79, (long) local26);
|
||||
LocTypeList.aClass99_24.put(local79, (long) local26);
|
||||
}
|
||||
}
|
||||
@Pc(236) boolean local236 = this.aBoolean217;
|
||||
|
|
@ -735,11 +735,11 @@ public final class LocType {
|
|||
@Pc(29) long local29;
|
||||
if (GlRenderer.enabled) {
|
||||
if (this.shapes == null) {
|
||||
local29 = (this.anInt4426 << 10) + arg0;
|
||||
local29 = (this.id << 10) + arg0;
|
||||
} else {
|
||||
local29 = arg0 + (this.anInt4426 << 10) + (arg3 << 3);
|
||||
local29 = arg0 + (this.id << 10) + (arg3 << 3);
|
||||
}
|
||||
@Pc(225) Class139 local225 = (Class139) Static93.aClass99_14.get(local29);
|
||||
@Pc(225) Class139 local225 = (Class139) LocTypeList.aClass99_14.get(local29);
|
||||
@Pc(235) GlModel local235;
|
||||
@Pc(265) SoftwareIndexedSprite local265;
|
||||
if (local225 == null) {
|
||||
|
|
@ -760,7 +760,7 @@ public final class LocType {
|
|||
local225 = new Class139();
|
||||
local225.aClass8_10 = local235;
|
||||
local225.aClass36_Sub1_3 = local265;
|
||||
Static93.aClass99_14.put(local225, local29);
|
||||
LocTypeList.aClass99_14.put(local225, local29);
|
||||
} else {
|
||||
local235 = (GlModel) local225.aClass8_10;
|
||||
local265 = local225.aClass36_Sub1_3;
|
||||
|
|
@ -777,9 +777,9 @@ public final class LocType {
|
|||
return Static171.aClass139_1;
|
||||
}
|
||||
if (this.shapes == null) {
|
||||
local29 = (this.anInt4426 << 10) + arg0;
|
||||
local29 = (this.id << 10) + arg0;
|
||||
} else {
|
||||
local29 = (arg3 << 3) + ((this.anInt4426 << 10) + arg0);
|
||||
local29 = (arg3 << 3) + ((this.id << 10) + arg0);
|
||||
}
|
||||
@Pc(50) boolean local50;
|
||||
if (arg6 && this.aBoolean219) {
|
||||
|
|
@ -788,7 +788,7 @@ public final class LocType {
|
|||
} else {
|
||||
local50 = false;
|
||||
}
|
||||
@Pc(60) Entity local60 = (Entity) Static93.aClass99_14.get(local29);
|
||||
@Pc(60) Entity local60 = (Entity) LocTypeList.aClass99_14.get(local29);
|
||||
if (local60 == null) {
|
||||
@Pc(69) RawModel local69 = this.method3418(arg0, arg3);
|
||||
if (local69 == null) {
|
||||
|
|
@ -807,7 +807,7 @@ public final class LocType {
|
|||
} else {
|
||||
local60 = new SoftwareModel(local69, this.anInt4407 + 64, this.anInt4405 * 5 + 768, -50, -10, -50);
|
||||
}
|
||||
Static93.aClass99_14.put(local60, local29);
|
||||
LocTypeList.aClass99_14.put(local60, local29);
|
||||
}
|
||||
if (local50) {
|
||||
local60 = ((RawModel) local60).method1675();
|
||||
|
|
@ -828,18 +828,18 @@ public final class LocType {
|
|||
@Pc(30) long local30;
|
||||
if (!GlRenderer.enabled) {
|
||||
if (this.shapes == null) {
|
||||
local30 = (this.anInt4426 << 10) + arg5;
|
||||
local30 = (this.id << 10) + arg5;
|
||||
} else {
|
||||
local30 = arg5 + (this.anInt4426 << 10) + (arg11 << 3);
|
||||
local30 = arg5 + (this.id << 10) + (arg11 << 3);
|
||||
}
|
||||
@Pc(195) SoftwareModel local195 = (SoftwareModel) Static262.aClass99_36.get(local30);
|
||||
@Pc(195) SoftwareModel local195 = (SoftwareModel) LocTypeList.aClass99_36.get(local30);
|
||||
if (local195 == null) {
|
||||
@Pc(204) RawModel local204 = this.method3418(arg5, arg11);
|
||||
if (local204 == null) {
|
||||
return null;
|
||||
}
|
||||
local195 = new SoftwareModel(local204, this.anInt4407 + 64, this.anInt4405 * 5 + 768, -50, -10, -50);
|
||||
Static262.aClass99_36.put(local195, local30);
|
||||
LocTypeList.aClass99_36.put(local195, local30);
|
||||
}
|
||||
@Pc(234) boolean local234 = false;
|
||||
if (arg4 != null) {
|
||||
|
|
@ -863,11 +863,11 @@ public final class LocType {
|
|||
return Static171.aClass139_1;
|
||||
}
|
||||
if (this.shapes == null) {
|
||||
local30 = arg5 + (this.anInt4426 << 10);
|
||||
local30 = arg5 + (this.id << 10);
|
||||
} else {
|
||||
local30 = (arg11 << 3) + ((this.anInt4426 << 10) + arg5);
|
||||
local30 = (arg11 << 3) + ((this.id << 10) + arg5);
|
||||
}
|
||||
@Pc(46) GlModel local46 = (GlModel) Static262.aClass99_36.get(local30);
|
||||
@Pc(46) GlModel local46 = (GlModel) LocTypeList.aClass99_36.get(local30);
|
||||
if (local46 == null) {
|
||||
local46 = this.method3427(arg5, true, arg11);
|
||||
if (local46 == null) {
|
||||
|
|
@ -875,7 +875,7 @@ public final class LocType {
|
|||
}
|
||||
local46.method4099();
|
||||
local46.method4111(false, false, false, false, false, true);
|
||||
Static262.aClass99_36.put(local46, local30);
|
||||
LocTypeList.aClass99_36.put(local46, local30);
|
||||
}
|
||||
@Pc(80) boolean local80 = false;
|
||||
@Pc(82) GlModel local82 = local46;
|
||||
|
|
|
|||
93
client/src/main/java/LocTypeList.java
Normal file
93
client/src/main/java/LocTypeList.java
Normal file
|
|
@ -0,0 +1,93 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class LocTypeList {
|
||||
@OriginalMember(owner = "client!oe", name = "j", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!nf", name = "f", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable aClass99_24 = new SoftLruHashTable(500);
|
||||
@OriginalMember(owner = "client!he", name = "fb", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable aClass99_14 = new SoftLruHashTable(30);
|
||||
@OriginalMember(owner = "client!vf", name = "l", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable aClass99_36 = new SoftLruHashTable(50);
|
||||
@OriginalMember(owner = "client!cg", name = "c", descriptor = "Z")
|
||||
public static boolean allowMembers;
|
||||
@OriginalMember(owner = "client!lg", name = "g", descriptor = "Lclient!ve;")
|
||||
public static Js5 locsArchive;
|
||||
@OriginalMember(owner = "client!jg", name = "j", descriptor = "Lclient!ve;")
|
||||
public static Js5 modelsArchive;
|
||||
|
||||
@OriginalMember(owner = "client!wc", name = "a", descriptor = "(II)Lclient!pb;")
|
||||
public static LocType get(@OriginalArg(1) int id) {
|
||||
@Pc(15) LocType local15 = (LocType) types.get((long) id);
|
||||
if (local15 != null) {
|
||||
return local15;
|
||||
}
|
||||
@Pc(30) byte[] local30 = locsArchive.getFile(getGroupId(id), getFileId(id));
|
||||
local15 = new LocType();
|
||||
local15.id = id;
|
||||
if (local30 != null) {
|
||||
local15.decode(new Buffer(local30));
|
||||
}
|
||||
local15.postDecode();
|
||||
if (!allowMembers && local15.members) {
|
||||
local15.ops = null;
|
||||
}
|
||||
if (local15.aBoolean210) {
|
||||
local15.anInt4435 = 0;
|
||||
local15.aBoolean207 = false;
|
||||
}
|
||||
types.put(local15, (long) id);
|
||||
return local15;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ui", name = "c", descriptor = "(II)I")
|
||||
public static int getGroupId(@OriginalArg(0) int arg0) {
|
||||
return arg0 >>> 8;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!cj", name = "a", descriptor = "(IB)I")
|
||||
public static int getFileId(@OriginalArg(0) int arg0) {
|
||||
return arg0 & 0xFF;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!oi", name = "a", descriptor = "(ILclient!ve;Lclient!ve;Z)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0, @OriginalArg(2) Js5 arg1) {
|
||||
allowMembers = true;
|
||||
modelsArchive = arg1;
|
||||
locsArchive = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!oe", name = "b", descriptor = "(I)V")
|
||||
public static void method3323() {
|
||||
types.method3103();
|
||||
aClass99_24.method3103();
|
||||
aClass99_14.method3103();
|
||||
aClass99_36.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!va", name = "b", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
aClass99_24.clean(5);
|
||||
aClass99_14.clean(5);
|
||||
aClass99_36.clean(5);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!hb", name = "c", descriptor = "(I)V")
|
||||
public static void clear() {
|
||||
types.clear();
|
||||
aClass99_24.clear();
|
||||
aClass99_14.clear();
|
||||
aClass99_36.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!pe", name = "a", descriptor = "(BZ)V")
|
||||
public static void setAllowMembers(@OriginalArg(1) boolean arg0) {
|
||||
if (arg0 != allowMembers) {
|
||||
allowMembers = arg0;
|
||||
clear();
|
||||
}
|
||||
}
|
||||
}
|
||||
File diff suppressed because it is too large
Load diff
457
client/src/main/java/LoginManager.java
Normal file
457
client/src/main/java/LoginManager.java
Normal file
|
|
@ -0,0 +1,457 @@
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
import java.io.IOException;
|
||||
import java.net.Socket;
|
||||
|
||||
public class LoginManager {
|
||||
@OriginalMember(owner = "client!bg", name = "g", descriptor = "Lclient!i;")
|
||||
public static final Packet buffer = new Packet(5000);
|
||||
@OriginalMember(owner = "client!nd", name = "r", descriptor = "Lclient!na;")
|
||||
public static final JagString ZAP = JagString.parse("zap");
|
||||
@OriginalMember(owner = "client!ef", name = "h", descriptor = "Lclient!na;")
|
||||
public static final JagString UNZAP = JagString.parse("unzap");
|
||||
@OriginalMember(owner = "client!rl", name = "X", descriptor = "I")
|
||||
public static int anInt4937 = 0;
|
||||
@OriginalMember(owner = "client!sd", name = "X", descriptor = "Z")
|
||||
public static boolean aBoolean247 = false;
|
||||
@OriginalMember(owner = "client!sk", name = "ib", descriptor = "I")
|
||||
public static int hopTime = 0;
|
||||
@OriginalMember(owner = "client!vk", name = "b", descriptor = "I")
|
||||
public static int reply = -2;
|
||||
@OriginalMember(owner = "client!hd", name = "a", descriptor = "I")
|
||||
public static int loops = 0;
|
||||
@OriginalMember(owner = "client!ol", name = "V", descriptor = "I")
|
||||
public static int step = 0;
|
||||
@OriginalMember(owner = "client!qi", name = "A", descriptor = "I")
|
||||
public static int disallowResult = -1;
|
||||
@OriginalMember(owner = "client!wh", name = "s", descriptor = "I")
|
||||
public static int errors = 0;
|
||||
@OriginalMember(owner = "client!bj", name = "Y", descriptor = "I")
|
||||
public static int anInt673 = 0;
|
||||
@OriginalMember(owner = "client!pl", name = "i", descriptor = "I")
|
||||
public static int anInt4587 = 0;
|
||||
@OriginalMember(owner = "client!pi", name = "P", descriptor = "J")
|
||||
public static long serverKey = 0L;
|
||||
@OriginalMember(owner = "client!af", name = "c", descriptor = "I")
|
||||
public static int anInt39 = -1;
|
||||
@OriginalMember(owner = "client!pg", name = "S", descriptor = "I")
|
||||
public static int staffModLevel = 0;
|
||||
@OriginalMember(owner = "client!ud", name = "O", descriptor = "I")
|
||||
public static int playerModLevel = 0;
|
||||
@OriginalMember(owner = "client!jk", name = "G", descriptor = "Z")
|
||||
public static boolean playerUnderage = false;
|
||||
@OriginalMember(owner = "client!ql", name = "c", descriptor = "Z")
|
||||
public static boolean parentalChatConsent = false;
|
||||
@OriginalMember(owner = "client!qg", name = "W", descriptor = "Z")
|
||||
public static boolean playerMember = false;
|
||||
@OriginalMember(owner = "client!aa", name = "l", descriptor = "Z")
|
||||
public static boolean mapMembers = false;
|
||||
@OriginalMember(owner = "client!gm", name = "bb", descriptor = "Z")
|
||||
public static boolean mapQuickChat = false;
|
||||
@OriginalMember(owner = "client!c", name = "hb", descriptor = "Z")
|
||||
public static boolean parentalAdvertConsent = false;
|
||||
|
||||
@OriginalMember(owner = "client!dm", name = "d", descriptor = "(I)V")
|
||||
public static void clear() {
|
||||
aBoolean247 = false;
|
||||
hopTime = 0;
|
||||
reply = -3;
|
||||
loops = 0;
|
||||
step = 1;
|
||||
errors = 0;
|
||||
disallowResult = -1;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ch", name = "b", descriptor = "(B)V")
|
||||
public static void loopAuto() {
|
||||
if (anInt4937 == 0) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
if (++anInt673 > 1500) {
|
||||
if (Protocol.socket != null) {
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
}
|
||||
if (anInt4587 >= 1) {
|
||||
reply = -5;
|
||||
anInt4937 = 0;
|
||||
return;
|
||||
}
|
||||
anInt673 = 0;
|
||||
anInt4587++;
|
||||
anInt4937 = 1;
|
||||
if (client.worldListPort == client.worldListDefaultPort) {
|
||||
client.worldListPort = client.worldListAlternatePort;
|
||||
} else {
|
||||
client.worldListPort = client.worldListDefaultPort;
|
||||
}
|
||||
}
|
||||
if (anInt4937 == 1) {
|
||||
Protocol.socketRequest = GameShell.signLink.openSocket(client.worldListHostname, client.worldListPort);
|
||||
anInt4937 = 2;
|
||||
}
|
||||
@Pc(126) int local126;
|
||||
if (anInt4937 == 2) {
|
||||
if (Protocol.socketRequest.status == 2) {
|
||||
throw new IOException();
|
||||
}
|
||||
if (Protocol.socketRequest.status != 1) {
|
||||
return;
|
||||
}
|
||||
Protocol.socket = new BufferedSocket((Socket) Protocol.socketRequest.result, GameShell.signLink);
|
||||
Protocol.socketRequest = null;
|
||||
Protocol.socket.write(Protocol.outboundBuffer.data, Protocol.outboundBuffer.offset);
|
||||
if (client.musicChannel != null) {
|
||||
client.musicChannel.method3571();
|
||||
}
|
||||
if (client.soundChannel != null) {
|
||||
client.soundChannel.method3571();
|
||||
}
|
||||
local126 = Protocol.socket.read();
|
||||
if (client.musicChannel != null) {
|
||||
client.musicChannel.method3571();
|
||||
}
|
||||
if (client.soundChannel != null) {
|
||||
client.soundChannel.method3571();
|
||||
}
|
||||
if (local126 != 101) {
|
||||
reply = local126;
|
||||
anInt4937 = 0;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
anInt4937 = 3;
|
||||
}
|
||||
if (anInt4937 == 3) {
|
||||
if (Protocol.socket.available() < 2) {
|
||||
return;
|
||||
}
|
||||
local126 = Protocol.socket.read() << 8 | Protocol.socket.read();
|
||||
Static176.hopWorld(local126);
|
||||
if (Static125.worldId == -1) {
|
||||
anInt4937 = 0;
|
||||
reply = 6;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
anInt4937 = 0;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
clear();
|
||||
}
|
||||
} catch (@Pc(210) IOException local210) {
|
||||
if (Protocol.socket != null) {
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
}
|
||||
if (anInt4587 < 1) {
|
||||
if (client.worldListPort == client.worldListDefaultPort) {
|
||||
client.worldListPort = client.worldListAlternatePort;
|
||||
} else {
|
||||
client.worldListPort = client.worldListDefaultPort;
|
||||
}
|
||||
anInt4937 = 1;
|
||||
anInt673 = 0;
|
||||
anInt4587++;
|
||||
} else {
|
||||
reply = -4;
|
||||
anInt4937 = 0;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ri", name = "a", descriptor = "(B)V")
|
||||
public static void loop() {
|
||||
if (step == 0 || step == 5) {
|
||||
return;
|
||||
}
|
||||
try {
|
||||
if (++loops > 2000) {
|
||||
if (Protocol.socket != null) {
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
}
|
||||
if (errors >= 1) {
|
||||
reply = -5;
|
||||
step = 0;
|
||||
return;
|
||||
}
|
||||
loops = 0;
|
||||
if (client.port == client.defaultPort) {
|
||||
client.port = client.alternatePort;
|
||||
} else {
|
||||
client.port = client.defaultPort;
|
||||
}
|
||||
step = 1;
|
||||
errors++;
|
||||
}
|
||||
if (step == 1) {
|
||||
Protocol.socketRequest = GameShell.signLink.openSocket(client.hostname, client.port);
|
||||
step = 2;
|
||||
}
|
||||
if (step == 2) {
|
||||
if (Protocol.socketRequest.status == 2) {
|
||||
throw new IOException();
|
||||
}
|
||||
if (Protocol.socketRequest.status != 1) {
|
||||
return;
|
||||
}
|
||||
Protocol.socket = new BufferedSocket((Socket) Protocol.socketRequest.result, GameShell.signLink);
|
||||
Protocol.socketRequest = null;
|
||||
@Pc(106) long local106 = Static101.aLong98 = Player.username.encode37();
|
||||
Protocol.outboundBuffer.offset = 0;
|
||||
Protocol.outboundBuffer.p1(14);
|
||||
@Pc(120) int local120 = (int) (local106 >> 16 & 0x1FL);
|
||||
Protocol.outboundBuffer.p1(local120);
|
||||
Protocol.socket.write(Protocol.outboundBuffer.data, 2);
|
||||
if (client.musicChannel != null) {
|
||||
client.musicChannel.method3571();
|
||||
}
|
||||
if (client.soundChannel != null) {
|
||||
client.soundChannel.method3571();
|
||||
}
|
||||
@Pc(150) int local150 = Protocol.socket.read();
|
||||
if (client.musicChannel != null) {
|
||||
client.musicChannel.method3571();
|
||||
}
|
||||
if (client.soundChannel != null) {
|
||||
client.soundChannel.method3571();
|
||||
}
|
||||
if (local150 != 0) {
|
||||
reply = local150;
|
||||
step = 0;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
step = 3;
|
||||
}
|
||||
if (step == 3) {
|
||||
if (Protocol.socket.available() < 8) {
|
||||
return;
|
||||
}
|
||||
Protocol.socket.read(0, 8, Protocol.inboundBuffer.data);
|
||||
Protocol.inboundBuffer.offset = 0;
|
||||
serverKey = Protocol.inboundBuffer.g8();
|
||||
@Pc(210) int[] key = new int[4];
|
||||
Protocol.outboundBuffer.offset = 0;
|
||||
key[2] = (int) (serverKey >> 32);
|
||||
key[3] = (int) serverKey;
|
||||
key[1] = (int) (Math.random() * 9.9999999E7D);
|
||||
key[0] = (int) (Math.random() * 9.9999999E7D);
|
||||
Protocol.outboundBuffer.p1(10);
|
||||
Protocol.outboundBuffer.p4(key[0]);
|
||||
Protocol.outboundBuffer.p4(key[1]);
|
||||
Protocol.outboundBuffer.p4(key[2]);
|
||||
Protocol.outboundBuffer.p4(key[3]);
|
||||
Protocol.outboundBuffer.p8(Player.username.encode37());
|
||||
Protocol.outboundBuffer.pjstr(Player.password);
|
||||
if (GlobalConfig.LOGIN_EXTRA_INFO) {
|
||||
Protocol.outboundBuffer.pjstr(JagString.parse(""));
|
||||
Protocol.outboundBuffer.pjstr(JagString.parse(""));
|
||||
Protocol.outboundBuffer.pjstr(JagString.parse(""));
|
||||
}
|
||||
Protocol.outboundBuffer.encryptRsa(GlobalConfig.RSA_EXPONENT, GlobalConfig.RSA_MODULUS);
|
||||
buffer.offset = 0;
|
||||
if (client.gameState == 40) {
|
||||
buffer.p1(18);
|
||||
} else {
|
||||
buffer.p1(16);
|
||||
}
|
||||
int offset = 0;
|
||||
if (GlobalConfig.LOGIN_FAKE_IDX28) {
|
||||
// pretend that we're loading the archive so we don't throw the packet size off
|
||||
offset = 4;
|
||||
}
|
||||
buffer.p2(Protocol.outboundBuffer.offset + Buffer.getStringLength(client.settings) + (159 + offset));
|
||||
buffer.p4(530);
|
||||
buffer.p1(anInt39);
|
||||
buffer.p1(client.advertSuppressed ? 1 : 0);
|
||||
buffer.p1(1);
|
||||
buffer.p1(Static144.getWindowMode());
|
||||
buffer.p2(GameShell.canvasWidth);
|
||||
buffer.p2(GameShell.canvasHeight);
|
||||
buffer.p1(Preferences.antiAliasingMode);
|
||||
client.writeUid(buffer);
|
||||
buffer.pjstr(client.settings);
|
||||
buffer.p4(client.affiliate);
|
||||
buffer.p4(Preferences.toInt());
|
||||
Preferences.sentToServer = true;
|
||||
buffer.p2(Protocol.verifyId);
|
||||
buffer.p4(client.js5Archive0.getChecksum());
|
||||
buffer.p4(client.js5Archive1.getChecksum());
|
||||
buffer.p4(client.js5Archive2.getChecksum());
|
||||
buffer.p4(client.js5Archive3.getChecksum());
|
||||
buffer.p4(client.js5Archive4.getChecksum());
|
||||
buffer.p4(client.js5Archive5.getChecksum());
|
||||
buffer.p4(client.js5Archive6.getChecksum());
|
||||
buffer.p4(client.js5Archive7.getChecksum());
|
||||
buffer.p4(client.js5Archive8.getChecksum());
|
||||
buffer.p4(client.js5Archive9.getChecksum());
|
||||
buffer.p4(client.js5Archive10.getChecksum());
|
||||
buffer.p4(client.js5Archive11.getChecksum());
|
||||
buffer.p4(client.js5Archive12.getChecksum());
|
||||
buffer.p4(client.js5Archive13.getChecksum());
|
||||
buffer.p4(client.js5Archive14.getChecksum());
|
||||
buffer.p4(client.js5Archive15.getChecksum());
|
||||
buffer.p4(client.js5Archive16.getChecksum());
|
||||
buffer.p4(client.js5Archive17.getChecksum());
|
||||
buffer.p4(client.js5Archive18.getChecksum());
|
||||
buffer.p4(client.js5Archive19.getChecksum());
|
||||
buffer.p4(client.js5Archive20.getChecksum());
|
||||
buffer.p4(client.js5Archive21.getChecksum());
|
||||
buffer.p4(client.js5Archive22.getChecksum());
|
||||
buffer.p4(client.js5Archive23.getChecksum());
|
||||
buffer.p4(client.js5Archive24.getChecksum());
|
||||
buffer.p4(client.js5Archive25.getChecksum());
|
||||
buffer.p4(client.js5Archive26.getChecksum());
|
||||
buffer.p4(client.js5Archive27.getChecksum());
|
||||
if (GlobalConfig.LOGIN_FAKE_IDX28) {
|
||||
buffer.p4(0);
|
||||
}
|
||||
buffer.pBytes(Protocol.outboundBuffer.data, Protocol.outboundBuffer.offset);
|
||||
Protocol.socket.write(buffer.data, buffer.offset);
|
||||
Protocol.outboundBuffer.setKey(key);
|
||||
for (@Pc(583) int local583 = 0; local583 < 4; local583++) {
|
||||
key[local583] += 50;
|
||||
}
|
||||
Protocol.inboundBuffer.setKey(key);
|
||||
step = 4;
|
||||
}
|
||||
if (step == 4) {
|
||||
if (Protocol.socket.available() < 1) {
|
||||
return;
|
||||
}
|
||||
@Pc(623) int local623 = Protocol.socket.read();
|
||||
if (local623 == 21) {
|
||||
step = 7;
|
||||
} else if (local623 == 29) {
|
||||
step = 10;
|
||||
} else if (local623 == 1) {
|
||||
step = 5;
|
||||
reply = local623;
|
||||
return;
|
||||
} else if (local623 == 2) {
|
||||
step = 8;
|
||||
} else if (local623 == 15) {
|
||||
step = 0;
|
||||
reply = local623;
|
||||
return;
|
||||
} else if (local623 == 23 && errors < 1) {
|
||||
step = 1;
|
||||
errors++;
|
||||
loops = 0;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
} else {
|
||||
reply = local623;
|
||||
step = 0;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
}
|
||||
if (step == 6) {
|
||||
Protocol.outboundBuffer.offset = 0;
|
||||
Protocol.outboundBuffer.p1isaac(17);
|
||||
Protocol.socket.write(Protocol.outboundBuffer.data, Protocol.outboundBuffer.offset);
|
||||
step = 4;
|
||||
return;
|
||||
}
|
||||
if (step == 7) {
|
||||
if (Protocol.socket.available() >= 1) {
|
||||
hopTime = (Protocol.socket.read() + 3) * 60;
|
||||
step = 0;
|
||||
reply = 21;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (step == 10) {
|
||||
if (Protocol.socket.available() >= 1) {
|
||||
disallowResult = Protocol.socket.read();
|
||||
step = 0;
|
||||
reply = 29;
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
return;
|
||||
}
|
||||
return;
|
||||
}
|
||||
if (step == 8) {
|
||||
if (Protocol.socket.available() < 14) {
|
||||
return;
|
||||
}
|
||||
Protocol.socket.read(0, 14, Protocol.inboundBuffer.data);
|
||||
Protocol.inboundBuffer.offset = 0;
|
||||
staffModLevel = Protocol.inboundBuffer.g1();
|
||||
playerModLevel = Protocol.inboundBuffer.g1();
|
||||
playerUnderage = Protocol.inboundBuffer.g1() == 1;
|
||||
parentalChatConsent = Protocol.inboundBuffer.g1() == 1;
|
||||
parentalAdvertConsent = Protocol.inboundBuffer.g1() == 1;
|
||||
mapQuickChat = Protocol.inboundBuffer.g1() == 1;
|
||||
MouseRecorder.enabled = Protocol.inboundBuffer.g1() == 1;
|
||||
PlayerList.selfId = Protocol.inboundBuffer.g2();
|
||||
playerMember = Protocol.inboundBuffer.g1() == 1;
|
||||
mapMembers = Protocol.inboundBuffer.g1() == 1;
|
||||
LocTypeList.setAllowMembers(mapMembers);
|
||||
ObjTypeList.setAllowMembers(mapMembers);
|
||||
if (!client.advertSuppressed) {
|
||||
if (playerUnderage && !parentalAdvertConsent || playerMember) {
|
||||
try {
|
||||
ZAP.browserControlCall(GameShell.signLink.applet);
|
||||
} catch (@Pc(910) Throwable local910) {
|
||||
}
|
||||
} else {
|
||||
try {
|
||||
UNZAP.browserControlCall(GameShell.signLink.applet);
|
||||
} catch (@Pc(920) Throwable local920) {
|
||||
}
|
||||
}
|
||||
}
|
||||
Protocol.opcode = Protocol.inboundBuffer.g1isaac();
|
||||
Protocol.length = Protocol.inboundBuffer.g2();
|
||||
step = 9;
|
||||
}
|
||||
if (step == 9) {
|
||||
if (Protocol.socket.available() < Protocol.length) {
|
||||
return;
|
||||
}
|
||||
Protocol.inboundBuffer.offset = 0;
|
||||
Protocol.socket.read(0, Protocol.length, Protocol.inboundBuffer.data);
|
||||
reply = 2;
|
||||
step = 0;
|
||||
Static243.method4221();
|
||||
Static80.centralZoneX = -1;
|
||||
Protocol.readRebuildPacket(false);
|
||||
Protocol.opcode = -1;
|
||||
return;
|
||||
}
|
||||
} catch (@Pc(977) IOException ex) {
|
||||
if (Protocol.socket != null) {
|
||||
Protocol.socket.close();
|
||||
Protocol.socket = null;
|
||||
}
|
||||
if (errors >= 1) {
|
||||
step = 0;
|
||||
reply = -4;
|
||||
} else {
|
||||
step = 1;
|
||||
loops = 0;
|
||||
errors++;
|
||||
if (client.defaultPort == client.port) {
|
||||
client.port = client.alternatePort;
|
||||
} else {
|
||||
client.port = client.defaultPort;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -40,7 +40,7 @@ public final class Map extends SecondaryNode {
|
|||
public final int anInt769;
|
||||
|
||||
@OriginalMember(owner = "client!bn", name = "ab", descriptor = "Lclient!ih;")
|
||||
public final LinkedList aClass69_23;
|
||||
public final LinkedList chunks;
|
||||
|
||||
@OriginalMember(owner = "client!bn", name = "<init>", descriptor = "(Lclient!na;Lclient!na;IIIZI)V")
|
||||
public Map(@OriginalArg(0) JagString arg0, @OriginalArg(1) JagString arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) boolean arg5, @OriginalArg(6) int arg6) {
|
||||
|
|
@ -54,15 +54,26 @@ public final class Map extends SecondaryNode {
|
|||
if (this.defaultZoom == 255) {
|
||||
this.defaultZoom = 0;
|
||||
}
|
||||
this.aClass69_23 = new LinkedList();
|
||||
this.chunks = new LinkedList();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!bn", name = "a", descriptor = "(IBI)Z")
|
||||
@OriginalMember(owner = "client!rb", name = "a", descriptor = "(Lclient!wa;Z)Lclient!bn;")
|
||||
public static Map create(@OriginalArg(0) Buffer arg0) {
|
||||
@Pc(35) Map local35 = new Map(arg0.gjstr(), arg0.gjstr(), arg0.g2(), arg0.g2(), arg0.g4(), arg0.g1() == 1, arg0.g1());
|
||||
@Pc(39) int local39 = arg0.g1();
|
||||
for (@Pc(41) int local41 = 0; local41 < local39; local41++) {
|
||||
local35.chunks.addTail(new MapChunk(arg0.g2(), arg0.g2(), arg0.g2(), arg0.g2()));
|
||||
}
|
||||
local35.computeBounds();
|
||||
return local35;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!bn", name = "a", descriptor = "(IBI)Z")
|
||||
public final boolean method664(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1) {
|
||||
if (this.anInt763 > arg1 || arg1 > this.anInt770 || arg0 < this.anInt771 || arg0 > this.anInt758) {
|
||||
return false;
|
||||
}
|
||||
for (@Pc(33) Class3_Sub24 local33 = (Class3_Sub24) this.aClass69_23.method2289(); local33 != null; local33 = (Class3_Sub24) this.aClass69_23.method2288()) {
|
||||
for (@Pc(33) MapChunk local33 = (MapChunk) this.chunks.method2289(); local33 != null; local33 = (MapChunk) this.chunks.method2288()) {
|
||||
if (local33.method2760(arg0, arg1)) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -71,12 +82,12 @@ public final class Map extends SecondaryNode {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!bn", name = "f", descriptor = "(B)V")
|
||||
public final void method665() {
|
||||
public final void computeBounds() {
|
||||
this.anInt771 = 12800;
|
||||
this.anInt770 = 0;
|
||||
this.anInt758 = 0;
|
||||
this.anInt763 = 12800;
|
||||
for (@Pc(29) Class3_Sub24 local29 = (Class3_Sub24) this.aClass69_23.method2289(); local29 != null; local29 = (Class3_Sub24) this.aClass69_23.method2288()) {
|
||||
for (@Pc(29) MapChunk local29 = (MapChunk) this.chunks.method2289(); local29 != null; local29 = (MapChunk) this.chunks.method2288()) {
|
||||
if (local29.anInt3522 < this.anInt771) {
|
||||
this.anInt771 = local29.anInt3522;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,7 +3,7 @@ import org.openrs2.deob.annotation.OriginalClass;
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
|
||||
@OriginalClass("client!lh")
|
||||
public final class Class3_Sub24 extends Node {
|
||||
public final class MapChunk extends Node {
|
||||
|
||||
@OriginalMember(owner = "client!lh", name = "y", descriptor = "I")
|
||||
public final int anInt3524;
|
||||
|
|
@ -18,7 +18,7 @@ public final class Class3_Sub24 extends Node {
|
|||
public final int anInt3520;
|
||||
|
||||
@OriginalMember(owner = "client!lh", name = "<init>", descriptor = "(IIII)V")
|
||||
public Class3_Sub24(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) {
|
||||
public MapChunk(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3) {
|
||||
this.anInt3524 = arg3;
|
||||
this.anInt3522 = arg1;
|
||||
this.anInt3523 = arg2;
|
||||
|
|
@ -40,7 +40,7 @@ public final class MapElementList {
|
|||
if (local10 == -1) {
|
||||
return new MapElementList(0);
|
||||
}
|
||||
@Pc(29) int[] local29 = arg1.method4503(local10);
|
||||
@Pc(29) int[] local29 = arg1.getFileIds(local10);
|
||||
@Pc(35) MapElementList local35 = new MapElementList(local29.length);
|
||||
for (@Pc(37) int local37 = 0; local37 < local35.anInt5074; local37++) {
|
||||
@Pc(56) Buffer local56 = new Buffer(arg1.getFile(local10, local29[local37]));
|
||||
|
|
|
|||
|
|
@ -1,6 +1,27 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class MapList {
|
||||
@OriginalMember(owner = "client!sh", name = "a", descriptor = "Lclient!ih;")
|
||||
public static final LinkedList aClass69_120 = new LinkedList();
|
||||
@OriginalMember(owner = "client!je", name = "W", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
@OriginalMember(owner = "client!th", name = "p", descriptor = "[Lclient!mm;")
|
||||
public static SoftwareSprite[] sprites;
|
||||
@OriginalMember(owner = "client!va", name = "G", descriptor = "[Z")
|
||||
public static boolean[] aBooleanArray130;
|
||||
|
||||
@OriginalMember(owner = "client!ta", name = "a", descriptor = "([Lclient!mm;ILclient!ve;)V")
|
||||
public static void init(@OriginalArg(0) SoftwareSprite[] arg0, @OriginalArg(2) Js5 arg1) {
|
||||
archive = arg1;
|
||||
sprites = arg0;
|
||||
aBooleanArray130 = new boolean[sprites.length];
|
||||
aClass69_120.clear();
|
||||
@Pc(25) int local25 = archive.getGroupId(Static54.aClass100_374);
|
||||
@Pc(30) int[] local30 = archive.getFileIds(local25);
|
||||
for (@Pc(32) int local32 = 0; local32 < local30.length; local32++) {
|
||||
aClass69_120.addTail(Map.create(new Buffer(archive.getFile(local25, local30[local32]))));
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -1,3 +1,4 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
|
|
@ -39,4 +40,68 @@ public class MidiPlayer {
|
|||
}
|
||||
return false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ce", name = "a", descriptor = "(II)V")
|
||||
public static void method801() {
|
||||
Static253.anInt5527 = 0;
|
||||
Static226.anInt5085 = -1;
|
||||
Static14.anInt441 = 1;
|
||||
Static57.anInt1757 = 2;
|
||||
Static72.aBoolean116 = false;
|
||||
Static172.aClass153_70 = null;
|
||||
Static277.anInt5853 = -1;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!v", name = "a", descriptor = "(ZIILclient!ve;ZII)V")
|
||||
public static void playFadeOut(@OriginalArg(1) int arg0, @OriginalArg(3) Js5 arg1, @OriginalArg(5) int arg2) {
|
||||
Static172.aClass153_70 = arg1;
|
||||
Static226.anInt5085 = 0;
|
||||
Static277.anInt5853 = arg0;
|
||||
Static72.aBoolean116 = false;
|
||||
Static14.anInt441 = 1;
|
||||
Static57.anInt1757 = 2;
|
||||
Static253.anInt5527 = arg2;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ck", name = "a", descriptor = "(ILclient!va;Lclient!ve;Lclient!ve;Lclient!ve;)Z")
|
||||
public static boolean init(@OriginalArg(1) MidiPcmStream arg0, @OriginalArg(2) Js5 arg1, @OriginalArg(3) Js5 arg2, @OriginalArg(4) Js5 arg3) {
|
||||
Static210.aClass153_87 = arg1;
|
||||
Static78.aClass153_32 = arg3;
|
||||
Static252.aClass153_103 = arg2;
|
||||
Static172.aClass3_Sub3_Sub4_2 = arg0;
|
||||
return true;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!sj", name = "a", descriptor = "(Z)V")
|
||||
public static void loop() {
|
||||
try {
|
||||
if (Static14.anInt441 == 1) {
|
||||
@Pc(16) int local16 = Static172.aClass3_Sub3_Sub4_2.method4440();
|
||||
if (local16 > 0 && Static172.aClass3_Sub3_Sub4_2.method4414()) {
|
||||
local16 -= Static57.anInt1757;
|
||||
if (local16 < 0) {
|
||||
local16 = 0;
|
||||
}
|
||||
Static172.aClass3_Sub3_Sub4_2.method4447(local16);
|
||||
return;
|
||||
}
|
||||
Static172.aClass3_Sub3_Sub4_2.method4446();
|
||||
Static172.aClass3_Sub3_Sub4_2.method4426();
|
||||
Static144.aClass3_Sub29_1 = null;
|
||||
Static27.aClass89_1 = null;
|
||||
if (Static172.aClass153_70 == null) {
|
||||
Static14.anInt441 = 0;
|
||||
} else {
|
||||
Static14.anInt441 = 2;
|
||||
}
|
||||
}
|
||||
} catch (@Pc(62) Exception local62) {
|
||||
local62.printStackTrace();
|
||||
Static172.aClass3_Sub3_Sub4_2.method4446();
|
||||
Static172.aClass153_70 = null;
|
||||
Static144.aClass3_Sub29_1 = null;
|
||||
Static14.anInt441 = 0;
|
||||
Static27.aClass89_1 = null;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -2,5 +2,5 @@ import org.openrs2.deob.annotation.OriginalMember;
|
|||
|
||||
public class MiniMenu {
|
||||
@OriginalMember(owner = "client!df", name = "l", descriptor = "Lclient!na;")
|
||||
public static final JagString COLOR_GREEN = Static28.parse("<col=00ff00>");
|
||||
public static final JagString COLOR_GREEN = JagString.parse("<col=00ff00>");
|
||||
}
|
||||
|
|
|
|||
|
|
@ -9,7 +9,21 @@ public abstract class Model extends Entity {
|
|||
@OriginalMember(owner = "client!ak", name = "s", descriptor = "Z")
|
||||
public boolean aBoolean303 = false;
|
||||
|
||||
@OriginalMember(owner = "client!ak", name = "c", descriptor = "()I")
|
||||
@OriginalMember(owner = "client!ak", name = "a", descriptor = "([[III)I")
|
||||
public static int method4556(@OriginalArg(0) int[][] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) {
|
||||
@Pc(3) int local3 = arg1 >> 7;
|
||||
@Pc(7) int local7 = arg2 >> 7;
|
||||
if (local3 < 0 || local7 < 0 || local3 >= arg0.length || local7 >= arg0[0].length) {
|
||||
return 0;
|
||||
}
|
||||
@Pc(27) int local27 = arg1 & 0x7F;
|
||||
@Pc(31) int local31 = arg2 & 0x7F;
|
||||
@Pc(53) int local53 = arg0[local3][local7] * (128 - local27) + arg0[local3 + 1][local7] * local27 >> 7;
|
||||
@Pc(79) int local79 = arg0[local3][local7 + 1] * (128 - local27) + arg0[local3 + 1][local7 + 1] * local27 >> 7;
|
||||
return local53 * (128 - local31) + local79 * local31 >> 7;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ak", name = "c", descriptor = "()I")
|
||||
public abstract int method4550();
|
||||
|
||||
@OriginalMember(owner = "client!ak", name = "b", descriptor = "()I")
|
||||
|
|
@ -307,16 +321,16 @@ public abstract class Model extends Entity {
|
|||
protected final void method4573(@OriginalArg(0) int[][] arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
|
||||
@Pc(10) int local10 = -arg4 / 2;
|
||||
@Pc(15) int local15 = -arg5 / 2;
|
||||
@Pc(24) int local24 = Static282.method4556(arg0, arg1 + local10, arg3 + local15);
|
||||
@Pc(24) int local24 = method4556(arg0, arg1 + local10, arg3 + local15);
|
||||
@Pc(28) int local28 = arg4 / 2;
|
||||
@Pc(33) int local33 = -arg5 / 2;
|
||||
@Pc(42) int local42 = Static282.method4556(arg0, arg1 + local28, arg3 + local33);
|
||||
@Pc(42) int local42 = method4556(arg0, arg1 + local28, arg3 + local33);
|
||||
@Pc(47) int local47 = -arg4 / 2;
|
||||
@Pc(51) int local51 = arg5 / 2;
|
||||
@Pc(60) int local60 = Static282.method4556(arg0, arg1 + local47, arg3 + local51);
|
||||
@Pc(60) int local60 = method4556(arg0, arg1 + local47, arg3 + local51);
|
||||
@Pc(64) int local64 = arg4 / 2;
|
||||
@Pc(68) int local68 = arg5 / 2;
|
||||
@Pc(77) int local77 = Static282.method4556(arg0, arg1 + local64, arg3 + local68);
|
||||
@Pc(77) int local77 = method4556(arg0, arg1 + local64, arg3 + local68);
|
||||
@Pc(84) int local84 = local24 < local42 ? local24 : local42;
|
||||
@Pc(91) int local91 = local60 < local77 ? local60 : local77;
|
||||
@Pc(98) int local98 = local42 < local77 ? local42 : local77;
|
||||
|
|
|
|||
|
|
@ -35,7 +35,30 @@ public final class Mouse implements MouseListener, MouseMotionListener, FocusLis
|
|||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ug", name = "mouseMoved", descriptor = "(Ljava/awt/event/MouseEvent;)V")
|
||||
@OriginalMember(owner = "client!ii", name = "b", descriptor = "(I)V")
|
||||
public static void loop() {
|
||||
@Pc(2) Mouse local2 = Static93.instance;
|
||||
synchronized (Static93.instance) {
|
||||
Static22.anInt723 = Static57.anInt1759;
|
||||
Static215.anInt4873 = Static147.anInt3521;
|
||||
Static223.anInt5032 = Static165.anInt4039;
|
||||
Static150.clickButton = Static41.anInt1313;
|
||||
Static7.clickX = Static34.anInt1034;
|
||||
Static93.anInt2467++;
|
||||
Static60.clickY = Static222.anInt4973;
|
||||
Static133.clickTime = Static209.aLong161;
|
||||
Static41.anInt1313 = 0;
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!h", name = "a", descriptor = "(Ljava/awt/Component;Z)V")
|
||||
public static void start(@OriginalArg(0) Component arg0) {
|
||||
arg0.addMouseListener(Static93.instance);
|
||||
arg0.addMouseMotionListener(Static93.instance);
|
||||
arg0.addFocusListener(Static93.instance);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ug", name = "mouseMoved", descriptor = "(Ljava/awt/event/MouseEvent;)V")
|
||||
@Override
|
||||
public final synchronized void mouseMoved(@OriginalArg(0) MouseEvent arg0) {
|
||||
if (Static93.instance != null) {
|
||||
|
|
|
|||
|
|
@ -7,6 +7,8 @@ public final class MouseRecorder implements Runnable {
|
|||
|
||||
@OriginalMember(owner = "client!od", name = "f", descriptor = "Lclient!jd;")
|
||||
public static MouseRecorder instance;
|
||||
@OriginalMember(owner = "client!tm", name = "e", descriptor = "Z")
|
||||
public static boolean enabled = false;
|
||||
@OriginalMember(owner = "client!jd", name = "e", descriptor = "Z")
|
||||
public boolean running = true;
|
||||
|
||||
|
|
|
|||
|
|
@ -2,11 +2,21 @@ import java.awt.Component;
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalClass;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
@OriginalClass("client!uc")
|
||||
public abstract class MouseWheel {
|
||||
|
||||
@OriginalMember(owner = "client!uc", name = "a", descriptor = "(I)I")
|
||||
@OriginalMember(owner = "client!dh", name = "a", descriptor = "(B)Lclient!uc;")
|
||||
public static MouseWheel create() {
|
||||
try {
|
||||
return (MouseWheel) Class.forName("JavaMouseWheel").getDeclaredConstructor().newInstance();
|
||||
} catch (@Pc(15) Throwable local15) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!uc", name = "a", descriptor = "(I)I")
|
||||
public abstract int getRotation();
|
||||
|
||||
@OriginalMember(owner = "client!uc", name = "a", descriptor = "(ZLjava/awt/Component;)V")
|
||||
|
|
|
|||
|
|
@ -28,20 +28,20 @@ public final class MsiType {
|
|||
|
||||
@OriginalMember(owner = "client!aa", name = "a", descriptor = "(IB)Lclient!ek;")
|
||||
public final SoftwareIndexedSprite getSprite(@OriginalArg(0) int arg0) {
|
||||
@Pc(17) SoftwareIndexedSprite local17 = (SoftwareIndexedSprite) Static219.sprites.get((long) (arg0 << 16 | this.spriteId));
|
||||
@Pc(17) SoftwareIndexedSprite local17 = (SoftwareIndexedSprite) MsiTypeList.sprites.get((long) (arg0 << 16 | this.spriteId));
|
||||
if (local17 != null) {
|
||||
return local17;
|
||||
}
|
||||
Static250.spritesArchive.isFileReady(this.spriteId);
|
||||
local17 = Static164.loadSoftwareIndexedSprite(this.spriteId, Static250.spritesArchive);
|
||||
MsiTypeList.spritesArchive.isFileReady(this.spriteId);
|
||||
local17 = Static164.loadSoftwareIndexedSprite(this.spriteId, MsiTypeList.spritesArchive);
|
||||
if (local17 != null) {
|
||||
local17.adjustPalette(Static173.redDelta, Static85.greenDelta, Static266.blueDelta);
|
||||
local17.adjustPalette(MsiTypeList.redDelta, MsiTypeList.greenDelta, MsiTypeList.blueDelta);
|
||||
local17.innerWidth = local17.width;
|
||||
local17.innerHeight = local17.height;
|
||||
for (@Pc(59) int local59 = 0; local59 < arg0; local59++) {
|
||||
local17.flipVertical();
|
||||
}
|
||||
Static219.sprites.put(local17, (long) (arg0 << 16 | this.spriteId));
|
||||
MsiTypeList.sprites.put(local17, (long) (arg0 << 16 | this.spriteId));
|
||||
}
|
||||
return local17;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -3,18 +3,65 @@ import org.openrs2.deob.annotation.OriginalMember;
|
|||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class MsiTypeList {
|
||||
@OriginalMember(owner = "client!sk", name = "hb", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!rl", name = "P", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable sprites = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!hj", name = "m", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
@OriginalMember(owner = "client!uf", name = "r", descriptor = "Lclient!ve;")
|
||||
public static Js5 spritesArchive;
|
||||
@OriginalMember(owner = "client!vk", name = "o", descriptor = "I")
|
||||
public static int blueDelta;
|
||||
@OriginalMember(owner = "client!gl", name = "e", descriptor = "I")
|
||||
public static int greenDelta;
|
||||
@OriginalMember(owner = "client!nk", name = "E", descriptor = "I")
|
||||
public static int redDelta;
|
||||
|
||||
@OriginalMember(owner = "client!da", name = "c", descriptor = "(II)Lclient!aa;")
|
||||
public static MsiType get(@OriginalArg(0) int arg0) {
|
||||
@Pc(10) MsiType local10 = (MsiType) Static231.aClass99_29.get((long) arg0);
|
||||
@Pc(10) MsiType local10 = (MsiType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(20) byte[] local20 = Static98.aClass153_42.getFile(34, arg0);
|
||||
@Pc(20) byte[] local20 = archive.getFile(34, arg0);
|
||||
local10 = new MsiType();
|
||||
if (local20 != null) {
|
||||
local10.decode(new Buffer(local20), arg0);
|
||||
}
|
||||
Static231.aClass99_29.put(local10, (long) arg0);
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!og", name = "a", descriptor = "(Lclient!ve;Lclient!ve;B)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0, @OriginalArg(1) Js5 arg1) {
|
||||
spritesArchive = arg1;
|
||||
@Pc(12) int local12 = (int) (Math.random() * 21.0D) - 10;
|
||||
archive = arg0;
|
||||
@Pc(21) int local21 = (int) (Math.random() * 21.0D) - 10;
|
||||
archive.getGroupCapacity(34);
|
||||
@Pc(33) int local33 = (int) (Math.random() * 21.0D) - 10;
|
||||
@Pc(40) int local40 = (int) (Math.random() * 41.0D) - 20;
|
||||
blueDelta = local40 + local21;
|
||||
greenDelta = local12 + local40;
|
||||
redDelta = local40 + local33;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!qg", name = "h", descriptor = "(I)V")
|
||||
public static void method3653() {
|
||||
types.clear();
|
||||
sprites.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!vl", name = "b", descriptor = "(I)V")
|
||||
public static void method4529() {
|
||||
types.method3103();
|
||||
sprites.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!wh", name = "a", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
sprites.clean(5);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
8
client/src/main/java/MusicPlayer.java
Normal file
8
client/src/main/java/MusicPlayer.java
Normal file
|
|
@ -0,0 +1,8 @@
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
|
||||
public class MusicPlayer {
|
||||
@OriginalMember(owner = "client!s", name = "c", descriptor = "I")
|
||||
public static int groupId = -1;
|
||||
@OriginalMember(owner = "client!uf", name = "m", descriptor = "I")
|
||||
public static int titleSong;
|
||||
}
|
||||
|
|
@ -26,8 +26,8 @@ public final class Npc extends PathingEntity {
|
|||
if (this.type == null) {
|
||||
return;
|
||||
}
|
||||
@Pc(29) SeqType local29 = this.seqId != -1 && this.anInt3420 == 0 ? Static36.get(this.seqId) : null;
|
||||
@Pc(53) SeqType local53 = this.anInt3366 == -1 || this.anInt3366 == this.method2681().idleAnimationId && local29 != null ? null : Static36.get(this.anInt3366);
|
||||
@Pc(29) SeqType local29 = this.seqId != -1 && this.anInt3420 == 0 ? SeqTypeList.get(this.seqId) : null;
|
||||
@Pc(53) SeqType local53 = this.anInt3366 == -1 || this.anInt3366 == this.method2681().idleAnimationId && local29 != null ? null : SeqTypeList.get(this.anInt3366);
|
||||
@Pc(74) Model local74 = this.type.getBodyModel(this.aClass147Array3, this.anInt3388, this.anInt3407, this.anInt3373, this.anInt3360, this.anInt3425, local53, this.anInt3396, local29);
|
||||
if (local74 == null) {
|
||||
return;
|
||||
|
|
@ -39,7 +39,7 @@ public final class Npc extends PathingEntity {
|
|||
}
|
||||
@Pc(140) Model local140;
|
||||
if (Preferences.characterShadowsOn && local84.shadow) {
|
||||
local140 = Static41.method1043(this.type.aByte13, this.aBoolean171, local53 == null ? local29 : local53, this.xFine, this.type.aShort23, this.zFine, this.type.aShort24, this.type.soze, local74, arg0, local53 == null ? this.anInt3425 : this.anInt3407, this.anInt3424, this.type.aByte12);
|
||||
local140 = ShadowModelList.method1043(this.type.aByte13, this.aBoolean171, local53 == null ? local29 : local53, this.xFine, this.type.aShort23, this.zFine, this.type.aShort24, this.type.soze, local74, arg0, local53 == null ? this.anInt3425 : this.anInt3407, this.anInt3424, this.type.aByte12);
|
||||
if (GlRenderer.enabled) {
|
||||
@Pc(144) float local144 = GlRenderer.method4179();
|
||||
@Pc(146) float local146 = GlRenderer.method4166();
|
||||
|
|
@ -56,7 +56,7 @@ public final class Npc extends PathingEntity {
|
|||
this.method2685(local74, arg0);
|
||||
local140 = null;
|
||||
if (this.anInt3432 != -1 && this.anInt3399 != -1) {
|
||||
@Pc(211) SpotAnimType local211 = Static34.method877(this.anInt3432);
|
||||
@Pc(211) SpotAnimType local211 = SpotAnimTypeList.get(this.anInt3432);
|
||||
local140 = local211.method1319(this.anInt3418, this.anInt3399, this.anInt3361);
|
||||
if (local140 != null) {
|
||||
local140.method4575(0, -this.anInt3394, 0);
|
||||
|
|
|
|||
|
|
@ -163,9 +163,9 @@ public final class NpcType {
|
|||
}
|
||||
if (local5 < 0 || local5 >= this.multiNpcs.length - 1 || this.multiNpcs[local5] == -1) {
|
||||
@Pc(55) int local55 = this.multiNpcs[this.multiNpcs.length - 1];
|
||||
return local55 == -1 ? null : Static214.get(local55);
|
||||
return local55 == -1 ? null : NpcTypeList.get(local55);
|
||||
} else {
|
||||
return Static214.get(this.multiNpcs[local5]);
|
||||
return NpcTypeList.get(this.multiNpcs[local5]);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -195,7 +195,7 @@ public final class NpcType {
|
|||
}
|
||||
for (@Pc(35) int local35 = 0; local35 < this.multiNpcs.length; local35++) {
|
||||
if (this.multiNpcs[local35] != -1) {
|
||||
@Pc(60) NpcType local60 = Static214.get(this.multiNpcs[local35]);
|
||||
@Pc(60) NpcType local60 = NpcTypeList.get(this.multiNpcs[local35]);
|
||||
if (local60.idleSound != -1 || local60.walkSound != -1 || local60.runSound != -1) {
|
||||
return true;
|
||||
}
|
||||
|
|
@ -220,7 +220,7 @@ public final class NpcType {
|
|||
@Pc(13) NpcType local13 = this.getMultiNpc();
|
||||
return local13 == null ? null : local13.getBodyModel(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8);
|
||||
}
|
||||
@Pc(40) Model local40 = (Model) Static125.aClass99_18.get((long) this.id);
|
||||
@Pc(40) Model local40 = (Model) NpcTypeList.aClass99_18.get((long) this.id);
|
||||
@Pc(46) boolean local46;
|
||||
@Pc(173) int local173;
|
||||
@Pc(235) int local235;
|
||||
|
|
@ -236,7 +236,7 @@ public final class NpcType {
|
|||
if (local40 == null) {
|
||||
local46 = false;
|
||||
for (@Pc(48) int local48 = 0; local48 < this.anIntArray356.length; local48++) {
|
||||
if (this.anIntArray356[local48] != -1 && !Static86.modelsArchive.isFileReady(0, this.anIntArray356[local48])) {
|
||||
if (this.anIntArray356[local48] != -1 && !NpcTypeList.modelsArchive.isFileReady(0, this.anIntArray356[local48])) {
|
||||
local46 = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -246,7 +246,7 @@ public final class NpcType {
|
|||
@Pc(84) RawModel[] local84 = new RawModel[this.anIntArray356.length];
|
||||
for (@Pc(86) int local86 = 0; local86 < this.anIntArray356.length; local86++) {
|
||||
if (this.anIntArray356[local86] != -1) {
|
||||
local84[local86] = Static77.create(Static86.modelsArchive, this.anIntArray356[local86]);
|
||||
local84[local86] = Static77.create(NpcTypeList.modelsArchive, this.anIntArray356[local86]);
|
||||
if (this.anIntArrayArray29 != null && this.anIntArrayArray29[local86] != null && local84[local86] != null) {
|
||||
local84[local86].translate(this.anIntArrayArray29[local86][0], this.anIntArrayArray29[local86][1], this.anIntArrayArray29[local86][2]);
|
||||
}
|
||||
|
|
@ -254,7 +254,7 @@ public final class NpcType {
|
|||
}
|
||||
@Pc(156) BasType local156 = null;
|
||||
if (this.basId != -1) {
|
||||
local156 = Static90.method1856(this.basId);
|
||||
local156 = BasTypeList.get(this.basId);
|
||||
}
|
||||
if (local156 != null && local156.modelRotateTranslate != null) {
|
||||
for (local173 = 0; local173 < local156.modelRotateTranslate.length; local173++) {
|
||||
|
|
@ -321,7 +321,7 @@ public final class NpcType {
|
|||
if (this.aByteArray51 == null || this.aByteArray51.length <= local173) {
|
||||
local593.recolor(this.recolorDestination[local173], this.recolorSource[local173]);
|
||||
} else {
|
||||
local593.recolor(this.recolorDestination[local173], Static232.aShortArray74[this.aByteArray51[local173] & 0xFF]);
|
||||
local593.recolor(this.recolorDestination[local173], client.aShortArray74[this.aByteArray51[local173] & 0xFF]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -334,7 +334,7 @@ public final class NpcType {
|
|||
if (GlRenderer.enabled) {
|
||||
((GlModel) local40).method4111(false, false, false, false, false, true);
|
||||
}
|
||||
Static125.aClass99_18.put(local40, (long) this.id);
|
||||
NpcTypeList.aClass99_18.put(local40, (long) this.id);
|
||||
}
|
||||
local46 = false;
|
||||
@Pc(721) boolean local721 = false;
|
||||
|
|
@ -343,7 +343,7 @@ public final class NpcType {
|
|||
local173 = arg0 == null ? 0 : arg0.length;
|
||||
for (local235 = 0; local235 < local173; local235++) {
|
||||
if (arg0[local235] != null) {
|
||||
@Pc(753) SeqType local753 = Static36.get(arg0[local235].anInt5396);
|
||||
@Pc(753) SeqType local753 = SeqTypeList.get(arg0[local235].anInt5396);
|
||||
if (local753.frames != null) {
|
||||
Static146.aClass144Array1[local235] = local753;
|
||||
local207 = arg0[local235].anInt5398;
|
||||
|
|
@ -507,11 +507,11 @@ public final class NpcType {
|
|||
} else if (this.anIntArray354 == null) {
|
||||
return null;
|
||||
} else {
|
||||
@Pc(41) Model local41 = (Model) Static262.headModels.get((long) this.id);
|
||||
@Pc(41) Model local41 = (Model) NpcTypeList.headModels.get((long) this.id);
|
||||
if (local41 == null) {
|
||||
@Pc(46) boolean local46 = false;
|
||||
for (@Pc(48) int local48 = 0; local48 < this.anIntArray354.length; local48++) {
|
||||
if (!Static86.modelsArchive.isFileReady(0, this.anIntArray354[local48])) {
|
||||
if (!NpcTypeList.modelsArchive.isFileReady(0, this.anIntArray354[local48])) {
|
||||
local46 = true;
|
||||
}
|
||||
}
|
||||
|
|
@ -520,7 +520,7 @@ public final class NpcType {
|
|||
}
|
||||
@Pc(82) RawModel[] local82 = new RawModel[this.anIntArray354.length];
|
||||
for (@Pc(84) int local84 = 0; local84 < this.anIntArray354.length; local84++) {
|
||||
local82[local84] = Static77.create(Static86.modelsArchive, this.anIntArray354[local84]);
|
||||
local82[local84] = Static77.create(NpcTypeList.modelsArchive, this.anIntArray354[local84]);
|
||||
}
|
||||
@Pc(119) RawModel local119;
|
||||
if (local82.length == 1) {
|
||||
|
|
@ -534,7 +534,7 @@ public final class NpcType {
|
|||
if (this.aByteArray51 == null || local130 >= this.aByteArray51.length) {
|
||||
local119.recolor(this.recolorDestination[local130], this.recolorSource[local130]);
|
||||
} else {
|
||||
local119.recolor(this.recolorDestination[local130], Static232.aShortArray74[this.aByteArray51[local130] & 0xFF]);
|
||||
local119.recolor(this.recolorDestination[local130], client.aShortArray74[this.aByteArray51[local130] & 0xFF]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -544,7 +544,7 @@ public final class NpcType {
|
|||
}
|
||||
}
|
||||
local41 = local119.createModel(64, 768, -50, -10, -50);
|
||||
Static262.headModels.put(local41, (long) this.id);
|
||||
NpcTypeList.headModels.put(local41, (long) this.id);
|
||||
}
|
||||
if (arg0 != null) {
|
||||
local41 = arg0.method4215(local41, arg2, arg1, arg3);
|
||||
|
|
|
|||
60
client/src/main/java/NpcTypeList.java
Normal file
60
client/src/main/java/NpcTypeList.java
Normal file
|
|
@ -0,0 +1,60 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class NpcTypeList {
|
||||
@OriginalMember(owner = "client!he", name = "V", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!jl", name = "x", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable aClass99_18 = new SoftLruHashTable(50);
|
||||
@OriginalMember(owner = "client!vf", name = "k", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable headModels = new SoftLruHashTable(5);
|
||||
@OriginalMember(owner = "client!gm", name = "ib", descriptor = "Lclient!ve;")
|
||||
public static Js5 modelsArchive;
|
||||
@OriginalMember(owner = "client!eh", name = "f", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!h", name = "a", descriptor = "(Lclient!ve;Lclient!ve;Z)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0, @OriginalArg(1) Js5 arg1) {
|
||||
modelsArchive = arg0;
|
||||
archive = arg1;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!rg", name = "b", descriptor = "(II)Lclient!me;")
|
||||
public static NpcType get(@OriginalArg(0) int arg0) {
|
||||
@Pc(10) NpcType local10 = (NpcType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(26) byte[] local26 = archive.getFile(Static60.method1447(arg0), Static179.method3322(arg0));
|
||||
local10 = new NpcType();
|
||||
local10.id = arg0;
|
||||
if (local26 != null) {
|
||||
local10.decode(new Buffer(local26));
|
||||
}
|
||||
local10.method2942();
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!t", name = "b", descriptor = "(B)V")
|
||||
public static void method4001() {
|
||||
types.method3103();
|
||||
aClass99_18.method3103();
|
||||
headModels.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!qi", name = "e", descriptor = "(B)V")
|
||||
public static void method3673() {
|
||||
types.clear();
|
||||
aClass99_18.clear();
|
||||
headModels.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ra", name = "c", descriptor = "(BI)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
aClass99_18.clean(5);
|
||||
headModels.clean(5);
|
||||
}
|
||||
}
|
||||
|
|
@ -23,7 +23,7 @@ public final class ObjStack extends Entity {
|
|||
@OriginalMember(owner = "client!uj", name = "a", descriptor = "(IIIIIIIIJILclient!ga;)V")
|
||||
@Override
|
||||
public final void method4546(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) long arg8, @OriginalArg(9) int arg9, @OriginalArg(10) ParticleSystem arg10) {
|
||||
@Pc(16) Model local16 = Static71.get(this.anInt5555).getModel(-1, 0, null, this.anInt5550, 0);
|
||||
@Pc(16) Model local16 = ObjTypeList.get(this.anInt5555).getModel(-1, 0, null, this.anInt5550, 0);
|
||||
if (local16 != null) {
|
||||
local16.method4546(arg0, arg1, arg2, arg3, arg4, arg5, arg6, arg7, arg8, arg9, arg10);
|
||||
this.anInt5553 = local16.method4549();
|
||||
|
|
|
|||
|
|
@ -193,10 +193,10 @@ public final class ObjType {
|
|||
return true;
|
||||
}
|
||||
@Pc(33) boolean local33 = true;
|
||||
if (!Static230.modelsArchive.isFileReady(0, local6)) {
|
||||
if (!ObjTypeList.modelsArchive.isFileReady(0, local6)) {
|
||||
local33 = false;
|
||||
}
|
||||
if (local9 != -1 && !Static230.modelsArchive.isFileReady(0, local9)) {
|
||||
if (local9 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, local9)) {
|
||||
local33 = false;
|
||||
}
|
||||
return local33;
|
||||
|
|
@ -222,7 +222,7 @@ public final class ObjType {
|
|||
}
|
||||
}
|
||||
if (local23 != -1) {
|
||||
return Static71.get(local23);
|
||||
return ObjTypeList.get(local23);
|
||||
}
|
||||
}
|
||||
return this;
|
||||
|
|
@ -242,13 +242,13 @@ public final class ObjType {
|
|||
return true;
|
||||
}
|
||||
@Pc(41) boolean local41 = true;
|
||||
if (!Static230.modelsArchive.isFileReady(0, local9)) {
|
||||
if (!ObjTypeList.modelsArchive.isFileReady(0, local9)) {
|
||||
local41 = false;
|
||||
}
|
||||
if (local6 != -1 && !Static230.modelsArchive.isFileReady(0, local6)) {
|
||||
if (local6 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, local6)) {
|
||||
local41 = false;
|
||||
}
|
||||
if (local20 != -1 && !Static230.modelsArchive.isFileReady(0, local20)) {
|
||||
if (local20 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, local20)) {
|
||||
local41 = false;
|
||||
}
|
||||
return local41;
|
||||
|
|
@ -309,12 +309,12 @@ public final class ObjType {
|
|||
}
|
||||
}
|
||||
if (local22 != -1) {
|
||||
return Static71.get(local22).getModel(arg0, arg1, arg2, 1, arg4);
|
||||
return ObjTypeList.get(local22).getModel(arg0, arg1, arg2, 1, arg4);
|
||||
}
|
||||
}
|
||||
@Pc(76) Model local76 = (Model) Static244.models.get((long) this.anInt2354);
|
||||
@Pc(76) Model local76 = (Model) ObjTypeList.models.get((long) this.anInt2354);
|
||||
if (local76 == null) {
|
||||
@Pc(85) RawModel local85 = Static77.create(Static230.modelsArchive, this.model);
|
||||
@Pc(85) RawModel local85 = Static77.create(ObjTypeList.modelsArchive, this.model);
|
||||
if (local85 == null) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -324,7 +324,7 @@ public final class ObjType {
|
|||
if (this.recolorDestinationPalette == null || local97 >= this.recolorDestinationPalette.length) {
|
||||
local85.recolor(this.recolorDestination[local97], this.recolorSource[local97]);
|
||||
} else {
|
||||
local85.recolor(this.recolorDestination[local97], Static259.aShortArray87[this.recolorDestinationPalette[local97] & 0xFF]);
|
||||
local85.recolor(this.recolorDestination[local97], client.aShortArray87[this.recolorDestinationPalette[local97] & 0xFF]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -341,7 +341,7 @@ public final class ObjType {
|
|||
if (GlRenderer.enabled) {
|
||||
((GlModel) local76).method4111(false, false, false, false, false, true);
|
||||
}
|
||||
Static244.models.put(local76, (long) this.anInt2354);
|
||||
ObjTypeList.models.put(local76, (long) this.anInt2354);
|
||||
}
|
||||
if (arg2 != null) {
|
||||
local76 = arg2.method4215(local76, arg0, arg1, arg4);
|
||||
|
|
@ -539,9 +539,9 @@ public final class ObjType {
|
|||
if (local17 == -1) {
|
||||
return null;
|
||||
}
|
||||
@Pc(36) RawModel local36 = Static77.create(Static230.modelsArchive, local17);
|
||||
@Pc(36) RawModel local36 = Static77.create(ObjTypeList.modelsArchive, local17);
|
||||
if (local4 != -1) {
|
||||
@Pc(44) RawModel local44 = Static77.create(Static230.modelsArchive, local4);
|
||||
@Pc(44) RawModel local44 = Static77.create(ObjTypeList.modelsArchive, local4);
|
||||
@Pc(55) RawModel[] local55 = new RawModel[] { local36, local44 };
|
||||
local36 = new RawModel(local55, 2);
|
||||
}
|
||||
|
|
@ -572,14 +572,14 @@ public final class ObjType {
|
|||
if (local4 == -1) {
|
||||
return null;
|
||||
}
|
||||
@Pc(43) RawModel local43 = Static77.create(Static230.modelsArchive, local4);
|
||||
@Pc(43) RawModel local43 = Static77.create(ObjTypeList.modelsArchive, local4);
|
||||
if (local18 != -1) {
|
||||
@Pc(54) RawModel local54 = Static77.create(Static230.modelsArchive, local18);
|
||||
@Pc(54) RawModel local54 = Static77.create(ObjTypeList.modelsArchive, local18);
|
||||
if (local21 == -1) {
|
||||
@Pc(68) RawModel[] local68 = new RawModel[] { local43, local54 };
|
||||
local43 = new RawModel(local68, 2);
|
||||
} else {
|
||||
@Pc(81) RawModel local81 = Static77.create(Static230.modelsArchive, local21);
|
||||
@Pc(81) RawModel local81 = Static77.create(ObjTypeList.modelsArchive, local21);
|
||||
@Pc(96) RawModel[] local96 = new RawModel[] { local43, local54, local81 };
|
||||
local43 = new RawModel(local96, 3);
|
||||
}
|
||||
|
|
@ -626,7 +626,7 @@ public final class ObjType {
|
|||
|
||||
@OriginalMember(owner = "client!h", name = "d", descriptor = "(I)Lclient!w;")
|
||||
public final SoftwareModel getInvModel() {
|
||||
@Pc(11) RawModel local11 = Static77.create(Static230.modelsArchive, this.model);
|
||||
@Pc(11) RawModel local11 = Static77.create(ObjTypeList.modelsArchive, this.model);
|
||||
if (local11 == null) {
|
||||
return null;
|
||||
}
|
||||
|
|
@ -636,7 +636,7 @@ public final class ObjType {
|
|||
if (this.recolorDestinationPalette == null || local21 >= this.recolorDestinationPalette.length) {
|
||||
local11.recolor(this.recolorDestination[local21], this.recolorSource[local21]);
|
||||
} else {
|
||||
local11.recolor(this.recolorDestination[local21], Static259.aShortArray87[this.recolorDestinationPalette[local21] & 0xFF]);
|
||||
local11.recolor(this.recolorDestination[local21], client.aShortArray87[this.recolorDestinationPalette[local21] & 0xFF]);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
97
client/src/main/java/ObjTypeList.java
Normal file
97
client/src/main/java/ObjTypeList.java
Normal file
|
|
@ -0,0 +1,97 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class ObjTypeList {
|
||||
@OriginalMember(owner = "client!cb", name = "Y", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!tl", name = "c", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable models = new SoftLruHashTable(50);
|
||||
@OriginalMember(owner = "client!jd", name = "c", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable objectSpriteCache = new SoftLruHashTable(100);
|
||||
@OriginalMember(owner = "client!tg", name = "f", descriptor = "Z")
|
||||
public static boolean aBoolean276;
|
||||
@OriginalMember(owner = "client!sj", name = "r", descriptor = "Lclient!ve;")
|
||||
public static Js5 modelsArchive;
|
||||
@OriginalMember(owner = "client!um", name = "U", descriptor = "Lclient!dd;")
|
||||
public static SoftwareFont aClass3_Sub2_Sub9_Sub1_1;
|
||||
@OriginalMember(owner = "client!wa", name = "X", descriptor = "[Lclient!na;")
|
||||
public static JagString[] aClass100Array87 = null;
|
||||
@OriginalMember(owner = "client!ld", name = "g", descriptor = "[Lclient!na;")
|
||||
public static JagString[] aClass100Array104 = null;
|
||||
@OriginalMember(owner = "client!nh", name = "eb", descriptor = "I")
|
||||
public static int anInt3245;
|
||||
@OriginalMember(owner = "client!nd", name = "n", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!th", name = "a", descriptor = "(ZBLclient!ve;Lclient!dd;Lclient!ve;)V")
|
||||
public static void init(@OriginalArg(2) Js5 arg0, @OriginalArg(3) SoftwareFont arg1, @OriginalArg(4) Js5 arg2) {
|
||||
aBoolean276 = true;
|
||||
modelsArchive = arg2;
|
||||
archive = arg0;
|
||||
@Pc(23) int local23 = archive.method4483() - 1;
|
||||
anInt3245 = archive.getGroupCapacity(local23) + local23 * 256;
|
||||
aClass100Array104 = new JagString[] { null, null, null, null, LocalizedText.DROP};
|
||||
aClass100Array87 = new JagString[] { null, null, LocalizedText.TAKE, null, null };
|
||||
aClass3_Sub2_Sub9_Sub1_1 = arg1;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!fk", name = "a", descriptor = "(IB)Lclient!h;")
|
||||
public static ObjType get(@OriginalArg(0) int arg0) {
|
||||
@Pc(6) ObjType local6 = (ObjType) types.get((long) arg0);
|
||||
if (local6 != null) {
|
||||
return local6;
|
||||
}
|
||||
@Pc(25) byte[] local25 = archive.getFile(Static18.method554(arg0), Static247.method4247(arg0));
|
||||
local6 = new ObjType();
|
||||
local6.anInt2354 = arg0;
|
||||
if (local25 != null) {
|
||||
local6.decode(new Buffer(local25));
|
||||
}
|
||||
local6.method1826();
|
||||
if (local6.certificateTemplate != -1) {
|
||||
local6.generateCertificate(get(local6.certificateLink), get(local6.certificateTemplate));
|
||||
}
|
||||
if (local6.lentTemplate != -1) {
|
||||
local6.method1823(get(local6.lentLink), get(local6.lentTemplate));
|
||||
}
|
||||
if (!aBoolean276 && local6.members) {
|
||||
local6.name = LocalizedText.MEMBERS_OBJECT;
|
||||
local6.team = 0;
|
||||
local6.inventoryOps = aClass100Array104;
|
||||
local6.stockMarket = false;
|
||||
local6.ops = aClass100Array87;
|
||||
}
|
||||
types.put(local6, (long) arg0);
|
||||
return local6;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!i", name = "r", descriptor = "(I)V")
|
||||
public static void method2239() {
|
||||
types.method3103();
|
||||
models.method3103();
|
||||
objectSpriteCache.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ob", name = "a", descriptor = "(B)V")
|
||||
public static void method3302() {
|
||||
types.clear();
|
||||
models.clear();
|
||||
objectSpriteCache.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!pf", name = "c", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
models.clean(5);
|
||||
objectSpriteCache.clean(5);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!al", name = "a", descriptor = "(ZI)V")
|
||||
public static void setAllowMembers(@OriginalArg(0) boolean arg0) {
|
||||
if (arg0 != aBoolean276) {
|
||||
aBoolean276 = arg0;
|
||||
method3302();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -25,7 +25,7 @@ public final class Packet extends Buffer {
|
|||
@OriginalMember(owner = "client!i", name = "a", descriptor = "(BI[BI)V")
|
||||
public final void method2237(@OriginalArg(2) byte[] arg0, @OriginalArg(3) int arg1) {
|
||||
for (@Pc(17) int local17 = 0; local17 < arg1; local17++) {
|
||||
arg0[local17] = (byte) (this.data[this.offset++] - this.aClass71_1.method2295());
|
||||
arg0[local17] = (byte) (this.data[this.offset++] - this.aClass71_1.getNextKey());
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -49,7 +49,7 @@ public final class Packet extends Buffer {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!i", name = "a", descriptor = "([IZ)V")
|
||||
public final void method2240(@OriginalArg(0) int[] arg0) {
|
||||
public final void setKey(@OriginalArg(0) int[] arg0) {
|
||||
this.aClass71_1 = new IsaacRandom(arg0);
|
||||
}
|
||||
|
||||
|
|
@ -60,12 +60,12 @@ public final class Packet extends Buffer {
|
|||
|
||||
@OriginalMember(owner = "client!i", name = "r", descriptor = "(II)V")
|
||||
public final void p1isaac(@OriginalArg(1) int arg0) {
|
||||
this.data[this.offset++] = (byte) (arg0 + this.aClass71_1.method2295());
|
||||
this.data[this.offset++] = (byte) (arg0 + this.aClass71_1.getNextKey());
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!i", name = "s", descriptor = "(I)I")
|
||||
public final int method2243() {
|
||||
return this.data[this.offset++] - this.aClass71_1.method2295() & 0xFF;
|
||||
public final int g1isaac() {
|
||||
return this.data[this.offset++] - this.aClass71_1.getNextKey() & 0xFF;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!i", name = "h", descriptor = "(Z)V")
|
||||
|
|
|
|||
30
client/src/main/java/ParamTypeList.java
Normal file
30
client/src/main/java/ParamTypeList.java
Normal file
|
|
@ -0,0 +1,30 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class ParamTypeList {
|
||||
@OriginalMember(owner = "client!wd", name = "a", descriptor = "Lclient!gn;")
|
||||
public static final LruHashTable types = new LruHashTable(64);
|
||||
@OriginalMember(owner = "client!d", name = "hb", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
|
||||
@OriginalMember(owner = "client!sf", name = "a", descriptor = "(BLclient!ve;)V")
|
||||
public static void init(@OriginalArg(1) Js5 arg0) {
|
||||
archive = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ih", name = "a", descriptor = "(II)Lclient!hn;")
|
||||
public static ParamType get(@OriginalArg(1) int arg0) {
|
||||
@Pc(6) ParamType local6 = (ParamType) types.get((long) arg0);
|
||||
if (local6 != null) {
|
||||
return local6;
|
||||
}
|
||||
@Pc(30) byte[] local30 = archive.getFile(11, arg0);
|
||||
local6 = new ParamType();
|
||||
if (local30 != null) {
|
||||
local6.decode(new Buffer(local30));
|
||||
}
|
||||
types.put(local6, (long) arg0);
|
||||
return local6;
|
||||
}
|
||||
}
|
||||
6
client/src/main/java/PathFinder.java
Normal file
6
client/src/main/java/PathFinder.java
Normal file
|
|
@ -0,0 +1,6 @@
|
|||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
|
||||
public class PathFinder {
|
||||
@OriginalMember(owner = "client!li", name = "h", descriptor = "[Lclient!mj;")
|
||||
public static final CollisionMap[] collisionMaps = new CollisionMap[4];
|
||||
}
|
||||
|
|
@ -255,7 +255,7 @@ public abstract class PathingEntity extends Entity {
|
|||
@OriginalMember(owner = "client!fe", name = "b", descriptor = "(Z)Lclient!ck;")
|
||||
public final BasType method2681() {
|
||||
@Pc(7) int local7 = this.method2688();
|
||||
return local7 == -1 ? Static4.aClass20_1 : Static90.method1856(local7);
|
||||
return local7 == -1 ? Static4.aClass20_1 : BasTypeList.get(local7);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!fe", name = "a", descriptor = "(B)Z")
|
||||
|
|
@ -265,7 +265,7 @@ public abstract class PathingEntity extends Entity {
|
|||
|
||||
@OriginalMember(owner = "client!fe", name = "a", descriptor = "(IIIIZ)V")
|
||||
public final void method2683(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) boolean arg3) {
|
||||
if (this.seqId != -1 && Static36.get(this.seqId).anInt5349 == 1) {
|
||||
if (this.seqId != -1 && SeqTypeList.get(this.seqId).anInt5349 == 1) {
|
||||
this.seqId = -1;
|
||||
}
|
||||
if (!arg3) {
|
||||
|
|
@ -306,7 +306,7 @@ public abstract class PathingEntity extends Entity {
|
|||
local10--;
|
||||
local15++;
|
||||
}
|
||||
if (this.seqId != -1 && Static36.get(this.seqId).anInt5349 == 1) {
|
||||
if (this.seqId != -1 && SeqTypeList.get(this.seqId).anInt5349 == 1) {
|
||||
this.seqId = -1;
|
||||
}
|
||||
if (this.movementQueueSize < 9) {
|
||||
|
|
@ -363,13 +363,13 @@ public abstract class PathingEntity extends Entity {
|
|||
@Pc(53) int local53 = -local27 / 2;
|
||||
@Pc(64) int local64 = local53 * local43 - local48 * local39 >> 16;
|
||||
@Pc(75) int local75 = local39 * local53 + local43 * local48 >> 16;
|
||||
@Pc(87) int local87 = Static207.method3685(Static55.level, local75 + this.xFine, this.zFine + local64);
|
||||
@Pc(87) int local87 = SceneGraph.getTileHeight(Static55.level, local75 + this.xFine, this.zFine + local64);
|
||||
@Pc(91) int local91 = local24 / 2;
|
||||
@Pc(96) int local96 = -local27 / 2;
|
||||
@Pc(106) int local106 = local91 * local43 + local96 * local39 >> 16;
|
||||
@Pc(110) int local110 = local27 / 2;
|
||||
@Pc(121) int local121 = local96 * local43 - local91 * local39 >> 16;
|
||||
@Pc(134) int local134 = Static207.method3685(Static55.level, local106 + this.xFine, this.zFine - -local121);
|
||||
@Pc(134) int local134 = SceneGraph.getTileHeight(Static55.level, local106 + this.xFine, this.zFine - -local121);
|
||||
@Pc(139) int local139 = -local24 / 2;
|
||||
@Pc(150) int local150 = local110 * local43 - local39 * local139 >> 16;
|
||||
@Pc(154) int local154 = local27 / 2;
|
||||
|
|
@ -377,9 +377,9 @@ public abstract class PathingEntity extends Entity {
|
|||
@Pc(169) int local169 = local39 * local110 + local43 * local139 >> 16;
|
||||
@Pc(179) int local179 = local154 * local43 - local39 * local158 >> 16;
|
||||
@Pc(189) int local189 = local39 * local154 + local43 * local158 >> 16;
|
||||
@Pc(201) int local201 = Static207.method3685(Static55.level, this.xFine + local169, local150 + this.zFine);
|
||||
@Pc(201) int local201 = SceneGraph.getTileHeight(Static55.level, this.xFine + local169, local150 + this.zFine);
|
||||
@Pc(212) int local212 = local134 > local87 ? local87 : local134;
|
||||
@Pc(224) int local224 = Static207.method3685(Static55.level, local189 + this.xFine, local179 + this.zFine);
|
||||
@Pc(224) int local224 = SceneGraph.getTileHeight(Static55.level, local189 + this.xFine, local179 + this.zFine);
|
||||
@Pc(231) int local231 = local224 > local201 ? local201 : local224;
|
||||
@Pc(238) int local238 = local224 > local134 ? local134 : local224;
|
||||
@Pc(245) int local245 = local201 <= local87 ? local201 : local87;
|
||||
|
|
|
|||
|
|
@ -61,7 +61,7 @@ public final class Player extends PathingEntity {
|
|||
@OriginalMember(owner = "client!pa", name = "a", descriptor = "(IIILclient!e;)V")
|
||||
public static void animate(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) Player arg2) {
|
||||
if (arg1 == arg2.seqId && arg1 != -1) {
|
||||
@Pc(89) SeqType local89 = Static36.get(arg1);
|
||||
@Pc(89) SeqType local89 = SeqTypeList.get(arg1);
|
||||
@Pc(92) int local92 = local89.anInt5347;
|
||||
if (local92 == 1) {
|
||||
arg2.anInt3420 = arg0;
|
||||
|
|
@ -74,7 +74,7 @@ public final class Player extends PathingEntity {
|
|||
if (local92 == 2) {
|
||||
arg2.anInt3371 = 0;
|
||||
}
|
||||
} else if (arg1 == -1 || arg2.seqId == -1 || Static36.get(arg1).anInt5355 >= Static36.get(arg2.seqId).anInt5355) {
|
||||
} else if (arg1 == -1 || arg2.seqId == -1 || SeqTypeList.get(arg1).anInt5355 >= SeqTypeList.get(arg2.seqId).anInt5355) {
|
||||
arg2.anInt3373 = 1;
|
||||
arg2.anInt3425 = 0;
|
||||
arg2.anInt3420 = arg0;
|
||||
|
|
@ -83,7 +83,7 @@ public final class Player extends PathingEntity {
|
|||
arg2.anInt3360 = 0;
|
||||
arg2.seqId = arg1;
|
||||
if (arg2.seqId != -1) {
|
||||
SoundPlayer.playSeqSound(arg2.zFine, Static36.get(arg2.seqId), arg2.xFine, arg2 == PlayerList.self, arg2.anInt3425);
|
||||
SoundPlayer.playSeqSound(arg2.zFine, SeqTypeList.get(arg2.seqId), arg2.xFine, arg2 == PlayerList.self, arg2.anInt3425);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -91,7 +91,7 @@ public final class Player extends PathingEntity {
|
|||
@OriginalMember(owner = "client!e", name = "c", descriptor = "(B)I")
|
||||
@Override
|
||||
public final int getSize() {
|
||||
return this.appearance == null || this.appearance.anInt2492 == -1 ? super.getSize() : Static214.get(this.appearance.anInt2492).soze;
|
||||
return this.appearance == null || this.appearance.anInt2492 == -1 ? super.getSize() : NpcTypeList.get(this.appearance.anInt2492).soze;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!e", name = "b", descriptor = "(I)I")
|
||||
|
|
@ -133,9 +133,9 @@ public final class Player extends PathingEntity {
|
|||
break;
|
||||
}
|
||||
if (local134 >= 32768) {
|
||||
local134 = Static234.anIntArray455[local134 - 32768];
|
||||
local134 = Equipment.anIntArray455[local134 - 32768];
|
||||
local44[local102] = local134 | 0x40000000;
|
||||
local175 = Static71.get(local134).team;
|
||||
local175 = ObjTypeList.get(local134).team;
|
||||
if (local175 != 0) {
|
||||
this.anInt1650 = local175;
|
||||
}
|
||||
|
|
@ -147,14 +147,14 @@ public final class Player extends PathingEntity {
|
|||
@Pc(197) int[] local197 = new int[5];
|
||||
for (local111 = 0; local111 < 5; local111++) {
|
||||
local127 = arg0.g1();
|
||||
if (local127 < 0 || local127 >= Static33.aShortArrayArray2[local111].length) {
|
||||
if (local127 < 0 || local127 >= PlayerAppearance.aShortArrayArray2[local111].length) {
|
||||
local127 = 0;
|
||||
}
|
||||
local197[local111] = local127;
|
||||
}
|
||||
this.anInt3365 = arg0.g2();
|
||||
@Pc(236) long local236 = arg0.g8();
|
||||
this.aClass100_364 = Static79.decode37(local236).method3125();
|
||||
this.aClass100_364 = Base37.decodeLowerCase(local236).method3125();
|
||||
this.anInt1652 = arg0.g1();
|
||||
if (local37) {
|
||||
this.anInt1671 = arg0.g2();
|
||||
|
|
@ -205,8 +205,8 @@ public final class Player extends PathingEntity {
|
|||
if (this.appearance == null) {
|
||||
return;
|
||||
}
|
||||
@Pc(25) SeqType local25 = this.seqId != -1 && this.anInt3420 == 0 ? Static36.get(this.seqId) : null;
|
||||
@Pc(54) SeqType local54 = this.anInt3366 == -1 || this.aBoolean98 || this.anInt3366 == this.method2681().idleAnimationId && local25 != null ? null : Static36.get(this.anInt3366);
|
||||
@Pc(25) SeqType local25 = this.seqId != -1 && this.anInt3420 == 0 ? SeqTypeList.get(this.seqId) : null;
|
||||
@Pc(54) SeqType local54 = this.anInt3366 == -1 || this.aBoolean98 || this.anInt3366 == this.method2681().idleAnimationId && local25 != null ? null : SeqTypeList.get(this.anInt3366);
|
||||
@Pc(76) Model local76 = this.appearance.method1954(this.aClass147Array3, this.anInt3373, local54, local25, this.anInt3396, this.anInt3388, this.anInt3360, this.anInt3425, this.anInt3407);
|
||||
@Pc(79) int local79 = Static198.method1029();
|
||||
if (GlRenderer.enabled && GameShell.maxMemory < 96 && local79 > 50) {
|
||||
|
|
@ -229,8 +229,8 @@ public final class Player extends PathingEntity {
|
|||
}
|
||||
this.anInt3413 = local76.method4549();
|
||||
@Pc(184) Model local184;
|
||||
if (Preferences.characterShadowsOn && (this.appearance.anInt2492 == -1 || Static214.get(this.appearance.anInt2492).shadow)) {
|
||||
local184 = Static41.method1043(160, this.aBoolean171, local54 == null ? local25 : local54, this.xFine, 0, this.zFine, 0, 1, local76, arg0, local54 == null ? this.anInt3425 : this.anInt3407, this.anInt3424, 240);
|
||||
if (Preferences.characterShadowsOn && (this.appearance.anInt2492 == -1 || NpcTypeList.get(this.appearance.anInt2492).shadow)) {
|
||||
local184 = ShadowModelList.method1043(160, this.aBoolean171, local54 == null ? local25 : local54, this.xFine, 0, this.zFine, 0, 1, local76, arg0, local54 == null ? this.anInt3425 : this.anInt3407, this.anInt3424, 240);
|
||||
if (GlRenderer.enabled) {
|
||||
@Pc(188) float local188 = GlRenderer.method4179();
|
||||
@Pc(190) float local190 = GlRenderer.method4166();
|
||||
|
|
@ -277,7 +277,7 @@ public final class Player extends PathingEntity {
|
|||
this.method2685(local76, arg0);
|
||||
local184 = null;
|
||||
if (!this.aBoolean98 && this.anInt3432 != -1 && this.anInt3399 != -1) {
|
||||
@Pc(471) SpotAnimType local471 = Static34.method877(this.anInt3432);
|
||||
@Pc(471) SpotAnimType local471 = SpotAnimTypeList.get(this.anInt3432);
|
||||
local184 = local471.method1319(this.anInt3418, this.anInt3399, this.anInt3361);
|
||||
if (local184 != null) {
|
||||
local184.method4575(0, -this.anInt3394, 0);
|
||||
|
|
@ -352,7 +352,7 @@ public final class Player extends PathingEntity {
|
|||
return;
|
||||
}
|
||||
@Pc(34) int local34 = (int) (Math.atan2((double) arg3, (double) arg1) * 325.949D) & 0x7FF;
|
||||
@Pc(46) Model local46 = Static220.method3800(local34, this.zFine, arg11, this.xFine, arg2, this.anInt3424);
|
||||
@Pc(46) Model local46 = HintArrowManager.getModel(local34, this.zFine, arg11, this.xFine, arg2, this.anInt3424);
|
||||
if (local46 == null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
File diff suppressed because one or more lines are too long
|
|
@ -3,4 +3,6 @@ import org.openrs2.deob.annotation.OriginalMember;
|
|||
public class PlayerList {
|
||||
@OriginalMember(owner = "client!nk", name = "O", descriptor = "Lclient!e;")
|
||||
public static Player self;
|
||||
@OriginalMember(owner = "client!bf", name = "E", descriptor = "I")
|
||||
public static int selfId = -1;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -61,6 +61,8 @@ public class Preferences {
|
|||
public static boolean hdr = false;
|
||||
@OriginalMember(owner = "client!rg", name = "F", descriptor = "I")
|
||||
public static int favoriteWorlds = 0;
|
||||
@OriginalMember(owner = "client!bh", name = "z", descriptor = "Z")
|
||||
public static boolean sentToServer = true;
|
||||
@OriginalMember(owner = "client!ga", name = "e", descriptor = "I")
|
||||
static int particles = 2;
|
||||
|
||||
|
|
@ -316,4 +318,9 @@ public class Preferences {
|
|||
local4.p1(cursorsEnabled ? 1 : 0);
|
||||
return local4;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!lf", name = "c", descriptor = "(I)I")
|
||||
public static int toInt() {
|
||||
return ((stereo ? 1 : 0) << 19) + (((fogEnabled ? 1 : 0) << 16) + ((highWaterDetail ? 1 : 0) << 15) + ((highDetailLighting ? 1 : 0) << 13) + ((characterShadowsOn ? 1 : 0) << 10) + ((manyGroundTextures ? 1 : 0) << 9) + ((manyIdleAnimations ? 1 : 0) << 7) + ((highDetailTextures ? 1 : 0) << 6) + ((showGroundDecorations ? 1 : 0) << 5) + (((allLevelsVisible ? 1 : 0) << 3) + (brightness & 0x7) - (-((removeRoofsSelectively ? 1 : 0) << 4) + -((flickeringEffectsOn ? 1 : 0) << 8)) - (-((sceneryShadowsType & 0x3) << 11) + -((soundEffectVolume == 0 ? 0 : 1) << 20) - (((musicVolume == 0 ? 0 : 1) << 21) + ((ambientSoundsVolume == 0 ? 0 : 1) << 22)))) + (getParticleSetting() << 23));
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -104,11 +104,11 @@ public final class ProjAnim extends Entity {
|
|||
this.anInt4797 = arg8;
|
||||
this.anInt4822 = arg5;
|
||||
this.anInt4813 = arg4;
|
||||
@Pc(58) int local58 = Static34.method877(this.anInt4816).seqId;
|
||||
@Pc(58) int local58 = SpotAnimTypeList.get(this.anInt4816).seqId;
|
||||
if (local58 == -1) {
|
||||
this.aClass144_3 = null;
|
||||
} else {
|
||||
this.aClass144_3 = Static36.get(local58);
|
||||
this.aClass144_3 = SeqTypeList.get(local58);
|
||||
}
|
||||
}
|
||||
|
||||
|
|
@ -119,7 +119,7 @@ public final class ProjAnim extends Entity {
|
|||
|
||||
@OriginalMember(owner = "client!ra", name = "b", descriptor = "(I)Lclient!ak;")
|
||||
private Model method3703() {
|
||||
@Pc(14) SpotAnimType local14 = Static34.method877(this.anInt4816);
|
||||
@Pc(14) SpotAnimType local14 = SpotAnimTypeList.get(this.anInt4816);
|
||||
@Pc(24) Model local24 = local14.method1319(this.anInt4798, this.anInt4820, this.anInt4796);
|
||||
if (local24 == null) {
|
||||
return null;
|
||||
|
|
|
|||
|
|
@ -1,6 +1,159 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class Protocol {
|
||||
@OriginalMember(owner = "client!eg", name = "e", descriptor = "Lclient!i;")
|
||||
public static final Packet inboundBuffer = new Packet(65536);
|
||||
@OriginalMember(owner = "client!wb", name = "f", descriptor = "Lclient!wa;")
|
||||
public static final Buffer chatBuffer = new Buffer(new byte[5000]);
|
||||
@OriginalMember(owner = "client!ag", name = "P", descriptor = "Lclient!i;")
|
||||
public static final Packet outboundBuffer = new Packet(5000);
|
||||
@OriginalMember(owner = "client!jk", name = "B", descriptor = "Lclient!ma;")
|
||||
public static BufferedSocket socket;
|
||||
@OriginalMember(owner = "client!fl", name = "C", descriptor = "Lsignlink!im;")
|
||||
public static PrivilegedRequest socketRequest;
|
||||
@OriginalMember(owner = "client!pe", name = "a", descriptor = "I")
|
||||
public static int verifyId = 0;
|
||||
@OriginalMember(owner = "client!na", name = "l", descriptor = "I")
|
||||
public static int opcode = 0;
|
||||
@OriginalMember(owner = "client!sc", name = "o", descriptor = "I")
|
||||
public static int length = 0;
|
||||
|
||||
@OriginalMember(owner = "client!g", name = "a", descriptor = "(IZ)V")
|
||||
public static void readRebuildPacket(@OriginalArg(1) boolean arg0) {
|
||||
Static230.dynamicMapRegion = arg0;
|
||||
@Pc(13) int local13;
|
||||
@Pc(20) int local20;
|
||||
@Pc(26) int local26;
|
||||
@Pc(31) int local31;
|
||||
@Pc(60) int local60;
|
||||
@Pc(64) int local64;
|
||||
@Pc(138) int local138;
|
||||
@Pc(151) int local151;
|
||||
@Pc(169) int local169;
|
||||
if (!Static230.dynamicMapRegion) {
|
||||
local13 = inboundBuffer.g2sub();
|
||||
local20 = (length - inboundBuffer.offset) / 16;
|
||||
Static72.regionsXteaKeys = new int[local20][4];
|
||||
for (local26 = 0; local26 < local20; local26++) {
|
||||
for (local31 = 0; local31 < 4; local31++) {
|
||||
Static72.regionsXteaKeys[local26][local31] = inboundBuffer.p4rme();
|
||||
}
|
||||
}
|
||||
local26 = inboundBuffer.g1ssub();
|
||||
local31 = inboundBuffer.g2();
|
||||
local60 = inboundBuffer.g2sub();
|
||||
local64 = inboundBuffer.g2sub();
|
||||
Static238.regionBitPacked = new int[local20];
|
||||
Static273.mapFilesBuffer = new byte[local20][];
|
||||
Static191.npcSpawnsFilesBuffer = null;
|
||||
Static99.underWaterMapFileIds = new int[local20];
|
||||
Static156.locationMapFilesBuffer = new byte[local20][];
|
||||
Static19.underWaterLocationsMapFilesBuffer = new byte[local20][];
|
||||
Static175.npcSpawnsFileIds = null;
|
||||
Static36.mapFileIds = new int[local20];
|
||||
Static186.underWaterMapFilesBuffer = new byte[local20][];
|
||||
Static172.locationsMapFileIds = new int[local20];
|
||||
Static35.underWaterLocationsMapFileIds = new int[local20];
|
||||
local20 = 0;
|
||||
@Pc(100) boolean local100 = false;
|
||||
if ((local31 / 8 == 48 || local31 / 8 == 49) && local60 / 8 == 48) {
|
||||
local100 = true;
|
||||
}
|
||||
if (local31 / 8 == 48 && local60 / 8 == 148) {
|
||||
local100 = true;
|
||||
}
|
||||
for (local138 = (local31 - 6) / 8; local138 <= (local31 + 6) / 8; local138++) {
|
||||
for (local151 = (local60 - 6) / 8; local151 <= (local60 + 6) / 8; local151++) {
|
||||
local169 = (local138 << 8) + local151;
|
||||
if (local100 && (local151 == 49 || local151 == 149 || local151 == 147 || local138 == 50 || local138 == 49 && local151 == 47)) {
|
||||
Static238.regionBitPacked[local20] = local169;
|
||||
Static36.mapFileIds[local20] = -1;
|
||||
Static172.locationsMapFileIds[local20] = -1;
|
||||
Static99.underWaterMapFileIds[local20] = -1;
|
||||
Static35.underWaterLocationsMapFileIds[local20] = -1;
|
||||
} else {
|
||||
Static238.regionBitPacked[local20] = local169;
|
||||
Static36.mapFileIds[local20] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static103.aClass100_558, Static123.parseInt(local138), Static86.aClass100_488, Static123.parseInt(local151) }));
|
||||
Static172.locationsMapFileIds[local20] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static270.aClass100_1090, Static123.parseInt(local138), Static86.aClass100_488, Static123.parseInt(local151) }));
|
||||
Static99.underWaterMapFileIds[local20] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static165.aClass100_772, Static123.parseInt(local138), Static86.aClass100_488, Static123.parseInt(local151) }));
|
||||
Static35.underWaterLocationsMapFileIds[local20] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static278.aClass100_1103, Static123.parseInt(local138), Static86.aClass100_488, Static123.parseInt(local151) }));
|
||||
}
|
||||
local20++;
|
||||
}
|
||||
}
|
||||
Static127.method2463(local26, local60, local31, local64, false, local13);
|
||||
return;
|
||||
}
|
||||
local13 = inboundBuffer.g2leadd();
|
||||
local20 = inboundBuffer.g2leadd();
|
||||
local26 = inboundBuffer.g1ssub();
|
||||
local31 = inboundBuffer.g2leadd();
|
||||
inboundBuffer.method2233();
|
||||
@Pc(391) int local391;
|
||||
for (local60 = 0; local60 < 4; local60++) {
|
||||
for (local64 = 0; local64 < 13; local64++) {
|
||||
for (local391 = 0; local391 < 13; local391++) {
|
||||
local138 = inboundBuffer.method2238(1);
|
||||
if (local138 == 1) {
|
||||
Static187.anIntArrayArrayArray18[local60][local64][local391] = inboundBuffer.method2238(26);
|
||||
} else {
|
||||
Static187.anIntArrayArrayArray18[local60][local64][local391] = -1;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
inboundBuffer.method2244();
|
||||
local60 = (length - inboundBuffer.offset) / 16;
|
||||
Static72.regionsXteaKeys = new int[local60][4];
|
||||
for (local64 = 0; local64 < local60; local64++) {
|
||||
for (local391 = 0; local391 < 4; local391++) {
|
||||
Static72.regionsXteaKeys[local64][local391] = inboundBuffer.p4rme();
|
||||
}
|
||||
}
|
||||
local64 = inboundBuffer.g2();
|
||||
Static35.underWaterLocationsMapFileIds = new int[local60];
|
||||
Static172.locationsMapFileIds = new int[local60];
|
||||
Static36.mapFileIds = new int[local60];
|
||||
Static19.underWaterLocationsMapFilesBuffer = new byte[local60][];
|
||||
Static175.npcSpawnsFileIds = null;
|
||||
Static99.underWaterMapFileIds = new int[local60];
|
||||
Static156.locationMapFilesBuffer = new byte[local60][];
|
||||
Static273.mapFilesBuffer = new byte[local60][];
|
||||
Static238.regionBitPacked = new int[local60];
|
||||
Static191.npcSpawnsFilesBuffer = null;
|
||||
Static186.underWaterMapFilesBuffer = new byte[local60][];
|
||||
local60 = 0;
|
||||
for (local391 = 0; local391 < 4; local391++) {
|
||||
for (local138 = 0; local138 < 13; local138++) {
|
||||
for (local151 = 0; local151 < 13; local151++) {
|
||||
local169 = Static187.anIntArrayArrayArray18[local391][local138][local151];
|
||||
if (local169 != -1) {
|
||||
@Pc(555) int local555 = local169 >> 14 & 0x3FF;
|
||||
@Pc(561) int local561 = local169 >> 3 & 0x7FF;
|
||||
@Pc(571) int local571 = local561 / 8 + (local555 / 8 << 8);
|
||||
@Pc(573) int local573;
|
||||
for (local573 = 0; local573 < local60; local573++) {
|
||||
if (local571 == Static238.regionBitPacked[local573]) {
|
||||
local571 = -1;
|
||||
break;
|
||||
}
|
||||
}
|
||||
if (local571 != -1) {
|
||||
Static238.regionBitPacked[local60] = local571;
|
||||
@Pc(609) int local609 = local571 & 0xFF;
|
||||
local573 = local571 >> 8 & 0xFF;
|
||||
Static36.mapFileIds[local60] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static103.aClass100_558, Static123.parseInt(local573), Static86.aClass100_488, Static123.parseInt(local609) }));
|
||||
Static172.locationsMapFileIds[local60] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static270.aClass100_1090, Static123.parseInt(local573), Static86.aClass100_488, Static123.parseInt(local609) }));
|
||||
Static99.underWaterMapFileIds[local60] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static165.aClass100_772, Static123.parseInt(local573), Static86.aClass100_488, Static123.parseInt(local609) }));
|
||||
Static35.underWaterLocationsMapFileIds[local60] = client.js5Archive5.getGroupId(JagString.concatenate(new JagString[] { Static278.aClass100_1103, Static123.parseInt(local573), Static86.aClass100_488, Static123.parseInt(local609) }));
|
||||
local60++;
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
}
|
||||
Static127.method2463(local26, local64, local20, local31, false, local13);
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -91,7 +91,7 @@ public final class QuickChatCatType extends SecondaryNode {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!bc", name = "a", descriptor = "(Lclient!wa;B)V")
|
||||
public final void method470(@OriginalArg(0) Buffer arg0) {
|
||||
public final void decode(@OriginalArg(0) Buffer arg0) {
|
||||
while (true) {
|
||||
@Pc(12) int local12 = arg0.g1();
|
||||
if (local12 == 0) {
|
||||
|
|
|
|||
41
client/src/main/java/QuickChatCatTypeList.java
Normal file
41
client/src/main/java/QuickChatCatTypeList.java
Normal file
|
|
@ -0,0 +1,41 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class QuickChatCatTypeList {
|
||||
@OriginalMember(owner = "client!fm", name = "db", descriptor = "Lclient!gn;")
|
||||
public static final LruHashTable types = new LruHashTable(64);
|
||||
@OriginalMember(owner = "client!gn", name = "t", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive1;
|
||||
@OriginalMember(owner = "client!ce", name = "d", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive2;
|
||||
|
||||
@OriginalMember(owner = "client!ja", name = "a", descriptor = "(Lclient!ve;Lclient!ve;I)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0, @OriginalArg(1) Js5 arg1) {
|
||||
archive1 = arg1;
|
||||
archive2 = arg0;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!tb", name = "b", descriptor = "(IB)Lclient!bc;")
|
||||
public static QuickChatCatType method4045(@OriginalArg(0) int arg0) {
|
||||
@Pc(10) QuickChatCatType local10 = (QuickChatCatType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(24) byte[] local24;
|
||||
if (arg0 < 32768) {
|
||||
local24 = archive1.getFile(0, arg0);
|
||||
} else {
|
||||
local24 = archive2.getFile(0, arg0 & 0x7FFF);
|
||||
}
|
||||
local10 = new QuickChatCatType();
|
||||
if (local24 != null) {
|
||||
local10.decode(new Buffer(local24));
|
||||
}
|
||||
if (arg0 >= 32768) {
|
||||
local10.method465();
|
||||
}
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
}
|
||||
|
|
@ -35,7 +35,7 @@ public final class QuickChatPhraseType extends SecondaryNode {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!cb", name = "a", descriptor = "(Lclient!wa;I)V")
|
||||
public final void method761(@OriginalArg(0) Buffer arg0) {
|
||||
public final void decode(@OriginalArg(0) Buffer arg0) {
|
||||
while (true) {
|
||||
@Pc(9) int local9 = arg0.g1();
|
||||
if (local9 == 0) {
|
||||
|
|
|
|||
54
client/src/main/java/QuickChatPhraseTypeList.java
Normal file
54
client/src/main/java/QuickChatPhraseTypeList.java
Normal file
|
|
@ -0,0 +1,54 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class QuickChatPhraseTypeList {
|
||||
@OriginalMember(owner = "client!ud", name = "P", descriptor = "Lclient!gn;")
|
||||
public static final LruHashTable types = new LruHashTable(64);
|
||||
@OriginalMember(owner = "client!vf", name = "n", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive2;
|
||||
@OriginalMember(owner = "client!id", name = "j", descriptor = "Lclient!of;")
|
||||
public static QuickChatCommandDecoder decoder = null;
|
||||
@OriginalMember(owner = "client!te", name = "y", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive1;
|
||||
@OriginalMember(owner = "client!le", name = "e", descriptor = "I")
|
||||
public static int anInt3490 = 0;
|
||||
@OriginalMember(owner = "client!ck", name = "C", descriptor = "I")
|
||||
public static int anInt1047 = 0;
|
||||
|
||||
@OriginalMember(owner = "client!ej", name = "a", descriptor = "(Lclient!ve;ILclient!ve;Lclient!of;)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0, @OriginalArg(2) Js5 arg1, @OriginalArg(3) QuickChatCommandDecoder arg2) {
|
||||
archive2 = arg0;
|
||||
decoder = arg2;
|
||||
archive1 = arg1;
|
||||
if (archive1 != null) {
|
||||
anInt3490 = archive1.getGroupCapacity(1);
|
||||
}
|
||||
if (archive2 != null) {
|
||||
anInt1047 = archive2.getGroupCapacity(1);
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!sj", name = "b", descriptor = "(II)Lclient!cb;")
|
||||
public static QuickChatPhraseType get(@OriginalArg(1) int arg0) {
|
||||
@Pc(10) QuickChatPhraseType local10 = (QuickChatPhraseType) types.get((long) arg0);
|
||||
if (local10 != null) {
|
||||
return local10;
|
||||
}
|
||||
@Pc(27) byte[] local27;
|
||||
if (arg0 < 32768) {
|
||||
local27 = archive1.getFile(1, arg0);
|
||||
} else {
|
||||
local27 = archive2.getFile(1, arg0 & 0x7FFF);
|
||||
}
|
||||
local10 = new QuickChatPhraseType();
|
||||
if (local27 != null) {
|
||||
local10.decode(new Buffer(local27));
|
||||
}
|
||||
if (arg0 >= 32768) {
|
||||
local10.method763();
|
||||
}
|
||||
types.put(local10, (long) arg0);
|
||||
return local10;
|
||||
}
|
||||
}
|
||||
|
|
@ -1,8 +1,31 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class SceneGraph {
|
||||
@OriginalMember(owner = "client!km", name = "f", descriptor = "(I)Z")
|
||||
public static boolean allLevelsAreVisible() {
|
||||
return GlRenderer.enabled ? true : Preferences.allLevelsVisible;
|
||||
return GlRenderer.enabled || Preferences.allLevelsVisible;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ql", name = "a", descriptor = "(IIII)I")
|
||||
public static int getTileHeight(@OriginalArg(0) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2) {
|
||||
if (Static83.activeTileHeightMap == null) {
|
||||
return 0;
|
||||
}
|
||||
@Pc(12) int local12 = arg1 >> 7;
|
||||
@Pc(16) int local16 = arg2 >> 7;
|
||||
if (local12 < 0 || local16 < 0 || local12 > 103 || local16 > 103) {
|
||||
return 0;
|
||||
}
|
||||
@Pc(36) int local36 = arg1 & 0x7F;
|
||||
@Pc(40) int local40 = arg2 & 0x7F;
|
||||
@Pc(42) int local42 = arg0;
|
||||
if (arg0 < 3 && (Static12.tileSettings[1][local12][local16] & 0x2) == 2) {
|
||||
local42 = arg0 + 1;
|
||||
}
|
||||
@Pc(91) int local91 = local36 * Static83.activeTileHeightMap[local42][local12 + 1][local16 + 1] + Static83.activeTileHeightMap[local42][local12][local16 + 1] * (128 - local36) >> 7;
|
||||
@Pc(118) int local118 = local36 * Static83.activeTileHeightMap[local42][local12 + 1][local16] + (128 - local36) * Static83.activeTileHeightMap[local42][local12][local16] >> 7;
|
||||
return local40 * local91 + (128 - local40) * local118 >> 7;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -13,10 +13,10 @@ public final class SeqType {
|
|||
public boolean[] aBooleanArray123;
|
||||
|
||||
@OriginalMember(owner = "client!tk", name = "y", descriptor = "I")
|
||||
public int anInt5361;
|
||||
public int id;
|
||||
|
||||
@OriginalMember(owner = "client!tk", name = "C", descriptor = "[[I")
|
||||
public int[][] anIntArrayArray38;
|
||||
public int[][] sounds;
|
||||
|
||||
@OriginalMember(owner = "client!tk", name = "G", descriptor = "[I")
|
||||
public int[] anIntArray474;
|
||||
|
|
@ -336,14 +336,14 @@ public final class SeqType {
|
|||
}
|
||||
} else if (arg0 == 13) {
|
||||
local8 = arg1.g2();
|
||||
this.anIntArrayArray38 = new int[local8][];
|
||||
this.sounds = new int[local8][];
|
||||
for (local14 = 0; local14 < local8; local14++) {
|
||||
@Pc(163) int local163 = arg1.g1();
|
||||
if (local163 > 0) {
|
||||
this.anIntArrayArray38[local14] = new int[local163];
|
||||
this.anIntArrayArray38[local14][0] = arg1.g3();
|
||||
this.sounds[local14] = new int[local163];
|
||||
this.sounds[local14][0] = arg1.g3();
|
||||
for (@Pc(182) int local182 = 1; local182 < local163; local182++) {
|
||||
this.anIntArrayArray38[local14][local182] = arg1.g2();
|
||||
this.sounds[local14][local182] = arg1.g2();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
68
client/src/main/java/SeqTypeList.java
Normal file
68
client/src/main/java/SeqTypeList.java
Normal file
|
|
@ -0,0 +1,68 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class SeqTypeList {
|
||||
@OriginalMember(owner = "client!lc", name = "e", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable types = new SoftLruHashTable(64);
|
||||
@OriginalMember(owner = "client!vl", name = "a", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable aClass99_37 = new SoftLruHashTable(100);
|
||||
@OriginalMember(owner = "client!tk", name = "s", descriptor = "Lclient!ve;")
|
||||
public static Js5 archive;
|
||||
@OriginalMember(owner = "client!af", name = "a", descriptor = "Lclient!ve;")
|
||||
public static Js5 aClass153_1;
|
||||
@OriginalMember(owner = "client!se", name = "l", descriptor = "Lclient!ve;")
|
||||
public static Js5 aClass153_92;
|
||||
|
||||
@OriginalMember(owner = "client!client", name = "a", descriptor = "(IB)Lclient!tk;")
|
||||
public static SeqType get(@OriginalArg(0) int id) {
|
||||
@Pc(17) SeqType local17 = (SeqType) types.get((long) id);
|
||||
if (local17 != null) {
|
||||
return local17;
|
||||
}
|
||||
@Pc(32) byte[] local32 = archive.getFile(getGroupId(id), getFileId(id));
|
||||
local17 = new SeqType();
|
||||
local17.id = id;
|
||||
if (local32 != null) {
|
||||
local17.decode(new Buffer(local32));
|
||||
}
|
||||
local17.postDecode();
|
||||
types.put(local17, (long) id);
|
||||
return local17;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!s", name = "a", descriptor = "(II)I")
|
||||
public static int getGroupId(@OriginalArg(0) int arg0) {
|
||||
return arg0 >>> 7;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!jd", name = "a", descriptor = "(II)I")
|
||||
public static int getFileId(@OriginalArg(1) int arg0) {
|
||||
return arg0 & 0x7F;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!lb", name = "a", descriptor = "(Lclient!ve;Lclient!ve;ILclient!ve;)V")
|
||||
public static void init(@OriginalArg(0) Js5 arg0, @OriginalArg(1) Js5 arg1, @OriginalArg(3) Js5 arg2) {
|
||||
archive = arg1;
|
||||
aClass153_1 = arg0;
|
||||
aClass153_92 = arg2;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!an", name = "a", descriptor = "(Z)V")
|
||||
public static void method350() {
|
||||
types.clear();
|
||||
aClass99_37.clear();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!sg", name = "a", descriptor = "(B)V")
|
||||
public static void method3903() {
|
||||
types.method3103();
|
||||
aClass99_37.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!fl", name = "a", descriptor = "(IB)V")
|
||||
public static void clean() {
|
||||
types.clean(5);
|
||||
aClass99_37.clean(5);
|
||||
}
|
||||
}
|
||||
|
|
@ -38,7 +38,7 @@ public final class Shadow {
|
|||
@Pc(12) int[] local12 = new int[1];
|
||||
local9.glGenTextures(1, local12, 0);
|
||||
this.anInt5901 = local12[0];
|
||||
Static63.onCardTexture += 16384;
|
||||
GlCleaner.onCardTexture += 16384;
|
||||
GlRenderer.setTextureId(this.anInt5901);
|
||||
local9.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MIN_FILTER, GL2.GL_LINEAR);
|
||||
local9.glTexParameteri(GL2.GL_TEXTURE_2D, GL2.GL_TEXTURE_MAG_FILTER, GL2.GL_LINEAR);
|
||||
|
|
|
|||
151
client/src/main/java/ShadowModelList.java
Normal file
151
client/src/main/java/ShadowModelList.java
Normal file
|
|
@ -0,0 +1,151 @@
|
|||
import org.openrs2.deob.annotation.OriginalArg;
|
||||
import org.openrs2.deob.annotation.OriginalMember;
|
||||
import org.openrs2.deob.annotation.Pc;
|
||||
|
||||
public class ShadowModelList {
|
||||
@OriginalMember(owner = "client!di", name = "I", descriptor = "Lclient!n;")
|
||||
public static final SoftLruHashTable SHADOWS = new SoftLruHashTable(32);
|
||||
|
||||
@OriginalMember(owner = "client!kh", name = "a", descriptor = "(II)V")
|
||||
public static void clean() {
|
||||
SHADOWS.clean(5);
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!ug", name = "b", descriptor = "(B)V")
|
||||
public static void method4276() {
|
||||
SHADOWS.method3103();
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!dc", name = "a", descriptor = "(IZLclient!tk;IIIIILclient!ak;IIIIB)Lclient!ak;")
|
||||
public static Model method1043(@OriginalArg(0) int arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) SeqType arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) Model arg8, @OriginalArg(9) int arg9, @OriginalArg(10) int arg10, @OriginalArg(11) int arg11, @OriginalArg(12) int arg12) {
|
||||
@Pc(23) long local23 = ((long) arg4 << 48) + (long) (arg7 + (arg0 << 16) + (arg12 << 24)) + ((long) arg6 << 32);
|
||||
@Pc(33) Model local33 = (Model) SHADOWS.get(local23);
|
||||
@Pc(109) int local109;
|
||||
@Pc(115) int local115;
|
||||
@Pc(126) int local126;
|
||||
@Pc(130) int local130;
|
||||
@Pc(162) int local162;
|
||||
if (local33 == null) {
|
||||
@Pc(41) byte local41;
|
||||
if (arg7 == 1) {
|
||||
local41 = 9;
|
||||
} else if (arg7 == 2) {
|
||||
local41 = 12;
|
||||
} else if (arg7 == 3) {
|
||||
local41 = 15;
|
||||
} else if (arg7 == 4) {
|
||||
local41 = 18;
|
||||
} else {
|
||||
local41 = 21;
|
||||
}
|
||||
@Pc(83) int[] local83 = new int[] { 64, 96, 128 };
|
||||
@Pc(103) RawModel local103 = new RawModel(local41 * 3 + 1, -local41 + local41 * 3 * 2, 0);
|
||||
local109 = local103.method1685(0, 0);
|
||||
@Pc(113) int[][] local113 = new int[3][local41];
|
||||
for (local115 = 0; local115 < 3; local115++) {
|
||||
local126 = local83[local115];
|
||||
local130 = local83[local115];
|
||||
for (@Pc(132) int local132 = 0; local132 < local41; local132++) {
|
||||
@Pc(141) int local141 = (local132 << 11) / local41;
|
||||
@Pc(152) int local152 = arg5 + MathUtils.cos[local141] * local130 >> 16;
|
||||
local162 = arg3 + MathUtils.sin[local141] * local126 >> 16;
|
||||
local113[local115][local132] = local103.method1685(local162, local152);
|
||||
}
|
||||
}
|
||||
for (local115 = 0; local115 < 3; local115++) {
|
||||
local126 = (local115 * 256 + 128) / 3;
|
||||
local130 = 256 - local126;
|
||||
@Pc(207) byte local207 = (byte) (arg12 * local126 + arg0 * local130 >> 8);
|
||||
@Pc(252) short local252 = (short) (((arg6 & 0x7F) * local130 + (arg4 & 0x7F) * local126 & 0x7F00) + (local130 * (arg6 & 0x380) + local126 * (arg4 & 0x380) & 0x38000) + (local126 * (arg4 & 0xFC00) + (arg6 & 0xFC00) * local130 & 0xFC0000) >> 8);
|
||||
for (local162 = 0; local162 < local41; local162++) {
|
||||
if (local115 == 0) {
|
||||
local103.method1676(local109, local113[0][(local162 + 1) % local41], local113[0][local162], local252, local207);
|
||||
} else {
|
||||
local103.method1676(local113[local115 - 1][local162], local113[local115 - 1][(local162 + 1) % local41], local113[local115][(local162 + 1) % local41], local252, local207);
|
||||
local103.method1676(local113[local115 - 1][local162], local113[local115][(local162 + 1) % local41], local113[local115][local162], local252, local207);
|
||||
}
|
||||
}
|
||||
}
|
||||
local33 = local103.createModel(64, 768, -50, -10, -50);
|
||||
SHADOWS.put(local33, local23);
|
||||
}
|
||||
@Pc(367) int local367 = arg7 * 64 - 1;
|
||||
@Pc(376) int local376 = -local367;
|
||||
@Pc(379) int local379 = -local367;
|
||||
@Pc(381) int local381 = local367;
|
||||
@Pc(384) int local384 = arg8.method4562();
|
||||
@Pc(386) AnimFrameset local386 = null;
|
||||
local115 = arg8.method4561();
|
||||
local126 = arg8.method4576();
|
||||
local130 = arg8.method4550();
|
||||
if (arg2 != null) {
|
||||
@Pc(403) int local403 = arg2.frames[arg10];
|
||||
local386 = Static72.getAnimFrameset(local403 >> 16);
|
||||
arg10 = local403 & 0xFFFF;
|
||||
}
|
||||
local109 = local367;
|
||||
if (arg1) {
|
||||
if (arg9 > 1664 || arg9 < 384) {
|
||||
local379 -= 128;
|
||||
}
|
||||
if (arg9 > 1152 && arg9 < 1920) {
|
||||
local381 = local367 + 128;
|
||||
}
|
||||
if (arg9 > 640 && arg9 < 1408) {
|
||||
local109 = local367 + 128;
|
||||
}
|
||||
if (arg9 > 128 && arg9 < 896) {
|
||||
local376 -= 128;
|
||||
}
|
||||
}
|
||||
if (local109 < local130) {
|
||||
local130 = local109;
|
||||
}
|
||||
if (local376 > local384) {
|
||||
local384 = local376;
|
||||
}
|
||||
if (local126 < local379) {
|
||||
local126 = local379;
|
||||
}
|
||||
if (local381 < local115) {
|
||||
local115 = local381;
|
||||
}
|
||||
if (local386 == null) {
|
||||
local33 = local33.method4560(true, true, true);
|
||||
local33.resize((local115 - local384) / 2, 128, (local130 - local126) / 2);
|
||||
local33.method4575((local384 + local115) / 2, 0, (local126 + local130) / 2);
|
||||
} else {
|
||||
local33 = local33.method4560(!local386.isAlphaTransformed(arg10), !local386.isColorTransformed(arg10), true);
|
||||
local33.resize((local115 - local384) / 2, 128, (local130 - local126) / 2);
|
||||
local33.method4575((local384 + local115) / 2, 0, (local126 + local130) / 2);
|
||||
local33.method4555(local386, arg10);
|
||||
}
|
||||
if (arg9 != 0) {
|
||||
local33.method4554(arg9);
|
||||
}
|
||||
if (GlRenderer.enabled) {
|
||||
@Pc(650) GlModel local650 = (GlModel) local33;
|
||||
if (SceneGraph.getTileHeight(Static55.level, arg3 + local384, local126 + arg5) != arg11 || SceneGraph.getTileHeight(Static55.level, local115 + arg3, arg5 - -local130) != arg11) {
|
||||
for (local162 = 0; local162 < local650.vertexCount; local162++) {
|
||||
local650.anIntArray465[local162] += SceneGraph.getTileHeight(Static55.level, local650.anIntArray461[local162] + arg3, arg5 + local650.anIntArray466[local162]) - arg11;
|
||||
}
|
||||
local650.vertexBuffer.valid = false;
|
||||
local650.bounds.valid = false;
|
||||
}
|
||||
} else {
|
||||
@Pc(574) SoftwareModel local574 = (SoftwareModel) local33;
|
||||
if (SceneGraph.getTileHeight(Static55.level, arg3 + local384, arg5 - -local126) != arg11 || arg11 != SceneGraph.getTileHeight(Static55.level, arg3 + local115, arg5 - -local130)) {
|
||||
for (local162 = 0; local162 < local574.vertexCount; local162++) {
|
||||
local574.anIntArray527[local162] += SceneGraph.getTileHeight(Static55.level, arg3 + local574.anIntArray528[local162], arg5 + local574.anIntArray531[local162]) - arg11;
|
||||
}
|
||||
local574.boundsValid = false;
|
||||
}
|
||||
}
|
||||
return local33;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!hb", name = "a", descriptor = "(Z)V")
|
||||
public static void method1857() {
|
||||
SHADOWS.clear();
|
||||
}
|
||||
}
|
||||
|
|
@ -66,7 +66,7 @@ public final class SoftLruHashTable {
|
|||
}
|
||||
|
||||
@OriginalMember(owner = "client!n", name = "c", descriptor = "(II)V")
|
||||
public final void method3102(@OriginalArg(1) int arg0) {
|
||||
public final void clean(@OriginalArg(1) int arg0) {
|
||||
if (Static252.aClass22_1 == null) {
|
||||
return;
|
||||
}
|
||||
|
|
|
|||
|
|
@ -97,10 +97,10 @@ public final class SoftwareModel extends Model {
|
|||
private byte aByte20 = 0;
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "V", descriptor = "Z")
|
||||
public boolean aBoolean305 = false;
|
||||
public boolean boundsValid = false;
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "P", descriptor = "I")
|
||||
public int anInt5788 = 0;
|
||||
public int vertexCount = 0;
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "N", descriptor = "I")
|
||||
private int anInt5787 = 0;
|
||||
|
|
@ -131,7 +131,7 @@ public final class SoftwareModel extends Model {
|
|||
public SoftwareModel(@OriginalArg(0) RawModel arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5) {
|
||||
arg0.method1668();
|
||||
arg0.method1683();
|
||||
this.anInt5788 = arg0.anInt2139;
|
||||
this.vertexCount = arg0.anInt2139;
|
||||
this.anIntArray528 = arg0.anIntArray202;
|
||||
this.anIntArray527 = arg0.anIntArray201;
|
||||
this.anIntArray531 = arg0.anIntArray203;
|
||||
|
|
@ -309,7 +309,7 @@ public final class SoftwareModel extends Model {
|
|||
@Pc(23) boolean local23 = false;
|
||||
@Pc(25) boolean local25 = false;
|
||||
@Pc(27) boolean local27 = false;
|
||||
this.anInt5788 = 0;
|
||||
this.vertexCount = 0;
|
||||
this.anInt5787 = 0;
|
||||
this.anInt5789 = 0;
|
||||
this.aByte20 = -1;
|
||||
|
|
@ -318,7 +318,7 @@ public final class SoftwareModel extends Model {
|
|||
for (local45 = 0; local45 < arg1; local45++) {
|
||||
local52 = arg0[local45];
|
||||
if (local52 != null) {
|
||||
this.anInt5788 += local52.anInt5788;
|
||||
this.vertexCount += local52.vertexCount;
|
||||
this.anInt5787 += local52.anInt5787;
|
||||
this.anInt5789 += local52.anInt5789;
|
||||
if (local52.aByteArray73 == null) {
|
||||
|
|
@ -336,9 +336,9 @@ public final class SoftwareModel extends Model {
|
|||
local27 |= local52.aByteArray74 != null;
|
||||
}
|
||||
}
|
||||
this.anIntArray528 = new int[this.anInt5788];
|
||||
this.anIntArray527 = new int[this.anInt5788];
|
||||
this.anIntArray531 = new int[this.anInt5788];
|
||||
this.anIntArray528 = new int[this.vertexCount];
|
||||
this.anIntArray527 = new int[this.vertexCount];
|
||||
this.anIntArray531 = new int[this.vertexCount];
|
||||
this.anIntArray534 = new int[this.anInt5787];
|
||||
this.anIntArray524 = new int[this.anInt5787];
|
||||
this.anIntArray529 = new int[this.anInt5787];
|
||||
|
|
@ -363,7 +363,7 @@ public final class SoftwareModel extends Model {
|
|||
this.anIntArray525 = new int[this.anInt5789];
|
||||
}
|
||||
this.aShortArray89 = new short[this.anInt5787];
|
||||
this.anInt5788 = 0;
|
||||
this.vertexCount = 0;
|
||||
this.anInt5787 = 0;
|
||||
this.anInt5789 = 0;
|
||||
for (local45 = 0; local45 < arg1; local45++) {
|
||||
|
|
@ -371,9 +371,9 @@ public final class SoftwareModel extends Model {
|
|||
if (local52 != null) {
|
||||
@Pc(251) int local251;
|
||||
for (local251 = 0; local251 < local52.anInt5787; local251++) {
|
||||
this.anIntArray534[this.anInt5787] = local52.anIntArray534[local251] + this.anInt5788;
|
||||
this.anIntArray524[this.anInt5787] = local52.anIntArray524[local251] + this.anInt5788;
|
||||
this.anIntArray529[this.anInt5787] = local52.anIntArray529[local251] + this.anInt5788;
|
||||
this.anIntArray534[this.anInt5787] = local52.anIntArray534[local251] + this.vertexCount;
|
||||
this.anIntArray524[this.anInt5787] = local52.anIntArray524[local251] + this.vertexCount;
|
||||
this.anIntArray529[this.anInt5787] = local52.anIntArray529[local251] + this.vertexCount;
|
||||
this.anIntArray533[this.anInt5787] = local52.anIntArray533[local251];
|
||||
this.anIntArray523[this.anInt5787] = local52.anIntArray523[local251];
|
||||
this.anIntArray532[this.anInt5787] = local52.anIntArray532[local251];
|
||||
|
|
@ -405,16 +405,16 @@ public final class SoftwareModel extends Model {
|
|||
this.anInt5787++;
|
||||
}
|
||||
for (local251 = 0; local251 < local52.anInt5789; local251++) {
|
||||
this.anIntArray526[this.anInt5789] = local52.anIntArray526[local251] + this.anInt5788;
|
||||
this.anIntArray530[this.anInt5789] = local52.anIntArray530[local251] + this.anInt5788;
|
||||
this.anIntArray525[this.anInt5789] = local52.anIntArray525[local251] + this.anInt5788;
|
||||
this.anIntArray526[this.anInt5789] = local52.anIntArray526[local251] + this.vertexCount;
|
||||
this.anIntArray530[this.anInt5789] = local52.anIntArray530[local251] + this.vertexCount;
|
||||
this.anIntArray525[this.anInt5789] = local52.anIntArray525[local251] + this.vertexCount;
|
||||
this.anInt5789++;
|
||||
}
|
||||
for (local251 = 0; local251 < local52.anInt5788; local251++) {
|
||||
this.anIntArray528[this.anInt5788] = local52.anIntArray528[local251];
|
||||
this.anIntArray527[this.anInt5788] = local52.anIntArray527[local251];
|
||||
this.anIntArray531[this.anInt5788] = local52.anIntArray531[local251];
|
||||
this.anInt5788++;
|
||||
for (local251 = 0; local251 < local52.vertexCount; local251++) {
|
||||
this.anIntArray528[this.vertexCount] = local52.anIntArray528[local251];
|
||||
this.anIntArray527[this.vertexCount] = local52.anIntArray527[local251];
|
||||
this.anIntArray531[this.vertexCount] = local52.anIntArray531[local251];
|
||||
this.vertexCount++;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
@ -464,11 +464,11 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "e", descriptor = "()V")
|
||||
@Override
|
||||
public final void method4552() {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.anInt5788; local1++) {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) {
|
||||
this.anIntArray528[local1] = -this.anIntArray528[local1];
|
||||
this.anIntArray531[local1] = -this.anIntArray531[local1];
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "n", descriptor = "()V")
|
||||
|
|
@ -496,7 +496,7 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "k", descriptor = "()I")
|
||||
@Override
|
||||
public final int method4576() {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
return this.aShort33;
|
||||
|
|
@ -505,7 +505,7 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "b", descriptor = "()I")
|
||||
@Override
|
||||
public final int method4549() {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
return this.aShort38;
|
||||
|
|
@ -513,16 +513,16 @@ public final class SoftwareModel extends Model {
|
|||
|
||||
@OriginalMember(owner = "client!w", name = "a", descriptor = "(ZZLclient!w;[B[S[I[I[I)Lclient!ak;")
|
||||
private Model method4584(@OriginalArg(0) boolean arg0, @OriginalArg(1) boolean arg1, @OriginalArg(2) SoftwareModel arg2, @OriginalArg(3) byte[] arg3, @OriginalArg(4) short[] arg4, @OriginalArg(5) int[] arg5, @OriginalArg(6) int[] arg6, @OriginalArg(7) int[] arg7) {
|
||||
arg2.anInt5788 = this.anInt5788;
|
||||
arg2.vertexCount = this.vertexCount;
|
||||
arg2.anInt5787 = this.anInt5787;
|
||||
arg2.anInt5789 = this.anInt5789;
|
||||
if (arg2.anIntArray528 == null || arg2.anIntArray528.length < this.anInt5788) {
|
||||
arg2.anIntArray528 = new int[this.anInt5788 + 100];
|
||||
arg2.anIntArray527 = new int[this.anInt5788 + 100];
|
||||
arg2.anIntArray531 = new int[this.anInt5788 + 100];
|
||||
if (arg2.anIntArray528 == null || arg2.anIntArray528.length < this.vertexCount) {
|
||||
arg2.anIntArray528 = new int[this.vertexCount + 100];
|
||||
arg2.anIntArray527 = new int[this.vertexCount + 100];
|
||||
arg2.anIntArray531 = new int[this.vertexCount + 100];
|
||||
}
|
||||
@Pc(43) int local43;
|
||||
for (local43 = 0; local43 < this.anInt5788; local43++) {
|
||||
for (local43 = 0; local43 < this.vertexCount; local43++) {
|
||||
arg2.anIntArray528[local43] = this.anIntArray528[local43];
|
||||
arg2.anIntArray527[local43] = this.anIntArray527[local43];
|
||||
arg2.anIntArray531[local43] = this.anIntArray531[local43];
|
||||
|
|
@ -573,7 +573,7 @@ public final class SoftwareModel extends Model {
|
|||
arg2.aShortArray91 = this.aShortArray91;
|
||||
arg2.aShortArray90 = this.aShortArray90;
|
||||
arg2.aBoolean303 = this.aBoolean303;
|
||||
arg2.aBoolean305 = false;
|
||||
arg2.boundsValid = false;
|
||||
return arg2;
|
||||
}
|
||||
|
||||
|
|
@ -582,12 +582,12 @@ public final class SoftwareModel extends Model {
|
|||
public final void method4574(@OriginalArg(0) int arg0) {
|
||||
@Pc(3) int local3 = MathUtils.sin[arg0];
|
||||
@Pc(7) int local7 = MathUtils.cos[arg0];
|
||||
for (@Pc(9) int local9 = 0; local9 < this.anInt5788; local9++) {
|
||||
for (@Pc(9) int local9 = 0; local9 < this.vertexCount; local9++) {
|
||||
@Pc(29) int local29 = this.anIntArray527[local9] * local7 - this.anIntArray531[local9] * local3 >> 16;
|
||||
this.anIntArray531[local9] = this.anIntArray527[local9] * local3 + this.anIntArray531[local9] * local7 >> 16;
|
||||
this.anIntArray527[local9] = local29;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "d", descriptor = "()Z")
|
||||
|
|
@ -608,18 +608,18 @@ public final class SoftwareModel extends Model {
|
|||
public final void method4564(@OriginalArg(0) int arg0) {
|
||||
@Pc(3) int local3 = MathUtils.sin[arg0];
|
||||
@Pc(7) int local7 = MathUtils.cos[arg0];
|
||||
for (@Pc(9) int local9 = 0; local9 < this.anInt5788; local9++) {
|
||||
for (@Pc(9) int local9 = 0; local9 < this.vertexCount; local9++) {
|
||||
@Pc(29) int local29 = this.anIntArray527[local9] * local3 + this.anIntArray528[local9] * local7 >> 16;
|
||||
this.anIntArray527[local9] = this.anIntArray527[local9] * local7 - this.anIntArray528[local9] * local3 >> 16;
|
||||
this.anIntArray528[local9] = local29;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "a", descriptor = "(IIIIIIIIJILclient!ga;)V")
|
||||
@Override
|
||||
public final void method4546(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2, @OriginalArg(3) int arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) int arg7, @OriginalArg(8) long arg8, @OriginalArg(9) int arg9, @OriginalArg(10) ParticleSystem arg10) {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
@Pc(14) int local14 = arg7 * arg4 - arg5 * arg3 >> 16;
|
||||
|
|
@ -730,7 +730,7 @@ public final class SoftwareModel extends Model {
|
|||
}
|
||||
}
|
||||
}
|
||||
for (local204 = 0; local204 < this.anInt5788; local204++) {
|
||||
for (local204 = 0; local204 < this.vertexCount; local204++) {
|
||||
local223 = this.anIntArray528[local204];
|
||||
local208 = this.anIntArray527[local204];
|
||||
local227 = this.anIntArray531[local204];
|
||||
|
|
@ -770,7 +770,7 @@ public final class SoftwareModel extends Model {
|
|||
|
||||
@OriginalMember(owner = "client!w", name = "a", descriptor = "(II[[I[[IIIIZ)Lclient!w;")
|
||||
public final SoftwareModel method4586(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int[][] arg2, @OriginalArg(3) int[][] arg3, @OriginalArg(4) int arg4, @OriginalArg(5) int arg5, @OriginalArg(6) int arg6, @OriginalArg(7) boolean arg7) {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
@Pc(9) int local9 = arg4 + this.aShort31;
|
||||
|
|
@ -799,7 +799,7 @@ public final class SoftwareModel extends Model {
|
|||
@Pc(150) SoftwareModel local150;
|
||||
if (arg7) {
|
||||
local150 = new SoftwareModel();
|
||||
local150.anInt5788 = this.anInt5788;
|
||||
local150.vertexCount = this.vertexCount;
|
||||
local150.anInt5787 = this.anInt5787;
|
||||
local150.anInt5789 = this.anInt5789;
|
||||
local150.anIntArray534 = this.anIntArray534;
|
||||
|
|
@ -828,7 +828,7 @@ public final class SoftwareModel extends Model {
|
|||
local150.anIntArray531 = Static115.method2308(this.anIntArray531);
|
||||
} else {
|
||||
local150.anIntArray528 = this.anIntArray528;
|
||||
local150.anIntArray527 = new int[local150.anInt5788];
|
||||
local150.anIntArray527 = new int[local150.vertexCount];
|
||||
local150.anIntArray531 = this.anIntArray531;
|
||||
}
|
||||
} else {
|
||||
|
|
@ -845,7 +845,7 @@ public final class SoftwareModel extends Model {
|
|||
@Pc(367) int local367;
|
||||
@Pc(379) int local379;
|
||||
if (arg0 == 1) {
|
||||
for (local285 = 0; local285 < local150.anInt5788; local285++) {
|
||||
for (local285 = 0; local285 < local150.vertexCount; local285++) {
|
||||
local296 = this.anIntArray528[local285] + arg4;
|
||||
local303 = this.anIntArray531[local285] + arg6;
|
||||
local307 = local296 & 0x7F;
|
||||
|
|
@ -860,7 +860,7 @@ public final class SoftwareModel extends Model {
|
|||
} else {
|
||||
@Pc(506) int local506;
|
||||
if (arg0 == 2) {
|
||||
for (local285 = 0; local285 < local150.anInt5788; local285++) {
|
||||
for (local285 = 0; local285 < local150.vertexCount; local285++) {
|
||||
local296 = (this.anIntArray527[local285] << 16) / this.aShort38;
|
||||
if (local296 < arg1) {
|
||||
local303 = this.anIntArray528[local285] + arg4;
|
||||
|
|
@ -883,7 +883,7 @@ public final class SoftwareModel extends Model {
|
|||
local150.method4573(arg2, arg4, arg5, arg6, local285, local296);
|
||||
} else if (arg0 == 4) {
|
||||
local285 = this.aShort37 - this.aShort38;
|
||||
for (local296 = 0; local296 < this.anInt5788; local296++) {
|
||||
for (local296 = 0; local296 < this.vertexCount; local296++) {
|
||||
local303 = this.anIntArray528[local296] + arg4;
|
||||
local307 = this.anIntArray531[local296] + arg6;
|
||||
local311 = local303 & 0x7F;
|
||||
|
|
@ -897,7 +897,7 @@ public final class SoftwareModel extends Model {
|
|||
}
|
||||
} else if (arg0 == 5) {
|
||||
local285 = this.aShort37 - this.aShort38;
|
||||
for (local296 = 0; local296 < this.anInt5788; local296++) {
|
||||
for (local296 = 0; local296 < this.vertexCount; local296++) {
|
||||
local303 = this.anIntArray528[local296] + arg4;
|
||||
local307 = this.anIntArray531[local296] + arg6;
|
||||
local311 = local303 & 0x7F;
|
||||
|
|
@ -915,26 +915,26 @@ public final class SoftwareModel extends Model {
|
|||
}
|
||||
}
|
||||
}
|
||||
local150.aBoolean305 = false;
|
||||
local150.boundsValid = false;
|
||||
return local150;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "i", descriptor = "()V")
|
||||
@Override
|
||||
public final void method4563() {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.anInt5788; local1++) {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) {
|
||||
@Pc(10) int local10 = this.anIntArray528[local1];
|
||||
this.anIntArray528[local1] = this.anIntArray531[local1];
|
||||
this.anIntArray531[local1] = -local10;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "a", descriptor = "(IIIIIIIJ)V")
|
||||
@Override
|
||||
public final void method4571(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) long arg6) {
|
||||
try {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
@Pc(6) int local6 = Rasteriser.centerX;
|
||||
|
|
@ -948,7 +948,7 @@ public final class SoftwareModel extends Model {
|
|||
@Pc(36) int local36 = MathUtils.sin[arg2];
|
||||
@Pc(40) int local40 = MathUtils.cos[arg2];
|
||||
@Pc(50) int local50 = arg4 * local36 + arg5 * local40 >> 16;
|
||||
for (@Pc(52) int local52 = 0; local52 < this.anInt5788; local52++) {
|
||||
for (@Pc(52) int local52 = 0; local52 < this.vertexCount; local52++) {
|
||||
@Pc(61) int local61 = this.anIntArray528[local52];
|
||||
@Pc(66) int local66 = this.anIntArray527[local52];
|
||||
@Pc(71) int local71 = this.anIntArray531[local52];
|
||||
|
|
@ -1142,7 +1142,7 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "c", descriptor = "()I")
|
||||
@Override
|
||||
public final int method4550() {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
return this.aShort36;
|
||||
|
|
@ -1151,12 +1151,12 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "b", descriptor = "(III)V")
|
||||
@Override
|
||||
public final void resize(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.anInt5788; local1++) {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) {
|
||||
this.anIntArray528[local1] = this.anIntArray528[local1] * arg0 / 128;
|
||||
this.anIntArray527[local1] = this.anIntArray527[local1] * arg1 / 128;
|
||||
this.anIntArray531[local1] = this.anIntArray531[local1] * arg2 / 128;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "a", descriptor = "(ZZZ)Lclient!ak;")
|
||||
|
|
@ -1177,7 +1177,7 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "j", descriptor = "()I")
|
||||
@Override
|
||||
public final int method4566() {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
return this.aShort34;
|
||||
|
|
@ -1191,7 +1191,7 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "g", descriptor = "()I")
|
||||
@Override
|
||||
public final int method4561() {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
return this.aShort32;
|
||||
|
|
@ -1204,7 +1204,7 @@ public final class SoftwareModel extends Model {
|
|||
this.method4581();
|
||||
this.aBoolean304 = false;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "b", descriptor = "(I)V")
|
||||
|
|
@ -1212,12 +1212,12 @@ public final class SoftwareModel extends Model {
|
|||
public final void method4554(@OriginalArg(0) int arg0) {
|
||||
@Pc(3) int local3 = MathUtils.sin[arg0];
|
||||
@Pc(7) int local7 = MathUtils.cos[arg0];
|
||||
for (@Pc(9) int local9 = 0; local9 < this.anInt5788; local9++) {
|
||||
for (@Pc(9) int local9 = 0; local9 < this.vertexCount; local9++) {
|
||||
@Pc(29) int local29 = this.anIntArray531[local9] * local3 + this.anIntArray528[local9] * local7 >> 16;
|
||||
this.anIntArray531[local9] = this.anIntArray531[local9] * local7 - this.anIntArray528[local9] * local3 >> 16;
|
||||
this.anIntArray528[local9] = local29;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "a", descriptor = "(I[IIIIZ)V")
|
||||
|
|
@ -1725,18 +1725,18 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "l", descriptor = "()V")
|
||||
@Override
|
||||
public final void method4578() {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.anInt5788; local1++) {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) {
|
||||
@Pc(10) int local10 = this.anIntArray531[local1];
|
||||
this.anIntArray531[local1] = this.anIntArray528[local1];
|
||||
this.anIntArray528[local1] = -local10;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "b", descriptor = "(IIIIIIII)V")
|
||||
public final void method4591(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) int arg2, @OriginalArg(4) int arg3, @OriginalArg(5) int arg4, @OriginalArg(6) int arg5, @OriginalArg(7) int arg6) {
|
||||
try {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
@Pc(6) int local6 = Rasteriser.centerX;
|
||||
|
|
@ -1750,7 +1750,7 @@ public final class SoftwareModel extends Model {
|
|||
@Pc(36) int local36 = MathUtils.sin[arg2];
|
||||
@Pc(40) int local40 = MathUtils.cos[arg2];
|
||||
@Pc(50) int local50 = arg4 * local36 + arg5 * local40 >> 16;
|
||||
for (@Pc(52) int local52 = 0; local52 < this.anInt5788; local52++) {
|
||||
for (@Pc(52) int local52 = 0; local52 < this.vertexCount; local52++) {
|
||||
@Pc(61) int local61 = this.anIntArray528[local52];
|
||||
@Pc(66) int local66 = this.anIntArray527[local52];
|
||||
@Pc(71) int local71 = this.anIntArray531[local52];
|
||||
|
|
@ -1794,7 +1794,7 @@ public final class SoftwareModel extends Model {
|
|||
@Pc(11) int local11 = -32768;
|
||||
@Pc(13) int local13 = 0;
|
||||
@Pc(15) int local15 = 0;
|
||||
for (@Pc(17) int local17 = 0; local17 < this.anInt5788; local17++) {
|
||||
for (@Pc(17) int local17 = 0; local17 < this.vertexCount; local17++) {
|
||||
@Pc(26) int local26 = this.anIntArray528[local17];
|
||||
@Pc(31) int local31 = this.anIntArray527[local17];
|
||||
@Pc(36) int local36 = this.anIntArray531[local17];
|
||||
|
|
@ -1833,13 +1833,13 @@ public final class SoftwareModel extends Model {
|
|||
this.aShort36 = (short) local11;
|
||||
this.aShort34 = (short) (Math.sqrt((double) local13) + 0.99D);
|
||||
this.aShort35 = (short) (Math.sqrt((double) local15) + 0.99D);
|
||||
this.aBoolean305 = true;
|
||||
this.boundsValid = true;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "h", descriptor = "()I")
|
||||
@Override
|
||||
public final int method4562() {
|
||||
if (!this.aBoolean305) {
|
||||
if (!this.boundsValid) {
|
||||
this.method4592();
|
||||
}
|
||||
return this.aShort31;
|
||||
|
|
@ -2231,7 +2231,7 @@ public final class SoftwareModel extends Model {
|
|||
Static268.anInt5793 = 0;
|
||||
Static268.anInt5791 = 0;
|
||||
Static268.anInt5792 = 0;
|
||||
for (local11 = 0; local11 < this.anInt5788; local11++) {
|
||||
for (local11 = 0; local11 < this.vertexCount; local11++) {
|
||||
Static268.anInt5793 += this.anIntArray528[local11];
|
||||
Static268.anInt5791 += this.anIntArray527[local11];
|
||||
Static268.anInt5792 += this.anIntArray531[local11];
|
||||
|
|
@ -2247,7 +2247,7 @@ public final class SoftwareModel extends Model {
|
|||
Static268.anInt5792 = arg3;
|
||||
}
|
||||
} else if (arg0 == 1) {
|
||||
for (local3 = 0; local3 < this.anInt5788; local3++) {
|
||||
for (local3 = 0; local3 < this.vertexCount; local3++) {
|
||||
this.anIntArray528[local3] += arg1;
|
||||
this.anIntArray527[local3] += arg2;
|
||||
this.anIntArray531[local3] += arg3;
|
||||
|
|
@ -2256,7 +2256,7 @@ public final class SoftwareModel extends Model {
|
|||
@Pc(146) int local146;
|
||||
@Pc(164) int local164;
|
||||
if (arg0 == 2) {
|
||||
for (local3 = 0; local3 < this.anInt5788; local3++) {
|
||||
for (local3 = 0; local3 < this.vertexCount; local3++) {
|
||||
this.anIntArray528[local3] -= Static268.anInt5793;
|
||||
this.anIntArray527[local3] -= Static268.anInt5791;
|
||||
this.anIntArray531[local3] -= Static268.anInt5792;
|
||||
|
|
@ -2286,7 +2286,7 @@ public final class SoftwareModel extends Model {
|
|||
this.anIntArray531[local3] += Static268.anInt5792;
|
||||
}
|
||||
} else if (arg0 == 3) {
|
||||
for (local3 = 0; local3 < this.anInt5788; local3++) {
|
||||
for (local3 = 0; local3 < this.vertexCount; local3++) {
|
||||
this.anIntArray528[local3] -= Static268.anInt5793;
|
||||
this.anIntArray527[local3] -= Static268.anInt5791;
|
||||
this.anIntArray531[local3] -= Static268.anInt5792;
|
||||
|
|
@ -2336,12 +2336,12 @@ public final class SoftwareModel extends Model {
|
|||
@OriginalMember(owner = "client!w", name = "c", descriptor = "(III)V")
|
||||
@Override
|
||||
public final void method4575(@OriginalArg(0) int arg0, @OriginalArg(1) int arg1, @OriginalArg(2) int arg2) {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.anInt5788; local1++) {
|
||||
for (@Pc(1) int local1 = 0; local1 < this.vertexCount; local1++) {
|
||||
this.anIntArray528[local1] += arg0;
|
||||
this.anIntArray527[local1] += arg1;
|
||||
this.anIntArray531[local1] += arg2;
|
||||
}
|
||||
this.aBoolean305 = false;
|
||||
this.boundsValid = false;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!w", name = "b", descriptor = "(ZZZ)Lclient!ak;")
|
||||
|
|
|
|||
|
|
@ -52,7 +52,7 @@ public final class SoundBank {
|
|||
public final PcmSound method2738(@OriginalArg(0) int arg0, @OriginalArg(2) int[] arg1) {
|
||||
if (this.aClass153_52.method4483() == 1) {
|
||||
return this.method2737(arg1, 0, arg0);
|
||||
} else if (this.aClass153_52.method4504(arg0) == 1) {
|
||||
} else if (this.aClass153_52.getGroupCapacity(arg0) == 1) {
|
||||
return this.method2737(arg1, arg0, 0);
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
|
|
@ -93,7 +93,7 @@ public final class SoundBank {
|
|||
public final PcmSound method2741(@OriginalArg(1) int arg0, @OriginalArg(2) int[] arg1) {
|
||||
if (this.aClass153_53.method4483() == 1) {
|
||||
return this.method2740(0, arg1, arg0);
|
||||
} else if (this.aClass153_53.method4504(arg0) == 1) {
|
||||
} else if (this.aClass153_53.getGroupCapacity(arg0) == 1) {
|
||||
return this.method2740(arg0, arg1, 0);
|
||||
} else {
|
||||
throw new RuntimeException();
|
||||
|
|
|
|||
Some files were not shown because too many files have changed in this diff Show more
Loading…
Add table
Add a link
Reference in a new issue