Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- 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 {
- try {
- for (int z = minZ; z <= maxZ; z++) {
- for (int localX = localXOffset; localX < localXMax; localX++) {
- for (int localY = localYOffset; localY < localYMax; localY++) {
- //The special flags for this tile
- int flags = this.flags[z][localX][localY];
- Chunk c = map.getChunk((xOffset + localX) >> WorldMap.CHUNK_BITS, (yOffset + localY) >> WorldMap.CHUNK_BITS, zOffset + z);
- if (c != null) {
- c.setFlag((xOffset + localX) & 7, (yOffset + localY) & 7, flags);
- }
- int height = z;
- if ((flags & Chunk.FLAG_CLIP) == Chunk.FLAG_CLIP) {
- if ((this.flags[1][localX][localY] & Chunk.FLAG_BRIDGE) == Chunk.FLAG_BRIDGE) {
- height--;
- }
- }
- height += zOffset;
- if ((flags & RSMap.FLAG_CLIP) == RSMap.FLAG_CLIP) {
- map.addClip(xOffset + localX, yOffset + localY, height, ClipMasks.BLOCKED_TILE);
- }
- if ((flags & RSMap.FLAG_UNKNOWN) == RSMap.FLAG_UNKNOWN) {
- map.addClip(xOffset + localX, yOffset + localY, height, ClipMasks.BLOCKED_TILE);
- }
- if ((flags & RSMap.FLAG_UNKNOWN2) == RSMap.FLAG_UNKNOWN2) {
- map.addClip(xOffset + localX, yOffset + localY, height, ClipMasks.BLOCKED_TILE);
- }
- flags = flags & ~(RSMap.FLAG_CLIP | RSMap.FLAG_BRIDGE | RSMap.FLAG_ROOF | RSMap.FLAG_UNKNOWN | RSMap.FLAG_UNKNOWN2);
- if (flags != 0) {
- System.err.println("Leftover flag at " + (xOffset + localX) + ", " + (yOffset + localY) + ", " + height + ", Flag remains: " + flags);
- }
- }
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement