Advertisement
Guest User

renamed GPI

a guest
Jul 4th, 2016
241
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 9.54 KB | None | 0 0
  1.     static final void playerUpdate() {
  2.         client.anInt1904 = 0;
  3.         client.anInt1910 = 0;
  4.         client.gamecon.initbits();
  5.         int needsUpdate = client.gamecon.readbits(1);
  6.         int movetype;
  7.         int move;
  8.         int maskflag;
  9.         int update;
  10.         int updateFlag;
  11.         if (needsUpdate != 0) {
  12.             movetype = client.gamecon.readbits(2);
  13.             if (movetype == 0)
  14.                 client.anIntArray1911[++client.anInt1910 - 1] = 2047;
  15.             else if (movetype == 1) {
  16.                 move = client.gamecon.readbits(3);
  17.                 Class81.pf.step(move, false);
  18.                 maskflag = client.gamecon.readbits(1);
  19.                 if (maskflag == 1)
  20.                     client.anIntArray1911[++client.anInt1910 - 1] = 2047;
  21.             } else if (movetype == 2) {
  22.                 move = client.gamecon.readbits(3);
  23.                 Class81.pf.step(move, true);
  24.                 maskflag = client.gamecon.readbits(3);
  25.                 Class81.pf.step(maskflag, true);
  26.                 update = client.gamecon.readbits(1);
  27.                 if (update == 1)
  28.                     client.anIntArray1911[++client.anInt1910 - 1] = 2047;
  29.             } else if (movetype == 3) { // teleport
  30.                 Class12.anInt73 = client.gamecon.readbits(2);
  31.                 move = client.gamecon.readbits(7);
  32.                 maskflag = client.gamecon.readbits(1);
  33.                 if (maskflag == 1)
  34.                     client.anIntArray1911[++client.anInt1910 - 1] = 2047;
  35.  
  36.                 update = client.gamecon.readbits(7);
  37.                 updateFlag = client.gamecon.readbits(1);
  38.                 Class81.pf.placeEntity(move, update, updateFlag == 1);
  39.             }
  40.         }
  41.  
  42.         needsUpdate = client.gamecon.readbits(8);
  43.         if (needsUpdate < client.toUpdate)
  44.             for (movetype = needsUpdate; movetype < client.toUpdate; ++movetype)
  45.                 client.anIntArray2048[++client.anInt1904 - 1] = client.localPlayerIndexs[movetype];
  46.  
  47.         if (needsUpdate > client.toUpdate)
  48.             throw new RuntimeException("");
  49.         else {
  50.             client.toUpdate = 0;
  51.  
  52.             int movee;
  53.             int move2;
  54.             for (movetype = 0; movetype < needsUpdate; ++movetype) {
  55.                 move = client.localPlayerIndexs[movetype];
  56.                 final Player entity = client.localNpcs[move];
  57.                 update = client.gamecon.readbits(1);
  58.                 if (update == 0) {
  59.                     client.localPlayerIndexs[++client.toUpdate - 1] = move;
  60.                     entity.anInt1739 = client.anInt1799;
  61.                 } else {
  62.                     updateFlag = client.gamecon.readbits(2);
  63.                     if (updateFlag == 0) {
  64.                         client.localPlayerIndexs[++client.toUpdate - 1] = move;
  65.                         entity.anInt1739 = client.anInt1799;
  66.                         client.anIntArray1911[++client.anInt1910 - 1] = move;
  67.                     } else if (updateFlag == 1) {
  68.                         client.localPlayerIndexs[++client.toUpdate - 1] = move;
  69.                         entity.anInt1739 = client.anInt1799;
  70.                         movee = client.gamecon.readbits(3);
  71.                         entity.step(movee, false);
  72.                         move2 = client.gamecon.readbits(1);
  73.                         if (move2 == 1)
  74.                             client.anIntArray1911[++client.anInt1910 - 1] = move;
  75.                     } else if (updateFlag == 2) {
  76.                         client.localPlayerIndexs[++client.toUpdate - 1] = move;
  77.                         entity.anInt1739 = client.anInt1799;
  78.                         movee = client.gamecon.readbits(3);
  79.                         entity.step(movee, true);
  80.                         move2 = client.gamecon.readbits(3);
  81.                         entity.step(move2, true);
  82.                         final int var9 = client.gamecon.readbits(1);
  83.                         if (var9 == 1)
  84.                             client.anIntArray1911[++client.anInt1910 - 1] = move;
  85.                     } else if (updateFlag == 3)
  86.                         client.anIntArray2048[++client.anInt1904 - 1] = move;
  87.                 }
  88.             }
  89.  
  90.             Player entity;
  91.             // new npcs
  92.             for (; client.gamecon.availbits(client.pktSize) >= 11; entity.placeEntity( updateFlag + Class81.pf.anIntArray1745[0], maskflag + Class81.pf.anIntArray1746[0], movee == 1)) {
  93.                 needsUpdate = client.gamecon.readbits(11);
  94.                 if (needsUpdate == 2047) // break flag
  95.                     break;
  96.  
  97.                 boolean hasCachedAppearance = false;
  98.                 if (null == client.localNpcs[needsUpdate]) {
  99.                     client.localNpcs[needsUpdate] = new Player();
  100.                     if (null != client.cachedAppearances[needsUpdate])
  101.                         client.localNpcs[needsUpdate] .decodeAppearance(client.cachedAppearances[needsUpdate]);
  102.  
  103.                     hasCachedAppearance = true;
  104.                 }
  105.  
  106.                 client.localPlayerIndexs[++client.toUpdate - 1] = needsUpdate;
  107.                 entity = client.localNpcs[needsUpdate];
  108.                 entity.anInt1739 = client.anInt1799;
  109.                 maskflag = client.gamecon.readbits(5);
  110.                 if (maskflag > 15)
  111.                     maskflag -= 32;
  112.  
  113.                 update = client.anIntArray1817[client.gamecon.readbits(3)];
  114.                 if (hasCachedAppearance)
  115.                     entity.anInt1698 = entity.anInt1725 = update;
  116.  
  117.                 updateFlag = client.gamecon.readbits(5);
  118.                 if (updateFlag > 15)
  119.                     updateFlag -= 32;
  120.  
  121.                 movee = client.gamecon.readbits(1);
  122.                 move2 = client.gamecon.readbits(1);
  123.                 if (move2 == 1)
  124.                     client.anIntArray1911[++client.anInt1910 - 1] = needsUpdate;
  125.             }
  126.  
  127.             client.gamecon.endbits();
  128.  
  129.             for (needsUpdate = 0; needsUpdate < client.anInt1910; ++needsUpdate) {
  130.                 movetype = client.anIntArray1911[needsUpdate];
  131.                 entity = client.localNpcs[movetype];
  132.                 maskflag = client.gamecon.readUByte();
  133.                 if ((maskflag & 64) != 0)
  134.                     maskflag += client.gamecon.readUByte() << 8;
  135.  
  136.                 if ((maskflag & 4) != 0) {
  137.                     update = client.gamecon.readLEShort();
  138.                     updateFlag = client.gamecon.readUByte();
  139.                     movee = client.gamecon.readUByte();
  140.                     move2 = client.gamecon.pos;
  141.                     if ((null != entity.aString1780) && (entity.aClass85_1770 != null)) {
  142.                         boolean var15 = false;
  143.                         if ((updateFlag <= 1) && Class34.method166(entity.aString1780))
  144.                             var15 = true;
  145.  
  146.                         if (!var15 && (client.anInt1906 == 0)) {
  147.                             client.somebuf.pos = 0;
  148.                             client.gamecon.readBytes(client.somebuf.backing, 0,
  149.                                     movee);
  150.                             client.somebuf.pos = 0;
  151.                             final String var11 = Class104_Sub18_Sub17_Sub2
  152.                                     .method879(Class80.method351(Class50.huffmanDecode(client.somebuf)));
  153.                             entity.aString1723 = var11.trim();
  154.                             entity.anInt1731 = update >> 8;
  155.                             entity.anInt1749 = update & 255;
  156.                             entity.anInt1713 = 150;
  157.                             if ((updateFlag != 2) && (updateFlag != 3)) {
  158.                                 if (updateFlag == 1)
  159.                                     Class15.method60(1, Class72.method335(0) + entity.aString1780, var11);
  160.                                 else
  161.                                     Class15.method60(2, entity.aString1780, var11);
  162.                             } else
  163.                                 Class15.method60(1, Class72.method335(1) + entity.aString1780, var11);
  164.                         }
  165.                     }
  166.  
  167.                     client.gamecon.pos = move2 + movee;
  168.                 }
  169.  
  170.                 if ((maskflag & 2) != 0) {
  171.                     update = client.gamecon.readUByteS();
  172.                     final byte[] data = new byte[update];
  173.                     final RSBuf buf = new RSBuf(data);
  174.                     client.gamecon.method617(data, 0, update);
  175.                     client.cachedAppearances[movetype] = buf;
  176.                     entity.decodeAppearance(buf);
  177.                 }
  178.  
  179.                 if ((maskflag & 256) != 0) {
  180.                     entity.anInt1697 = client.gamecon.readUByte();
  181.                     entity.anInt1734 = client.gamecon.readByteN();
  182.                     entity.anInt1733 = client.gamecon.readUByte();
  183.                     entity.anInt1721 = client.gamecon.method576();
  184.                     entity.anInt1708 = client.gamecon.method594() + client.anInt1799;
  185.                     entity.anInt1737 = client.gamecon.readLEShort() + client.anInt1799;
  186.                     entity.anInt1738 = client.gamecon.readByteN();
  187.                     entity.anInt1744 = 1;
  188.                     entity.anInt1735 = 0;
  189.                 }
  190.  
  191.                 if ((maskflag & 32) != 0) {
  192.                     entity.anInt1716 = client.gamecon.readShortN();
  193.                     if (entity.anInt1716 == '\uffff')
  194.                         entity.anInt1716 = -1;
  195.                 }
  196.  
  197.                 if ((maskflag & 128) != 0) {
  198.                     entity.anInt1717 = client.gamecon.method594();
  199.                     entity.anInt1718 = client.gamecon.readShort();
  200.                 }
  201.  
  202.                 if ((maskflag & 16) != 0) {
  203.                     update = client.gamecon.method594();
  204.                     if (update == '\uffff')
  205.                         update = -1;
  206.  
  207.                     updateFlag = client.gamecon.readByteN();
  208.                     Class75.method342(entity, update, updateFlag);
  209.                 }
  210.  
  211.                 if ((maskflag & 512) != 0) {
  212.                     entity.anInt1727 = client.gamecon.readShort();
  213.                     update = client.gamecon.readLEInt();
  214.                     entity.anInt1709 = update >> 16;
  215.                     entity.anInt1730 = client.anInt1799 + (update & '\uffff');
  216.                     entity.anInt1728 = 0;
  217.                     entity.anInt1729 = 0;
  218.                     if (entity.anInt1730 > client.anInt1799)
  219.                         entity.anInt1728 = -1;
  220.  
  221.                     if (entity.anInt1727 == '\uffff')
  222.                         entity.anInt1727 = -1;
  223.                 }
  224.  
  225.                 if ((maskflag & 1024) != 0) {
  226.                     update = client.gamecon.method576();
  227.                     updateFlag = client.gamecon.readUByteS();
  228.                     entity.method935(update, updateFlag, client.anInt1799);
  229.                     entity.anInt1714 = client.anInt1799 + 300;
  230.                     entity.anInt1693 = client.gamecon.readUByte();
  231.                     entity.anInt1715 = client.gamecon.readByteN();
  232.                 }
  233.  
  234.                 if ((maskflag & 1) != 0) {
  235.                     entity.aString1723 = client.gamecon.readString();
  236.                     if (entity.aString1723.charAt(0) == 126) {
  237.                         entity.aString1723 = entity.aString1723.substring(1);
  238.                         Class15.method60(2, entity.aString1780, entity.aString1723);
  239.                     } else if (Class81.pf == entity)
  240.                         Class15.method60(2, entity.aString1780, entity.aString1723);
  241.  
  242.                     entity.anInt1731 = 0;
  243.                     entity.anInt1749 = 0;
  244.                     entity.anInt1713 = 150;
  245.                 }
  246.  
  247.                 if ((maskflag & 8) != 0) {
  248.                     update = client.gamecon.method576();
  249.                     updateFlag = client.gamecon.readUByteS();
  250.                     entity.method935(update, updateFlag, client.anInt1799);
  251.                     entity.anInt1714 = 300 + client.anInt1799;
  252.                     entity.anInt1693 = client.gamecon.method576();
  253.                     entity.anInt1715 = client.gamecon.readUByte();
  254.                 }
  255.             }
  256.  
  257.             for (needsUpdate = 0; needsUpdate < client.anInt1904; ++needsUpdate) {
  258.                 movetype = client.anIntArray2048[needsUpdate];
  259.                 if (client.anInt1799 != client.localNpcs[movetype].anInt1739)
  260.                     client.localNpcs[movetype] = null;
  261.             }
  262.  
  263.             if (client.gamecon.pos != client.pktSize)
  264.                 throw new RuntimeException(client.gamecon.pos + "," + client.pktSize);
  265.             else
  266.                 for (needsUpdate = 0; needsUpdate < client.toUpdate; ++needsUpdate)
  267.                     if (client.localNpcs[client.localPlayerIndexs[needsUpdate]] == null)
  268.                         throw new RuntimeException(needsUpdate + "," + client.toUpdate);
  269.         }
  270.     }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement