Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- static final void playerUpdate() {
- client.anInt1904 = 0;
- client.anInt1910 = 0;
- client.gamecon.initbits();
- int needsUpdate = client.gamecon.readbits(1);
- int movetype;
- int move;
- int maskflag;
- int update;
- int updateFlag;
- if (needsUpdate != 0) {
- movetype = client.gamecon.readbits(2);
- if (movetype == 0)
- client.anIntArray1911[++client.anInt1910 - 1] = 2047;
- else if (movetype == 1) {
- move = client.gamecon.readbits(3);
- Class81.pf.step(move, false);
- maskflag = client.gamecon.readbits(1);
- if (maskflag == 1)
- client.anIntArray1911[++client.anInt1910 - 1] = 2047;
- } else if (movetype == 2) {
- move = client.gamecon.readbits(3);
- Class81.pf.step(move, true);
- maskflag = client.gamecon.readbits(3);
- Class81.pf.step(maskflag, true);
- update = client.gamecon.readbits(1);
- if (update == 1)
- client.anIntArray1911[++client.anInt1910 - 1] = 2047;
- } else if (movetype == 3) { // teleport
- Class12.anInt73 = client.gamecon.readbits(2);
- move = client.gamecon.readbits(7);
- maskflag = client.gamecon.readbits(1);
- if (maskflag == 1)
- client.anIntArray1911[++client.anInt1910 - 1] = 2047;
- update = client.gamecon.readbits(7);
- updateFlag = client.gamecon.readbits(1);
- Class81.pf.placeEntity(move, update, updateFlag == 1);
- }
- }
- needsUpdate = client.gamecon.readbits(8);
- if (needsUpdate < client.toUpdate)
- for (movetype = needsUpdate; movetype < client.toUpdate; ++movetype)
- client.anIntArray2048[++client.anInt1904 - 1] = client.localPlayerIndexs[movetype];
- if (needsUpdate > client.toUpdate)
- throw new RuntimeException("");
- else {
- client.toUpdate = 0;
- int movee;
- int move2;
- for (movetype = 0; movetype < needsUpdate; ++movetype) {
- move = client.localPlayerIndexs[movetype];
- final Player entity = client.localNpcs[move];
- update = client.gamecon.readbits(1);
- if (update == 0) {
- client.localPlayerIndexs[++client.toUpdate - 1] = move;
- entity.anInt1739 = client.anInt1799;
- } else {
- updateFlag = client.gamecon.readbits(2);
- if (updateFlag == 0) {
- client.localPlayerIndexs[++client.toUpdate - 1] = move;
- entity.anInt1739 = client.anInt1799;
- client.anIntArray1911[++client.anInt1910 - 1] = move;
- } else if (updateFlag == 1) {
- client.localPlayerIndexs[++client.toUpdate - 1] = move;
- entity.anInt1739 = client.anInt1799;
- movee = client.gamecon.readbits(3);
- entity.step(movee, false);
- move2 = client.gamecon.readbits(1);
- if (move2 == 1)
- client.anIntArray1911[++client.anInt1910 - 1] = move;
- } else if (updateFlag == 2) {
- client.localPlayerIndexs[++client.toUpdate - 1] = move;
- entity.anInt1739 = client.anInt1799;
- movee = client.gamecon.readbits(3);
- entity.step(movee, true);
- move2 = client.gamecon.readbits(3);
- entity.step(move2, true);
- final int var9 = client.gamecon.readbits(1);
- if (var9 == 1)
- client.anIntArray1911[++client.anInt1910 - 1] = move;
- } else if (updateFlag == 3)
- client.anIntArray2048[++client.anInt1904 - 1] = move;
- }
- }
- Player entity;
- // new npcs
- for (; client.gamecon.availbits(client.pktSize) >= 11; entity.placeEntity( updateFlag + Class81.pf.anIntArray1745[0], maskflag + Class81.pf.anIntArray1746[0], movee == 1)) {
- needsUpdate = client.gamecon.readbits(11);
- if (needsUpdate == 2047) // break flag
- break;
- boolean hasCachedAppearance = false;
- if (null == client.localNpcs[needsUpdate]) {
- client.localNpcs[needsUpdate] = new Player();
- if (null != client.cachedAppearances[needsUpdate])
- client.localNpcs[needsUpdate] .decodeAppearance(client.cachedAppearances[needsUpdate]);
- hasCachedAppearance = true;
- }
- client.localPlayerIndexs[++client.toUpdate - 1] = needsUpdate;
- entity = client.localNpcs[needsUpdate];
- entity.anInt1739 = client.anInt1799;
- maskflag = client.gamecon.readbits(5);
- if (maskflag > 15)
- maskflag -= 32;
- update = client.anIntArray1817[client.gamecon.readbits(3)];
- if (hasCachedAppearance)
- entity.anInt1698 = entity.anInt1725 = update;
- updateFlag = client.gamecon.readbits(5);
- if (updateFlag > 15)
- updateFlag -= 32;
- movee = client.gamecon.readbits(1);
- move2 = client.gamecon.readbits(1);
- if (move2 == 1)
- client.anIntArray1911[++client.anInt1910 - 1] = needsUpdate;
- }
- client.gamecon.endbits();
- for (needsUpdate = 0; needsUpdate < client.anInt1910; ++needsUpdate) {
- movetype = client.anIntArray1911[needsUpdate];
- entity = client.localNpcs[movetype];
- maskflag = client.gamecon.readUByte();
- if ((maskflag & 64) != 0)
- maskflag += client.gamecon.readUByte() << 8;
- if ((maskflag & 4) != 0) {
- update = client.gamecon.readLEShort();
- updateFlag = client.gamecon.readUByte();
- movee = client.gamecon.readUByte();
- move2 = client.gamecon.pos;
- if ((null != entity.aString1780) && (entity.aClass85_1770 != null)) {
- boolean var15 = false;
- if ((updateFlag <= 1) && Class34.method166(entity.aString1780))
- var15 = true;
- if (!var15 && (client.anInt1906 == 0)) {
- client.somebuf.pos = 0;
- client.gamecon.readBytes(client.somebuf.backing, 0,
- movee);
- client.somebuf.pos = 0;
- final String var11 = Class104_Sub18_Sub17_Sub2
- .method879(Class80.method351(Class50.huffmanDecode(client.somebuf)));
- entity.aString1723 = var11.trim();
- entity.anInt1731 = update >> 8;
- entity.anInt1749 = update & 255;
- entity.anInt1713 = 150;
- if ((updateFlag != 2) && (updateFlag != 3)) {
- if (updateFlag == 1)
- Class15.method60(1, Class72.method335(0) + entity.aString1780, var11);
- else
- Class15.method60(2, entity.aString1780, var11);
- } else
- Class15.method60(1, Class72.method335(1) + entity.aString1780, var11);
- }
- }
- client.gamecon.pos = move2 + movee;
- }
- if ((maskflag & 2) != 0) {
- update = client.gamecon.readUByteS();
- final byte[] data = new byte[update];
- final RSBuf buf = new RSBuf(data);
- client.gamecon.method617(data, 0, update);
- client.cachedAppearances[movetype] = buf;
- entity.decodeAppearance(buf);
- }
- if ((maskflag & 256) != 0) {
- entity.anInt1697 = client.gamecon.readUByte();
- entity.anInt1734 = client.gamecon.readByteN();
- entity.anInt1733 = client.gamecon.readUByte();
- entity.anInt1721 = client.gamecon.method576();
- entity.anInt1708 = client.gamecon.method594() + client.anInt1799;
- entity.anInt1737 = client.gamecon.readLEShort() + client.anInt1799;
- entity.anInt1738 = client.gamecon.readByteN();
- entity.anInt1744 = 1;
- entity.anInt1735 = 0;
- }
- if ((maskflag & 32) != 0) {
- entity.anInt1716 = client.gamecon.readShortN();
- if (entity.anInt1716 == '\uffff')
- entity.anInt1716 = -1;
- }
- if ((maskflag & 128) != 0) {
- entity.anInt1717 = client.gamecon.method594();
- entity.anInt1718 = client.gamecon.readShort();
- }
- if ((maskflag & 16) != 0) {
- update = client.gamecon.method594();
- if (update == '\uffff')
- update = -1;
- updateFlag = client.gamecon.readByteN();
- Class75.method342(entity, update, updateFlag);
- }
- if ((maskflag & 512) != 0) {
- entity.anInt1727 = client.gamecon.readShort();
- update = client.gamecon.readLEInt();
- entity.anInt1709 = update >> 16;
- entity.anInt1730 = client.anInt1799 + (update & '\uffff');
- entity.anInt1728 = 0;
- entity.anInt1729 = 0;
- if (entity.anInt1730 > client.anInt1799)
- entity.anInt1728 = -1;
- if (entity.anInt1727 == '\uffff')
- entity.anInt1727 = -1;
- }
- if ((maskflag & 1024) != 0) {
- update = client.gamecon.method576();
- updateFlag = client.gamecon.readUByteS();
- entity.method935(update, updateFlag, client.anInt1799);
- entity.anInt1714 = client.anInt1799 + 300;
- entity.anInt1693 = client.gamecon.readUByte();
- entity.anInt1715 = client.gamecon.readByteN();
- }
- if ((maskflag & 1) != 0) {
- entity.aString1723 = client.gamecon.readString();
- if (entity.aString1723.charAt(0) == 126) {
- entity.aString1723 = entity.aString1723.substring(1);
- Class15.method60(2, entity.aString1780, entity.aString1723);
- } else if (Class81.pf == entity)
- Class15.method60(2, entity.aString1780, entity.aString1723);
- entity.anInt1731 = 0;
- entity.anInt1749 = 0;
- entity.anInt1713 = 150;
- }
- if ((maskflag & 8) != 0) {
- update = client.gamecon.method576();
- updateFlag = client.gamecon.readUByteS();
- entity.method935(update, updateFlag, client.anInt1799);
- entity.anInt1714 = 300 + client.anInt1799;
- entity.anInt1693 = client.gamecon.method576();
- entity.anInt1715 = client.gamecon.readUByte();
- }
- }
- for (needsUpdate = 0; needsUpdate < client.anInt1904; ++needsUpdate) {
- movetype = client.anIntArray2048[needsUpdate];
- if (client.anInt1799 != client.localNpcs[movetype].anInt1739)
- client.localNpcs[movetype] = null;
- }
- if (client.gamecon.pos != client.pktSize)
- throw new RuntimeException(client.gamecon.pos + "," + client.pktSize);
- else
- for (needsUpdate = 0; needsUpdate < client.toUpdate; ++needsUpdate)
- if (client.localNpcs[client.localPlayerIndexs[needsUpdate]] == null)
- throw new RuntimeException(needsUpdate + "," + client.toUpdate);
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement