Data Types
From RuneWiki
Alt Packets
These buffer functions are used to obfuscate the network protocol - there are 3 alt types typically, but their obfuscation process can strip out unused methods so there is a chance not all of them are in a specific revision.
You won't find these used in the cache.
Get
public final int g1_alt1() {
return this.data[this.pos++] - 128 & 0xFF;
}
public final int g1_alt2() {
return -this.data[this.pos++] & 0xFF;
}
public final int g1_alt3() {
return 128 - this.data[this.pos++] & 0xFF;
}
public final byte g1b_alt1() {
return (byte) (this.data[this.pos++] - 128);
}
public final byte g1b_alt2() {
return (byte) -this.data[this.pos++];
}
public final byte g1b_alt3() {
return (byte) (128 - this.data[this.pos++]);
}
public final int g2_alt2() {
this.pos += 2;
return ((this.data[this.pos - 2] & 0xFF) << 8) + (this.data[this.pos - 1] - 128 & 0xFF);
}
public final int g2_alt3() {
this.pos += 2;
return ((this.data[this.pos - 1] & 0xFF) << 8) + (this.data[this.pos - 2] - 128 & 0xFF);
}
public final int g3_alt1() {
this.pos += 3;
return ((this.data[this.pos - 3] & 0xFF) << 16) + ((this.data[this.pos - 1] & 0xFF) << 8) + (this.data[this.pos - 2] & 0xFF);
}
public final int g4_alt1() {
this.pos += 4;
return ((this.data[this.pos - 1] & 0xFF) << 24) + ((this.data[this.pos - 2] & 0xFF) << 16) + ((this.data[this.pos - 3] & 0xFF) << 8) + (this.data[this.pos - 4] & 0xFF);
}
public final int g4_alt2() {
this.pos += 4;
return ((this.data[this.pos - 2] & 0xFF) << 24) + ((this.data[this.pos - 1] & 0xFF) << 16) + ((this.data[this.pos - 4] & 0xFF) << 8) + (this.data[this.pos - 3] & 0xFF);
}
public final int g4_alt3() {
this.pos += 4;
return ((this.data[this.pos - 3] & 0xFF) << 24) + ((this.data[this.pos - 4] & 0xFF) << 16) + ((this.data[this.pos - 1] & 0xFF) << 8) + (this.data[this.pos - 2] & 0xFF);
}
Put
public final void p1_alt1(int value) {
this.data[this.pos++] = (byte) (value + 128);
}
public final void p1_alt2(int value) {
this.data[this.pos++] = (byte) -value;
}
public final void p1_alt3(int value) {
this.data[this.pos++] = (byte) (128 - value);
}
public final void p2_alt1(int value) {
this.data[this.pos++] = (byte) value;
this.data[this.pos++] = (byte) (value >> 8);
}
public final void p2_alt2(int value) {
this.data[this.pos++] = (byte) (value >> 8);
this.data[this.pos++] = (byte) (value + 128);
}
public final void p2_alt3(int value) {
this.data[this.pos++] = (byte) (value + 128);
this.data[this.pos++] = (byte) (value >> 8);
}
public final void p4_alt1(int value) {
this.data[this.pos++] = (byte) value;
this.data[this.pos++] = (byte) (value >> 8);
this.data[this.pos++] = (byte) (value >> 16);
this.data[this.pos++] = (byte) (value >> 24);
}
public final void p4_alt2(int value) {
this.data[this.pos++] = (byte) (value >> 8);
this.data[this.pos++] = (byte) value;
this.data[this.pos++] = (byte) (value >> 24);
this.data[this.pos++] = (byte) (value >> 16);
}
public final void p4_alt3(int value) {
this.data[this.pos++] = (byte) (value >> 16);
this.data[this.pos++] = (byte) (value >> 24);
this.data[this.pos++] = (byte) value;
this.data[this.pos++] = (byte) (value >> 8);
}