client: object composition directional access bitmask

This commit is contained in:
tomcylke
2021-09-09 14:08:10 -04:00
parent df0b7d9404
commit 0cb2dea4d9
10 changed files with 470 additions and 39 deletions

View File

@@ -242,7 +242,7 @@ public class ObjectComposition extends DualNode {
@ObfuscatedGetter(
intValue = 883575663
)
public int field1864;
public int int7;
@ObfuscatedName("ar")
@ObfuscatedGetter(
intValue = -154554887
@@ -259,7 +259,7 @@ public class ObjectComposition extends DualNode {
@Export("soundEffectIds")
public int[] soundEffectIds;
@ObfuscatedName("af")
public boolean field1854;
public boolean boolean3;
@ObfuscatedName("ax")
@ObfuscatedSignature(
descriptor = "Lnz;"
@@ -307,10 +307,10 @@ public class ObjectComposition extends DualNode {
this.transformVarbit = -1;
this.transformVarp = -1;
this.ambientSoundId = -1;
this.field1864 = 0;
this.int7 = 0;
this.int5 = 0;
this.int6 = 0;
this.field1854 = true;
this.boolean3 = true;
}
@ObfuscatedName("c")
@@ -480,11 +480,11 @@ public class ObjectComposition extends DualNode {
} else if (var2 != 77 && var2 != 92) {
if (var2 == 78) {
this.ambientSoundId = var1.readUnsignedShort();
this.field1864 = var1.readUnsignedByte();
this.int7 = var1.readUnsignedByte();
} else if (var2 == 79) {
this.int5 = var1.readUnsignedShort();
this.int6 = var1.readUnsignedShort();
this.field1864 = var1.readUnsignedByte();
this.int7 = var1.readUnsignedByte();
var3 = var1.readUnsignedByte();
this.soundEffectIds = new int[var3];
@@ -496,7 +496,7 @@ public class ObjectComposition extends DualNode {
} else if (var2 == 82) {
this.mapIconId = var1.readUnsignedShort();
} else if (var2 == 89) {
this.field1854 = false;
this.boolean3 = false;
} else if (var2 == 249) {
this.params = class123.readStringIntParameters(var1, this.params);
}

View File

@@ -112,7 +112,7 @@ public final class ObjectSound extends Node {
ObjectComposition var2 = this.obj.transform();
if (var2 != null) {
this.soundEffectId = var2.ambientSoundId;
this.field804 = var2.field1864 * 128;
this.field804 = var2.int7 * 128;
this.field805 = var2.int5;
this.field800 = var2.int6;
this.soundEffectIds = var2.soundEffectIds;

View File

@@ -119,7 +119,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(22, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, 22, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newFloorDecoration(var0, var1, var2, var16, (Renderable)var29, var19, var21);
@@ -136,7 +136,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(var5, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.method4291(var0, var1, var2, var16, 1, 1, (Renderable)var29, 0, var19, var21);
@@ -153,7 +153,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(0, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, 0, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field980[var4], 0, var19, var21);
@@ -211,7 +211,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(1, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, 1, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field982[var4], 0, var19, var21);
@@ -241,8 +241,8 @@ public class class140 extends class116 {
var30 = var8.getEntity(2, var4 + 4, var15, var17, var16, var18);
var24 = var8.getEntity(2, var22, var15, var17, var16, var18);
} else {
var30 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var24 = new DynamicObject(var3, 2, var22, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var30 = new DynamicObject(var3, 2, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
var24 = new DynamicObject(var3, 2, var22, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var30, (Renderable)var24, Tiles.field980[var4], Tiles.field980[var22], var19, var21);
@@ -282,7 +282,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(3, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, 3, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newBoundaryObject(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field982[var4], 0, var19, var21);
@@ -306,7 +306,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(var5, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, var5, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.method4291(var0, var1, var2, var16, 1, 1, (Renderable)var29, 0, var19, var21);
@@ -322,7 +322,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(4, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, Tiles.field980[var4], 0, 0, 0, var19, var21);
@@ -339,7 +339,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var25 = var8.getEntity(4, var4, var15, var17, var16, var18);
} else {
var25 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var25 = new DynamicObject(var3, 4, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, Tiles.field980[var4], 0, var22 * Tiles.field972[var4], var22 * Tiles.field984[var4], var19, var21);
@@ -353,7 +353,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18);
} else {
var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)null, 256, var4, var22 * Tiles.field985[var4], var22 * Tiles.field973[var4], var19, var21);
@@ -362,7 +362,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(4, var28 + 4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, 4, var28 + 4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, 4, var28 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var29, (Renderable)null, 256, var28, 0, 0, var19, var21);
@@ -379,8 +379,8 @@ public class class140 extends class116 {
var25 = var8.getEntity(4, var4 + 4, var15, var17, var16, var18);
var26 = var8.getEntity(4, var27 + 4, var15, var17, var16, var18);
} else {
var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var25 = new DynamicObject(var3, 4, var4 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
var26 = new DynamicObject(var3, 4, var27 + 4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
var6.newWallDecoration(var0, var1, var2, var16, (Renderable)var25, (Renderable)var26, 256, var4, var22 * Tiles.field985[var4], var22 * Tiles.field973[var4], var19, var21);
@@ -391,7 +391,7 @@ public class class140 extends class116 {
if (var8.animationId == -1 && var8.transforms == null) {
var29 = var8.getEntity(10, var4, var15, var17, var16, var18);
} else {
var29 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, var8.field1854, (Renderable)null);
var29 = new DynamicObject(var3, 10, var4, var0, var1, var2, var8.animationId, var8.boolean3, (Renderable)null);
}
if (var29 != null && var6.method4291(var0, var1, var2, var16, var9, var10, (Renderable)var29, var5 == 11 ? 256 : 0, var19, var21) && var8.clipped) {

View File

@@ -94,7 +94,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(22, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, 22, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newFloorDecoration(var0, var2, var3, var17, (Renderable)var30, var20, var22);
@@ -107,7 +107,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(var6, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.method4291(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22);
@@ -119,7 +119,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(0, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, 0, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field980[var5], 0, var20, var22);
@@ -131,7 +131,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(1, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, 1, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field982[var5], 0, var20, var22);
@@ -149,8 +149,8 @@ class class18 implements Comparator {
var31 = var9.getModel(2, var5 + 4, var16, var18, var17, var19);
var25 = var9.getModel(2, var23, var16, var18, var17, var19);
} else {
var31 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var25 = new DynamicObject(var4, 2, var23, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var31 = new DynamicObject(var4, 2, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
var25 = new DynamicObject(var4, 2, var23, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var31, (Renderable)var25, Tiles.field980[var5], Tiles.field980[var23], var20, var22);
@@ -162,7 +162,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(3, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, 3, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newBoundaryObject(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field982[var5], 0, var20, var22);
@@ -174,7 +174,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(var6, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, var6, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.method4291(var0, var2, var3, var17, 1, 1, (Renderable)var30, 0, var20, var22);
@@ -186,7 +186,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(4, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, Tiles.field980[var5], 0, 0, 0, var20, var22);
@@ -203,7 +203,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, var5, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var26 = new DynamicObject(var4, 4, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, Tiles.field980[var5], 0, var23 * Tiles.field972[var5], var23 * Tiles.field984[var5], var20, var22);
@@ -217,7 +217,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)null, 256, var5, var23 * Tiles.field985[var5], var23 * Tiles.field973[var5], var20, var22);
@@ -226,7 +226,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(4, var29 + 4, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, 4, var29 + 4, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, 4, var29 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var30, (Renderable)null, 256, var29, 0, 0, var20, var22);
@@ -243,8 +243,8 @@ class class18 implements Comparator {
var26 = var9.getModel(4, var5 + 4, var16, var18, var17, var19);
var27 = var9.getModel(4, var28 + 4, var16, var18, var17, var19);
} else {
var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var26 = new DynamicObject(var4, 4, var5 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
var27 = new DynamicObject(var4, 4, var28 + 4, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
var7.newWallDecoration(var0, var2, var3, var17, (Renderable)var26, (Renderable)var27, 256, var5, var23 * Tiles.field985[var5], var23 * Tiles.field973[var5], var20, var22);
@@ -255,7 +255,7 @@ class class18 implements Comparator {
if (var9.animationId == -1 && var9.transforms == null) {
var30 = var9.getModel(10, var5, var16, var18, var17, var19);
} else {
var30 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, var9.field1854, (Renderable)null);
var30 = new DynamicObject(var4, 10, var5, var1, var2, var3, var9.animationId, var9.boolean3, (Renderable)null);
}
if (var30 != null) {

View File

@@ -124,7 +124,7 @@ public class class7 {
var5.field806 = (var6 + var1) * 128;
var5.field801 = (var7 + var2) * 128;
var5.soundEffectId = var3.ambientSoundId;
var5.field804 = var3.field1864 * 128;
var5.field804 = var3.int7 * 128;
var5.field805 = var3.int5;
var5.field800 = var3.int6;
var5.soundEffectIds = var3.soundEffectIds;