======= Tile Molester Graphics Guide ======= By FelixWright Hello, and welcome to our current graphics guide for Tile Molester. The main goal of this guide is to teach newbies how to use this java-based cross-platform graphics editor for their own nefarious purposes. Let's get started. ====== What is Tile Molester? ====== Tile Molester is a cross-platform graphics editor for video game ROMs such as .SMC, .NDS, and .GBA. It was created in 2005 by SnowBro. ====== Downloading Tile Molester ====== ===== Requirements ===== Java runtime environment. Something like the Eclipse Adoptium JRE will suffice. Download and Install as follows if you are on Windows x64: Download links Tile Molester Mod 0.19 can be Downloaded from RHDN. This fixes many, but not all of 0.16's issues, making it the recommended version to use. If you would prefer, Tile Molester 0.16 can be downloaded from RHDN. This tutorial covers Tile Molester 0.16, and may not cover features that exist in the alternate/ mod branches of TM. If you wish to improve upon Tile Molester 0.16, the source can be found Here on RHDN. ===== Known Issues with TM ===== You should learn these limitations now, before discovering them the hard way. ==== Errors/Not Working ==== That would be Java's fault. If Tile Molester gives errors, Try running it as an Administrator. If that still doesn't work, Make a batch file (.bat file) containing java -jar tm.jar and save it in the tile molester folder. If Tile Molester doesn't start at all, you might need to install or update your JRE (java runtime environment) first. ==== Palettes ==== If you use a palette that has the same color in multiple slots, the graphics will get messed up. All pixels using the same color, regardless of color slot, will be made to use the first slot of that color. For best results, only use palettes with unique colors in every slot. If you mess with palettes in TM, don't swap to other palettes. Probably due to the issue above, it messes things up catastrophically. For best results, edit palettes in an external program and either reload the ROM to use them, or load them in as an external file. ==== Loading Palettes from a File ==== Tile Molester does not support Tile Layer Pro palette files with CF00 color format. (*.tpl) It also doesn't support Windows palette files with CF00 or CF01 color format. (*.pal) If you replace tmspec.xml with this XML file, you will have a choice between CF00 *.tpl files (GBA Accurate) and CF01 *.tpl files (Super Nintendo Accurate), as well as CF01 *.pal files. (GBA Accurate) If you're loading a palette from SNES TPL: Select Palette → Import From → Another File…, And make sure Files of Type is set to CF01 TLP File (*.tpl) If you're loading a palette from GBA TPL: Select Palette → Import From → Another File…, And make sure Files of Type is set to CF00 TLP File (*.tpl) ==== Copy/Paste ==== If you undo after pasting graphics, the tile the graphics were pasted over will become blank. This seems to have been fixed with TM Mod 0.19. ==== Undo/Redo ==== If you change your canvas dimensions after you begin editing, and then undo, the canvas size will revert to what it was before you began editing. ==== Zoom ==== If you paste graphics before zooming out, the pasted graphics will be de-selected. This may also have been fixed in TM Mod 0.19. If you Ctrl Z it should re-select the paste. ==== Byte Forward/Back ==== You can Byte Back with the -/_ key, but you cannot Byte Forward with the =/+ key. That being said, the keypad + and - keys work as expected. ==== Grids ==== The Block and Pixel grids are not functional. ===== Using Tile Molester ===== ==== Keyboard Shortcuts ==== Before we get into graphics editing you should probably learn more about how to actually use this program. For ROMhacking, here is a comprehensive list of Tile Molester's various keyboard shortcuts: ^ Key Combination ^ Description ^ |F1| Open help| |Delete| Clear Selection| |PgUp and PgDn keys| Page Forward/Back| |Up and Down Arrow keys| Row Forward/Back| |Left and Right Arrow keys| Tile Forward/Back| |Keypad - and + keys| Byte Forward/Back| |Shift + Arrow keys| Increase or Decrease Canvas Width/Height| |CTRL + A| Select All| |CTRL + G| Go To Offset| |CTRL + M| Mirror| |CTRL + I| Flip| |CTRL + C| Copy| |CTRL + X| Cut| |CTRL + V| Paste| |CTRL + Z| Undo| |CTRL + Y| Redo| |CTRL + N| Create a new file| |CTRL + O| Open a file| |CTRL + S| Save a file | And now that you know this let's look at some other features.\\ ==== Tools ==== ^ Tool ^ Description ^ |Selection| Rectangle select in 8×8 tile increments. LMB + drag to select. RMB to deselect.| |Zoom| LMB to zoom in, RMB to zoom out.| |Dropper| LMB in canvas to select primary color. RMB for secondary color.| |Brush| LMB to draw using primary color. RMB to draw with secondary color.| |Line| LMB + drag to draw lines using primary color. RMB to use secondary color.| |Flood Fill| LMB to fill similar colors with primary color. RMB for secondary color.| |Color Replacer| LMB in canvas to replace all pixels of the same color with primary color. RMB for secondary.| |Mover| LMB/RMB + drag or Arrows to move current selection. RMB opens context menu upon release.| |Mirror| Horizontally flips canvas, or current selection.| |Flip| Vertically flips canvas, or current selection.| |Rotate Right| Rotates canvas or current selection clockwise, or 90 degrees.| |Rotate Left| Rotates canvas or current selection counter-clockwise, or -90 degrees.| |Shift Left| Shifts canvas or current selection left one pixel. Loops back around.| |Shift Right| Shifts canvas or current selection right one pixel. Loops back around.| |Shift Up| Shifts canvas or current selection up one pixel. Loops back around.| |Shift Down| Shifts canvas or current selection down one pixel. Loops back around.| ==== Bookmarks ==== In Tile Molester, Bookmarks can be found in the Navigate tab and are used to quickly jump to a specific offset of Graphical Data. Bookmarks can be very handy when making changes to graphics, and are pretty easy to set. Once you are at a specific offset you want to bookmark, simply select the Bookmark Icon or Navigate → Add to Bookmarks… and a new window should appear. This window allows you to type a description for your Bookmark, and assign it to a specific bookmarks folder or location. Once you give it a description and assign the new bookmark to a favored location, select OK. Doing this will add your bookmark to the Navigate tab, and can be accessed at any time once the ROM is loaded. ==== Codecs ==== NOTE: This only applies to you if you are loading raw file types such as .gfx, and loading it creates a jumbled pixelly mess. Codecs can be changed by using View→Codec. If you are editing a .GFX file for a GBA, your codec should be set to 4bpp linear, reverse order. However, if you are editing a .GFX file for a Super Nintendo, your codec should be set to 4bpp planar, composite (2 x 2bpp) ==== Finding Palettes ==== Note: This isn't a foolproof method. Palettes can often be in arbitrary locations in the ROM. Compared to finding the Graphics Data, finding Palette Data can be a little trickier. Generally palette data is near the graphics data. Use the arrow keys to shift columns until garbage you think is palette data is at the top left corner. Generally if it's nearby graphics data it will be either before or after the graphics data. Convert that offset to decimal, select Palette → Import From → This File…, and paste it into the offset box and set size to 9999. The format should be 15bpp BGR (555), and the byte order should be Intel. Click OK, and the palette should have changed. If it's not the correct palette data, rinse and repeat until you find the correct one. ==== Finding Graphics ==== If you're using Tile Molester you probably already know what you're looking for. If you do, Open the extracted graphics. If you can't see the file you want to open in TM, make sure Files of Type is set to all files (*.*) in the open menu. Otherwise, Goto… to find it within ROM. A window will open for you to enter an offset. If you're using hexadecimal, replace 0x with 00. Otherwise, convert it to decimal, select the decimal option, paste it in and go. I highly suggest setting the internal window to max size (the ROM window) and increasing gfx width to 32. Not only will this make finding the right graphics easier, but you'll be viewing the graphics in the same way nintendo drew/input them. Shift columns as needed until you get it just right with very little garbage. Shift pixels as needed. ==== Editing ==== Editing Graphics is a pretty straightforward operation, once you match the palette data to what you're currently editing. The first color of your palette will always be the background, or transparent, colour. If you want to “erase” something, you swap to that color and brush it in. Every other color in the palette is fair game. You can select these colours by either clicking them in the palette viewer or using the dropper tool. Once you have your color selected you can do one of three things to edit graphics: You can edit individual pixels with the brush tool, fill in closed areas with a particular color using the flood fill tool, or replace one color with another entirely using the color replacer tool. From there, editing the graphics is as easy as using MS paint to draw. It is still important to remember, however, to edit things in their respective tiles. ==== Ripping ==== So now, you have the correct graphics, and the correct palette. All you need to do is assemble the parts and extract them from the ROM. Use your mouse to select what you want to extract, and Copy that selection. Drag the scrollbar down to the bottom of the ROM, and Paste it. You've just pasted your graphics into what spriters call the Playground. This area should be completely empty. Use your mouse to select and drag tiles together into usable graphics for other stuff. When you're satisfied with your rip, move it all to the top-left corner, and reduce width and height until it is just your graphics. Now it's ready to extract. Feel free to change the type of palette format by selecting Palette → Format → yourchoicehere. Once you have that out of the way it's time you copied it out of the ROM. Select Edit → Copy To…, name your file, set its destination, and save the image. Well done, you have ripped your first set of graphics! ==== Saving to ROM ==== So you've just finished editing the graphics in your ROM, and want to save them. How can this be done in Tile Molester, you ask? To start, Close any other Programs that may be Using your ROM. Otherwise, the graphics will fail to save to memory because it is currently being run. Now you should be able to save graphics correctly. There are a few different ways you can Save: Obviously, Save simply saves what you have done in Tile Molester to ROM. Save As… allows you to save a copy to a different directory, name, or filetype. Finally, Save All will save all graphical changes from every open Tile Molester window to their respective ROMs. Pick what's right for you, and save your ROM. Now, when it is opened, the graphics should have changed to your new ones!