All command tables now get read

This commit is contained in:
Treeku
2014-04-07 16:31:23 +01:00
parent f3e2498e62
commit 0bbf98e209
+94 -84
View File
@@ -35,7 +35,7 @@ public class BaseSWGCommand implements Cloneable {
private String clientEffectTarget;
private int commandCRC;
private boolean isGmCommand = false;
private String characterAbility;
private String characterAbility = null;
private int target;
private int targetType;
private boolean callOnTarget = false;
@@ -60,92 +60,102 @@ public class BaseSWGCommand implements Cloneable {
setCommandCRC(CRC.StringtoCRC(commandName));
try {
List<Long> invalidStates = new ArrayList<Long>();
List<Byte> invalidPostures = new ArrayList<Byte>();
String[] tableArray = new String[] {
"client_command_table", "client_command_table_ground", "client_command_table_space",
"command_table", "command_table_ground", "command_table_space", "command_table_atmospheric_flight" };
DatatableVisitor visitor2 = ClientFileManager.loadFile("datatables/command/command_table.iff", DatatableVisitor.class);
for (int i = 0; i < visitor2.getRowCount(); i++) {
if (visitor2.getObject(i, 0) != null) {
if (((String) visitor2.getObject(i, 0)).equalsIgnoreCase(commandName)) {
characterAbility = (String) visitor2.getObject(i, 7);
target = (Integer) visitor2.getObject(i, 72);
targetType = (Integer) visitor2.getObject(i, 73);
callOnTarget = (Boolean) visitor2.getObject(i, 76);
commandGroup = (Integer) visitor2.getObject(i, 77);
disabled = (Boolean) visitor2.getObject(i, 78);
maxRangeToTarget = (Float) visitor2.getObject(i, 79);
godLevel = (Integer) visitor2.getObject(i, 80);
displayGroup = (Integer) visitor2.getObject(i, 81);
combatCommand = (Boolean) visitor2.getObject(i, 82);
validWeapon = (Integer) visitor2.getObject(i, 83);
invalidWeapon = (Integer) visitor2.getObject(i, 84);
cooldownGroup = (String) visitor2.getObject(i, 85);
warmupTime = (Float) visitor2.getObject(i, 86);
executeTime = (Float) visitor2.getObject(i, 87);
cooldown = (Float) visitor2.getObject(i, 88);
if (!((Boolean) visitor2.getObject(i, 8))) invalidPostures.add((byte) 0);
if (!((Boolean) visitor2.getObject(i, 9))) invalidPostures.add((byte) 3);
if (!((Boolean) visitor2.getObject(i, 16))) invalidPostures.add((byte) 2);
if (!((Boolean) visitor2.getObject(i, 19))) invalidPostures.add((byte) 5);
if (!((Boolean) visitor2.getObject(i, 21))) invalidPostures.add((byte) 6);
if (!((Boolean) visitor2.getObject(i, 22))) invalidPostures.add((byte) 7);
if (!((Boolean) visitor2.getObject(i, 23))) invalidPostures.add((byte) 8);
if (!((Boolean) visitor2.getObject(i, 24))) invalidPostures.add((byte) 9);
if (!((Boolean) visitor2.getObject(i, 25))) invalidPostures.add((byte) 10);
if (!((Boolean) visitor2.getObject(i, 26))) invalidPostures.add((byte) 11);
if (!((Boolean) visitor2.getObject(i, 27))) invalidPostures.add((byte) 12);
if (!((Boolean) visitor2.getObject(i, 28))) invalidPostures.add((byte) 13);
if (!((Boolean) visitor2.getObject(i, 29))) invalidPostures.add((byte) 14);
if (!((Boolean) visitor2.getObject(i, 30))) invalidPostures.add((byte) 4);
if (!((Boolean) visitor2.getObject(i, 32))) invalidStates.add(1L);
if (!((Boolean) visitor2.getObject(i, 33))) invalidStates.add(2L);
if (!((Boolean) visitor2.getObject(i, 34))) invalidStates.add(4L);
if (!((Boolean) visitor2.getObject(i, 35))) invalidStates.add(8L);
if (!((Boolean) visitor2.getObject(i, 36))) invalidStates.add(16L);
if (!((Boolean) visitor2.getObject(i, 37))) invalidStates.add(32L);
if (!((Boolean) visitor2.getObject(i, 38))) invalidStates.add(64L);
if (!((Boolean) visitor2.getObject(i, 39))) invalidStates.add(128L);
if (!((Boolean) visitor2.getObject(i, 40))) invalidStates.add(256L);
if (!((Boolean) visitor2.getObject(i, 41))) invalidStates.add(512L);
if (!((Boolean) visitor2.getObject(i, 42))) invalidStates.add(1024L);
if (!((Boolean) visitor2.getObject(i, 43))) invalidStates.add(2048L);
if (!((Boolean) visitor2.getObject(i, 44))) invalidStates.add(4096L);
if (!((Boolean) visitor2.getObject(i, 45))) invalidStates.add(8192L);
if (!((Boolean) visitor2.getObject(i, 46))) invalidStates.add(16384L);
if (!((Boolean) visitor2.getObject(i, 47))) invalidStates.add(32768L);
if (!((Boolean) visitor2.getObject(i, 48))) invalidStates.add(65536L);
if (!((Boolean) visitor2.getObject(i, 49))) invalidStates.add(131072L);
if (!((Boolean) visitor2.getObject(i, 50))) invalidStates.add(262144L);
if (!((Boolean) visitor2.getObject(i, 51))) invalidStates.add(524288L);
if (!((Boolean) visitor2.getObject(i, 52))) invalidStates.add(1048576L);
if (!((Boolean) visitor2.getObject(i, 53))) invalidStates.add(2097152L);
if (!((Boolean) visitor2.getObject(i, 54))) invalidStates.add(4194304L);
if (!((Boolean) visitor2.getObject(i, 55))) invalidStates.add(8388608L);
if (!((Boolean) visitor2.getObject(i, 56))) invalidStates.add(16777216L);
if (!((Boolean) visitor2.getObject(i, 57))) invalidStates.add(33554432L);
if (!((Boolean) visitor2.getObject(i, 58))) invalidStates.add(67108864L);
if (!((Boolean) visitor2.getObject(i, 59))) invalidStates.add(134217728L);
if (!((Boolean) visitor2.getObject(i, 60))) invalidStates.add(268435456L);
if (!((Boolean) visitor2.getObject(i, 61))) invalidStates.add(536870912L);
if (!((Boolean) visitor2.getObject(i, 62))) invalidStates.add(1073741824L);
if (!((Boolean) visitor2.getObject(i, 63))) invalidStates.add(2147483648L);
if (!((Boolean) visitor2.getObject(i, 64))) invalidStates.add(4294967296L);
if (!((Boolean) visitor2.getObject(i, 65))) invalidStates.add(8589934592L);
if (!((Boolean) visitor2.getObject(i, 66))) invalidStates.add(17179869184L);
if (!((Boolean) visitor2.getObject(i, 67))) invalidStates.add(34359738368L);
if (!((Boolean) visitor2.getObject(i, 68))) invalidStates.add(68719476736L);
if (!((Boolean) visitor2.getObject(i, 69))) invalidStates.add(137438953472L);
if (!((Boolean) visitor2.getObject(i, 70))) invalidStates.add(274877906944L);
this.invalidPostures = invalidPostures.toArray(new Byte[] { });
this.invalidStates = invalidStates.toArray(new Long[] { });
break;
for (int n = 0; n < tableArray.length; n++) {
List<Long> invalidStates = new ArrayList<Long>();
List<Byte> invalidPostures = new ArrayList<Byte>();
DatatableVisitor visitor2 = ClientFileManager.loadFile("datatables/command/" + tableArray[n] + ".iff", DatatableVisitor.class);
for (int i = 0; i < visitor2.getRowCount(); i++) {
if (visitor2.getObject(i, 0) != null) {
if (((String) visitor2.getObject(i, 0)).equalsIgnoreCase(commandName)) {
characterAbility = (String) visitor2.getObject(i, 7);
target = (Integer) visitor2.getObject(i, 72);
targetType = (Integer) visitor2.getObject(i, 73);
callOnTarget = (Boolean) visitor2.getObject(i, 76);
commandGroup = (Integer) visitor2.getObject(i, 77);
disabled = (Boolean) visitor2.getObject(i, 78);
maxRangeToTarget = (Float) visitor2.getObject(i, 79);
godLevel = (Integer) visitor2.getObject(i, 80);
displayGroup = (Integer) visitor2.getObject(i, 81);
combatCommand = (Boolean) visitor2.getObject(i, 82);
validWeapon = (Integer) visitor2.getObject(i, 83);
invalidWeapon = (Integer) visitor2.getObject(i, 84);
cooldownGroup = (String) visitor2.getObject(i, 85);
warmupTime = (Float) visitor2.getObject(i, 86);
executeTime = (Float) visitor2.getObject(i, 87);
cooldown = (Float) visitor2.getObject(i, 88);
if (!((Boolean) visitor2.getObject(i, 8))) invalidPostures.add((byte) 0);
if (!((Boolean) visitor2.getObject(i, 9))) invalidPostures.add((byte) 3);
if (!((Boolean) visitor2.getObject(i, 16))) invalidPostures.add((byte) 2);
if (!((Boolean) visitor2.getObject(i, 19))) invalidPostures.add((byte) 5);
if (!((Boolean) visitor2.getObject(i, 21))) invalidPostures.add((byte) 6);
if (!((Boolean) visitor2.getObject(i, 22))) invalidPostures.add((byte) 7);
if (!((Boolean) visitor2.getObject(i, 23))) invalidPostures.add((byte) 8);
if (!((Boolean) visitor2.getObject(i, 24))) invalidPostures.add((byte) 9);
if (!((Boolean) visitor2.getObject(i, 25))) invalidPostures.add((byte) 10);
if (!((Boolean) visitor2.getObject(i, 26))) invalidPostures.add((byte) 11);
if (!((Boolean) visitor2.getObject(i, 27))) invalidPostures.add((byte) 12);
if (!((Boolean) visitor2.getObject(i, 28))) invalidPostures.add((byte) 13);
if (!((Boolean) visitor2.getObject(i, 29))) invalidPostures.add((byte) 14);
if (!((Boolean) visitor2.getObject(i, 30))) invalidPostures.add((byte) 4);
if (!((Boolean) visitor2.getObject(i, 32))) invalidStates.add(1L);
if (!((Boolean) visitor2.getObject(i, 33))) invalidStates.add(2L);
if (!((Boolean) visitor2.getObject(i, 34))) invalidStates.add(4L);
if (!((Boolean) visitor2.getObject(i, 35))) invalidStates.add(8L);
if (!((Boolean) visitor2.getObject(i, 36))) invalidStates.add(16L);
if (!((Boolean) visitor2.getObject(i, 37))) invalidStates.add(32L);
if (!((Boolean) visitor2.getObject(i, 38))) invalidStates.add(64L);
if (!((Boolean) visitor2.getObject(i, 39))) invalidStates.add(128L);
if (!((Boolean) visitor2.getObject(i, 40))) invalidStates.add(256L);
if (!((Boolean) visitor2.getObject(i, 41))) invalidStates.add(512L);
if (!((Boolean) visitor2.getObject(i, 42))) invalidStates.add(1024L);
if (!((Boolean) visitor2.getObject(i, 43))) invalidStates.add(2048L);
if (!((Boolean) visitor2.getObject(i, 44))) invalidStates.add(4096L);
if (!((Boolean) visitor2.getObject(i, 45))) invalidStates.add(8192L);
if (!((Boolean) visitor2.getObject(i, 46))) invalidStates.add(16384L);
if (!((Boolean) visitor2.getObject(i, 47))) invalidStates.add(32768L);
if (!((Boolean) visitor2.getObject(i, 48))) invalidStates.add(65536L);
if (!((Boolean) visitor2.getObject(i, 49))) invalidStates.add(131072L);
if (!((Boolean) visitor2.getObject(i, 50))) invalidStates.add(262144L);
if (!((Boolean) visitor2.getObject(i, 51))) invalidStates.add(524288L);
if (!((Boolean) visitor2.getObject(i, 52))) invalidStates.add(1048576L);
if (!((Boolean) visitor2.getObject(i, 53))) invalidStates.add(2097152L);
if (!((Boolean) visitor2.getObject(i, 54))) invalidStates.add(4194304L);
if (!((Boolean) visitor2.getObject(i, 55))) invalidStates.add(8388608L);
if (!((Boolean) visitor2.getObject(i, 56))) invalidStates.add(16777216L);
if (!((Boolean) visitor2.getObject(i, 57))) invalidStates.add(33554432L);
if (!((Boolean) visitor2.getObject(i, 58))) invalidStates.add(67108864L);
if (!((Boolean) visitor2.getObject(i, 59))) invalidStates.add(134217728L);
if (!((Boolean) visitor2.getObject(i, 60))) invalidStates.add(268435456L);
if (!((Boolean) visitor2.getObject(i, 61))) invalidStates.add(536870912L);
if (!((Boolean) visitor2.getObject(i, 62))) invalidStates.add(1073741824L);
if (!((Boolean) visitor2.getObject(i, 63))) invalidStates.add(2147483648L);
if (!((Boolean) visitor2.getObject(i, 64))) invalidStates.add(4294967296L);
if (!((Boolean) visitor2.getObject(i, 65))) invalidStates.add(8589934592L);
if (!((Boolean) visitor2.getObject(i, 66))) invalidStates.add(17179869184L);
if (!((Boolean) visitor2.getObject(i, 67))) invalidStates.add(34359738368L);
if (!((Boolean) visitor2.getObject(i, 68))) invalidStates.add(68719476736L);
if (!((Boolean) visitor2.getObject(i, 69))) invalidStates.add(137438953472L);
if (!((Boolean) visitor2.getObject(i, 70))) invalidStates.add(274877906944L);
this.invalidPostures = invalidPostures.toArray(new Byte[] { });
this.invalidStates = invalidStates.toArray(new Long[] { });
break;
}
}
}
if (characterAbility != null) {
break;
}
}
} catch (InstantiationException | IllegalAccessException e) {
e.printStackTrace();