10-18-2012, 06:00 AM
(This post was last modified: 12-11-2013, 07:17 PM by puggsoy.)
I thought to make this thread instead of a new one for every program I make. The VGSC thread will still be used (linked to below) since it's already there and I know people use it, but this is just for stuff I make that people might want to use. And if not then they can at least see what I can do.
Here are the apps. Most of them are Adobe AIR apps so you'll need the AIR runtime to run them. While I've only personally tested them on Windows, you can see which platforms their current releases are available for in their respective "Download Links" sections.
VGSC(Video Game Sound Converter)
Converts a wide range of video game audio formats to .wav. See the VGSC thread for info and downloads.
Palettifier
Palettifier allows you to take a sprite sheet and convert it to an alternative palette given on that sheet, by selecting two identical frames with different palettes. Left click to select the frame with the original palette, and hold down shift and left click to select the frame with the new palette. Hit "Palettify" and you'll see the result. Note that the two frames must be IDENTICAL apart from their palettes, otherwise you'll get weird results. In any case you won't be able to click "Palettify" unless the two selections are the same size.
Originally made it for Davy Jones here. Previous' Recolour is a very good program too, if not better, so I'd recommend checking that out.
Background Remover
This removes background from one or more images, given you have the original background. I primarily made it to help sprite rippers in the case that they can't disable background layers but are able to grab the patch of background where the sprite will be. It also allows removal of a single colour, in the case that you can remove layers but you don't want to remove them by hand.
How to use it is pretty self-explanatory but see the ReadMe for instructions if need be.
Please note that the background image used must be exactly the same as the background from the images you're removing from. The images must also be the same size and the top-right point of the images must be at the same location. In essence, background must be the same image as the one with the sprite, but without the sprite.
This is a very important point that I want to stress but unfortunately it's not easy to explain. Hopefully I will come up with an illustrated ReadMe in the future, but for now please see the screenshots.
(When using a colour as a background this doesn't matter, the size and location of images can vary.)
If the background is an image, this is what it does: it goes through each image, comparing every pixel with the background's pixel at the same location. So it compares the top-left pixels, the one next to that, and so on. If the two pixels are the same colour, it removes it. If they are different, it keeps it. This is why the above notes are so important. So as long as the sprite doesn't contain pixels of the same colour at the same location as the background image, it should work.
If the background is a colour, it simply removes all of that colour from the images. Most of the time the colour is a colour that isn't in the sprite and so it should also work fine.
These screenshots actually show what originally caused me to make the program. In Mario & Luigi: Bowser's Inside Story, Bowser's overworld sprites are on the same layer as the rest of the world. To get his walking upward sprites, I capture him walking into a wall (keeping his position stationary), move him away, and capture the wall. Then I crop the images to the same patch of wall, and my program can remove the background, leaving the sprites.
Super Laser Map Organiser
This is a small program I made to organise maps from the iPhone game Super Laser: The Alien Fighter. You give it a .map file, it's corresponding .png file, and it'll generate the map as it appears in the game.
Originally made it for Hammster here.
To use it, click "Load map" or "Load image", and choose the map or image. You can also drag one or both into the program to load them. If you only load the map, it will automatically load the image (and vice versa) if it has the same file name (and you haven't already loaded another).
After you've loaded them, click "Organise" and you'll see the resulting map in the pane at the bottom. Then just click "Save" to save it.
BastionPkgExtract
BastionPkgExtract can open .pkg files used by Bastion and extract their contents. These files usually contain unorganised sprite sheets, and instructions (called "atlases") about how they should be used. This program can extract the sprite sheets as .xnb files, and the instructions as .atls files (a format I created myself).
To use, simply click "Open" and select a .pkg file to open. All the .xnbs in the file will be listed, and whether they have a corresponding atlas. You can either select which atlases you want to extract and click "Extract Selected" or click "Extract All" to extract them all, and select which folder you want to extract to.
The .xnb files can be converted to .pngs using TheShyGuy's program, XnbToPng (read the ReadMe for usage). I am underway with making a program to organise the sprite sheets using the .atls files.
BFTMTool (New!)
BFTMTool is a small command-line tool for extracting and creating BFTM archives, a format used to pack most of the assets in the game Blocks That Matter.
You can either extract all of the contents from an existing BFTM to a directory, or pack all of the contents of a directory into a new BFTM. Running the program with no parameters will give these usage instructions:
Code: Usage: BFTMTool [-c] [-p] bftm [dir]
Options:
-c: Create bftm. If omitted it will extract
-p: Prevent files from being overwritten (unused when creating)
bftm: The bftm file to create/extract from
dir: When creating this is the directory that will be the root of the created bftm, and it is required. When extracting this is the directory where the bftm will be extracted to, and if it is omitted it will be set to a subfolder of where the bftm is located.
BFTM files preserve directory structure, both when extracting and packing files.
If you have any comments, complaints, critique or questions, feel free to post below (or PM me if you prefer). Bug reports or the like are also really helpful.
Enjoy!
Awesome job on these, they look like really useful tools! I'm definitely going to use the Palettifier tool! *downloads*
Oh my goodness! background remover looks really handy.
Posts: 537
Threads: 5
Joined: Sep 2012
Man, that Palettifier would've been useful for me a couple of years ago, but at least I had the "Recolor Eraser" in Paint
Good stuff!
Posts: 585
Threads: 5
Joined: Jul 2011
Background Remover is awesome. Works like a charm! Thank you very much
puggsoy, these all look amazing!
I'm definitely going to use these at some point!
10-24-2012, 10:53 AM
(This post was last modified: 01-04-2013, 10:57 AM by puggsoy.)
Palettifier Update!
Palettifier 1.3 is out! Pretty much improved it to catch up with Recolour (again). You can now simply click to select the frames, and you can also select the background colours for them (unlink the chain if they're on different backgrounds). Also, as a precaution, you can't palettify the sheet until both selections are the same dimensions.
However, unlike Recolour, I've kept the option to drag the selections. You might be thinking "why would someone want that, clicking is easier isn't it?" Well that's right, it is. But what if you wanted to palettify a sheet of someone like, for example, Rayman, with nothing connecting his hands to his body?
Most of the time, especially with idle stances where all his body parts are close to each other, clicking will work fine. However, in other cases:
Not too useful. In cases like this you'll want to drag the selection instead:
I'm sure this won't really happen that often, and clicking will almost always work and therefore you should use it. But this sort of possibility had crossed my mind so I thought it can't hurt to keep the dragging option.
You may have a fresh start any moment you choose, for this thing that we call "failure" is not the falling down, but the staying down. -Mary Pickford
puggsoy what happened when you recolored that sprite? His hair blends in with the white background so wouldn't the background get recolored with the sprite? How does that work?
Posts: 585
Threads: 5
Joined: Jul 2011
10-24-2012, 11:24 AM
(This post was last modified: 10-24-2012, 11:26 AM by HandToeKnee.)
If the background is transparent in the .PNG image then it shouldn't change colour when editing the sprite.
I'm not sure though
Posts: 3,787
Threads: 75
Joined: May 2008
It is even simpler: The white of the hair is not the same as the background white.
Posts: 585
Threads: 5
Joined: Jul 2011
Yeah... and that, too
(10-24-2012, 10:57 AM)Mighty Jetaku Wrote: puggsoy what happened when you recolored that sprite? His hair blends in with the white background so wouldn't the background get recolored with the sprite? How does that work?
Well, what it does is it ignores the background colour completely during the palettifying process. That's why you have background colours at all, so that the program knows that it isn't part of the sprite (which is used both while palettifying and when detecting the sprite's boundaries). So if the sprite happens to contain the background colour (which is unlikely), it'll just ignore it.
But yeah, as Previous said in this example Rayman's hair isn't the same white as the background. And I didn't actually recolour it anyway, it was just an example for the selection (the sheet doesn't even contain alternative palettes).
By the way, since HandToeKnee mentioned transparency, I actually realised that I hadn't tested it with transparent backgrounds yet. I gave a go right now and it works fine, but the background selection boxes display black. It does know that the background is transparent though, it selects sprites correctly. I can't be bothered to update it again right now since it's not that important but I'll make transparency display as a checkerboard in future versions.
You may have a fresh start any moment you choose, for this thing that we call "failure" is not the falling down, but the staying down. -Mary Pickford
Well just thought I'd mention it.
I don't know how it could tell the sprite's pixels from the background on a sheet that had a same-color background to begin with but I guess that's the power of coding that I have yet to comprehend.
01-23-2013, 03:14 PM
(This post was last modified: 01-24-2013, 07:25 AM by puggsoy.)
DOUBLE UPDATE!
Background Remover 1.1
Palettifier 1.4
Yep that's right, I've updated both Background Remover and Palettifier! The main thing is that you can now resize and maximize both of them, since I made VGSC resizeable I figured I may as well do that with these too.
In addition:
-Palettifier displays a checkerboard behind sheets with transparency (instead of just white), and the colour pickers also show a checkerboard when the colour picked is pure transparent.
-Background Remover now lets you pick the colour the same way as Palettifier, just click on the picker then the colour on one of the images.
There are some other minimal code changes too but I don't think anything else noticeable.
So yeah. I'll update the OP soon.
Done, but I just realised that I didn't update the ReadMe of either program. Palettifier doesn't need it really (just the header to say "1.4" instead of "1.3"), but I need to update the instructions for choosing colours in Background Remover.
Unfortunately I'm installing the latest version of FlashDevelop which takes hours (since it's updating the Flex SDK too), so I'll update these with the ReadMes tomorrow. You can already download them if you want though, it's not a big deal.
EDIT: Updated the ReadMes
You may have a fresh start any moment you choose, for this thing that we call "failure" is not the falling down, but the staying down. -Mary Pickford
Super Laser Map Organiser is here!
So here's a new program, and the most useless one yet! I was working on this for Hammster so he could organise the maps from Super Laser: The Alien Fighter, but Previous beat me to it. Still, I decided I may as well finish it, and now that there wasn't any hurry I took my time to polish it up a bit.
In addition, I had a go at making it cross-platform too: that is, you can install and run it on Windows, Mac, Linux, and probably any other desktop computer operating systems (like Debian or whatever). It's not particularly difficult to make or compile it this way (after all this is essentially Flash, which is itself cross-platform), but since I only have Windows I can't test it anywhere else. Most of the stuff works the same, but sometimes certain features (like menus) work differently depending on the OS. For example, on Windows and Linux I can use window menus, while on Mac OS X uses application menus instead (at the top of the screen). Also Dock menus are only available on OS X.
Anyway, that said, it would be cool if people would be able to test this for me on different operating systems. From my knowledge most Linux distributions function essentially the same as Windows, so my main concern is Mac, but really any feedback is welcome.
If this works well, I'll also upgrade Palettifier and Background Remover to be cross-platform. This isn't possible with VGSC for technical reasons, so unfortunately that will stay Windows only for the time being.
So yeah, you can download Super Laser Map Organiser here. It's one installer for all operating systems, with the .air extension (it'll just run like any other executable). These installers warn you that installing the program is a security risk, but that's true for any program you download. You can rest assured that I won't delete your Program Files folder or mess up your registry
I'll update the first post soon with the download link, screenshots, and instructions.
You may have a fresh start any moment you choose, for this thing that we call "failure" is not the falling down, but the staying down. -Mary Pickford
|