New account registration is temporarily disabled.

ANYONE GOOD AT RIPPING?

Posts

Pages: 1
OK, well I tried this a few times myself before I posted this, but I just can't do it. I don't really have the time, knowledge, effort or skill. I can't find this Chipset ANYWHERE (if you have found it, please share it with me before I have a fit). I just need this screenshot ripped into a Chipset that can work in RM2K3.

http://www.reonis.com/rudra/images/Pure%20City%20Babel.png

I don't know much about ripping but I saved it to my Computer and zoomed into 2X on MSPaint, and it looked like the right size and quality. (is that even how people rip stuff??) :-\

I would be forever grateful if anyone bothers to actually do this. All I can offer you is complete credit.
I think i might have this chipset at home. When i get home i will check and see if i have it.
author=demondestiny link=topic=1344.msg20504#msg20504 date=1213764487
I think i might have this chipset at home. When i get home i will check and see if i have it.

I guess you didn't have it...Don't toy with me man, I really want itttttttt *Has hissy fit* I guess i'll give it a third atempt.

*Opens MSpaint*... Gahhhhhh! winge, moan.
It's not difficult, just cut out every unique 16x16 square. Just make sure that the original image is the correct size to begin with.
Are you sure there isn't some software out there that can do this already? I could rig up something in Java to do this in less than an hour, so I figure someone else would have done it already.
I wouldn't be so sure about that. Your program would need to somehow recognize what tiles are unique, and also where to begin 'cutting' each tile. It would also need to somehow know which tiles should be on which layer, and which should be autotiles (and then how to create autotiles). Also, when you get into layering, you would need to edit tiles to cut out the background (for objects like barrels and whatnot). I think that it is a lot more complicated than you think.
Well I'm not talking about doing everything, that's not actually possible without at least some sort of limited AI, I'm just talking about scanning the image and taking each unique tile and outputting them all so that someone doesn't have to do the grunt work. Afterwards they'd have to do autotiles, layers, organization, etc, but they'd have a much smaller file to work with. Give me about 20 more minutes.
well, if you could whip up a program that can do that, that would be huge for people around here doing rips. I still think that correctly identifying unique tiles is going to be hard because you can't just start at the top left and wrok your way across. Anyway, good luck.
I never said the program would be actually good or versatile or anything. Also I fail at meeting my time constraints. I figured it'd be faster since I've been working on this stuff for the past month. Anyway, www.geocities.com/jabbo999/TileSetRipper.zip

1) Name your file input.png (if tiles are 16x16) and put it in the same folder as this.
2) Alternately, use the command line: Java TileSetRipper filename tile_width tile_height
3) Make sure the tiles line up with the top left corner (In this example you'll have to move the entire image down 4 pixels...)
4) Run it
5) Wait. It takes about a minute for me, since I have an 800 MHz laptop.
6) Your results are in output.png

The results won't be neat or anything, either, but there won't be any duplicates. It's up to you whether or not to use the hideous output.

Here's the source if anyone actually cares enough to make this work well:

/*
* To change this template, choose Tools | Templates
* and open the template in the editor.
*/

package tilesetripper;

import java.awt.*;
import java.awt.image.BufferedImage;

import javax.swing.JFrame;
import java.io.*;
import javax.imageio.*;

import java.util.*;

/**
*
* @author user
*/
public class Main {

/**
* @param args the command line arguments
*/
public static void main(String args) {
String s = "input.png";
int xDimension = 16;
int yDimension = 16;
int rows = 0;
int cols = 0;
Image image = null;
ArrayList<BufferedImage> tiles = new ArrayList<BufferedImage>();

if (args.length != 0) {
s = args;
xDimension = Integer.parseInt(args);
yDimension = Integer.parseInt(args);
}
try {
File file = new File(s);
image = ImageIO.read(file);
cols = image.getWidth(null) / xDimension;
rows = image.getHeight(null) / yDimension;
} catch (IOException ioe) {
System.out.println("Input file not found! Use input.png");
System.out.println("Or call 'TileSetRipper filename width height'");
}

BufferedImage buff = null;
Graphics2D g2 = null;

for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {

buff = new BufferedImage(xDimension, yDimension, BufferedImage.TYPE_INT_ARGB);
g2 = buff.createGraphics();

g2.drawImage(image, 0, 0, xDimension, yDimension, j * xDimension, i * yDimension, j * xDimension + xDimension, i * yDimension + yDimension, null);
boolean check = true;
boolean check2 = true;
for (int k = 0; k < tiles.size(); k++) {
check2 = false;
for (int n = 0; n < yDimension; n++) {
for (int m = 0; m < xDimension; m++) {
if (buff.getRGB(m, n) != tiles.get(k).getRGB(m, n))
check2 = true;
}
}
check = check && check2;
}
if (check)
tiles.add(buff);
}
}

buff = new BufferedImage(xDimension * cols, yDimension * rows, BufferedImage.TYPE_INT_ARGB);
g2 = buff.createGraphics();

int k = 0;
for (int i = 0; i < rows; i++) {
for (int j = 0; j < cols; j++) {
g2.drawImage(tiles.get(k), j * xDimension, i * yDimension, j * xDimension + xDimension, i * yDimension + yDimension, 0, 0, xDimension, yDimension, null);
k++;
if (k == tiles.size()) break;
}
if (k == tiles.size()) break;
}

try
{
ImageIO.write(buff, "png", new File("output.png"));
}
catch(IOException ioe)
{
System.out.println("Write error!");
}
}

}


Edit: Actually the command line doesn't work, and I don't really care enough to fix it.
LOL, well, good job buddy! Well done.
author=Little Wing Guy link=topic=1344.msg20723#msg20723 date=1213903869
author=demondestiny link=topic=1344.msg20504#msg20504 date=1213764487
I think i might have this chipset at home. When i get home i will check and see if i have it.

I guess you didn't have it...Don't toy with me man, I really want itttttttt *Has hissy fit* I guess i'll give it a third atempt.

*Opens MSpaint*... Gahhhhhh! winge, moan.

haha, sorry man. I thought i might have had that chipset. Sorry to get your hopes up.
Pages: 1