Package org.moparscape.msc.gs.model.landscape

Examples of org.moparscape.msc.gs.model.landscape.Sector


  // private ZipOutputStream out;

  private boolean loadSection(int sectionX, int sectionY, int height,
      World world, int bigX, int bigY) {
    // Logging.debug(1);
    Sector s = null;
    try {
      String filename = "h" + height + "x" + sectionX + "y" + sectionY;
      ZipEntry e = tileArchive.getEntry(filename);
      if (e == null) {
        // throw new Exception("Missing tile: " + filename);
        System.out.println("Missing tile: " + filename + " ex: "
            + (bigX + 10) + ", " + (bigY + 10));
        return false;
      }
      ByteBuffer data = DataConversions
          .streamToBuffer(new BufferedInputStream(tileArchive
              .getInputStream(e)));
      s = Sector.unpack(data);
      // s = modifyAndSave(filename, s, bigX, bigY);
    } catch (Exception e) {
      Logger.error(e);
    }
    // Logging.debug(2);
    for (int y = 0; y < Sector.HEIGHT; y++) {
      for (int x = 0; x < Sector.WIDTH; x++) {
        int bx = bigX + x;
        int by = bigY + y;
        if (!world.withinWorld(bx, by)) {
          continue;
        }

        MutableTileValue t = new MutableTileValue(world.getTileValue(
            bx, by));
        t.overlay = s.getTile(x, y).groundOverlay;
        t.diagWallVal = s.getTile(x, y).diagonalWalls;
        t.horizontalWallVal = s.getTile(x, y).horizontalWall;
        t.verticalWallVal = s.getTile(x, y).verticalWall;
        t.elevation = s.getTile(x, y).groundElevation;
        /** start of shit **/
        if ((s.getTile(x, y).groundOverlay & 0xff) == 250) {
          s.getTile(x, y).groundOverlay = (byte) 2;
        }
        /** break in shit **/
        int groundOverlay = s.getTile(x, y).groundOverlay & 0xFF;
        if (groundOverlay > 0
            && EntityHandler.getTileDef(groundOverlay - 1)
                .getObjectType() != 0) {
          t.mapValue |= 0x40; // 64
        }

        int verticalWall = s.getTile(x, y).verticalWall & 0xFF;
        if (verticalWall > 0
            && EntityHandler.getDoorDef(verticalWall - 1)
                .getUnknown() == 0
            && EntityHandler.getDoorDef(verticalWall - 1)
                .getDoorType() != 0) {
          t.mapValue |= 1; // 1
          MutableTileValue t1 = new MutableTileValue(
              world.getTileValue(bx, by - 1));
          t1.mapValue |= 4; // 4
          world.setTileValue(bx, by - 1, t1.toTileValue());
        }

        int horizontalWall = s.getTile(x, y).horizontalWall & 0xFF;
        if (horizontalWall > 0
            && EntityHandler.getDoorDef(horizontalWall - 1)
                .getUnknown() == 0
            && EntityHandler.getDoorDef(horizontalWall - 1)
                .getDoorType() != 0) {
          t.mapValue |= 2; // 2
          MutableTileValue t1 = new MutableTileValue(
              world.getTileValue(bx - 1, by));
          t1.mapValue |= 8;
          world.setTileValue(bx - 1, by, t1.toTileValue());
        }

        int diagonalWalls = s.getTile(x, y).diagonalWalls;
        if (diagonalWalls > 0
            && diagonalWalls < 12000
            && EntityHandler.getDoorDef(diagonalWalls - 1)
                .getUnknown() == 0
            && EntityHandler.getDoorDef(diagonalWalls - 1)
View Full Code Here

TOP

Related Classes of org.moparscape.msc.gs.model.landscape.Sector

Copyright © 2018 www.massapicom. All rights reserved.
All source code are property of their respective owners. Java is a trademark of Sun Microsystems, Inc and owned by ORACLE Inc. Contact coftware#gmail.com.