mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2025-12-09 16:45:46 -07:00
commit
2bcf5c564d
34 changed files with 884 additions and 866 deletions
|
|
@ -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) {
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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);
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;")
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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();
|
||||
}
|
||||
}
|
||||
}
|
||||
|
|
|
|||
|
|
@ -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")
|
||||
|
|
|
|||
|
|
@ -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;
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue