Advertisement
Guest User

Untitled

a guest
May 26th, 2018
75
0
Never
Not a member of Pastebin yet? Sign Up, it unlocks many cool features!
Java 1.70 KB | None | 0 0
  1.     public void apply(RSMap map, int xOffset, int yOffset, int localXOffset, int localYOffset, int localXMax, int localYMax, int zOffset, int minZ, int maxZ) throws IOException {
  2.         try {
  3.             for (int z = minZ; z <= maxZ; z++) {
  4.                 for (int localX = localXOffset; localX < localXMax; localX++) {
  5.                     for (int localY = localYOffset; localY < localYMax; localY++) {
  6.  
  7.                         //The special flags for this tile
  8.                         int flags = this.flags[z][localX][localY];
  9.  
  10.                         Chunk c = map.getChunk((xOffset + localX) >> WorldMap.CHUNK_BITS, (yOffset + localY) >> WorldMap.CHUNK_BITS, zOffset + z);
  11.                         if (c != null) {
  12.                             c.setFlag((xOffset + localX) & 7, (yOffset + localY) & 7, flags);
  13.                         }
  14.  
  15.                         int height = z;
  16.                         if ((flags & Chunk.FLAG_CLIP) == Chunk.FLAG_CLIP) {
  17.                             if ((this.flags[1][localX][localY] & Chunk.FLAG_BRIDGE) == Chunk.FLAG_BRIDGE) {
  18.                                 height--;
  19.                             }
  20.                         }
  21.                         height += zOffset;
  22.                         if ((flags & RSMap.FLAG_CLIP) == RSMap.FLAG_CLIP) {
  23.                             map.addClip(xOffset + localX, yOffset + localY, height, ClipMasks.BLOCKED_TILE);
  24.                         }
  25.  
  26.                         if ((flags & RSMap.FLAG_UNKNOWN) == RSMap.FLAG_UNKNOWN) {
  27.                             map.addClip(xOffset + localX, yOffset + localY, height, ClipMasks.BLOCKED_TILE);
  28.                         }
  29.  
  30.                         if ((flags & RSMap.FLAG_UNKNOWN2) == RSMap.FLAG_UNKNOWN2) {
  31.                             map.addClip(xOffset + localX, yOffset + localY, height, ClipMasks.BLOCKED_TILE);
  32.                         }
  33.  
  34.                         flags = flags & ~(RSMap.FLAG_CLIP | RSMap.FLAG_BRIDGE | RSMap.FLAG_ROOF | RSMap.FLAG_UNKNOWN | RSMap.FLAG_UNKNOWN2);
  35.                         if (flags != 0) {
  36.                             System.err.println("Leftover flag at " + (xOffset + localX) + ", " + (yOffset + localY) + ", " + height + ", Flag remains: " + flags);
  37.                         }
  38.                     }
  39.                 }
  40.             }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement