Package starlight.taliis.apps.shadowtool

Source Code of starlight.taliis.apps.shadowtool.shadowTool

package starlight.taliis.apps.shadowtool;

import java.awt.Color;
import java.awt.Point;
import java.awt.image.BufferedImage;
import java.awt.image.DataBuffer;
import java.awt.image.DataBufferByte;
import java.awt.image.Raster;
import java.awt.image.WritableRaster;
import java.io.File;
import java.io.IOException;

import javax.imageio.ImageIO;

import starlight.taliis.core.chunks.adt.MCSH;
import starlight.taliis.core.files.adt;
import starlight.taliis.helpers.fileLoader;

public class shadowTool {
  String inF, outF;
 
  public shadowTool(String inFile, String outFile) {
    inF = inFile;
    outF = outFile;
   
    if(inF.contains(".adt"))
      extract();
    else if(outF.contains(".adt"))
      imp();
  }
 
  private void extract() {
    System.out.println("Open " + inF);
    adt obj = new adt( fileLoader.openBuffer(inF) );
   
    // Setup output picture
    BufferedImage img = new BufferedImage(16*64, 16*64, BufferedImage.TYPE_BYTE_BINARY);
   
    for(int x=0; x<16; x++) {
      for(int y=0; y<16; y++) {
        // preload data
        int data[] = obj.mcnk[16*y+x].mcsh.getData();
       
        // confert to RGB BW picture ..
        for(int c=0; c<data.length; c++)
          if(data[c]!=0) data[c] = 0xFFFFFF;
     
        // set pixels 
        for(int c=0; c<64; c++)
          img.setRGB(x*64, //int startX,
                         y*64 + c,//int startY,
                         64,//int w,
                         1,//int h,
                         data,//int[] rgbArray,
                         c*64,//int offset,
                         64);//int scansize)
       
      }
    }
   
    File file = new File(outF);
        try {
      ImageIO.write(img, "png", file);
    } catch (IOException e) {
      // TODO Auto-generated catch block
      e.printStackTrace();
    }
  }
 
  private void imp() {
   
  }
 
 
 
 
  /**
   * @param args
   */
  public static void main(String[] args) {
    String inFile="", outFile="";
   
    System.out.println("Taliis Shadow Tool (c)2007-2008 by Mae, Ganku");
    System.out.println("                   Visit http://taliis.blogspot.com !!\n");
   
    if(args.length==0) {
      System.out.println("Usage: java -jar shadowtool <input file> [<output file>]");
      System.exit(0);
    }
   
    else if(args.length==1) {
      inFile = args[0];
     
      if(inFile.contains(".adt"))
        outFile = inFile.replace(".adt", ".png");
      else if(inFile.contains(".png"))
        outFile = inFile.replace(".png", ".adt");
      else {
        System.out.println("Usage: java -jar shadowtool <input file> [<output file>]");
        System.exit(-1);
      }
    }
    else if(args.length==2) {
      inFile = args[0];
      outFile = args[1];
    }
    else System.exit(-2);
   
    new shadowTool(inFile, outFile);
  }

}
TOP

Related Classes of starlight.taliis.apps.shadowtool.shadowTool

TOP
Copyright © 2018 www.massapi.com. 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.