Merge pull request #8 from woahscam/master

Definition value renaming
This commit is contained in:
Pazaz 2022-08-22 15:30:54 -04:00 committed by GitHub
commit 2bcf5c564d
No known key found for this signature in database
GPG key ID: 4AEE18F83AFDEB23
34 changed files with 884 additions and 866 deletions

View file

@ -108,9 +108,9 @@ public class AreaSoundManager {
basType = areaSound.npc.getBasType();
if (basType.idleAnimationId == areaSound.npc.movementSeqId) {
movementSpeed = 0;
} else if (basType.runAnimationId == areaSound.npc.movementSeqId || basType.runAnimationId2 == areaSound.npc.movementSeqId || basType.runAnimationId4 == areaSound.npc.movementSeqId || basType.runAnimationId3 == areaSound.npc.movementSeqId) {
} else if (basType.runAnimationId == areaSound.npc.movementSeqId || basType.runFullTurnAnimationId == areaSound.npc.movementSeqId || basType.runCWTurnAnimationId == areaSound.npc.movementSeqId || basType.runCCWTurnAnimationId == areaSound.npc.movementSeqId) {
movementSpeed = 2;
} else if (basType.anInt1062 == areaSound.npc.movementSeqId || basType.anInt1042 == areaSound.npc.movementSeqId || areaSound.npc.movementSeqId == basType.anInt1048 || basType.anInt1066 == areaSound.npc.movementSeqId) {
} else if (basType.slowWalkAnimationId == areaSound.npc.movementSeqId || basType.slowWalkFullTurnAnimationId == areaSound.npc.movementSeqId || areaSound.npc.movementSeqId == basType.slowWalkCWTurnAnimationId || basType.slowWalkCCWTurnAnimationId == areaSound.npc.movementSeqId) {
movementSpeed = 3;
}
if (areaSound.movementSpeed != movementSpeed) {
@ -135,9 +135,9 @@ public class AreaSoundManager {
basType = areaSound.player.getBasType();
if (areaSound.player.movementSeqId == basType.idleAnimationId) {
movementSpeed = 0;
} else if (areaSound.player.movementSeqId == basType.runAnimationId || areaSound.player.movementSeqId == basType.runAnimationId2 || areaSound.player.movementSeqId == basType.runAnimationId4 || basType.runAnimationId3 == areaSound.player.movementSeqId) {
} else if (areaSound.player.movementSeqId == basType.runAnimationId || areaSound.player.movementSeqId == basType.runFullTurnAnimationId || areaSound.player.movementSeqId == basType.runCWTurnAnimationId || basType.runCCWTurnAnimationId == areaSound.player.movementSeqId) {
movementSpeed = 2;
} else if (basType.anInt1062 == areaSound.player.movementSeqId || areaSound.player.movementSeqId == basType.anInt1042 || areaSound.player.movementSeqId == basType.anInt1048 || areaSound.player.movementSeqId == basType.anInt1066) {
} else if (basType.slowWalkAnimationId == areaSound.player.movementSeqId || areaSound.player.movementSeqId == basType.slowWalkFullTurnAnimationId || areaSound.player.movementSeqId == basType.slowWalkCWTurnAnimationId || areaSound.player.movementSeqId == basType.slowWalkCCWTurnAnimationId) {
movementSpeed = 3;
}
if (areaSound.movementSpeed != movementSpeed) {

View file

@ -15,43 +15,43 @@ public final class BasType {
public int[][] modelRotateTranslate;
@OriginalMember(owner = "client!ck", name = "p", descriptor = "I")
public int anInt1036 = -1;
public int standingCCWTurn = -1;
@OriginalMember(owner = "client!ck", name = "q", descriptor = "I")
public int idleAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "w", descriptor = "I")
public int runAnimationId3 = -1;
public int runCCWTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "u", descriptor = "I")
public int anInt1041 = 0;
public int pitchTargetAngle = 0;
@OriginalMember(owner = "client!ck", name = "v", descriptor = "I")
public int anInt1042 = -1;
public int slowWalkFullTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "e", descriptor = "I")
public int anInt1031 = 0;
public int yawMaxSpeed = 0;
@OriginalMember(owner = "client!ck", name = "G", descriptor = "I")
public int anInt1050 = 0;
@OriginalMember(owner = "client!ck", name = "E", descriptor = "I")
public int anInt1048 = -1;
public int slowWalkCWTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "M", descriptor = "I")
public int runAnimationId2 = -1;
public int runFullTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "N", descriptor = "I")
public int anInt1055 = 0;
public int rollAcceleration = 0;
@OriginalMember(owner = "client!ck", name = "m", descriptor = "I")
public int turnAnimation3 = -1;
public int walkCWTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "P", descriptor = "I")
public int turnAnimation1 = -1;
public int walkFullTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "h", descriptor = "I")
public int anInt1032 = -1;
public int movementAcceleration = -1;
@OriginalMember(owner = "client!ck", name = "H", descriptor = "I")
public int walkAnimation = -1;
@ -60,58 +60,58 @@ public final class BasType {
public int anInt1059 = 0;
@OriginalMember(owner = "client!ck", name = "z", descriptor = "I")
public int runAnimationId4 = -1;
public int runCWTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "r", descriptor = "I")
public int anInt1038 = 0;
public int yawAcceleration = 0;
@OriginalMember(owner = "client!ck", name = "fb", descriptor = "I")
public int anInt1065 = 0;
public int pitchAcceleration = 0;
@OriginalMember(owner = "client!ck", name = "ab", descriptor = "I")
public int anInt1062 = -1;
public int slowWalkAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "t", descriptor = "I")
public int anInt1040 = 0;
public int rollMaxSpeed = 0;
@OriginalMember(owner = "client!ck", name = "U", descriptor = "I")
public int runAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "ib", descriptor = "I")
public int anInt1066 = -1;
public int slowWalkCCWTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "bb", descriptor = "I")
public int anInt1063 = 0;
public int pitchMaxSpeed = 0;
@OriginalMember(owner = "client!ck", name = "R", descriptor = "I")
public int turnAnimation2 = -1;
public int walkCCWTurnAnimationId = -1;
@OriginalMember(owner = "client!ck", name = "jb", descriptor = "I")
public int anInt1067 = -1;
public int standingCWTurn = -1;
@OriginalMember(owner = "client!ck", name = "cb", descriptor = "I")
public int anInt1064 = 0;
public int rollTargetAngle = 0;
@OriginalMember(owner = "client!ck", name = "a", descriptor = "(I)V")
public final void method878() {
}
@OriginalMember(owner = "client!ck", name = "a", descriptor = "(ILclient!wa;)V")
public final void decode(@OriginalArg(1) Buffer arg0) {
public final void decode(@OriginalArg(1) Buffer buffer) {
while (true) {
@Pc(16) int local16 = arg0.g1();
if (local16 == 0) {
@Pc(16) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.method881(local16, arg0);
this.decode(opcode, buffer);
}
}
@OriginalMember(owner = "client!ck", name = "a", descriptor = "(IBLclient!wa;)V")
private void method881(@OriginalArg(0) int opcode, @OriginalArg(2) Buffer arg1) {
private void decode(@OriginalArg(0) int opcode, @OriginalArg(2) Buffer buffer) {
if (opcode == 1) {
this.idleAnimationId = arg1.g2();
this.walkAnimation = arg1.g2();
this.idleAnimationId = buffer.g2();
this.walkAnimation = buffer.g2();
if (this.walkAnimation == 65535) {
this.walkAnimation = -1;
}
@ -119,67 +119,75 @@ public final class BasType {
this.idleAnimationId = -1;
}
} else if (opcode == 2) {
this.anInt1062 = arg1.g2();
this.slowWalkAnimationId = buffer.g2();
} else if (opcode == 3) {
this.anInt1042 = arg1.g2();
this.slowWalkFullTurnAnimationId = buffer.g2();
} else if (opcode == 4) {
this.anInt1066 = arg1.g2();
this.slowWalkCCWTurnAnimationId = buffer.g2();
} else if (opcode == 5) {
this.anInt1048 = arg1.g2();
this.slowWalkCWTurnAnimationId = buffer.g2();
} else if (opcode == 6) {
this.runAnimationId = arg1.g2();
this.runAnimationId = buffer.g2();
} else if (opcode == 7) {
this.runAnimationId2 = arg1.g2();
this.runFullTurnAnimationId = buffer.g2();
} else if (opcode == 8) {
this.runAnimationId3 = arg1.g2();
this.runCCWTurnAnimationId = buffer.g2();
} else if (opcode == 9) {
this.runAnimationId4 = arg1.g2();
this.runCWTurnAnimationId = buffer.g2();
} else if (opcode == 26) {
this.anInt1059 = (short) (arg1.g1() * 4);
this.anInt1050 = (short) (arg1.g1() * 4);
this.anInt1059 = (short) (buffer.g1() * 4);
this.anInt1050 = (short) (buffer.g1() * 4);
} else if (opcode == 27) {
if (this.modelRotateTranslate == null) {
this.modelRotateTranslate = new int[12][];
}
@Pc(306) int bodyId = arg1.g1();
@Pc(306) int bodyId = buffer.g1();
this.modelRotateTranslate[bodyId] = new int[6];
for (@Pc(314) int type = 0; type < 6; type++) {
this.modelRotateTranslate[bodyId][type] = arg1.g2b();
/*
* 0 -Rotate X
* 1 - Rotate Y
* 2 - Rotate Z
* 3 - Translate X
* 4 - Translate Y
* 5 - Translate Z
*/
this.modelRotateTranslate[bodyId][type] = buffer.g2b();
}
} else if (opcode == 29) {
this.anInt1038 = arg1.g1();
this.yawAcceleration = buffer.g1();
} else if (opcode == 30) {
this.anInt1031 = arg1.g2();
this.yawMaxSpeed = buffer.g2();
} else if (opcode == 31) {
this.anInt1055 = arg1.g1();
this.rollAcceleration = buffer.g1();
} else if (opcode == 32) {
this.anInt1040 = arg1.g2();
this.rollMaxSpeed = buffer.g2();
} else if (opcode == 33) {
this.anInt1064 = arg1.g2b();
this.rollTargetAngle = buffer.g2b();
} else if (opcode == 34) {
this.anInt1065 = arg1.g1();
this.pitchAcceleration = buffer.g1();
} else if (opcode == 35) {
this.anInt1063 = arg1.g2();
this.pitchMaxSpeed = buffer.g2();
} else if (opcode == 36) {
this.anInt1041 = arg1.g2b();
this.pitchTargetAngle = buffer.g2b();
} else if (opcode == 37) {
this.anInt1032 = arg1.g1();
this.movementAcceleration = buffer.g1();
} else if (opcode == 38) {
this.anInt1036 = arg1.g2();
this.standingCCWTurn = buffer.g2();
} else if (opcode == 39) {
this.anInt1067 = arg1.g2();
this.standingCWTurn = buffer.g2();
} else if (opcode == 40) {
this.turnAnimation1 = arg1.g2();
this.walkFullTurnAnimationId = buffer.g2();
} else if (opcode == 41) {
this.turnAnimation2 = arg1.g2();
this.walkCCWTurnAnimationId = buffer.g2();
} else if (opcode == 42) {
this.turnAnimation3 = arg1.g2();
this.walkCWTurnAnimationId = buffer.g2();
} else if (opcode == 43) {
arg1.g2();
buffer.g2();
} else if (opcode == 44) {
arg1.g2();
buffer.g2();
} else if (opcode == 45) {
arg1.g2();
buffer.g2();
}
}
}

View file

@ -11,7 +11,7 @@ public final class FloType {
@OriginalMember(owner = "client!ca", name = "db", descriptor = "I")
public static int anInt865 = 0;
@OriginalMember(owner = "client!wl", name = "j", descriptor = "Z")
public boolean aBoolean310 = false;
public boolean blendTexture = false;
@OriginalMember(owner = "client!wl", name = "l", descriptor = "Z")
public boolean aBoolean311 = true;
@ -23,68 +23,75 @@ public final class FloType {
public int anInt5885 = 128;
@OriginalMember(owner = "client!wl", name = "w", descriptor = "I")
public int anInt5897 = 8;
public int textureBrightness = 8;
@OriginalMember(owner = "client!wl", name = "x", descriptor = "I")
public int anInt5898 = 16;
public int waterOpacity = 16;
@OriginalMember(owner = "client!wl", name = "t", descriptor = "I")
public int anInt5894 = -1;
public int secondaryColor = -1;
@OriginalMember(owner = "client!wl", name = "y", descriptor = "Z")
public boolean aBoolean312 = true;
public boolean occludeUnderlay = true;
@OriginalMember(owner = "client!wl", name = "z", descriptor = "I")
public int anInt5899 = 0;
public int baseColor = 0;
@OriginalMember(owner = "client!wl", name = "m", descriptor = "I")
public int anInt5889 = 1190717;
public int waterColor = 1190717;
@OriginalMember(owner = "client!be", name = "a", descriptor = "(II)I")
public static int method492(@OriginalArg(1) int arg0) {
return arg0 == 16711935 ? -1 : ColorUtils.rgbToHsl(arg0);
public static int method492(@OriginalArg(1) int color) {
return color == 16711935 ? -1 : ColorUtils.rgbToHsl(color);
}
@OriginalMember(owner = "client!wl", name = "a", descriptor = "(ILclient!wa;I)V")
public final void decode(@OriginalArg(1) Buffer arg0, @OriginalArg(2) int arg1) {
public final void decode(@OriginalArg(1) Buffer buffer, @OriginalArg(2) int id) {
while (true) {
@Pc(5) int local5 = arg0.g1();
if (local5 == 0) {
@Pc(5) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.method4674(local5, arg0, arg1);
this.decode(opcode, buffer, id);
}
}
@OriginalMember(owner = "client!wl", name = "a", descriptor = "(IILclient!wa;I)V")
private void method4674(@OriginalArg(1) int arg0, @OriginalArg(2) Buffer arg1, @OriginalArg(3) int arg2) {
if (arg0 == 1) {
this.anInt5899 = method492(arg1.g3());
} else if (arg0 == 2) {
this.texture = arg1.g1();
} else if (arg0 == 3) {
this.texture = arg1.g2();
private void decode(@OriginalArg(1) int opcode, @OriginalArg(2) Buffer buffer, @OriginalArg(3) int id) {
if (opcode == 1) {
this.baseColor = method492(buffer.g3());
} else if (opcode == 2) {
this.texture = buffer.g1();
} else if (opcode == 3) {
this.texture = buffer.g2();
if (this.texture == 65535) {
this.texture = -1;
}
} else if (arg0 == 5) {
this.aBoolean312 = false;
} else if (arg0 == 7) {
this.anInt5894 = method492(arg1.g3());
} else if (arg0 == 8) {
anInt865 = arg2;
} else if (arg0 == 9) {
this.anInt5885 = arg1.g2();
} else if (arg0 == 10) {
} else if (opcode == 5) {
this.occludeUnderlay = false;
} else if (opcode == 7) {
this.secondaryColor = method492(buffer.g3());
} else if (opcode == 8) {
anInt865 = id;
} else if (opcode == 9) {
this.anInt5885 = buffer.g2();
} else if (opcode == 10) {
this.aBoolean311 = false;
} else if (arg0 == 11) {
this.anInt5897 = arg1.g1();
} else if (arg0 == 12) {
this.aBoolean310 = true;
} else if (arg0 == 13) {
this.anInt5889 = arg1.g3();
} else if (arg0 == 14) {
this.anInt5898 = arg1.g1();
} else if (opcode == 11) {
this.textureBrightness = buffer.g1();
} else if (opcode == 12) {
this.blendTexture = true;
} else if (opcode == 13) {
this.waterColor = buffer.g3();
} else if (opcode == 14) {
/*
* Handles how deep into water the player is able to see,
* seems to (but not confirmed) work in jumps of 2, so: "0, 2, 4, 6" etc.
* It seems any number equals to or less than 0, removes any visual
* effect obscuring the depth view. The first increment in order,
* being 2, blocks almost 100% of the view of the underwater map (UM).
*/
this.waterOpacity = buffer.g1();
}
}
}

View file

@ -19,18 +19,18 @@ public class FloTypeList {
}
@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(arg0);
if (local6 != null) {
return local6;
public static FloType method4395(@OriginalArg(1) int id) {
@Pc(6) FloType floorOverlay = (FloType) types.get(id);
if (floorOverlay != null) {
return floorOverlay;
}
@Pc(30) byte[] local30 = archive.fetchFile(4, arg0);
local6 = new FloType();
if (local30 != null) {
local6.decode(new Buffer(local30), arg0);
@Pc(30) byte[] data = archive.fetchFile(4, id);
floorOverlay = new FloType();
if (data != null) {
floorOverlay.decode(new Buffer(data), id);
}
types.put(local6, arg0);
return local6;
types.put(floorOverlay, id);
return floorOverlay;
}
@OriginalMember(owner = "client!uh", name = "e", descriptor = "(I)V")

View file

@ -24,13 +24,13 @@ public final class FluType {
private int color = 0;
@OriginalMember(owner = "client!ni", name = "m", descriptor = "I")
public int anInt4155 = -1;
public int texture = -1;
@OriginalMember(owner = "client!ni", name = "o", descriptor = "I")
public int anInt4156 = 128;
@OriginalMember(owner = "client!ni", name = "l", descriptor = "Z")
public boolean aBoolean198 = true;
public boolean blockShadow = true;
@OriginalMember(owner = "client!ni", name = "a", descriptor = "(IB)V")
private void rgbToHsl(@OriginalArg(0) int arg0) {
@ -94,30 +94,30 @@ public final class FluType {
}
@OriginalMember(owner = "client!ni", name = "a", descriptor = "(ILclient!wa;I)V")
public final void decode(@OriginalArg(0) int arg0, @OriginalArg(1) Buffer arg1) {
public final void decode(@OriginalArg(0) int id, @OriginalArg(1) Buffer buffer) {
while (true) {
@Pc(7) int local7 = arg1.g1();
if (local7 == 0) {
@Pc(7) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.method3220(local7, arg1, arg0);
this.decode(opcode, buffer, id);
}
}
@OriginalMember(owner = "client!ni", name = "a", descriptor = "(BILclient!wa;I)V")
private void method3220(@OriginalArg(1) int arg0, @OriginalArg(2) Buffer arg1, @OriginalArg(3) int arg2) {
if (arg0 == 1) {
this.color = arg1.g3();
private void decode(@OriginalArg(1) int opcode, @OriginalArg(2) Buffer buffer, @OriginalArg(3) int arg2) {
if (opcode == 1) {
this.color = buffer.g3();
this.rgbToHsl(this.color);
} else if (arg0 == 2) {
this.anInt4155 = arg1.g2();
if (this.anInt4155 == 65535) {
this.anInt4155 = -1;
} else if (opcode == 2) {
this.texture = buffer.g2();
if (this.texture == 65535) {
this.texture = -1;
}
} else if (arg0 == 3) {
this.anInt4156 = arg1.g2();
} else if (arg0 == 4) {
this.aBoolean198 = false;
} else if (opcode == 3) {
this.anInt4156 = buffer.g2();
} else if (opcode == 4) {
this.blockShadow = false;
}
}
}

View file

@ -11,18 +11,18 @@ public class FluTypeList {
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(arg0);
if (local10 != null) {
return local10;
public static FluType get(@OriginalArg(1) int id) {
@Pc(10) FluType floorUnderlay = (FluType) types.get(id);
if (floorUnderlay != null) {
return floorUnderlay;
}
@Pc(27) byte[] local27 = archive.fetchFile(1, arg0);
local10 = new FluType();
if (local27 != null) {
local10.decode(arg0, new Buffer(local27));
@Pc(27) byte[] data = archive.fetchFile(1, id);
floorUnderlay = new FluType();
if (data != null) {
floorUnderlay.decode(id, new Buffer(data));
}
types.put(local10, arg0);
return local10;
types.put(floorUnderlay, id);
return floorUnderlay;
}
@OriginalMember(owner = "client!hc", name = "a", descriptor = "(Lclient!ve;I)V")

View file

@ -12,20 +12,20 @@ public final class InvType extends SecondaryNode {
public int size = 0;
@OriginalMember(owner = "client!md", name = "a", descriptor = "(Lclient!wa;I)V")
public final void decode(@OriginalArg(0) Buffer arg0) {
public final void decode(@OriginalArg(0) Buffer buffer) {
while (true) {
@Pc(10) int local10 = arg0.g1();
if (local10 == 0) {
@Pc(10) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.method2931(arg0, local10);
this.decode(buffer, opcode);
}
}
@OriginalMember(owner = "client!md", name = "a", descriptor = "(Lclient!wa;IZ)V")
private void method2931(@OriginalArg(0) Buffer arg0, @OriginalArg(1) int arg1) {
if (arg1 == 2) {
this.size = arg0.g2();
private void decode(@OriginalArg(0) Buffer buffer, @OriginalArg(1) int opcode) {
if (opcode == 2) {
this.size = buffer.g2();
}
}
}

View file

@ -44,7 +44,7 @@ public final class LocType {
public static LocEntity aClass139_1 = new LocEntity();
@OriginalMember(owner = "client!pb", name = "a", descriptor = "[S")
private short[] retex_d;
private short[] retex_s;
@OriginalMember(owner = "client!pb", name = "b", descriptor = "[S")
private short[] recol_s;
@ -53,7 +53,7 @@ public final class LocType {
private int[] shapes;
@OriginalMember(owner = "client!pb", name = "v", descriptor = "[S")
private short[] retex_s;
private short[] retex_d;
@OriginalMember(owner = "client!pb", name = "B", descriptor = "Lclient!sc;")
private HashTable params;
@ -62,7 +62,7 @@ public final class LocType {
private short[] recol_d;
@OriginalMember(owner = "client!pb", name = "P", descriptor = "[B")
public byte[] aByteArray63;
public byte[] recol_p;
@OriginalMember(owner = "client!pb", name = "X", descriptor = "[I")
private int[] models;
@ -109,7 +109,7 @@ public final class LocType {
public int mapscene = -1;
@OriginalMember(owner = "client!pb", name = "G", descriptor = "B")
private byte hillskew = 0;
private byte hillskewType = 0;
@OriginalMember(owner = "client!pb", name = "r", descriptor = "Z")
public boolean members = false;
@ -133,7 +133,7 @@ public final class LocType {
public int cursor2Op = -1;
@OriginalMember(owner = "client!pb", name = "A", descriptor = "S")
public short aShort26 = -1;
public short hillskewAmount = -1;
@OriginalMember(owner = "client!pb", name = "g", descriptor = "I")
private int resizez = 128;
@ -331,7 +331,7 @@ public final class LocType {
local211 = this.resizex != 128 || this.resizey != 128 || this.resizez != 128;
@Pc(230) boolean local230;
local230 = this.xoff != 0 || this.yoff != 0 || this.zoff != 0;
@Pc(265) RawModel local265 = new RawModel(local7, arg0 == 0 && !local211 && !local230, this.recol_s == null, this.retex_d == null, true);
@Pc(265) RawModel local265 = new RawModel(local7, arg0 == 0 && !local211 && !local230, this.recol_s == null, this.retex_s == null, true);
if (arg1 == 4 && arg0 > 3) {
local265.method1682();
local265.translate(45, 0, -45);
@ -347,16 +347,16 @@ public final class LocType {
@Pc(315) int local315;
if (this.recol_s != null) {
for (local315 = 0; local315 < this.recol_s.length; local315++) {
if (this.aByteArray63 == null || this.aByteArray63.length <= local315) {
if (this.recol_p == null || this.recol_p.length <= local315) {
local265.recolor(this.recol_s[local315], this.recol_d[local315]);
} else {
local265.recolor(this.recol_s[local315], client.aShortArray19[this.aByteArray63[local315] & 0xFF]);
local265.recolor(this.recol_s[local315], client.aShortArray19[this.recol_p[local315] & 0xFF]);
}
}
}
if (this.retex_d != null) {
for (local315 = 0; local315 < this.retex_d.length; local315++) {
local265.retexture(this.retex_d[local315], this.retex_s[local315]);
if (this.retex_s != null) {
for (local315 = 0; local315 < this.retex_s.length; local315++) {
local265.retexture(this.retex_s[local315], this.retex_d[local315]);
}
}
if (local211) {
@ -469,7 +469,7 @@ public final class LocType {
} else if (opcode == 19) {
this.interactable = buffer.g1();
} else if (opcode == 21) {
this.hillskew = 1;
this.hillskewType = 1;
} else if (opcode == 22) { // sharelight
this.computeVertexColors = true;
} else if (opcode == 23) {
@ -502,18 +502,17 @@ public final class LocType {
}
} else if (opcode == 41) {
count = buffer.g1();
this.retex_s = new short[count];
this.retex_d = new short[count];
this.retex_s = new short[count];
for (len = 0; len < count; len++) {
this.retex_d[len] = (short) buffer.g2();
this.retex_s[len] = (short) buffer.g2();
this.retex_d[len] = (short) buffer.g2();
}
} else if (opcode == 42) {
// recolor-related
count = buffer.g1();
this.aByteArray63 = new byte[count];
this.recol_p = new byte[count];
for (len = 0; len < count; len++) {
this.aByteArray63[len] = buffer.g1b();
this.recol_p[len] = buffer.g1b();
}
} else if (opcode == 60) {
this.mapfunction = buffer.g2();
@ -580,8 +579,8 @@ public final class LocType {
this.bgsounds[len] = buffer.g2();
}
} else if (opcode == 81) { // sethillskew
this.hillskew = 2;
this.aShort26 = (short) (buffer.g1() * 256);
this.hillskewType = 2;
this.hillskewAmount = (short) (buffer.g1() * 256);
} else if (opcode == 82) {
this.render = true;
} else if (opcode == 88) {
@ -593,12 +592,12 @@ public final class LocType {
} else if (opcode == 91) {
this.members = true;
} else if (opcode == 93) {
this.hillskew = 3;
this.aShort26 = (short) buffer.g2();
this.hillskewType = 3;
this.hillskewAmount = (short) buffer.g2();
} else if (opcode == 94) {
this.hillskew = 4;
this.hillskewType = 4;
} else if (opcode == 95) {
this.hillskew = 5;
this.hillskewType = 5;
} else if (opcode == 96) {
this.hasanimation = true;
} else if (opcode == 97) {
@ -722,7 +721,7 @@ public final class LocType {
}
@Pc(264) boolean local264 = this.resizey == 128 && this.yoff == 0;
@Pc(294) boolean local294 = arg0 == 0 && this.resizex == 128 && this.resizez == 128 && this.xoff == 0 && this.zoff == 0 && !local236;
@Pc(351) GlModel local351 = local79.method4117(local294, local264, this.recol_s == null, local79.method4094() == local10, arg0 == 0 && !local236, true, local17 == local79.method4115(), !local236, this.retex_d == null);
@Pc(351) GlModel local351 = local79.method4117(local294, local264, this.recol_s == null, local79.method4094() == local10, arg0 == 0 && !local236, true, local17 == local79.method4115(), !local236, this.retex_s == null);
if (local236) {
local351.method4122();
}
@ -743,9 +742,9 @@ public final class LocType {
local351.method4109(this.recol_s[local177], this.recol_d[local177]);
}
}
if (this.retex_d != null) {
for (local177 = 0; local177 < this.retex_d.length; local177++) {
local351.method4107(this.retex_d[local177], this.retex_s[local177]);
if (this.retex_s != null) {
for (local177 = 0; local177 < this.retex_s.length; local177++) {
local351.method4107(this.retex_s[local177], this.retex_d[local177]);
}
}
if (this.resizex != 128 || this.resizey != 128 || this.resizez != 128) {
@ -799,9 +798,9 @@ public final class LocType {
local265 = local225.sprite;
}
@Pc(298) boolean local298 = this.computeVertexColors & arg6;
@Pc(330) GlModel local330 = local235.method4117(this.hillskew != 3, this.hillskew == 0, true, true, true, !local298, true, true, true);
if (this.hillskew != 0) {
local330.method4110(this.hillskew, this.aShort26, local235, arg2, arg5, arg1, arg4, arg9);
@Pc(330) GlModel local330 = local235.method4117(this.hillskewType != 3, this.hillskewType == 0, true, true, true, !local298, true, true, true);
if (this.hillskewType != 0) {
local330.method4110(this.hillskewType, this.hillskewAmount, local235, arg2, arg5, arg1, arg4, arg9);
}
local330.method4111(this.interactable == 0 && !this.aBoolean214, true, true, this.interactable == 0, true, false);
aClass139_1.model = local330;
@ -845,11 +844,11 @@ public final class LocType {
if (local50) {
local60 = ((RawModel) local60).method1675();
}
if (this.hillskew != 0) {
if (this.hillskewType != 0) {
if (local60 instanceof SoftwareModel) {
local60 = ((SoftwareModel) local60).method4586(this.hillskew, this.aShort26, arg2, arg5, arg1, arg4, arg9, true);
local60 = ((SoftwareModel) local60).method4586(this.hillskewType, this.hillskewAmount, arg2, arg5, arg1, arg4, arg9, true);
} else if (local60 instanceof RawModel) {
local60 = ((RawModel) local60).method1670(this.hillskew, this.aShort26, arg2, arg5, arg1, arg4, arg9);
local60 = ((RawModel) local60).method1670(this.hillskewType, this.hillskewAmount, arg2, arg5, arg1, arg4, arg9);
}
}
aClass139_1.model = local60;
@ -886,11 +885,11 @@ public final class LocType {
}
local195.rotateY(256);
}
if (this.hillskew != 0) {
if (this.hillskewType != 0) {
if (!local234) {
local195 = (SoftwareModel) local195.method4568(true, true, true);
}
local195 = local195.method4586(this.hillskew, this.aShort26, arg6, arg9, arg1, arg3, arg0, false);
local195 = local195.method4586(this.hillskewType, this.hillskewAmount, arg6, arg9, arg1, arg3, arg0, false);
}
aClass139_1.model = local195;
return aClass139_1;
@ -928,11 +927,11 @@ public final class LocType {
} else {
aClass139_1.sprite = null;
}
if (this.hillskew != 0) {
if (this.hillskewType != 0) {
if (!local80) {
local82 = (GlModel) local82.method4568(true, true, true);
}
local82.method4110(this.hillskew, this.aShort26, local46, arg6, arg9, arg1, arg3, arg0);
local82.method4110(this.hillskewType, this.hillskewAmount, local46, arg6, arg9, arg1, arg3, arg0);
}
aClass139_1.model = local82;
return aClass139_1;

View file

@ -22,36 +22,36 @@ public class LocTypeList {
@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(id);
if (local15 != null) {
return local15;
@Pc(15) LocType loc = (LocType) types.get(id);
if (loc != null) {
return loc;
}
@Pc(30) byte[] local30 = locsArchive.fetchFile(getGroupId(id), getFileId(id));
local15 = new LocType();
local15.id = id;
if (local30 != null) {
local15.decode(new Buffer(local30));
@Pc(30) byte[] data = locsArchive.fetchFile(getGroupId(id), getFileId(id));
loc = new LocType();
loc.id = id;
if (data != null) {
loc.decode(new Buffer(data));
}
local15.postDecode();
if (!allowMembers && local15.members) {
local15.ops = null;
loc.postDecode();
if (!allowMembers && loc.members) {
loc.ops = null;
}
if (local15.breakroutefinding) {
local15.blockwalk = 0;
local15.blockrange = false;
if (loc.breakroutefinding) {
loc.blockwalk = 0;
loc.blockrange = false;
}
types.put(local15, id);
return local15;
types.put(loc, id);
return loc;
}
@OriginalMember(owner = "client!ui", name = "c", descriptor = "(II)I")
public static int getGroupId(@OriginalArg(0) int arg0) {
return arg0 >>> 8;
public static int getGroupId(@OriginalArg(0) int id) {
return id >>> 8;
}
@OriginalMember(owner = "client!cj", name = "a", descriptor = "(IB)I")
public static int getFileId(@OriginalArg(0) int arg0) {
return arg0 & 0xFF;
public static int getFileId(@OriginalArg(0) int id) {
return id & 0xFF;
}
@OriginalMember(owner = "client!oi", name = "a", descriptor = "(ILclient!ve;Lclient!ve;Z)V")

View file

@ -1400,7 +1400,7 @@ public class MiniMenu {
if (local281 != 0) {
local281 += local271;
}
add(arg0.anInt3752, arg2, JagString.concatenate(new JagString[]{aClass100_965, local35}), arg1, local281, local129[local140], arg3);
add(arg0.attackCursor, arg2, JagString.concatenate(new JagString[]{aClass100_965, local35}), arg1, local281, local129[local140], arg3);
}
}
}

View file

@ -12,24 +12,24 @@ public final class Npc extends PathingEntity {
public NpcType type;
@OriginalMember(owner = "client!ij", name = "a", descriptor = "(Lclient!km;I)I")
public static int getSound(@OriginalArg(0) Npc arg0) {
@Pc(13) NpcType local13 = arg0.type;
if (local13.multiNpcs != null) {
local13 = local13.getMultiNpc();
if (local13 == null) {
public static int getSound(@OriginalArg(0) Npc npc) {
@Pc(13) NpcType npcType = npc.type;
if (npcType.multiNpcs != null) {
npcType = npcType.getMultiNpc();
if (npcType == null) {
return -1;
}
}
@Pc(29) int local29 = local13.walkSound;
@Pc(33) BasType local33 = arg0.getBasType();
if (local33.idleAnimationId == arg0.movementSeqId) {
local29 = local13.idleSound;
} else if (arg0.movementSeqId == local33.runAnimationId || local33.runAnimationId2 == arg0.movementSeqId || arg0.movementSeqId == local33.runAnimationId4 || arg0.movementSeqId == local33.runAnimationId3) {
local29 = local13.runSound;
} else if (local33.anInt1062 == arg0.movementSeqId || arg0.movementSeqId == local33.anInt1042 || arg0.movementSeqId == local33.anInt1048 || arg0.movementSeqId == local33.anInt1066) {
local29 = local13.crawlSound;
@Pc(29) int sound = npcType.walkSound;
@Pc(33) BasType npcBas = npc.getBasType();
if (npcBas.idleAnimationId == npc.movementSeqId) {
sound = npcType.idleSound;
} else if (npc.movementSeqId == npcBas.runAnimationId || npcBas.runFullTurnAnimationId == npc.movementSeqId || npc.movementSeqId == npcBas.runCWTurnAnimationId || npc.movementSeqId == npcBas.runCCWTurnAnimationId) {
sound = npcType.runSound;
} else if (npcBas.slowWalkAnimationId == npc.movementSeqId || npc.movementSeqId == npcBas.slowWalkFullTurnAnimationId || npc.movementSeqId == npcBas.slowWalkCWTurnAnimationId || npc.movementSeqId == npcBas.slowWalkCCWTurnAnimationId) {
sound = npcType.crawlSound;
}
return local29;
return sound;
}
@OriginalMember(owner = "client!km", name = "finalize", descriptor = "()V")

View file

@ -154,7 +154,7 @@ public class NpcList {
arg0.anInt3400 = 1536;
}
@Pc(224) int local224 = arg0.anInt3400 - arg0.anInt3381 & 0x7FF;
@Pc(227) int local227 = local9.turnAnimation1;
@Pc(227) int local227 = local9.walkFullTurnAnimationId;
if (local224 > 1024) {
local224 -= 2048;
}
@ -163,9 +163,9 @@ public class NpcList {
if (local224 >= -256 && local224 <= 256) {
local227 = local9.walkAnimation;
} else if (local224 >= 256 && local224 < 768) {
local227 = local9.turnAnimation3;
local227 = local9.walkCWTurnAnimationId;
} else if (local224 >= -768 && local224 <= -256) {
local227 = local9.turnAnimation2;
local227 = local9.walkCCWTurnAnimationId;
}
@Pc(273) int local273 = 4;
if (local227 == -1) {
@ -209,54 +209,54 @@ public class NpcList {
local273 >>= 0x1;
}
if (local273 < 8 || local9.runAnimationId == -1) {
if (local9.anInt1062 != -1 && local235 == 0) {
if (local9.turnAnimation1 == arg0.movementSeqId && local9.anInt1042 != -1) {
arg0.movementSeqId = local9.anInt1042;
} else if (local9.turnAnimation2 == arg0.movementSeqId && local9.anInt1066 != -1) {
arg0.movementSeqId = local9.anInt1066;
} else if (local9.turnAnimation3 == arg0.movementSeqId && local9.anInt1048 != -1) {
arg0.movementSeqId = local9.anInt1048;
if (local9.slowWalkAnimationId != -1 && local235 == 0) {
if (local9.walkFullTurnAnimationId == arg0.movementSeqId && local9.slowWalkFullTurnAnimationId != -1) {
arg0.movementSeqId = local9.slowWalkFullTurnAnimationId;
} else if (local9.walkCCWTurnAnimationId == arg0.movementSeqId && local9.slowWalkCCWTurnAnimationId != -1) {
arg0.movementSeqId = local9.slowWalkCCWTurnAnimationId;
} else if (local9.walkCWTurnAnimationId == arg0.movementSeqId && local9.slowWalkCWTurnAnimationId != -1) {
arg0.movementSeqId = local9.slowWalkCWTurnAnimationId;
} else {
arg0.movementSeqId = local9.anInt1062;
arg0.movementSeqId = local9.slowWalkAnimationId;
}
}
} else if (local9.turnAnimation1 == arg0.movementSeqId && local9.runAnimationId2 != -1) {
arg0.movementSeqId = local9.runAnimationId2;
} else if (arg0.movementSeqId == local9.turnAnimation2 && local9.runAnimationId3 != -1) {
arg0.movementSeqId = local9.runAnimationId3;
} else if (arg0.movementSeqId == local9.turnAnimation3 && local9.runAnimationId4 != -1) {
arg0.movementSeqId = local9.runAnimationId4;
} else if (local9.walkFullTurnAnimationId == arg0.movementSeqId && local9.runFullTurnAnimationId != -1) {
arg0.movementSeqId = local9.runFullTurnAnimationId;
} else if (arg0.movementSeqId == local9.walkCCWTurnAnimationId && local9.runCCWTurnAnimationId != -1) {
arg0.movementSeqId = local9.runCCWTurnAnimationId;
} else if (arg0.movementSeqId == local9.walkCWTurnAnimationId && local9.runCWTurnAnimationId != -1) {
arg0.movementSeqId = local9.runCWTurnAnimationId;
} else {
arg0.movementSeqId = local9.runAnimationId;
}
if (local9.anInt1032 != -1) {
if (local9.movementAcceleration != -1) {
local273 <<= 0x7;
if (arg0.movementQueueSize == 1) {
@Pc(594) int local594 = (local99 >= arg0.xFine ? local99 - arg0.xFine : -local99 + arg0.xFine) << 7;
@Pc(600) int local600 = arg0.anInt3358 * arg0.anInt3358;
@Pc(622) int local622 = (local116 < arg0.zFine ? arg0.zFine - local116 : -arg0.zFine + local116) << 7;
@Pc(629) int local629 = local594 > local622 ? local594 : local622;
@Pc(636) int local636 = local9.anInt1032 * 2 * local629;
@Pc(636) int local636 = local9.movementAcceleration * 2 * local629;
if (local636 < local600) {
arg0.anInt3358 /= 2;
} else if (local629 < local600 / 2) {
arg0.anInt3358 -= local9.anInt1032;
arg0.anInt3358 -= local9.movementAcceleration;
if (arg0.anInt3358 < 0) {
arg0.anInt3358 = 0;
}
} else if (arg0.anInt3358 < local273) {
arg0.anInt3358 += local9.anInt1032;
arg0.anInt3358 += local9.movementAcceleration;
if (arg0.anInt3358 > local273) {
arg0.anInt3358 = local273;
}
}
} else if (local273 > arg0.anInt3358) {
arg0.anInt3358 += local9.anInt1032;
arg0.anInt3358 += local9.movementAcceleration;
if (local273 < arg0.anInt3358) {
arg0.anInt3358 = local273;
}
} else if (arg0.anInt3358 > 0) {
arg0.anInt3358 -= local9.anInt1032;
arg0.anInt3358 -= local9.movementAcceleration;
if (arg0.anInt3358 < 0) {
arg0.anInt3358 = 0;
}
@ -343,7 +343,7 @@ public class NpcList {
if (local70 == 0) {
arg0.anInt3385 = 0;
arg0.anInt3414 = 0;
} else if (local13.anInt1038 == 0) {
} else if (local13.yawAcceleration == 0) {
arg0.anInt3385++;
@Pc(226) boolean local226;
if (local70 > 1024) {
@ -354,10 +354,10 @@ public class NpcList {
local226 = false;
}
if (local13.idleAnimationId == arg0.movementSeqId && (arg0.anInt3385 > 25 || local226)) {
if (local13.anInt1036 == -1) {
if (local13.standingCCWTurn == -1) {
arg0.movementSeqId = local13.walkAnimation;
} else {
arg0.movementSeqId = local13.anInt1036;
arg0.movementSeqId = local13.standingCCWTurn;
}
}
} else {
@ -368,20 +368,20 @@ public class NpcList {
arg0.anInt3381 = arg0.anInt3400;
}
if (local13.idleAnimationId == arg0.movementSeqId && (arg0.anInt3385 > 25 || local226)) {
if (local13.anInt1067 == -1) {
if (local13.standingCWTurn == -1) {
arg0.movementSeqId = local13.walkAnimation;
} else {
arg0.movementSeqId = local13.anInt1067;
arg0.movementSeqId = local13.standingCWTurn;
}
}
}
arg0.anInt3381 &= 0x7FF;
} else {
if (local13.idleAnimationId == arg0.movementSeqId && arg0.anInt3385 > 25) {
if (local13.anInt1067 == -1) {
if (local13.standingCWTurn == -1) {
arg0.movementSeqId = local13.walkAnimation;
} else {
arg0.movementSeqId = local13.anInt1067;
arg0.movementSeqId = local13.standingCWTurn;
}
}
local43 = arg0.anInt3400 << 5;
@ -389,12 +389,12 @@ public class NpcList {
arg0.anInt3387 = 0;
arg0.anInt3402 = local43;
local36 = local43 - arg0.anInt3377 & 0xFFFF;
local94 = arg0.anInt3414 * arg0.anInt3414 / (local13.anInt1038 * 2);
local94 = arg0.anInt3414 * arg0.anInt3414 / (local13.yawAcceleration * 2);
@Pc(471) int local471;
if (arg0.anInt3414 > 0 && local36 >= local94 && local36 - local94 < 32768) {
arg0.anInt3397 = local36 / 2;
arg0.aBoolean167 = true;
local471 = local13.anInt1031 * local13.anInt1031 / (local13.anInt1038 * 2);
local471 = local13.yawMaxSpeed * local13.yawMaxSpeed / (local13.yawAcceleration * 2);
if (local471 > 32767) {
local471 = 32767;
}
@ -404,7 +404,7 @@ public class NpcList {
} else if (arg0.anInt3414 < 0 && local94 <= 65536 - local36 && 65536 - local36 - local94 < 32768) {
arg0.anInt3397 = (65536 - local36) / 2;
arg0.aBoolean167 = true;
local471 = local13.anInt1031 * local13.anInt1031 / (local13.anInt1038 * 2);
local471 = local13.yawMaxSpeed * local13.yawMaxSpeed / (local13.yawAcceleration * 2);
if (local471 > 32767) {
local471 = 32767;
}
@ -417,23 +417,23 @@ public class NpcList {
}
if (arg0.anInt3414 == 0) {
local36 = arg0.anInt3402 - arg0.anInt3377 & 0xFFFF;
if (local36 < local13.anInt1038) {
if (local36 < local13.yawAcceleration) {
arg0.anInt3377 = arg0.anInt3402;
} else {
arg0.anInt3387 = 0;
local94 = local13.anInt1031 * local13.anInt1031 / (local13.anInt1038 * 2);
local94 = local13.yawMaxSpeed * local13.yawMaxSpeed / (local13.yawAcceleration * 2);
arg0.aBoolean167 = true;
if (local94 > 32767) {
local94 = 32767;
}
if (local36 >= 32768) {
arg0.anInt3414 = -local13.anInt1038;
arg0.anInt3414 = -local13.yawAcceleration;
arg0.anInt3397 = (65536 - local36) / 2;
if (local94 < arg0.anInt3397) {
arg0.anInt3397 = 65536 - local36 - local94;
}
} else {
arg0.anInt3414 = local13.anInt1038;
arg0.anInt3414 = local13.yawAcceleration;
arg0.anInt3397 = local36 / 2;
if (local94 < arg0.anInt3397) {
arg0.anInt3397 = local36 - local94;
@ -445,24 +445,24 @@ public class NpcList {
arg0.aBoolean167 = false;
}
if (!arg0.aBoolean167) {
arg0.anInt3414 += local13.anInt1038;
arg0.anInt3414 += local13.yawAcceleration;
if (arg0.anInt3414 > 0) {
arg0.anInt3414 = 0;
}
} else if (-local13.anInt1031 < arg0.anInt3414) {
arg0.anInt3414 -= local13.anInt1038;
} else if (-local13.yawMaxSpeed < arg0.anInt3414) {
arg0.anInt3414 -= local13.yawAcceleration;
}
} else {
if (arg0.anInt3397 <= arg0.anInt3387) {
arg0.aBoolean167 = false;
}
if (!arg0.aBoolean167) {
arg0.anInt3414 -= local13.anInt1038;
arg0.anInt3414 -= local13.yawAcceleration;
if (arg0.anInt3414 < 0) {
arg0.anInt3414 = 0;
}
} else if (arg0.anInt3414 < local13.anInt1031) {
arg0.anInt3414 += local13.anInt1038;
} else if (arg0.anInt3414 < local13.yawMaxSpeed) {
arg0.anInt3414 += local13.yawAcceleration;
}
}
arg0.anInt3377 += arg0.anInt3414;

View file

@ -23,19 +23,19 @@ public final class NpcType {
@OriginalMember(owner = "client!en", name = "t", descriptor = "[I")
public static final int[] anIntArray148 = new int[14];
@OriginalMember(owner = "client!me", name = "b", descriptor = "[S")
private short[] retextureSource;
private short[] retex_d;
@OriginalMember(owner = "client!me", name = "c", descriptor = "[B")
private byte[] aByteArray51;
private byte[] recol_p;
@OriginalMember(owner = "client!me", name = "d", descriptor = "[S")
private short[] recolorDestination;
private short[] recol_s;
@OriginalMember(owner = "client!me", name = "g", descriptor = "[I")
private int[] anIntArray354;
private int[] headmodels;
@OriginalMember(owner = "client!me", name = "o", descriptor = "[S")
private short[] recolorSource;
private short[] recol_d;
@OriginalMember(owner = "client!me", name = "t", descriptor = "[[I")
private int[][] anIntArrayArray28;
@ -44,7 +44,7 @@ public final class NpcType {
private int[][] modeloffsets;
@OriginalMember(owner = "client!me", name = "J", descriptor = "[S")
private short[] retextureDestination;
private short[] retex_s;
@OriginalMember(owner = "client!me", name = "K", descriptor = "Lclient!sc;")
private HashTable params;
@ -169,7 +169,7 @@ public final class NpcType {
private int multiNpcVarp = -1;
@OriginalMember(owner = "client!me", name = "ob", descriptor = "I")
public int anInt3752 = -1;
public int attackCursor = -1;
@OriginalMember(owner = "client!me", name = "a", descriptor = "(B)Lclient!me;")
public final NpcType getMultiNpc() {
@ -334,18 +334,18 @@ public final class NpcType {
} else {
local593 = new RawModel(local84, local84.length);
}
if (this.recolorDestination != null) {
for (local173 = 0; local173 < this.recolorDestination.length; local173++) {
if (this.aByteArray51 == null || this.aByteArray51.length <= local173) {
local593.recolor(this.recolorDestination[local173], this.recolorSource[local173]);
if (this.recol_s != null) {
for (local173 = 0; local173 < this.recol_s.length; local173++) {
if (this.recol_p == null || this.recol_p.length <= local173) {
local593.recolor(this.recol_s[local173], this.recol_d[local173]);
} else {
local593.recolor(this.recolorDestination[local173], client.aShortArray74[this.aByteArray51[local173] & 0xFF]);
local593.recolor(this.recol_s[local173], client.aShortArray74[this.recol_p[local173] & 0xFF]);
}
}
}
if (this.retextureDestination != null) {
for (local173 = 0; local173 < this.retextureDestination.length; local173++) {
local593.retexture(this.retextureDestination[local173], this.retextureSource[local173]);
if (this.retex_s != null) {
for (local173 = 0; local173 < this.retex_s.length; local173++) {
local593.retexture(this.retex_s[local173], this.retex_d[local173]);
}
}
local40 = local593.createModel(this.ambient + 64, this.contrast + 850, -30, -50, -30);
@ -503,13 +503,13 @@ public final class NpcType {
}
@OriginalMember(owner = "client!me", name = "a", descriptor = "(Lclient!wa;I)V")
public final void decode(@OriginalArg(0) Buffer arg0) {
public final void decode(@OriginalArg(0) Buffer buffer) {
while (true) {
@Pc(9) int local9 = arg0.g1();
if (local9 == 0) {
@Pc(9) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.decode(local9, arg0);
this.decode(opcode, buffer);
}
}
@ -522,23 +522,23 @@ public final class NpcType {
if (this.multiNpcs != null) {
@Pc(13) NpcType local13 = this.getMultiNpc();
return local13 == null ? null : local13.getHeadModel(arg0, arg1, arg2, arg3);
} else if (this.anIntArray354 == null) {
} else if (this.headmodels == null) {
return null;
} else {
@Pc(41) Model local41 = (Model) NpcTypeList.headModels.get(this.id);
if (local41 == null) {
@Pc(46) boolean local46 = false;
for (@Pc(48) int local48 = 0; local48 < this.anIntArray354.length; local48++) {
if (!NpcTypeList.modelsArchive.isFileReady(0, this.anIntArray354[local48])) {
for (@Pc(48) int local48 = 0; local48 < this.headmodels.length; local48++) {
if (!NpcTypeList.modelsArchive.isFileReady(0, this.headmodels[local48])) {
local46 = true;
}
}
if (local46) {
return null;
}
@Pc(82) RawModel[] local82 = new RawModel[this.anIntArray354.length];
for (@Pc(84) int local84 = 0; local84 < this.anIntArray354.length; local84++) {
local82[local84] = RawModel.create(NpcTypeList.modelsArchive, this.anIntArray354[local84]);
@Pc(82) RawModel[] local82 = new RawModel[this.headmodels.length];
for (@Pc(84) int local84 = 0; local84 < this.headmodels.length; local84++) {
local82[local84] = RawModel.create(NpcTypeList.modelsArchive, this.headmodels[local84]);
}
@Pc(119) RawModel local119;
if (local82.length == 1) {
@ -547,18 +547,18 @@ public final class NpcType {
local119 = new RawModel(local82, local82.length);
}
@Pc(130) int local130;
if (this.recolorDestination != null) {
for (local130 = 0; local130 < this.recolorDestination.length; local130++) {
if (this.aByteArray51 == null || local130 >= this.aByteArray51.length) {
local119.recolor(this.recolorDestination[local130], this.recolorSource[local130]);
if (this.recol_s != null) {
for (local130 = 0; local130 < this.recol_s.length; local130++) {
if (this.recol_p == null || local130 >= this.recol_p.length) {
local119.recolor(this.recol_s[local130], this.recol_d[local130]);
} else {
local119.recolor(this.recolorDestination[local130], client.aShortArray74[this.aByteArray51[local130] & 0xFF]);
local119.recolor(this.recol_s[local130], client.aShortArray74[this.recol_p[local130] & 0xFF]);
}
}
}
if (this.retextureDestination != null) {
for (local130 = 0; local130 < this.retextureDestination.length; local130++) {
local119.retexture(this.retextureDestination[local130], this.retextureSource[local130]);
if (this.retex_s != null) {
for (local130 = 0; local130 < this.retex_s.length; local130++) {
local119.retexture(this.retex_s[local130], this.retex_d[local130]);
}
}
local41 = local119.createModel(64, 768, -50, -10, -50);
@ -595,31 +595,31 @@ public final class NpcType {
}
} else if (opcode == 40) {
count = buffer.g1();
this.recolorSource = new short[count];
this.recolorDestination = new short[count];
this.recol_d = new short[count];
this.recol_s = new short[count];
for (i = 0; i < count; i++) {
this.recolorDestination[i] = (short) buffer.g2();
this.recolorSource[i] = (short) buffer.g2();
this.recol_s[i] = (short) buffer.g2();
this.recol_d[i] = (short) buffer.g2();
}
} else if (opcode == 41) {
count = buffer.g1();
this.retextureSource = new short[count];
this.retextureDestination = new short[count];
this.retex_d = new short[count];
this.retex_s = new short[count];
for (i = 0; i < count; i++) {
this.retextureDestination[i] = (short) buffer.g2();
this.retextureSource[i] = (short) buffer.g2();
this.retex_s[i] = (short) buffer.g2();
this.retex_d[i] = (short) buffer.g2();
}
} else if (opcode == 42) {
count = buffer.g1();
this.aByteArray51 = new byte[count];
this.recol_p = new byte[count];
for (i = 0; i < count; i++) {
this.aByteArray51[i] = buffer.g1b();
this.recol_p[i] = buffer.g1b();
}
} else if (opcode == 60) {
count = buffer.g1();
this.anIntArray354 = new int[count];
this.headmodels = new int[count];
for (i = 0; i < count; i++) {
this.anIntArray354[i] = buffer.g2();
this.headmodels[i] = buffer.g2();
}
} else if (opcode == 93) {
this.minimapdisplay = false;
@ -688,10 +688,10 @@ public final class NpcType {
count = buffer.g1();
for (i = 0; i < count; i++) {
local297 = buffer.g1();
@Pc(439) int[] local439 = this.modeloffsets[local297] = new int[3];
local439[0] = buffer.g1b();
local439[1] = buffer.g1b();
local439[2] = buffer.g1b();
@Pc(439) int[] tempArray = this.modeloffsets[local297] = new int[3];
tempArray[0] = buffer.g1b();
tempArray[1] = buffer.g1b();
tempArray[2] = buffer.g1b();
}
} else if (opcode == 122) {
this.hitBarId = buffer.g2();
@ -730,7 +730,7 @@ public final class NpcType {
this.cursor2Op = buffer.g1();
this.cursor2 = buffer.g2();
} else if (opcode == 137) {
this.anInt3752 = buffer.g2();
this.attackCursor = buffer.g2();
} else if (opcode == 249) {
count = buffer.g1();
if (this.params == null) {
@ -738,15 +738,15 @@ public final class NpcType {
this.params = new HashTable(i);
}
for (i = 0; i < count; i++) {
@Pc(592) boolean local592 = buffer.g1() == 1;
@Pc(596) int local596 = buffer.g3();
@Pc(605) Node local605;
if (local592) {
local605 = new StringNode(buffer.gjstr());
@Pc(592) boolean isString = buffer.g1() == 1;
@Pc(596) int key = buffer.g3();
@Pc(605) Node value;
if (isString) {
value = new StringNode(buffer.gjstr());
} else {
local605 = new IntNode(buffer.g4());
value = new IntNode(buffer.g4());
}
this.params.put(local605, local596);
this.params.put(value, key);
}
}
}

View file

@ -23,20 +23,20 @@ public class NpcTypeList {
}
@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(arg0);
if (local10 != null) {
return local10;
public static NpcType get(@OriginalArg(0) int id) {
@Pc(10) NpcType npc = (NpcType) types.get(id);
if (npc != null) {
return npc;
}
@Pc(26) byte[] local26 = archive.fetchFile(method1447(arg0), method3322(arg0));
local10 = new NpcType();
local10.id = arg0;
if (local26 != null) {
local10.decode(new Buffer(local26));
@Pc(26) byte[] data = archive.fetchFile(getGroupId(id), getFileId(id));
npc = new NpcType();
npc.id = id;
if (data != null) {
npc.decode(new Buffer(data));
}
local10.method2942();
types.put(local10, arg0);
return local10;
npc.method2942();
types.put(npc, id);
return npc;
}
@OriginalMember(owner = "client!t", name = "b", descriptor = "(B)V")
@ -61,13 +61,13 @@ public class NpcTypeList {
}
@OriginalMember(owner = "client!em", name = "a", descriptor = "(II)I")
public static int method1447(@OriginalArg(0) int arg0) {
return arg0 >>> 7;
public static int getGroupId(@OriginalArg(0) int id) {
return id >>> 7;
}
@OriginalMember(owner = "client!oe", name = "a", descriptor = "(IZ)I")
public static int method3322(@OriginalArg(0) int arg0) {
return arg0 & 0x7F;
public static int getFileId(@OriginalArg(0) int id) {
return id & 0x7F;
}
@OriginalMember(owner = "client!wj", name = "b", descriptor = "(I)V")

View file

@ -9,25 +9,25 @@ import org.openrs2.deob.annotation.Pc;
public final class ObjType {
@OriginalMember(owner = "client!h", name = "a", descriptor = "[S")
private short[] retex_s;
private short[] retex_d;
@OriginalMember(owner = "client!h", name = "g", descriptor = "I")
private int model;
@OriginalMember(owner = "client!h", name = "y", descriptor = "[S")
private short[] retex_d;
private short[] retex_s;
@OriginalMember(owner = "client!h", name = "z", descriptor = "[I")
public int[] countco;
@OriginalMember(owner = "client!h", name = "G", descriptor = "[S")
private short[] recol_s;
@OriginalMember(owner = "client!h", name = "I", descriptor = "[S")
private short[] recol_d;
@OriginalMember(owner = "client!h", name = "I", descriptor = "[S")
private short[] recol_s;
@OriginalMember(owner = "client!h", name = "W", descriptor = "[B")
private byte[] recolorDestinationPalette;
private byte[] recol_p;
@OriginalMember(owner = "client!h", name = "Y", descriptor = "I")
public int id;
@ -172,34 +172,10 @@ public final class ObjType {
@OriginalMember(owner = "client!h", name = "xb", descriptor = "Z")
public boolean stockMarket = false;
@OriginalMember(owner = "client!h", name = "a", descriptor = "(ZZ)Z")
public final boolean method1816(@OriginalArg(0) boolean female) {
@Pc(6) int manhead1 = this.manhead;
@Pc(9) int manhead2 = this.manhead2;
if (female) {
manhead1 = this.womanhead;
manhead2 = this.womanhead2;
}
if (manhead1 == -1) {
return true;
}
@Pc(33) boolean ready = ObjTypeList.modelsArchive.isFileReady(0, manhead1);
if (manhead2 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, manhead2)) {
ready = false;
}
return ready;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(ILclient!na;I)Lclient!na;")
public final JagString getParam(@OriginalArg(1) JagString defaultValue, @OriginalArg(2) int id) {
if (this.params == null) {
return defaultValue;
} else {
@Pc(21) StringNode node = (StringNode) this.params.get(id);
return node == null ? defaultValue : node.value;
}
}
/*
* This method gets the stackable obj models dependent on the defined amount "trigger" values.
* An example of this would be coins/arrows.
*/
@OriginalMember(owner = "client!h", name = "a", descriptor = "(II)Lclient!h;")
public final ObjType method1820(@OriginalArg(0) int count) {
if (this.countobj != null && count > 1) {
@ -216,139 +192,21 @@ public final class ObjType {
return this;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(BZ)Z")
public final boolean method1822(@OriginalArg(1) boolean female) {
@Pc(6) int wear2 = this.manwear2;
@Pc(9) int wear1 = this.manwear;
@Pc(20) int wear3 = this.manwear3;
if (female) {
wear3 = this.womanwear3;
wear1 = this.womanwear;
wear2 = this.womanwear2;
}
if (wear1 == -1) {
return true;
}
@Pc(41) boolean ready = ObjTypeList.modelsArchive.isFileReady(0, wear1);
if (wear2 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, wear2)) {
ready = false;
}
if (wear3 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, wear3)) {
ready = false;
}
return ready;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(BLclient!h;Lclient!h;)V")
public final void generateLent(@OriginalArg(1) ObjType link, @OriginalArg(2) ObjType template) {
this.recolorDestinationPalette = link.recolorDestinationPalette;
this.manWearYOff = link.manWearYOff;
this.params = link.params;
this.manwear3 = link.manwear3;
this.womanwear = link.womanwear;
this.manWearZOff = link.manWearZOff;
this.iops = new JagString[5];
this.model = template.model;
this.zoom2d = template.zoom2d;
this.cost = 0;
this.team = link.team;
this.womanhead = link.womanhead;
this.recol_d = link.recol_d;
this.zAngle2D = template.zAngle2D;
this.manwear2 = link.manwear2;
this.yAngle2D = template.yAngle2D;
this.manhead = link.manhead;
this.manhead2 = link.manhead2;
this.manWearXOff = link.manWearXOff;
this.xAngle2D = template.xAngle2D;
this.yOffset2D = template.yOffset2D;
this.womanhead2 = link.womanhead2;
this.womanWearXOff = link.womanWearXOff;
this.recol_s = link.recol_s;
this.womanWearYOff = link.womanWearYOff;
this.womanWearZOff = link.womanWearZOff;
this.xOffset2D = template.xOffset2D;
this.manwear = link.manwear;
this.womanwear2 = link.womanwear2;
this.name = link.name;
this.retex_s = link.retex_s;
this.retex_d = link.retex_d;
this.ops = link.ops;
this.members = link.members;
this.womanwear3 = link.womanwear3;
if (link.iops != null) {
for (@Pc(157) int local157 = 0; local157 < 4; local157++) {
this.iops[local157] = link.iops[local157];
@OriginalMember(owner = "client!h", name = "a", descriptor = "(ILclient!wa;)V")
public final void decode(@OriginalArg(1) Buffer buffer) {
while (true) {
@Pc(5) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.decode(buffer, opcode);
}
this.iops[4] = LocalizedText.LENT_ITEM_RETURN;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(IIILclient!tk;II)Lclient!ak;")
public final Model getModel(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) SeqType seqType, @OriginalArg(4) int count, @OriginalArg(5) int arg4) {
if (this.countobj != null && count > 1) {
@Pc(22) int countId = -1;
for (@Pc(24) int i = 0; i < 10; i++) {
if (count >= this.countco[i] && this.countco[i] != 0) {
countId = this.countobj[i];
}
}
if (countId != -1) {
return ObjTypeList.get(countId).getModel(arg0, arg1, seqType, 1, arg4);
}
}
@Pc(76) Model model = (Model) ObjTypeList.models.get(this.id);
if (model == null) {
@Pc(85) RawModel model2 = RawModel.create(ObjTypeList.modelsArchive, this.model);
if (model2 == null) {
return null;
}
@Pc(97) int i;
if (this.recol_d != null) {
for (i = 0; i < this.recol_d.length; i++) {
if (this.recolorDestinationPalette == null || i >= this.recolorDestinationPalette.length) {
model2.recolor(this.recol_d[i], this.recol_s[i]);
} else {
model2.recolor(this.recol_d[i], client.aShortArray87[this.recolorDestinationPalette[i] & 0xFF]);
}
}
}
if (this.retex_d != null) {
for (i = 0; i < this.retex_d.length; i++) {
model2.retexture(this.retex_d[i], this.retex_s[i]);
}
}
model = model2.createModel(this.ambient + 64, this.contrast + 768, -50, -10, -50);
if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) {
model.resize(this.resizeX, this.resizeY, this.resizeZ);
}
model.pickable = true;
if (GlRenderer.enabled) {
((GlModel) model).method4111(false, false, false, false, false, true);
}
ObjTypeList.models.put(model, this.id);
}
if (seqType != null) {
model = seqType.method4215(model, arg0, arg1, arg4);
}
return model;
}
@OriginalMember(owner = "client!h", name = "c", descriptor = "(I)V")
public final void postDecode() {
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(ILclient!wa;)V")
public final void decode(@OriginalArg(1) Buffer buffer) {
while (true) {
@Pc(5) int code = buffer.g1();
if (code == 0) {
return;
}
this.decode(buffer, code);
}
}
public static class Opcodes {
public static final int model = 1;
@ -441,25 +299,25 @@ public final class ObjType {
@Pc(179) int i;
if (opcode == Opcodes.recol) { // 40
count = buffer.g1();
this.recol_s = new short[count];
this.recol_d = new short[count];
this.recol_s = new short[count];
for (i = 0; i < count; i++) {
this.recol_d[i] = (short) buffer.g2();
this.recol_s[i] = (short) buffer.g2();
this.recol_d[i] = (short) buffer.g2();
}
} else if (opcode == Opcodes.retex) { // 41
count = buffer.g1();
this.retex_s = new short[count];
this.retex_d = new short[count];
this.retex_s = new short[count];
for (i = 0; i < count; i++) {
this.retex_d[i] = (short) buffer.g2();
this.retex_s[i] = (short) buffer.g2();
this.retex_d[i] = (short) buffer.g2();
}
} else if (opcode == 42) {
count = buffer.g1();
this.recolorDestinationPalette = new byte[count];
this.recol_p = new byte[count];
for (i = 0; i < count; i++) {
this.recolorDestinationPalette[i] = buffer.g1b();
this.recol_p[i] = buffer.g1b();
}
} else if (opcode == Opcodes.stockmarket_yes) { // 65
this.stockMarket = true;
@ -533,15 +391,15 @@ public final class ObjType {
this.params = new HashTable(i);
}
for (i = 0; i < size; i++) {
@Pc(510) boolean string = buffer.g1() == 1;
@Pc(514) int id = buffer.g3();
@Pc(523) Node node;
if (string) {
node = new StringNode(buffer.gjstr());
@Pc(510) boolean isString = buffer.g1() == 1;
@Pc(514) int key = buffer.g3();
@Pc(523) Node value;
if (isString) {
value = new StringNode(buffer.gjstr());
} else {
node = new IntNode(buffer.g4());
value = new IntNode(buffer.g4());
}
this.params.put(node, id);
this.params.put(value, key);
}
}
}
@ -557,6 +415,200 @@ public final class ObjType {
}
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(ILclient!na;I)Lclient!na;")
public final JagString getParam(@OriginalArg(1) JagString defaultValue, @OriginalArg(2) int id) {
if (this.params == null) {
return defaultValue;
} else {
@Pc(21) StringNode node = (StringNode) this.params.get(id);
return node == null ? defaultValue : node.value;
}
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(Lclient!h;Lclient!h;Z)V")
public final void generateCertificate(@OriginalArg(0) ObjType link, @OriginalArg(1) ObjType template) {
this.name = link.name;
this.zoom2d = template.zoom2d;
this.recol_s = template.recol_s;
this.recol_d = template.recol_d;
this.xAngle2D = template.xAngle2D;
this.yAngle2D = template.yAngle2D;
this.retex_d = template.retex_d;
this.model = template.model;
this.recol_p = template.recol_p;
this.zAngle2D = template.zAngle2D;
this.cost = link.cost;
this.stackable = 1;
this.yOffset2D = template.yOffset2D;
this.xOffset2D = template.xOffset2D;
this.retex_s = template.retex_s;
this.members = link.members;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(BLclient!h;Lclient!h;)V")
public final void generateLent(@OriginalArg(1) ObjType link, @OriginalArg(2) ObjType template) {
this.recol_p = link.recol_p;
this.manWearYOff = link.manWearYOff;
this.params = link.params;
this.manwear3 = link.manwear3;
this.womanwear = link.womanwear;
this.manWearZOff = link.manWearZOff;
this.iops = new JagString[5];
this.model = template.model;
this.zoom2d = template.zoom2d;
this.cost = 0;
this.team = link.team;
this.womanhead = link.womanhead;
this.recol_s = link.recol_s;
this.zAngle2D = template.zAngle2D;
this.manwear2 = link.manwear2;
this.yAngle2D = template.yAngle2D;
this.manhead = link.manhead;
this.manhead2 = link.manhead2;
this.manWearXOff = link.manWearXOff;
this.xAngle2D = template.xAngle2D;
this.yOffset2D = template.yOffset2D;
this.womanhead2 = link.womanhead2;
this.womanWearXOff = link.womanWearXOff;
this.recol_d = link.recol_d;
this.womanWearYOff = link.womanWearYOff;
this.womanWearZOff = link.womanWearZOff;
this.xOffset2D = template.xOffset2D;
this.manwear = link.manwear;
this.womanwear2 = link.womanwear2;
this.name = link.name;
this.retex_d = link.retex_d;
this.retex_s = link.retex_s;
this.ops = link.ops;
this.members = link.members;
this.womanwear3 = link.womanwear3;
if (link.iops != null) {
for (@Pc(157) int local157 = 0; local157 < 4; local157++) {
this.iops[local157] = link.iops[local157];
}
}
this.iops[4] = LocalizedText.LENT_ITEM_RETURN;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(ZZ)Z")
public final boolean isHeadModelReady(@OriginalArg(0) boolean female) {
@Pc(6) int headModel = this.manhead;
@Pc(9) int headModelAccessory = this.manhead2;
if (female) {
headModel = this.womanhead;
headModelAccessory = this.womanhead2;
}
if (headModel == -1) {
return true;
}
@Pc(33) boolean ready = ObjTypeList.modelsArchive.isFileReady(0, headModel);
if (headModelAccessory != -1 && !ObjTypeList.modelsArchive.isFileReady(0, headModelAccessory)) {
ready = false;
}
return ready;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(BZ)Z")
public final boolean isWearModelReady(@OriginalArg(1) boolean female) {
@Pc(6) int wear2 = this.manwear2;
@Pc(9) int wear1 = this.manwear;
@Pc(20) int wear3 = this.manwear3;
if (female) {
wear3 = this.womanwear3;
wear1 = this.womanwear;
wear2 = this.womanwear2;
}
if (wear1 == -1) {
return true;
}
@Pc(41) boolean ready = ObjTypeList.modelsArchive.isFileReady(0, wear1);
if (wear2 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, wear2)) {
ready = false;
}
if (wear3 != -1 && !ObjTypeList.modelsArchive.isFileReady(0, wear3)) {
ready = false;
}
return ready;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(IIILclient!tk;II)Lclient!ak;")
public final Model getModel(@OriginalArg(1) int arg0, @OriginalArg(2) int arg1, @OriginalArg(3) SeqType seqType, @OriginalArg(4) int count, @OriginalArg(5) int arg4) {
if (this.countobj != null && count > 1) {
@Pc(22) int countId = -1;
for (@Pc(24) int i = 0; i < 10; i++) {
if (count >= this.countco[i] && this.countco[i] != 0) {
countId = this.countobj[i];
}
}
if (countId != -1) {
return ObjTypeList.get(countId).getModel(arg0, arg1, seqType, 1, arg4);
}
}
@Pc(76) Model model = (Model) ObjTypeList.models.get(this.id);
if (model == null) {
@Pc(85) RawModel model2 = RawModel.create(ObjTypeList.modelsArchive, this.model);
if (model2 == null) {
return null;
}
@Pc(97) int i;
if (this.recol_s != null) {
for (i = 0; i < this.recol_s.length; i++) {
if (this.recol_p == null || i >= this.recol_p.length) {
model2.recolor(this.recol_s[i], this.recol_d[i]);
} else {
model2.recolor(this.recol_s[i], client.aShortArray87[this.recol_p[i] & 0xFF]);
}
}
}
if (this.retex_s != null) {
for (i = 0; i < this.retex_s.length; i++) {
model2.retexture(this.retex_s[i], this.retex_d[i]);
}
}
model = model2.createModel(this.ambient + 64, this.contrast + 768, -50, -10, -50);
if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) {
model.resize(this.resizeX, this.resizeY, this.resizeZ);
}
model.pickable = true;
if (GlRenderer.enabled) {
((GlModel) model).method4111(false, false, false, false, false, true);
}
ObjTypeList.models.put(model, this.id);
}
if (seqType != null) {
model = seqType.method4215(model, arg0, arg1, arg4);
}
return model;
}
@OriginalMember(owner = "client!h", name = "d", descriptor = "(I)Lclient!w;")
public final SoftwareModel getInvModel() {
@Pc(11) RawModel model = RawModel.create(ObjTypeList.modelsArchive, this.model);
if (model == null) {
return null;
}
@Pc(21) int i;
if (this.recol_s != null) {
for (i = 0; i < this.recol_s.length; i++) {
if (this.recol_p == null || i >= this.recol_p.length) {
model.recolor(this.recol_s[i], this.recol_d[i]);
} else {
model.recolor(this.recol_s[i], client.aShortArray87[this.recol_p[i] & 0xFF]);
}
}
}
if (this.retex_s != null) {
for (i = 0; i < this.retex_s.length; i++) {
model.retexture(this.retex_s[i], this.retex_d[i]);
}
}
@Pc(107) SoftwareModel softwareModel = model.createSoftwareModel(this.ambient + 64, 768 - -this.contrast);
if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) {
softwareModel.resize(this.resizeX, this.resizeY, this.resizeZ);
}
return softwareModel;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(ZB)Lclient!gb;")
public final RawModel getHeadModel(@OriginalArg(0) boolean female) {
@Pc(4) int head2 = this.manhead2;
@ -575,14 +627,14 @@ public final class ObjType {
model = new RawModel(models, 2);
}
@Pc(66) int i;
if (this.recol_d != null) {
for (i = 0; i < this.recol_d.length; i++) {
model.recolor(this.recol_d[i], this.recol_s[i]);
if (this.recol_s != null) {
for (i = 0; i < this.recol_s.length; i++) {
model.recolor(this.recol_s[i], this.recol_d[i]);
}
}
if (this.retex_d != null) {
for (i = 0; i < this.retex_d.length; i++) {
model.retexture(this.retex_d[i], this.retex_s[i]);
if (this.retex_s != null) {
for (i = 0; i < this.retex_s.length; i++) {
model.retexture(this.retex_s[i], this.retex_d[i]);
}
}
return model;
@ -620,64 +672,16 @@ public final class ObjType {
model.translate(this.womanWearXOff, this.womanWearYOff, this.womanWearZOff);
}
@Pc(165) int i;
if (this.recol_d != null) {
for (i = 0; i < this.recol_d.length; i++) {
model.recolor(this.recol_d[i], this.recol_s[i]);
if (this.recol_s != null) {
for (i = 0; i < this.recol_s.length; i++) {
model.recolor(this.recol_s[i], this.recol_d[i]);
}
}
if (this.retex_d != null) {
for (i = 0; i < this.retex_d.length; i++) {
model.retexture(this.retex_d[i], this.retex_s[i]);
if (this.retex_s != null) {
for (i = 0; i < this.retex_s.length; i++) {
model.retexture(this.retex_s[i], this.retex_d[i]);
}
}
return model;
}
@OriginalMember(owner = "client!h", name = "a", descriptor = "(Lclient!h;Lclient!h;Z)V")
public final void generateCertificate(@OriginalArg(0) ObjType link, @OriginalArg(1) ObjType template) {
this.name = link.name;
this.zoom2d = template.zoom2d;
this.recol_d = template.recol_d;
this.recol_s = template.recol_s;
this.xAngle2D = template.xAngle2D;
this.yAngle2D = template.yAngle2D;
this.retex_s = template.retex_s;
this.model = template.model;
this.recolorDestinationPalette = template.recolorDestinationPalette;
this.zAngle2D = template.zAngle2D;
this.cost = link.cost;
this.stackable = 1;
this.yOffset2D = template.yOffset2D;
this.xOffset2D = template.xOffset2D;
this.retex_d = template.retex_d;
this.members = link.members;
}
@OriginalMember(owner = "client!h", name = "d", descriptor = "(I)Lclient!w;")
public final SoftwareModel getInvModel() {
@Pc(11) RawModel model = RawModel.create(ObjTypeList.modelsArchive, this.model);
if (model == null) {
return null;
}
@Pc(21) int i;
if (this.recol_d != null) {
for (i = 0; i < this.recol_d.length; i++) {
if (this.recolorDestinationPalette == null || i >= this.recolorDestinationPalette.length) {
model.recolor(this.recol_d[i], this.recol_s[i]);
} else {
model.recolor(this.recol_d[i], client.aShortArray87[this.recolorDestinationPalette[i] & 0xFF]);
}
}
}
if (this.retex_d != null) {
for (i = 0; i < this.retex_d.length; i++) {
model.retexture(this.retex_d[i], this.retex_s[i]);
}
}
@Pc(107) SoftwareModel softwareModel = model.createSoftwareModel(this.ambient + 64, 768 - -this.contrast);
if (this.resizeX != 128 || this.resizeY != 128 || this.resizeZ != 128) {
softwareModel.resize(this.resizeX, this.resizeY, this.resizeZ);
}
return softwareModel;
}
}

View file

@ -39,33 +39,33 @@ public class ObjTypeList {
}
@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(arg0);
if (local6 != null) {
return local6;
public static ObjType get(@OriginalArg(0) int id) {
@Pc(6) ObjType obj = (ObjType) types.get(id);
if (obj != null) {
return obj;
}
@Pc(25) byte[] local25 = archive.fetchFile(method554(arg0), method4247(arg0));
local6 = new ObjType();
local6.id = arg0;
if (local25 != null) {
local6.decode(new Buffer(local25));
@Pc(25) byte[] data = archive.fetchFile(getGroupId(id), getFileId(id));
obj = new ObjType();
obj.id = id;
if (data != null) {
obj.decode(new Buffer(data));
}
local6.postDecode();
if (local6.certtemplate != -1) {
local6.generateCertificate(get(local6.certlink), get(local6.certtemplate));
obj.postDecode();
if (obj.certtemplate != -1) {
obj.generateCertificate(get(obj.certlink), get(obj.certtemplate));
}
if (local6.lentTemplate != -1) {
local6.generateLent(get(local6.lentLink), get(local6.lentTemplate));
if (obj.lentTemplate != -1) {
obj.generateLent(get(obj.lentLink), get(obj.lentTemplate));
}
if (!aBoolean276 && local6.members) {
local6.name = LocalizedText.MEMBERS_OBJECT;
local6.team = 0;
local6.iops = aClass100Array104;
local6.stockMarket = false;
local6.ops = aClass100Array87;
if (!aBoolean276 && obj.members) {
obj.name = LocalizedText.MEMBERS_OBJECT;
obj.team = 0;
obj.iops = aClass100Array104;
obj.stockMarket = false;
obj.ops = aClass100Array87;
}
types.put(local6, arg0);
return local6;
types.put(obj, id);
return obj;
}
@OriginalMember(owner = "client!i", name = "r", descriptor = "(I)V")
@ -108,12 +108,12 @@ public class ObjTypeList {
}
@OriginalMember(owner = "client!ub", name = "a", descriptor = "(IB)I")
public static int method4247(@OriginalArg(0) int arg0) {
return arg0 & 0xFF;
public static int getFileId(@OriginalArg(0) int id) {
return id & 0xFF;
}
@OriginalMember(owner = "client!bh", name = "a", descriptor = "(IB)I")
public static int method554(@OriginalArg(0) int arg0) {
return arg0 >>> 8;
public static int getGroupId(@OriginalArg(0) int id) {
return id >>> 8;
}
}

View file

@ -17,25 +17,25 @@ public final class ParamType extends SecondaryNode {
@OriginalMember(owner = "client!hn", name = "Q", descriptor = "Lclient!na;")
public JagString defaultString;
@OriginalMember(owner = "client!hn", name = "a", descriptor = "(ILclient!wa;I)V")
private void decode(@OriginalArg(0) int arg0, @OriginalArg(1) Buffer arg1) {
if (arg0 == 1) {
this.type = arg1.g1();
} else if (arg0 == 2) {
this.defaultInt = arg1.g4();
} else if (arg0 == 5) {
this.defaultString = arg1.gjstr();
@OriginalMember(owner = "client!hn", name = "a", descriptor = "(ILclient!wa;)V")
public final void decode(@OriginalArg(1) Buffer buffer) {
while (true) {
@Pc(13) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.decode(opcode, buffer);
}
}
@OriginalMember(owner = "client!hn", name = "a", descriptor = "(ILclient!wa;)V")
public final void decode(@OriginalArg(1) Buffer arg0) {
while (true) {
@Pc(13) int local13 = arg0.g1();
if (local13 == 0) {
return;
}
this.decode(local13, arg0);
@OriginalMember(owner = "client!hn", name = "a", descriptor = "(ILclient!wa;I)V")
private void decode(@OriginalArg(0) int opcode, @OriginalArg(1) Buffer buffer) {
if (opcode == 1) {
this.type = buffer.g1();
} else if (opcode == 2) {
this.defaultInt = buffer.g4();
} else if (opcode == 5) {
this.defaultString = buffer.gjstr();
}
}

View file

@ -16,17 +16,17 @@ public class ParamTypeList {
}
@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(arg0);
if (local6 != null) {
return local6;
public static ParamType get(@OriginalArg(1) int id) {
@Pc(6) ParamType paramType = (ParamType) types.get(id);
if (paramType != null) {
return paramType;
}
@Pc(30) byte[] local30 = archive.fetchFile(11, arg0);
local6 = new ParamType();
if (local30 != null) {
local6.decode(new Buffer(local30));
@Pc(30) byte[] data = archive.fetchFile(11, id);
paramType = new ParamType();
if (data != null) {
paramType.decode(new Buffer(data));
}
types.put(local6, arg0);
return local6;
types.put(paramType, id);
return paramType;
}
}

View file

@ -430,17 +430,17 @@ public abstract class PathingEntity extends Entity {
@OriginalMember(owner = "client!fe", name = "a", descriptor = "(Lclient!ak;B)V")
protected final void method2687(@OriginalArg(0) Model arg0) {
@Pc(16) BasType local16 = this.getBasType();
if (local16.anInt1064 == 0 && local16.anInt1041 == 0) {
if (local16.rollTargetAngle == 0 && local16.pitchTargetAngle == 0) {
return;
}
@Pc(26) int local26 = 0;
@Pc(28) int local28 = 0;
if (this.aBoolean167 && this.anInt3414 != 0) {
local28 = local16.anInt1041;
local28 = local16.pitchTargetAngle;
if (this.anInt3414 >= 0) {
local26 = local16.anInt1064;
local26 = local16.rollTargetAngle;
} else {
local26 = -local16.anInt1064;
local26 = -local16.rollTargetAngle;
}
}
@Pc(101) int local101;
@ -450,12 +450,12 @@ public abstract class PathingEntity extends Entity {
if (this.anInt3419 != local26) {
this.anInt3419 = local26;
if (this.anInt3355 > 0 && this.anInt3383 < local26) {
local101 = this.anInt3355 * this.anInt3355 / (local16.anInt1055 * 2);
local101 = this.anInt3355 * this.anInt3355 / (local16.rollAcceleration * 2);
local106 = local26 - this.anInt3383;
if (local101 <= local106) {
this.aBoolean170 = true;
this.anInt3398 = (local26 + this.anInt3383 - local101) / 2;
local134 = local16.anInt1040 * local16.anInt1040 / (local16.anInt1055 * 2);
local134 = local16.rollMaxSpeed * local16.rollMaxSpeed / (local16.rollAcceleration * 2);
local138 = local26 - local134;
if (this.anInt3398 < local138) {
this.anInt3398 = local138;
@ -464,12 +464,12 @@ public abstract class PathingEntity extends Entity {
this.aBoolean170 = false;
}
} else if (this.anInt3355 < 0 && this.anInt3383 > local26) {
local101 = this.anInt3355 * this.anInt3355 / (local16.anInt1055 * 2);
local101 = this.anInt3355 * this.anInt3355 / (local16.rollAcceleration * 2);
local106 = local26 - this.anInt3383;
if (local106 >= local101) {
this.aBoolean170 = true;
this.anInt3398 = (this.anInt3383 + local101 + local26) / 2;
local134 = local16.anInt1040 * local16.anInt1040 / (local16.anInt1055 * 2);
local134 = local16.rollMaxSpeed * local16.rollMaxSpeed / (local16.rollAcceleration * 2);
local138 = local134 + local26;
if (this.anInt3398 > local138) {
this.anInt3398 = local138;
@ -483,20 +483,20 @@ public abstract class PathingEntity extends Entity {
}
if (this.anInt3355 == 0) {
local101 = this.anInt3419 - this.anInt3383;
if (-local16.anInt1055 < local101 && local16.anInt1055 > local101) {
if (-local16.rollAcceleration < local101 && local16.rollAcceleration > local101) {
this.anInt3383 = this.anInt3419;
} else {
this.aBoolean170 = true;
local106 = local16.anInt1040 * local16.anInt1040 / (local16.anInt1055 * 2);
local106 = local16.rollMaxSpeed * local16.rollMaxSpeed / (local16.rollAcceleration * 2);
this.anInt3398 = (this.anInt3419 + this.anInt3383) / 2;
if (local101 >= 0) {
local134 = this.anInt3419 - local106;
this.anInt3355 = local16.anInt1055;
this.anInt3355 = local16.rollAcceleration;
if (local134 > this.anInt3398) {
this.anInt3398 = local134;
}
} else {
this.anInt3355 = -local16.anInt1055;
this.anInt3355 = -local16.rollAcceleration;
local134 = local106 + this.anInt3419;
if (this.anInt3398 > local134) {
this.anInt3398 = local134;
@ -508,24 +508,24 @@ public abstract class PathingEntity extends Entity {
this.aBoolean170 = false;
}
if (!this.aBoolean170) {
this.anInt3355 -= local16.anInt1055;
this.anInt3355 -= local16.rollAcceleration;
if (this.anInt3355 < 0) {
this.anInt3355 = 0;
}
} else if (local16.anInt1040 > this.anInt3355) {
this.anInt3355 += local16.anInt1055;
} else if (local16.rollMaxSpeed > this.anInt3355) {
this.anInt3355 += local16.rollAcceleration;
}
} else {
if (this.anInt3398 >= this.anInt3383) {
this.aBoolean170 = false;
}
if (!this.aBoolean170) {
this.anInt3355 += local16.anInt1055;
this.anInt3355 += local16.rollAcceleration;
if (this.anInt3355 > 0) {
this.anInt3355 = 0;
}
} else if (this.anInt3355 > -local16.anInt1040) {
this.anInt3355 -= local16.anInt1055;
} else if (this.anInt3355 > -local16.rollMaxSpeed) {
this.anInt3355 -= local16.rollAcceleration;
}
}
this.anInt3383 += this.anInt3355;
@ -539,14 +539,14 @@ public abstract class PathingEntity extends Entity {
if (local28 != this.anInt3367) {
this.anInt3367 = local28;
if (this.anInt3423 > 0 && this.anInt3427 < local28) {
local101 = this.anInt3423 * this.anInt3423 / (local16.anInt1065 * 2);
local101 = this.anInt3423 * this.anInt3423 / (local16.pitchAcceleration * 2);
local106 = local28 - this.anInt3427;
if (local101 > local106) {
this.aBoolean169 = false;
} else {
this.anInt3357 = (this.anInt3427 + local28 - local101) / 2;
this.aBoolean169 = true;
local134 = local16.anInt1063 * local16.anInt1063 / (local16.anInt1065 * 2);
local134 = local16.pitchMaxSpeed * local16.pitchMaxSpeed / (local16.pitchAcceleration * 2);
local138 = local28 - local134;
if (this.anInt3357 < local138) {
this.anInt3357 = local138;
@ -554,11 +554,11 @@ public abstract class PathingEntity extends Entity {
}
} else if (this.anInt3423 < 0 && this.anInt3427 > local28) {
local106 = local28 - this.anInt3427;
local101 = this.anInt3423 * this.anInt3423 / (local16.anInt1065 * 2);
local101 = this.anInt3423 * this.anInt3423 / (local16.pitchAcceleration * 2);
if (local106 >= local101) {
this.anInt3357 = (local101 + this.anInt3427 + local28) / 2;
this.aBoolean169 = true;
local134 = local16.anInt1063 * local16.anInt1063 / (local16.anInt1065 * 2);
local134 = local16.pitchMaxSpeed * local16.pitchMaxSpeed / (local16.pitchAcceleration * 2);
local138 = local134 + local28;
if (local138 < this.anInt3357) {
this.anInt3357 = local138;
@ -572,20 +572,20 @@ public abstract class PathingEntity extends Entity {
}
if (this.anInt3423 == 0) {
local101 = this.anInt3367 - this.anInt3427;
if (local101 > -local16.anInt1065 && local16.anInt1065 > local101) {
if (local101 > -local16.pitchAcceleration && local16.pitchAcceleration > local101) {
this.anInt3427 = this.anInt3367;
} else {
this.anInt3357 = (this.anInt3367 + this.anInt3427) / 2;
this.aBoolean169 = true;
local106 = local16.anInt1063 * local16.anInt1063 / (local16.anInt1065 * 2);
local106 = local16.pitchMaxSpeed * local16.pitchMaxSpeed / (local16.pitchAcceleration * 2);
if (local101 < 0) {
this.anInt3423 = -local16.anInt1065;
this.anInt3423 = -local16.pitchAcceleration;
local134 = local106 + this.anInt3367;
if (this.anInt3357 > local134) {
this.anInt3357 = local134;
}
} else {
this.anInt3423 = local16.anInt1065;
this.anInt3423 = local16.pitchAcceleration;
local134 = this.anInt3367 - local106;
if (this.anInt3357 < local134) {
this.anInt3357 = local134;
@ -597,24 +597,24 @@ public abstract class PathingEntity extends Entity {
this.aBoolean169 = false;
}
if (!this.aBoolean169) {
this.anInt3423 -= local16.anInt1065;
this.anInt3423 -= local16.pitchAcceleration;
if (this.anInt3423 < 0) {
this.anInt3423 = 0;
}
} else if (this.anInt3423 < local16.anInt1063) {
this.anInt3423 += local16.anInt1065;
} else if (this.anInt3423 < local16.pitchMaxSpeed) {
this.anInt3423 += local16.pitchAcceleration;
}
} else {
if (this.anInt3357 >= this.anInt3427) {
this.aBoolean169 = false;
}
if (!this.aBoolean169) {
this.anInt3423 += local16.anInt1065;
this.anInt3423 += local16.pitchAcceleration;
if (this.anInt3423 > 0) {
this.anInt3423 = 0;
}
} else if (-local16.anInt1063 < this.anInt3423) {
this.anInt3423 -= local16.anInt1065;
} else if (-local16.pitchMaxSpeed < this.anInt3423) {
this.anInt3423 -= local16.pitchAcceleration;
}
}
this.anInt3427 += this.anInt3423;

View file

@ -173,9 +173,9 @@ public final class Player extends PathingEntity {
@Pc(18) BasType local18 = arg0.getBasType();
if (local18.idleAnimationId == arg0.movementSeqId) {
local14 = arg0.anInt1648;
} else if (local18.runAnimationId == arg0.movementSeqId || arg0.movementSeqId == local18.runAnimationId2 || arg0.movementSeqId == local18.runAnimationId4 || local18.runAnimationId3 == arg0.movementSeqId) {
} else if (local18.runAnimationId == arg0.movementSeqId || arg0.movementSeqId == local18.runFullTurnAnimationId || arg0.movementSeqId == local18.runCWTurnAnimationId || local18.runCCWTurnAnimationId == arg0.movementSeqId) {
local14 = arg0.anInt1670;
} else if (arg0.movementSeqId == local18.anInt1062 || arg0.movementSeqId == local18.anInt1042 || arg0.movementSeqId == local18.anInt1048 || arg0.movementSeqId == local18.anInt1066) {
} else if (arg0.movementSeqId == local18.slowWalkAnimationId || arg0.movementSeqId == local18.slowWalkFullTurnAnimationId || arg0.movementSeqId == local18.slowWalkCWTurnAnimationId || arg0.movementSeqId == local18.slowWalkCCWTurnAnimationId) {
local14 = arg0.anInt1658;
}
return local14;

View file

@ -296,7 +296,7 @@ public final class PlayerAppearance {
if ((local169 & Integer.MIN_VALUE) != 0 && !IdkTypeList.get(local169 & 0x3FFFFFFF).isBodyModelReady()) {
local158 = true;
}
} else if (!ObjTypeList.get(local169 & 0x3FFFFFFF).method1822(this.gender)) {
} else if (!ObjTypeList.get(local169 & 0x3FFFFFFF).isWearModelReady(this.gender)) {
local158 = true;
}
}
@ -549,7 +549,7 @@ public final class PlayerAppearance {
if ((local52 & Integer.MIN_VALUE) != 0 && !IdkTypeList.get(local52 & 0x3FFFFFFF).isHeadModelReady()) {
local42 = true;
}
} else if (!ObjTypeList.get(local52 & 0x3FFFFFFF).method1816(this.gender)) {
} else if (!ObjTypeList.get(local52 & 0x3FFFFFFF).isHeadModelReady(this.gender)) {
local42 = true;
}
}

View file

@ -57,30 +57,30 @@ public final class QuickChatCatType extends SecondaryNode {
}
@OriginalMember(owner = "client!bc", name = "a", descriptor = "(Lclient!wa;II)V")
private void method467(@OriginalArg(0) Buffer arg0, @OriginalArg(2) int arg1) {
if (arg1 == 1) {
this.description = arg0.gjstr();
private void decode(@OriginalArg(0) Buffer buffer, @OriginalArg(2) int opcode) {
if (opcode == 1) {
this.description = buffer.gjstr();
return;
}
@Pc(28) int local28;
@Pc(38) int local38;
if (arg1 == 2) {
local28 = arg0.g1();
if (opcode == 2) {
local28 = buffer.g1();
this.subcategories = new int[local28];
this.subcategoryShortcuts = new int[local28];
for (local38 = 0; local38 < local28; local38++) {
this.subcategories[local38] = arg0.g2();
this.subcategoryShortcuts[local38] = method3933(arg0.g1b());
this.subcategories[local38] = buffer.g2();
this.subcategoryShortcuts[local38] = method3933(buffer.g1b());
}
} else if (arg1 == 3) {
local28 = arg0.g1();
} else if (opcode == 3) {
local28 = buffer.g1();
this.phrases = new int[local28];
this.phraseShortcuts = new int[local28];
for (local38 = 0; local38 < local28; local38++) {
this.phrases[local38] = arg0.g2();
this.phraseShortcuts[local38] = method3933(arg0.g1b());
this.phrases[local38] = buffer.g2();
this.phraseShortcuts[local38] = method3933(buffer.g1b());
}
} else if (arg1 == 4) {
} else if (opcode == 4) {
}
}
@ -98,13 +98,13 @@ public final class QuickChatCatType extends SecondaryNode {
}
@OriginalMember(owner = "client!bc", name = "a", descriptor = "(Lclient!wa;B)V")
public final void decode(@OriginalArg(0) Buffer arg0) {
public final void decode(@OriginalArg(0) Buffer buffer) {
while (true) {
@Pc(12) int local12 = arg0.g1();
if (local12 == 0) {
@Pc(12) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.method467(arg0, local12);
this.decode(buffer, opcode);
}
}
}

View file

@ -19,25 +19,25 @@ public class QuickChatCatTypeList {
}
@OriginalMember(owner = "client!tb", name = "b", descriptor = "(IB)Lclient!bc;")
public static QuickChatCatType get(@OriginalArg(0) int arg0) {
@Pc(10) QuickChatCatType local10 = (QuickChatCatType) types.get(arg0);
if (local10 != null) {
return local10;
public static QuickChatCatType get(@OriginalArg(0) int id) {
@Pc(10) QuickChatCatType quickChatCat = (QuickChatCatType) types.get(id);
if (quickChatCat != null) {
return quickChatCat;
}
@Pc(24) byte[] local24;
if (arg0 < 32768) {
local24 = archive1.fetchFile(0, arg0);
@Pc(24) byte[] data;
if (id < 32768) {
data = archive1.fetchFile(0, id);
} else {
local24 = archive2.fetchFile(0, arg0 & 0x7FFF);
data = archive2.fetchFile(0, id & 0x7FFF);
}
local10 = new QuickChatCatType();
if (local24 != null) {
local10.decode(new Buffer(local24));
quickChatCat = new QuickChatCatType();
if (data != null) {
quickChatCat.decode(new Buffer(data));
}
if (arg0 >= 32768) {
local10.method465();
if (id >= 32768) {
quickChatCat.method465();
}
types.put(local10, arg0);
return local10;
types.put(quickChatCat, id);
return quickChatCat;
}
}

View file

@ -55,13 +55,13 @@ public final class QuickChatPhraseType extends SecondaryNode {
}
@OriginalMember(owner = "client!cb", name = "a", descriptor = "(Lclient!wa;I)V")
public final void decode(@OriginalArg(0) Buffer arg0) {
public final void decode(@OriginalArg(0) Buffer buffer) {
while (true) {
@Pc(9) int local9 = arg0.g1();
if (local9 == 0) {
@Pc(9) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.method768(arg0, local9);
this.decode(buffer, opcode);
}
}
@ -96,32 +96,32 @@ public final class QuickChatPhraseType extends SecondaryNode {
}
@OriginalMember(owner = "client!cb", name = "a", descriptor = "(Lclient!wa;II)V")
private void method768(@OriginalArg(0) Buffer arg0, @OriginalArg(1) int arg1) {
if (arg1 == 1) {
this.aClass100Array35 = arg0.gjstr().split(60);
private void decode(@OriginalArg(0) Buffer buffer, @OriginalArg(1) int opcode) {
if (opcode == 1) {
this.aClass100Array35 = buffer.gjstr().split(60);
return;
}
@Pc(32) int local32;
@Pc(42) int local42;
if (arg1 == 2) {
local32 = arg0.g1();
if (opcode == 2) {
local32 = buffer.g1();
this.automaticResponses = new int[local32];
for (local42 = 0; local42 < local32; local42++) {
this.automaticResponses[local42] = arg0.g2();
this.automaticResponses[local42] = buffer.g2();
}
} else if (arg1 == 3) {
local32 = arg0.g1();
} else if (opcode == 3) {
local32 = buffer.g1();
this.anIntArray71 = new int[local32];
this.anIntArrayArray5 = new int[local32][];
for (local42 = 0; local42 < local32; local42++) {
@Pc(49) int local49 = arg0.g2();
@Pc(49) int local49 = buffer.g2();
this.anIntArray71[local42] = local49;
this.anIntArrayArray5[local42] = new int[anIntArray412[local49]];
for (@Pc(64) int local64 = 0; local64 < anIntArray412[local49]; local64++) {
this.anIntArrayArray5[local42][local64] = arg0.g2();
this.anIntArrayArray5[local42][local64] = buffer.g2();
}
}
} else if (arg1 == 4) {
} else if (opcode == 4) {
this.aBoolean60 = false;
}
}

View file

@ -32,26 +32,26 @@ public class QuickChatPhraseTypeList {
}
@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(arg0);
if (local10 != null) {
return local10;
public static QuickChatPhraseType get(@OriginalArg(1) int id) {
@Pc(10) QuickChatPhraseType quickChatPhrase = (QuickChatPhraseType) types.get(id);
if (quickChatPhrase != null) {
return quickChatPhrase;
}
@Pc(27) byte[] local27;
if (arg0 < 32768) {
local27 = archive1.fetchFile(1, arg0);
@Pc(27) byte[] data;
if (id < 32768) {
data = archive1.fetchFile(1, id);
} else {
local27 = archive2.fetchFile(1, arg0 & 0x7FFF);
data = archive2.fetchFile(1, id & 0x7FFF);
}
local10 = new QuickChatPhraseType();
if (local27 != null) {
local10.decode(new Buffer(local27));
quickChatPhrase = new QuickChatPhraseType();
if (data != null) {
quickChatPhrase.decode(new Buffer(data));
}
if (arg0 >= 32768) {
local10.method763();
if (id >= 32768) {
quickChatPhrase.method763();
}
types.put(local10, arg0);
return local10;
types.put(quickChatPhrase, id);
return quickChatPhrase;
}
@OriginalMember(owner = "client!ha", name = "a", descriptor = "([IJIZ)Lclient!na;")

View file

@ -961,7 +961,7 @@ public class SceneGraph {
local209 = tileHeights[local152][local168 + 1][local173 + 1];
if (local152 > 0) {
@Pc(1067) boolean local1067 = local178 != 0 || tileShapes[local152][local168][local173] == 0;
if (overlay > 0 && !FloTypeList.method4395(overlay - 1).aBoolean312) {
if (overlay > 0 && !FloTypeList.method4395(overlay - 1).occludeUnderlay) {
local1067 = false;
}
if (local1067 && local200 == local202 && local200 == local209 && local349 == local200) {
@ -988,7 +988,7 @@ public class SceneGraph {
local326 = local146[local168 + 1][local173 + 1];
if (overlay == 0) {
setTile(local152, local168, local173, 0, 0, -1, local200, local202, local209, local349, ColorUtils.multiplyLightnessSafe(local267, local234), ColorUtils.multiplyLightnessSafe(local273, local234), ColorUtils.multiplyLightnessSafe(local326, local234), ColorUtils.multiplyLightnessSafe(local332, local234), 0, 0, 0, 0, local254, 0);
if (GlRenderer.enabled && local152 > 0 && local234 != -1 && FluTypeList.get(local178 - 1).aBoolean198) {
if (GlRenderer.enabled && local152 > 0 && local234 != -1 && FluTypeList.get(local178 - 1).blockShadow) {
ShadowManager.method4197(0, 0, true, false, local168, local173, local200 - tileHeights[0][local168][local173], -tileHeights[0][local168 + 1][local173] + local202, local209 - tileHeights[0][local168 + 1][local173 + 1], local349 - tileHeights[0][local168][local173 + 1]);
}
if (GlRenderer.enabled && !underwater && anIntArrayArray11 != null && local152 == 0) {
@ -999,7 +999,7 @@ public class SceneGraph {
if (local1834 != 0) {
@Pc(1842) FloType local1842 = FloTypeList.method4395(local1834 - 1);
if (local1842.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1842.texture) == MaterialManager.WATER) {
anIntArrayArray11[local168][local173] = local1842.anInt5889 + (local1842.anInt5898 << 24);
anIntArrayArray11[local168][local173] = local1842.waterColor + (local1842.waterOpacity << 24);
continue label771;
}
}
@ -1016,7 +1016,7 @@ public class SceneGraph {
@Pc(1288) int texture;
if (GlRenderer.enabled && !underwater && anIntArrayArray11 != null && local152 == 0) {
if (local1248.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1248.texture) == MaterialManager.WATER) {
anIntArrayArray11[local168][local173] = (local1248.anInt5898 << 24) + local1248.anInt5889;
anIntArrayArray11[local168][local173] = (local1248.waterOpacity << 24) + local1248.waterColor;
} else {
label737:
for (texture = local168 - 1; texture <= local168 + 1; texture++) {
@ -1026,7 +1026,7 @@ public class SceneGraph {
if (local1353 != 0) {
@Pc(1366) FloType local1366 = FloTypeList.method4395(local1353 - 1);
if (local1366.texture != -1 && Rasteriser.textureProvider.getMaterialType(local1366.texture) == MaterialManager.WATER) {
anIntArrayArray11[local168][local173] = local1366.anInt5889 + (local1366.anInt5898 << 24);
anIntArrayArray11[local168][local173] = local1366.waterColor + (local1366.waterOpacity << 24);
break label737;
}
}
@ -1044,11 +1044,11 @@ public class SceneGraph {
if (texture >= 0) {
local1301 = -1;
local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(Rasteriser.textureProvider.getAverageColor(texture), 96)];
} else if (local1248.anInt5899 == -1) {
} else if (local1248.baseColor == -1) {
local1301 = -2;
local1353 = 0;
} else {
local1301 = local1248.anInt5899;
local1301 = local1248.baseColor;
local1429 = x + (local1301 & 0x7F);
if (local1429 < 0) {
local1429 = 0;
@ -1058,8 +1058,8 @@ public class SceneGraph {
local1458 = (local1301 & 0x380) + ((local1301 + level & 0xFC00) + local1429);
local1353 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(local1458, 96)];
}
if (local1248.anInt5894 >= 0) {
local1429 = local1248.anInt5894;
if (local1248.secondaryColor >= 0) {
local1429 = local1248.secondaryColor;
local1458 = x + (local1429 & 0x7F);
if (local1458 < 0) {
local1458 = 0;
@ -1071,7 +1071,7 @@ public class SceneGraph {
}
setTile(local152, local168, local173, local322, local1242, texture, local200, local202, local209, local349, ColorUtils.multiplyLightnessSafe(local267, local234), ColorUtils.multiplyLightnessSafe(local273, local234), ColorUtils.multiplyLightnessSafe(local326, local234), ColorUtils.multiplyLightnessSafe(local332, local234), ColorUtils.multiplyLightnessGrayscale(local1301, local267), ColorUtils.multiplyLightnessGrayscale(local1301, local273), ColorUtils.multiplyLightnessGrayscale(local1301, local326), ColorUtils.multiplyLightnessGrayscale(local1301, local332), local254, local1353);
if (GlRenderer.enabled && local152 > 0) {
ShadowManager.method4197(local322, local1242, local1301 == -2 || !local1248.aBoolean311, local234 == -1 || !FluTypeList.get(local178 - 1).aBoolean198, local168, local173, local200 - tileHeights[0][local168][local173], local202 - tileHeights[0][local168 + 1][local173], local209 - tileHeights[0][local168 + 1][local173 + 1], -tileHeights[0][local168][local173 + 1] + local349);
ShadowManager.method4197(local322, local1242, local1301 == -2 || !local1248.aBoolean311, local234 == -1 || !FluTypeList.get(local178 - 1).blockShadow, local168, local173, local200 - tileHeights[0][local168][local173], local202 - tileHeights[0][local168 + 1][local173], local209 - tileHeights[0][local168 + 1][local173 + 1], -tileHeights[0][local168][local173 + 1] + local349);
}
}
}
@ -3336,7 +3336,7 @@ public class SceneGraph {
continue;
}
local151 = FloTypeList.method4395(local133 - 1);
if (local151.anInt5899 == -1) {
if (local151.baseColor == -1) {
continue;
}
if (arg7[local114][local72] != 0) {
@ -3348,7 +3348,7 @@ public class SceneGraph {
} else if (local133 != 0) {
local151 = FloTypeList.method4395(local133 - 1);
@Pc(224) byte local224;
if (local151.anInt5899 == -1) {
if (local151.baseColor == -1) {
local224 = arg7[local114][local72];
if (local224 != 0) {
local234 = anIntArrayArray8[local224];
@ -3464,7 +3464,7 @@ public class SceneGraph {
continue;
}
local805 = FloTypeList.method4395(local775 - 1);
if (local805.anInt5899 == -1) {
if (local805.baseColor == -1) {
continue;
}
if (arg7[local114][local72] != 0) {
@ -3473,7 +3473,7 @@ public class SceneGraph {
}
} else if (local775 != 0) {
local805 = FloTypeList.method4395(local775 - 1);
if (local805.anInt5899 == -1) {
if (local805.baseColor == -1) {
method2578(arg0, arg9, local114, arg6, local72, anIntArrayArray8[arg7[local114][local72]], local28, local18, arg10, arg2[local114][local72]);
continue;
}
@ -3581,7 +3581,7 @@ public class SceneGraph {
}
if (local25 != 0) {
@Pc(77) FluType local77 = FluTypeList.get((local25 & 0xFF) - 1);
local9[local11][local16] = (local77.anInt4155 + 1 << 16) + local77.anInt4156;
local9[local11][local16] = (local77.texture + 1 << 16) + local77.anInt4156;
}
}
}
@ -4320,7 +4320,7 @@ public class SceneGraph {
local38 = arg9[local12][local17] & 0xFF;
if (local38 != 0) {
@Pc(50) FloType local50 = FloTypeList.method4395(local38 - 1);
if (local50.anInt5899 == -1) {
if (local50.baseColor == -1) {
continue;
}
@Pc(61) GlTile local61 = method4212(local10, local50);
@ -4328,7 +4328,7 @@ public class SceneGraph {
@Pc(71) int[] local71 = anIntArrayArray35[local67];
local61.anInt2482 += local71.length / 2;
local61.anInt2484++;
if (local50.aBoolean310 && local30 != 0) {
if (local50.blendTexture && local30 != 0) {
local61.anInt2482 += anIntArray419[local67];
}
}
@ -4352,7 +4352,7 @@ public class SceneGraph {
@Pc(287) int local287;
if (local180 != 0 && local38 != local180) {
local242 = FloTypeList.method4395(local180 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local264 = arg5[local12 - 1][local17 + 1];
local274 = arg7[local12 - 1][local17 + 1];
local287 = anIntArray300[local274 * 4 + (local264 + 2 & 0x3)];
@ -4373,7 +4373,7 @@ public class SceneGraph {
}
if (local214 != 0 && local214 != local38) {
local242 = FloTypeList.method4395(local214 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local264 = arg5[local12 - 1][local17 - 1];
local274 = arg7[local12 - 1][local17 - 1];
local287 = anIntArray300[local274 * 4 + (local264 & 0x3)];
@ -4393,7 +4393,7 @@ public class SceneGraph {
}
if (local202 != 0 && local38 != local202) {
local242 = FloTypeList.method4395(local202 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local264 = arg5[local12 + 1][local17 - 1];
local274 = arg7[local12 + 1][local17 - 1];
local299 = anIntArray300[local274 * 4 + (local264 + 1 & 0x3)];
@ -4413,7 +4413,7 @@ public class SceneGraph {
}
if (local226 != 0 && local226 != local38) {
local242 = FloTypeList.method4395(local226 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local264 = arg5[local12 + 1][local17 + 1];
local274 = arg7[local12 + 1][local17 + 1];
local299 = anIntArray300[local274 * 4 + (local264 + 1 & 0x3)];
@ -4433,7 +4433,7 @@ public class SceneGraph {
}
if (local143 != 0 && local38 != local143) {
local242 = FloTypeList.method4395(local143 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local129 = anIntArray300[arg7[local12][local17 + 1] * 4 + (arg5[local12][local17 + 1] + 2 & 0x3)];
for (local777 = 0; local777 < 8; local777++) {
if (local127 == local777) {
@ -4448,7 +4448,7 @@ public class SceneGraph {
}
if (local163 != 0 && local38 != local163) {
local242 = FloTypeList.method4395(local163 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local133 = anIntArray300[(arg5[local12 - 1][local17] + 3 & 0x3) + arg7[local12 - 1][local17] * 4];
for (local777 = 0; local777 < 8; local777++) {
if (local127 == local777) {
@ -4463,7 +4463,7 @@ public class SceneGraph {
}
if (local153 != 0 && local38 != local153) {
local242 = FloTypeList.method4395(local153 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local131 = anIntArray300[(arg5[local12][local17 - 1] & 0x3) + arg7[local12][local17 - 1] * 4];
for (local777 = 0; local777 < 8; local777++) {
if (local777 == local127) {
@ -4478,7 +4478,7 @@ public class SceneGraph {
}
if (local190 != 0 && local38 != local190) {
local242 = FloTypeList.method4395(local190 - 1);
if (local242.aBoolean310 && local242.anInt5899 != -1) {
if (local242.blendTexture && local242.baseColor != -1) {
local168 = anIntArray300[(arg5[local12 + 1][local17] + 1 & 0x3) + arg7[local12 + 1][local17] * 4];
for (local777 = 0; local777 < 8; local777++) {
if (local127 == local777) {
@ -4526,17 +4526,17 @@ public class SceneGraph {
}
if (local127 != 0) {
@Pc(1250) FloType local1250 = FloTypeList.method4395(local127 - 1);
if (local1250.anInt5899 == -1) {
if (local1250.baseColor == -1) {
continue;
}
@Pc(1261) GlTile local1261 = method4212(local10, local1250);
@Pc(1267) byte local1267 = arg7[local12][local17];
@Pc(1273) byte local1273 = arg5[local12][local17];
local168 = method588(local1250.texture, local1250.anInt5899, arg6[local12][local17]);
local143 = method588(local1250.texture, local1250.anInt5899, arg6[local12 + 1][local17]);
local163 = method588(local1250.texture, local1250.anInt5899, arg6[local12 + 1][local17 + 1]);
local153 = method588(local1250.texture, local1250.anInt5899, arg6[local12][local17 + 1]);
method1324(local168, arg2, arg1, local12, arg0, local143, local1273, local30, local163, local38 != 0 && local1250.aBoolean310, local1267, local17, arg4, local153, local1261);
local168 = method588(local1250.texture, local1250.baseColor, arg6[local12][local17]);
local143 = method588(local1250.texture, local1250.baseColor, arg6[local12 + 1][local17]);
local163 = method588(local1250.texture, local1250.baseColor, arg6[local12 + 1][local17 + 1]);
local153 = method588(local1250.texture, local1250.baseColor, arg6[local12][local17 + 1]);
method1324(local168, arg2, arg1, local12, arg0, local143, local1273, local30, local163, local38 != 0 && local1250.blendTexture, local1267, local17, arg4, local153, local1261);
}
if ((arg8[local12][local17] & 0xFF) != 0 || local127 != 0 && arg7[local12][local17] == 0) {
@Pc(1382) int[] local1382 = new int[8];
@ -4560,7 +4560,7 @@ public class SceneGraph {
local214 = 0;
} else {
local1496 = FloTypeList.method4395(local214 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local274 = arg5[local12 - 1][local17 + 1];
local1527 = arg7[local12 - 1][local17 + 1];
local299 = anIntArray300[local1527 * 4 + (local274 + 2 & 0x3)];
@ -4587,7 +4587,7 @@ public class SceneGraph {
local202 = 0;
} else {
local1496 = FloTypeList.method4395(local202 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local274 = arg5[local12 - 1][local17 - 1];
local1527 = arg7[local12 - 1][local17 - 1];
local299 = anIntArray300[(local274 & 0x3) + local1527 * 4];
@ -4613,7 +4613,7 @@ public class SceneGraph {
local226 = 0;
} else {
local1496 = FloTypeList.method4395(local226 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local274 = arg5[local12 + 1][local17 - 1];
local1527 = arg7[local12 + 1][local17 - 1];
local317 = anIntArray300[(local274 + 1 & 0x3) + local1527 * 4];
@ -4639,7 +4639,7 @@ public class SceneGraph {
local1035 = 0;
} else {
local1496 = FloTypeList.method4395(local1035 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local1527 = arg7[local12 + 1][local17 + 1];
local274 = arg5[local12 + 1][local17 + 1];
local299 = anIntArray300[(local274 + 2 & 0x3) + local1527 * 4];
@ -4664,7 +4664,7 @@ public class SceneGraph {
@Pc(2003) int local2003;
if (local163 != 0 && local163 != local127) {
local1496 = FloTypeList.method4395(local163 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local133 = anIntArray300[arg7[local12][local17 + 1] * 4 + (arg5[local12][local17 + 1] + 2 & 0x3)];
for (local2003 = 0; local2003 < 8; local2003++) {
if (local2003 == local1386) {
@ -4679,7 +4679,7 @@ public class SceneGraph {
}
if (local153 != 0 && local127 != local153) {
local1496 = FloTypeList.method4395(local153 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local131 = anIntArray300[(arg5[local12 - 1][local17] + 3 & 0x3) + arg7[local12 - 1][local17] * 4];
for (local2003 = 0; local2003 < 8; local2003++) {
if (local1386 == local2003) {
@ -4694,7 +4694,7 @@ public class SceneGraph {
}
if (local190 != 0 && local190 != local127) {
local1496 = FloTypeList.method4395(local190 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local168 = anIntArray300[(arg5[local12][local17 - 1] & 0x3) + arg7[local12][local17 - 1] * 4];
for (local2003 = 0; local2003 < 8; local2003++) {
if (local1386 == local2003) {
@ -4709,7 +4709,7 @@ public class SceneGraph {
}
if (local180 != 0 && local180 != local127) {
local1496 = FloTypeList.method4395(local180 - 1);
if (local1496.aBoolean310 && local1496.anInt5899 != -1) {
if (local1496.blendTexture && local1496.baseColor != -1) {
local143 = anIntArray300[arg7[local12 + 1][local17] * 4 + (arg5[local12 + 1][local17] + 1 & 0x3)];
for (local2003 = 0; local2003 < 8; local2003++) {
if (local2003 == local1386) {
@ -4730,10 +4730,10 @@ public class SceneGraph {
@Pc(2318) boolean[] local2318 = aBooleanArrayArray4[local2003 == local180 ? local143 : 0];
@Pc(2324) FloType local2324 = FloTypeList.method4395(local2003 - 1);
@Pc(2329) GlTile local2329 = method4212(local10, local2324);
@Pc(2345) int local2345 = method588(local2324.texture, local2324.anInt5899, arg6[local12][local17]) << 8 | 0xFF;
@Pc(2365) int local2365 = method588(local2324.texture, local2324.anInt5899, arg6[local12 + 1][local17]) << 8 | 0xFF;
@Pc(2385) int local2385 = method588(local2324.texture, local2324.anInt5899, arg6[local12 + 1][local17 + 1]) << 8 | 0xFF;
@Pc(2403) int local2403 = method588(local2324.texture, local2324.anInt5899, arg6[local12][local17 + 1]) << 8 | 0xFF;
@Pc(2345) int local2345 = method588(local2324.texture, local2324.baseColor, arg6[local12][local17]) << 8 | 0xFF;
@Pc(2365) int local2365 = method588(local2324.texture, local2324.baseColor, arg6[local12 + 1][local17]) << 8 | 0xFF;
@Pc(2385) int local2385 = method588(local2324.texture, local2324.baseColor, arg6[local12 + 1][local17 + 1]) << 8 | 0xFF;
@Pc(2403) int local2403 = method588(local2324.texture, local2324.baseColor, arg6[local12][local17 + 1]) << 8 | 0xFF;
@Pc(2422) boolean local2422 = local2003 != local202 && local1086[0] && local1068[1];
@Pc(2441) boolean local2441 = local2003 != local1035 && local1055[0] && local2318[1];
@Pc(2456) boolean local2456 = local214 != local2003 && local1068[0] && local1055[1];
@ -4795,10 +4795,10 @@ public class SceneGraph {
@OriginalMember(owner = "client!tk", name = "a", descriptor = "(Lclient!sc;ZLclient!wl;)Lclient!hg;")
public static GlTile method4212(@OriginalArg(0) HashTable arg0, @OriginalArg(2) FloType arg1) {
@Pc(23) long local23 = ((long) arg1.texture + 1 << 16) + arg1.anInt5885 + ((long) arg1.anInt5897 << 56) + ((long) arg1.anInt5889 << 32);
@Pc(23) long local23 = ((long) arg1.texture + 1 << 16) + arg1.anInt5885 + ((long) arg1.textureBrightness << 56) + ((long) arg1.waterColor << 32);
@Pc(38) GlTile local38 = (GlTile) arg0.get(local23);
if (local38 == null) {
local38 = new GlTile(arg1.texture, (float) arg1.anInt5885, true, false, arg1.anInt5889);
local38 = new GlTile(arg1.texture, (float) arg1.anInt5885, true, false, arg1.waterColor);
arg0.put(local38, local23);
}
return local38;

View file

@ -23,19 +23,19 @@ public class SeqTypeList {
@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(id);
if (local17 != null) {
return local17;
@Pc(17) SeqType sequence = (SeqType) types.get(id);
if (sequence != null) {
return sequence;
}
@Pc(32) byte[] local32 = archive.fetchFile(getGroupId(id), getFileId(id));
local17 = new SeqType();
local17.id = id;
if (local32 != null) {
local17.decode(new Buffer(local32));
@Pc(32) byte[] data = archive.fetchFile(getGroupId(id), getFileId(id));
sequence = new SeqType();
sequence.id = id;
if (data != null) {
sequence.decode(new Buffer(data));
}
local17.postDecode();
types.put(local17, id);
return local17;
sequence.postDecode();
types.put(sequence, id);
return sequence;
}
@OriginalMember(owner = "client!s", name = "a", descriptor = "(II)I")

View file

@ -9,13 +9,13 @@ import org.openrs2.deob.annotation.Pc;
public final class SpotAnimType {
@OriginalMember(owner = "client!eg", name = "f", descriptor = "[S")
private short[] recolorSource;
private short[] recol_s;
@OriginalMember(owner = "client!eg", name = "g", descriptor = "[S")
private short[] retextureSource;
private short[] retex_s;
@OriginalMember(owner = "client!eg", name = "h", descriptor = "[S")
private short[] retextureDestination;
private short[] retex_d;
@OriginalMember(owner = "client!eg", name = "m", descriptor = "I")
public int id;
@ -24,16 +24,16 @@ public final class SpotAnimType {
private int modelId;
@OriginalMember(owner = "client!eg", name = "s", descriptor = "[S")
private short[] recolorDestination;
private short[] recol_d;
@OriginalMember(owner = "client!eg", name = "i", descriptor = "Z")
public boolean aBoolean100 = false;
@OriginalMember(owner = "client!eg", name = "j", descriptor = "I")
private int anInt1748 = 0;
private int contrast = 0;
@OriginalMember(owner = "client!eg", name = "k", descriptor = "I")
private int anInt1749 = 0;
private int ambient = 0;
@OriginalMember(owner = "client!eg", name = "p", descriptor = "I")
public int seqId = -1;
@ -48,52 +48,52 @@ public final class SpotAnimType {
private int angle = 0;
@OriginalMember(owner = "client!eg", name = "a", descriptor = "(Lclient!wa;B)V")
public final void decode(@OriginalArg(0) Buffer arg0) {
public final void decode(@OriginalArg(0) Buffer buffer) {
while (true) {
@Pc(17) int local17 = arg0.g1();
if (local17 == 0) {
@Pc(17) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.decode(arg0, local17);
this.decode(buffer, opcode);
}
}
@OriginalMember(owner = "client!eg", name = "a", descriptor = "(Lclient!wa;II)V")
private void decode(@OriginalArg(0) Buffer arg0, @OriginalArg(1) int arg1) {
if (arg1 == 1) {
this.modelId = arg0.g2();
} else if (arg1 == 2) {
this.seqId = arg0.g2();
} else if (arg1 == 4) {
this.resizeXZ = arg0.g2();
} else if (arg1 == 5) {
this.resizeY = arg0.g2();
} else if (arg1 == 6) {
this.angle = arg0.g2();
} else if (arg1 == 7) {
this.anInt1749 = arg0.g1();
} else if (arg1 == 8) {
this.anInt1748 = arg0.g1();
} else if (arg1 == 9) {
private void decode(@OriginalArg(0) Buffer buffer, @OriginalArg(1) int opcode) {
if (opcode == 1) {
this.modelId = buffer.g2();
} else if (opcode == 2) {
this.seqId = buffer.g2();
} else if (opcode == 4) {
this.resizeXZ = buffer.g2();
} else if (opcode == 5) {
this.resizeY = buffer.g2();
} else if (opcode == 6) {
this.angle = buffer.g2();
} else if (opcode == 7) {
this.ambient = buffer.g1();
} else if (opcode == 8) {
this.contrast = buffer.g1();
} else if (opcode == 9) {
this.aBoolean100 = true;
} else {
@Pc(78) int local78;
@Pc(88) int local88;
if (arg1 == 40) {
local78 = arg0.g1();
this.recolorSource = new short[local78];
this.recolorDestination = new short[local78];
for (local88 = 0; local88 < local78; local88++) {
this.recolorSource[local88] = (short) arg0.g2();
this.recolorDestination[local88] = (short) arg0.g2();
@Pc(78) int size;
@Pc(88) int count;
if (opcode == 40) {
size = buffer.g1();
this.recol_s = new short[size];
this.recol_d = new short[size];
for (count = 0; count < size; count++) {
this.recol_s[count] = (short) buffer.g2();
this.recol_d[count] = (short) buffer.g2();
}
} else if (arg1 == 41) {
local78 = arg0.g1();
this.retextureSource = new short[local78];
this.retextureDestination = new short[local78];
for (local88 = 0; local88 < local78; local88++) {
this.retextureSource[local88] = (short) arg0.g2();
this.retextureDestination[local88] = (short) arg0.g2();
} else if (opcode == 41) {
size = buffer.g1();
this.retex_s = new short[size];
this.retex_d = new short[size];
for (count = 0; count < size; count++) {
this.retex_s[count] = (short) buffer.g2();
this.retex_d[count] = (short) buffer.g2();
}
}
}
@ -108,17 +108,17 @@ public final class SpotAnimType {
return null;
}
@Pc(40) int local40;
if (this.recolorSource != null) {
for (local40 = 0; local40 < this.recolorSource.length; local40++) {
local28.recolor(this.recolorSource[local40], this.recolorDestination[local40]);
if (this.recol_s != null) {
for (local40 = 0; local40 < this.recol_s.length; local40++) {
local28.recolor(this.recol_s[local40], this.recol_d[local40]);
}
}
if (this.retextureSource != null) {
for (local40 = 0; local40 < this.retextureSource.length; local40++) {
local28.retexture(this.retextureSource[local40], this.retextureDestination[local40]);
if (this.retex_s != null) {
for (local40 = 0; local40 < this.retex_s.length; local40++) {
local28.retexture(this.retex_s[local40], this.retex_d[local40]);
}
}
local13 = local28.createModel(this.anInt1749 + 64, this.anInt1748 + 850, -30, -50, -30);
local13 = local28.createModel(this.ambient + 64, this.contrast + 850, -30, -50, -30);
SpotAnimTypeList.models.put(local13, this.id);
}
@Pc(118) Model local118;

View file

@ -22,18 +22,18 @@ public class SpotAnimTypeList {
@OriginalMember(owner = "client!ck", name = "a", descriptor = "(BI)Lclient!eg;")
public static SpotAnimType get(@OriginalArg(1) int id) {
@Pc(10) SpotAnimType type = (SpotAnimType) types.get(id);
if (type != null) {
return type;
@Pc(10) SpotAnimType spotAnim = (SpotAnimType) types.get(id);
if (spotAnim != null) {
return spotAnim;
}
@Pc(26) byte[] src = archive.fetchFile(method3681(id), method4010(id));
type = new SpotAnimType();
type.id = id;
spotAnim = new SpotAnimType();
spotAnim.id = id;
if (src != null) {
type.decode(new Buffer(src));
spotAnim.decode(new Buffer(src));
}
types.put(type, id);
return type;
types.put(spotAnim, id);
return spotAnim;
}
@OriginalMember(owner = "client!qk", name = "a", descriptor = "(ZI)I")

View file

@ -18,22 +18,22 @@ public final class VarbitType {
public int baseVar;
@OriginalMember(owner = "client!kk", name = "a", descriptor = "(Lclient!wa;I)V")
public final void decode(@OriginalArg(0) Buffer arg0) {
public final void decode(@OriginalArg(0) Buffer buffer) {
while (true) {
@Pc(9) int local9 = arg0.g1();
if (local9 == 0) {
@Pc(9) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.decode(arg0, local9);
this.decode(buffer, opcode);
}
}
@OriginalMember(owner = "client!kk", name = "a", descriptor = "(Lclient!wa;II)V")
private void decode(@OriginalArg(0) Buffer arg0, @OriginalArg(2) int arg1) {
if (arg1 == 1) {
this.baseVar = arg0.g2();
this.startBit = arg0.g1();
this.endBit = arg0.g1();
private void decode(@OriginalArg(0) Buffer buffer, @OriginalArg(2) int opcode) {
if (opcode == 1) {
this.baseVar = buffer.g2();
this.startBit = buffer.g1();
this.endBit = buffer.g1();
}
}
}

View file

@ -16,18 +16,18 @@ public class VarbitTypeList {
}
@OriginalMember(owner = "client!jl", name = "a", descriptor = "(IB)Lclient!kk;")
public static VarbitType get(@OriginalArg(0) int arg0) {
@Pc(10) VarbitType local10 = (VarbitType) types.get(arg0);
if (local10 != null) {
return local10;
public static VarbitType get(@OriginalArg(0) int id) {
@Pc(10) VarbitType varbit = (VarbitType) types.get(id);
if (varbit != null) {
return varbit;
}
@Pc(31) byte[] local31 = archive.fetchFile(method4349(arg0), method3845(arg0));
local10 = new VarbitType();
if (local31 != null) {
local10.decode(new Buffer(local31));
@Pc(31) byte[] data = archive.fetchFile(getGroupId(id), getFileId(id));
varbit = new VarbitType();
if (data != null) {
varbit.decode(new Buffer(data));
}
types.put(local10, arg0);
return local10;
types.put(varbit, id);
return varbit;
}
@OriginalMember(owner = "client!wa", name = "d", descriptor = "(BI)V")
@ -46,12 +46,12 @@ public class VarbitTypeList {
}
@OriginalMember(owner = "client!wf", name = "a", descriptor = "(II)I")
public static int method3845(@OriginalArg(0) int arg0) {
public static int getFileId(@OriginalArg(0) int arg0) {
return arg0 & 0x3FF;
}
@OriginalMember(owner = "client!uj", name = "a", descriptor = "(II)I")
public static int method4349(@OriginalArg(0) int arg0) {
public static int getGroupId(@OriginalArg(0) int arg0) {
return arg0 >>> 10;
}
}

View file

@ -12,20 +12,20 @@ public final class VarpType {
public int clientCode = 0;
@OriginalMember(owner = "client!eh", name = "a", descriptor = "(ILclient!wa;)V")
public final void decode(@OriginalArg(1) Buffer arg0) {
public final void decode(@OriginalArg(1) Buffer buffer) {
while (true) {
@Pc(5) int local5 = arg0.g1();
if (local5 == 0) {
@Pc(5) int opcode = buffer.g1();
if (opcode == 0) {
return;
}
this.decode(arg0, local5);
this.decode(buffer, opcode);
}
}
@OriginalMember(owner = "client!eh", name = "a", descriptor = "(Lclient!wa;BI)V")
private void decode(@OriginalArg(0) Buffer arg0, @OriginalArg(2) int arg1) {
if (arg1 == 5) {
this.clientCode = arg0.g2();
private void decode(@OriginalArg(0) Buffer buffer, @OriginalArg(2) int opcode) {
if (opcode == 5) {
this.clientCode = buffer.g2();
}
}
}

View file

@ -19,18 +19,18 @@ public class VarpTypeList {
}
@OriginalMember(owner = "client!ub", name = "a", descriptor = "(II)Lclient!eh;")
public static VarpType get(@OriginalArg(1) int arg0) {
@Pc(10) VarpType local10 = (VarpType) types.get(arg0);
if (local10 != null) {
return local10;
public static VarpType get(@OriginalArg(1) int id) {
@Pc(10) VarpType varp = (VarpType) types.get(id);
if (varp != null) {
return varp;
}
@Pc(20) byte[] local20 = archive.fetchFile(16, arg0);
local10 = new VarpType();
if (local20 != null) {
local10.decode(new Buffer(local20));
@Pc(20) byte[] data = archive.fetchFile(16, id);
varp = new VarpType();
if (data != null) {
varp.decode(new Buffer(data));
}
types.put(local10, arg0);
return local10;
types.put(varp, id);
return varp;
}
@OriginalMember(owner = "client!ud", name = "d", descriptor = "(I)V")

View file

@ -1768,8 +1768,8 @@ public class WorldMap {
@Pc(66) int local66;
@Pc(72) int local72;
@Pc(95) int local95;
if (local18.anInt5894 >= 0) {
local66 = local18.anInt5894;
if (local18.secondaryColor >= 0) {
local66 = local18.secondaryColor;
local72 = (local66 & 0x7F) + arg0;
if (local72 < 0) {
local72 = 0;
@ -1780,10 +1780,10 @@ public class WorldMap {
local53 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(local95, 96)];
} else if (local24 >= 0) {
local53 = Rasteriser.palette[ColorUtils.multiplyLightnessGrayscale(Rasteriser.textureProvider.getAverageColor(local24), 96)];
} else if (local18.anInt5899 == -1) {
} else if (local18.baseColor == -1) {
local53 = -1;
} else {
local66 = local18.anInt5899;
local66 = local18.baseColor;
local72 = arg0 + (local66 & 0x7F);
if (local72 < 0) {
local72 = 0;