Advertisement
Not a member of Pastebin yet?
Sign Up,
it unlocks many cool features!
- import java.awt.Graphics;
- import java.awt.image.BufferedImage;
- import java.io.File;
- import javax.imageio.ImageIO;
- public class CovertLPCSprites {
- public static int TILE=64, ROW_WIDTH=19, ROW_HEIGHT=4, WEAPON_FRAMES=8, WEAPON_TILE=64;
- public static int copyRow(Graphics g, BufferedImage img, int i, int row, int w, int tile){
- int x = i%ROW_WIDTH, y = i/ROW_WIDTH; if(x+w > ROW_WIDTH){
- int w2 = ROW_WIDTH-x; g.drawImage(img, x*tile, y*tile, (x+w2)*tile, (y+1)*tile, 0, tile*row, w2*tile, tile*(row+1), null);
- y++; x = 0; g.drawImage(img, x*tile, y*tile, (x+(w-w2))*tile, (y+1)*tile, w2*tile, tile*row, w*tile, tile*(row+1), null);
- } else g.drawImage(img, x*tile, y*tile, (x+w)*tile, (y+1)*tile, 0, tile*row, w*tile, tile*(row+1), null);
- return i+w;
- }
- public static int copyRow(Graphics g, BufferedImage img, int i, int row, int w){return copyRow(g,img,i,row,w,TILE);}
- public static BufferedImage convertSheet(BufferedImage img){return convertSheet(img,null);}
- public static BufferedImage convertSheet(BufferedImage img, BufferedImage ret){
- if(ret == null) ret = new BufferedImage(ROW_WIDTH*TILE, ROW_HEIGHT*TILE, BufferedImage.TYPE_INT_ARGB); Graphics g = ret.createGraphics();
- //WALK_UP 9, WALK_LEFT 9, WALK_DOWN 9, WALK_RIGHT 9, SLASH 6, THRUST 8, BOW 13, CAST 7, DEATH 6
- int i=copyRow(g,img,0,8,9); i=copyRow(g,img,i,9,9); i=copyRow(g,img,i,10,9);i=copyRow(g,img,i,11,9); i=copyRow(g,img,i,13,6);
- i=copyRow(g,img,i,5,8); i=copyRow(g,img,i,17,13); i=copyRow(g,img,i,1,7); i=copyRow(g,img,i,20,6); return ret;
- }
- public static BufferedImage convertWeaponSheet(BufferedImage img){
- BufferedImage ret = new BufferedImage(WEAPON_FRAMES*WEAPON_TILE, WEAPON_TILE, BufferedImage.TYPE_INT_ARGB);
- Graphics g = ret.createGraphics(); copyRow(g,img,0,1,WEAPON_FRAMES,WEAPON_TILE); return ret;
- }
- private static String FOLDER = "C:/Games/LPC/Universal Spritesheet/", OUT = "C:/Haxe/MusicRPG2/assets/lib/";
- private static int EYE_WHITE = 0xfff2f8f9;
- public static void getEyeWhites(BufferedImage img){
- for (int y = 0; y < img.getHeight(); ++y){
- for (int x = 0; x < img.getWidth(); ++x){
- int argb = img.getRGB(x, y); if(argb != EYE_WHITE) img.setRGB(x, y, 0);
- }
- }
- }
- private static class Pos {
- public int x, y; public Pos(int _x, int _y){x = _x; y = _y;}
- }
- private static Pos getStart(BufferedImage img, int x, int y){
- for(int y2=y; y2<y+TILE; y2++){
- for(int x2=x; x2<x+TILE; x2++) if(((img.getRGB(x2, y2)>>24)&0xFF) != 0) return new Pos(x2,y2);
- } return null;
- }
- private static void removeOrcHead(int i, BufferedImage img, BufferedImage ret, BufferedImage head) throws Exception {
- int x = (i%ROW_WIDTH)*TILE, y = (i/ROW_WIDTH)*TILE; Pos p=getStart(img,x,y), p2=getStart(head,0,0);
- if(p == null || p2 == null) return; p.x -= p2.x;
- int ex = p.x+head.getWidth(), ey=p.y+head.getHeight(); //System.out.println(x+" "+y+" "+p.x+" "+p.y+" "+ex+" "+ey);
- for(int y2=p.y; y2<ey; y2++){
- for(int x2=p.x; x2<ex; x2++){
- int c = head.getRGB(x2-p.x,y2-p.y); if(img.getRGB(x2, y2) == c){
- img.setRGB(x2, y2, 0); ret.setRGB(x2, y2, c);
- }
- }
- }
- }
- private static BufferedImage flipH(BufferedImage img) throws Exception {
- int w = img.getWidth(), h = img.getHeight(); BufferedImage ret = new BufferedImage(w, h, img.getType());
- for(int y=0; y<h; y++){
- for(int x=0; x<w; x++){
- ret.setRGB(w-x-1, y, img.getRGB(x,y));
- }
- } return ret;
- }
- public static BufferedImage removeOrcHead(BufferedImage img) throws Exception {
- BufferedImage ret = new BufferedImage(img.getWidth(), img.getHeight(), img.getType());
- BufferedImage head = ImageIO.read(new File(FOLDER+"head/orc.png"));
- for(int f=9; f<18; f++) removeOrcHead(f,img, ret, head);
- for(int f=36; f<70; f++) removeOrcHead(f,img, ret, head);
- BufferedImage head2 = flipH(head); for(int f=27; f<36; f++) removeOrcHead(f,img, ret, head2);
- return ret;
- }
- public static void convertBody() throws Exception {
- BufferedImage img = ImageIO.read(new File(FOLDER+"body/female/light.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"body_f.png"));
- img = ImageIO.read(new File(FOLDER+"body/male/light.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"body_m.png"));
- img = convertSheet(ImageIO.read(new File(FOLDER+"body/male/orc.png")));
- ImageIO.write(removeOrcHead(img), "png", new File(OUT+"head_o.png"));
- ImageIO.write(img, "png", new File(OUT+"body_o.png"));
- img = ImageIO.read(new File(FOLDER+"body/male/skeleton.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"body_s.png"));
- img = ImageIO.read(new File(FOLDER+"body/female/eyes/blue.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"eyes_f.png"));
- img = ImageIO.read(new File(FOLDER+"body/male/eyes/blue.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"eyes_m.png"));
- }
- public static void convertHairF() throws Exception {
- BufferedImage img = ImageIO.read(new File(FOLDER+"hair/female/bangslong.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair0_f.png"));
- img = ImageIO.read(new File(FOLDER+"hair/female/bangsshort.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair1_f.png"));
- img = ImageIO.read(new File(FOLDER+"hair/female/unkempt.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair2_f.png"));
- img = ImageIO.read(new File(FOLDER+"hair/female/pixie.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair3_f.png"));
- img = ImageIO.read(new File(FOLDER+"hair/female/ponytail.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair4_f.png"));
- img = ImageIO.read(new File(FOLDER+"hair/female/princess.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair5_f.png"));
- img = ImageIO.read(new File(FOLDER+"hair/female/swoop.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair6_f.png"));
- img = ImageIO.read(new File(FOLDER+"hair/female/loose.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair7_f.png"));
- }
- public static void convertHairM() throws Exception {
- BufferedImage img = ImageIO.read(new File(FOLDER+"hair/male/bangs.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair0_m.png"));
- img = ImageIO.read(new File(FOLDER+"hair/male/bedhead.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair1_m.png"));
- img = ImageIO.read(new File(FOLDER+"hair/male/long.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair2_m.png"));
- img = ImageIO.read(new File(FOLDER+"hair/male/messy1.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair3_m.png"));
- img = ImageIO.read(new File(FOLDER+"hair/male/messy2.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair4_m.png"));
- img = ImageIO.read(new File(FOLDER+"hair/male/mohawk.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair5_m.png"));
- img = ImageIO.read(new File(FOLDER+"hair/male/page.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair6_m.png"));
- img = ImageIO.read(new File(FOLDER+"hair/male/parted.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"hair7_m.png"));
- }
- public static void convertCharacter() throws Exception {
- convertBody();
- convertHairF();
- convertHairM();
- }
- public static void convertHelms() throws Exception {
- BufferedImage img = ImageIO.read(new File(FOLDER+"head/leather_cap_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/cap_f.png"));
- img = ImageIO.read(new File(FOLDER+"head/leather_cap_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/cap_m.png"));
- img = ImageIO.read(new File(FOLDER+"head/cloth_hood_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/clothhood_f.png"));
- img = ImageIO.read(new File(FOLDER+"head/cloth_hood_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/clothhood_m.png"));
- img = ImageIO.read(new File(FOLDER+"head/chainhat_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/skullcap_f.png"));
- img = ImageIO.read(new File(FOLDER+"head/chainhat_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/skullcap_m.png"));
- img = ImageIO.read(new File(FOLDER+"head/chain_hood_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/chainhood_f.png"));
- img = ImageIO.read(new File(FOLDER+"head/chain_hood_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/chainhood_m.png"));
- img = ImageIO.read(new File(FOLDER+"head/metal_helm_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/helm_f.png"));
- img = ImageIO.read(new File(FOLDER+"head/metal_helm_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/helm_m.png"));
- img = ImageIO.read(new File(FOLDER+"head/golden_helm_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/goldhelm_f.png"));
- img = ImageIO.read(new File(FOLDER+"head/golden_helm_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/goldhelm_m.png"));
- }
- public static void convertShirts() throws Exception {
- BufferedImage img = ImageIO.read(new File(FOLDER+"torso/white_shirt_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/shirt_f.png"));
- img = ImageIO.read(new File(FOLDER+"torso/white_shirt_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/shirt_m.png"));
- img = ImageIO.read(new File(FOLDER+"torso/leather/chest_female.png"));
- BufferedImage img2 = ImageIO.read(new File(FOLDER+"torso/leather/shoulders_female.png"));
- BufferedImage img3 = ImageIO.read(new File(FOLDER+"torso/leather/bracers_female.png"));
- ImageIO.write(convertSheet(img3, convertSheet(img2, convertSheet(img))), "png", new File(OUT+"equipment/leather_f.png"));
- img = ImageIO.read(new File(FOLDER+"torso/leather/chest_male.png"));
- img2 = ImageIO.read(new File(FOLDER+"torso/leather/shoulders_male.png"));
- img3 = ImageIO.read(new File(FOLDER+"torso/leather/bracers_male.png"));
- ImageIO.write(convertSheet(img3, convertSheet(img2, convertSheet(img))), "png", new File(OUT+"equipment/leather_m.png"));
- img = ImageIO.read(new File(FOLDER+"torso/chain/mail_female.png"));
- img2 = ImageIO.read(new File(FOLDER+"belt/leather_female.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/chain_f.png"));
- img = ImageIO.read(new File(FOLDER+"torso/chain/mail_male.png"));
- img2 = ImageIO.read(new File(FOLDER+"belt/leather_male.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/chain_m.png"));
- img = ImageIO.read(new File(FOLDER+"torso/plate/chest_female.png"));
- img2 = ImageIO.read(new File(FOLDER+"torso/plate/arms_female.png"));
- img3 = ImageIO.read(new File(FOLDER+"hands/metal_gloves_female.png"));
- ImageIO.write(convertSheet(img3, convertSheet(img2, convertSheet(img))), "png", new File(OUT+"equipment/plate_f.png"));
- img = ImageIO.read(new File(FOLDER+"torso/plate/chest_male.png"));
- img2 = ImageIO.read(new File(FOLDER+"torso/plate/arms_male.png"));
- img3 = ImageIO.read(new File(FOLDER+"hands/metal_gloves_male.png"));
- ImageIO.write(convertSheet(img3, convertSheet(img2, convertSheet(img))), "png", new File(OUT+"equipment/plate_m.png"));
- img = ImageIO.read(new File(FOLDER+"torso/gold/chest_female.png"));
- img2 = ImageIO.read(new File(FOLDER+"torso/gold/arms_female.png"));
- img3 = ImageIO.read(new File(FOLDER+"hands/golden_gloves_female.png"));
- ImageIO.write(convertSheet(img3, convertSheet(img2, convertSheet(img))), "png", new File(OUT+"equipment/gold_f.png"));
- img = ImageIO.read(new File(FOLDER+"torso/gold/chest_male.png"));
- img2 = ImageIO.read(new File(FOLDER+"torso/gold/arms_male.png"));
- img3 = ImageIO.read(new File(FOLDER+"hands/golden_gloves_male.png"));
- ImageIO.write(convertSheet(img3, convertSheet(img2, convertSheet(img))), "png", new File(OUT+"equipment/gold_m.png"));
- img = ImageIO.read(new File(FOLDER+"torso/brown_shirt_male.png"));
- img2 = ImageIO.read(new File(FOLDER+"belt/rope_male.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/robes_m.png"));
- }
- public static void convertPants() throws Exception {
- BufferedImage img = ImageIO.read(new File(FOLDER+"legs/green_pants_female.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/pants_f.png"));
- BufferedImage img2 = ImageIO.read(new File(FOLDER+"feet/brown_shoes_female.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/boots_f.png"));
- img2 = ImageIO.read(new File(FOLDER+"feet/black_shoes_female.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/metalboots_f.png"));
- img = ImageIO.read(new File(FOLDER+"legs/green_pants_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/pants_m.png"));
- img2 = ImageIO.read(new File(FOLDER+"feet/brown_shoes_male.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/boots_m.png"));
- img2 = ImageIO.read(new File(FOLDER+"feet/black_shoes_male.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/metalboots_m.png"));
- img = ImageIO.read(new File(FOLDER+"legs/metal_pants_female.png"));
- img2 = ImageIO.read(new File(FOLDER+"feet/metal_boots_female.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/greaves_f.png"));
- img = ImageIO.read(new File(FOLDER+"legs/metal_pants_male.png"));
- img2 = ImageIO.read(new File(FOLDER+"feet/metal_boots_male.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/greaves_m.png"));
- img = ImageIO.read(new File(FOLDER+"legs/golden_greaves_female.png"));
- img2 = ImageIO.read(new File(FOLDER+"feet/golden_boots_female.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/goldgreaves_f.png"));
- img = ImageIO.read(new File(FOLDER+"legs/golden_greaves_male.png"));
- img2 = ImageIO.read(new File(FOLDER+"feet/golden_boots_male.png"));
- ImageIO.write(convertSheet(img2, convertSheet(img)), "png", new File(OUT+"equipment/goldgreaves_m.png"));
- img = ImageIO.read(new File(FOLDER+"legs/robe_skirt_male.png"));
- ImageIO.write(convertSheet(img), "png", new File(OUT+"equipment/robeskirt_m.png"));
- }
- public static void convertEquipment() throws Exception {
- convertHelms();
- convertShirts();
- convertPants();
- }
- public static void main(String[] args) {
- try{
- convertCharacter();
- convertEquipment();
- //BufferedImage img = ImageIO.read(new File("C:/Games/lpc_entry/head/cloth_hood_male.png"));
- //JFrame f = new JFrame(); f.setContentPane(new JScrollPane(new JLabel(new ImageIcon(convertSheet(img)))));
- //f.setSize(new Dimension(800,600)); f.setDefaultCloseOperation(JFrame.EXIT_ON_CLOSE); f.setVisible(true);
- //ImageIO.write(convertSheet(img), "png", new File("C:/Haxe/MusicRPG2/assets/lib/equipment/clothhood_m2.png"));
- //ImageIO.write(convertWeaponSheet(img), "png", new File("C:/Haxe/MusicRPG/lib/equipment/staff.png"));
- }catch(Exception e){e.printStackTrace();}
- }
- }
Advertisement
Add Comment
Please, Sign In to add comment
Advertisement