mirror of
https://gitlab.com/2009scape/rt4-client.git
synced 2026-08-17 00:15:15 -06:00
Refactored some anim/area sound classes
This commit is contained in:
parent
dbca509eb5
commit
fd3572f709
108 changed files with 1063 additions and 1078 deletions
|
|
@ -12,39 +12,65 @@ public final class AnimFrameset extends SecondaryNode {
|
|||
public final AnimFrame[] frames;
|
||||
|
||||
@OriginalMember(owner = "client!cl", name = "<init>", descriptor = "(Lclient!ve;Lclient!ve;IZ)V")
|
||||
public AnimFrameset(@OriginalArg(0) Js5 arg0, @OriginalArg(1) Js5 arg1, @OriginalArg(2) int arg2, @OriginalArg(3) boolean arg3) {
|
||||
@Pc(5) LinkedList local5 = new LinkedList();
|
||||
@Pc(10) int local10 = arg0.getGroupCapacity(arg2);
|
||||
this.frames = new AnimFrame[local10];
|
||||
@Pc(19) int[] local19 = arg0.getFileIds(arg2);
|
||||
for (@Pc(21) int local21 = 0; local21 < local19.length; local21++) {
|
||||
@Pc(37) byte[] local37 = arg0.getFile(arg2, local19[local21]);
|
||||
@Pc(51) int local51 = local37[1] & 0xFF | (local37[0] & 0xFF) << 8;
|
||||
@Pc(56) AnimBase local56 = (AnimBase) local5.start();
|
||||
@Pc(58) AnimBase local58 = null;
|
||||
while (local56 != null) {
|
||||
if (local56.id == local51) {
|
||||
local58 = local56;
|
||||
public AnimFrameset(@OriginalArg(0) Js5 animsArchive, @OriginalArg(1) Js5 basesArchive, @OriginalArg(2) int id, @OriginalArg(3) boolean arg3) {
|
||||
@Pc(5) LinkedList bases = new LinkedList();
|
||||
@Pc(10) int capacity = animsArchive.getGroupCapacity(id);
|
||||
this.frames = new AnimFrame[capacity];
|
||||
@Pc(19) int[] fileIds = animsArchive.getFileIds(id);
|
||||
for (@Pc(21) int i = 0; i < fileIds.length; i++) {
|
||||
@Pc(37) byte[] bytes = animsArchive.getFile(id, fileIds[i]);
|
||||
@Pc(51) int baseId = bytes[1] & 0xFF | (bytes[0] & 0xFF) << 8;
|
||||
@Pc(56) AnimBase b = (AnimBase) bases.head();
|
||||
@Pc(58) AnimBase base = null;
|
||||
while (b != null) {
|
||||
if (b.id == baseId) {
|
||||
base = b;
|
||||
break;
|
||||
}
|
||||
local56 = (AnimBase) local5.next();
|
||||
b = (AnimBase) bases.next();
|
||||
}
|
||||
if (local58 == null) {
|
||||
@Pc(85) byte[] local85 = arg1.method4502(0, local51);
|
||||
local58 = new AnimBase(local51, local85);
|
||||
local5.addTail(local58);
|
||||
if (base == null) {
|
||||
@Pc(85) byte[] baseBytes = basesArchive.fetchFileNoDiscard(0, baseId);
|
||||
base = new AnimBase(baseId, baseBytes);
|
||||
bases.addTail(base);
|
||||
}
|
||||
this.frames[local19[local21]] = new AnimFrame(local37, local58);
|
||||
this.frames[fileIds[i]] = new AnimFrame(bytes, base);
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!cl", name = "c", descriptor = "(II)Z")
|
||||
public final boolean isAlphaTransformed(@OriginalArg(1) int arg0) {
|
||||
return this.frames[arg0].transformsAlpha;
|
||||
@OriginalMember(owner = "client!gn", name = "a", descriptor = "(Lclient!ve;ZLclient!ve;BI)Lclient!cl;")
|
||||
public static AnimFrameset create(@OriginalArg(0) Js5 animsArchive, @OriginalArg(2) Js5 basesArchive, @OriginalArg(4) int id) {
|
||||
@Pc(5) boolean ready = true;
|
||||
@Pc(16) int[] fileIds = animsArchive.getFileIds(id);
|
||||
for (@Pc(18) int i = 0; i < fileIds.length; i++) {
|
||||
@Pc(30) byte[] bytes = animsArchive.fetchFileNoDiscard(fileIds[i], id);
|
||||
if (bytes == null) {
|
||||
ready = false;
|
||||
} else {
|
||||
@Pc(49) int baseId = (bytes[0] & 0xFF) << 8 | bytes[1] & 0xFF;
|
||||
@Pc(57) byte[] baseBytes = basesArchive.fetchFileNoDiscard(0, baseId);
|
||||
if (baseBytes == null) {
|
||||
ready = false;
|
||||
}
|
||||
}
|
||||
}
|
||||
if (!ready) {
|
||||
return null;
|
||||
}
|
||||
try {
|
||||
return new AnimFrameset(animsArchive, basesArchive, id, false);
|
||||
} catch (@Pc(84) Exception local84) {
|
||||
return null;
|
||||
}
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!cl", name = "c", descriptor = "(II)Z")
|
||||
public final boolean isAlphaTransformed(@OriginalArg(1) int frame) {
|
||||
return this.frames[frame].transformsAlpha;
|
||||
}
|
||||
|
||||
@OriginalMember(owner = "client!cl", name = "a", descriptor = "(IB)Z")
|
||||
public final boolean isColorTransformed(@OriginalArg(0) int arg0) {
|
||||
return this.frames[arg0].transformsColor;
|
||||
public final boolean isColorTransformed(@OriginalArg(0) int frame) {
|
||||
return this.frames[frame].transformsColor;
|
||||
}
|
||||
}
|
||||
|
|
|
|||
Loading…
Add table
Add a link
Reference in a new issue