don't click here

"Aspect Edit" Tutorial/Help

Discussion in 'Engineering & Reverse Engineering' started by Kharen, Apr 27, 2014.

  1. I was wanting to play with editing the Game Gear/Master System games, and remembered that the Aspect Edit program is supposed to be able to let me do this. However, the link to the tutorial and directions on how to use the program doesn't work anymore. Google provided no results, so I was wondering if anybody here knew where I can learn how the program works. I'd like to see if this is something I'll understand using before I devote any large amount of time into it. I've bought programs and tools for other projects before and hit a wall when it came to the learning curve. I'd like to look into this one beforehand, just in case.
     
  2. InvisibleUp

    InvisibleUp

    friendly internet ghost Member
    139
    13
    18
    I looked, and it turns out if there was a tutorial, it's long gone now. But I'm a nice guy, so I'll write a new one.

    Aspect Edit is a tool designed to edit Sonic 2 (8-bit), Sonic Chaos and Sonic Triple Trouble. To edit any of these games, you'll need a disassembly. You can acquire one from http://github.com/sonicretro. You'll also need a working installation of Java in order to run the editor. For this tutorial I'll be editing Sonic 2, as it's nice and simple.

    [​IMG]
    When you first launch the program, you get a blank window with some buttons on it. These buttons open up different sub-applications. In order, they are the Palette Editor, the Tileset Editor, the Mappings editor and the Level Editor. Let's start with Palette Editor.

    [​IMG]
    After clicking the Palette Editor button, it prompts you for a palette. In a Sonic 2 disassembly, they should be under the "palettes" folder in the main directory. I imagine it would be similar for Chaos and Triple Trouble. You should also select what mode the palette is in, as the Master System and the Game Gear had vastly different graphics capabilities.

    [​IMG]
    Once you've opened the palette, you should see it in a window. To edit a color, you click on it and set the color values in the boxes below. To save the palette, you can either click the black floppy disk to overwrite the original, or you can pick the purple disk and save it somewhere else.

    This would be a great time to mention how to run your hack. Generally speaking, on a Windows machine you'd run the "build.bat" file in the main directory of your disassembly to build it. Assuming nothing went too terribly wrong, it should spit out a file with a name like "s?.sms" or "s?built.sms". You would run that file in an emulator like Kega to see your edits in action.

    Now let's talk about the Tileset editor. It allows you edit the graphics that make up not just the levels, but also pretty much any graphic, like Sonic or the HUD. To open it, you click the second icon on the main window and open a file from the "art" directory. (Make sure if it says "uncompressed" or "ucmp" or the like the the filename that you select the "Uncompressed" option on the sidebar, or else it won't work.) However, when you open your graphics, you'll notice a slight problem.

    [​IMG]
    There aren't any graphics. Actually, that's a lie. The graphics are there, but you need to load the palette. You can do this by clicking on the folder icon directly before the zoom buttons. (If you're confused, hovering over the icon tells you what it does.) Generally speaking, any level graphics should use the palette for the level, and any sprites or characters should either it's designated pallete or, if none is available, the palette for Sonic.

    Once the palette is loaded, editing the graphics is relatively easy. Just select a tile from the left box, select a color from the top right, and paint in the top-middle. The bottom right box lets you take tiles and see how they fit together. It is not saved. As you can see in the screenshot, I painted the vertical springs pink. Now, when we build the rom and play it...

    [​IMG]
    The spring is pink! Do this for whatever graphics you need. Keep in mind you're also need to load the graphics and two palettes using the toolbar buttons.

    [​IMG]
    Now, the mapping editor. This, as far as I'm aware, only works with level graphics, so if you edit Sonic's sprites, you should keep it in the same shape. Your mappings should be in the mappings folder in the disasm. The background palette should be named something like pallete_ghz.bin, while the foreground palette should be named something like palette_ghz_sonic.bin. The editor is split into two panes. The left side contains all your blocks. The right side can contain either the block editor or the mappings list.

    The mappings list is probably the simpler of the two, so we'll cover that first. There are 255 possible "chunks" that can be in a level. Each chunk is a pointer to a block. (and some collision data and whatnot I'm sure, but it seems you can't edit that.) If you want to change what block a chunk points to, right click on the Mappings pane, select "Edit Mode", select your block on the left side and then click on the chunk you want to have that block.

    The Block Editor lets you edit the tiles that make up each block. You can paint on new tiles by selecting them from the list at the bottom, much like the Palette editor. Make sure you've right-clicked the block on the right side and set it to Edit Mode if you want to place down new tiles. Once all your tiles are in place, it's probably a good idea to switch off of Edit Mode. There are also 4 check-boxes next to the block. They correspond to the various properties of the currently selected tile (outline in red on the block). Flip X and Flip Y do what you would expect, they flip the tile on the X or Y axis. Use FG Palette causes the tile to use Sonic's palette instead of the level palette. You can use this to try to get some more color into the levels if you need it. High Priority should stay off, as it doesn't do anything.

    And now, one of the more useful parts of the program, the Level Editor!
    [​IMG]
    ...which barely works, at least for Sonic 2. For some reason it almost never renders the levels correctly. Sometimes if you're lucky you can try the mappings and graphics from another level and have it work semi-properly, but for the most part you're not going to be a happy camper.

    Theoritically speaking, you would select your mapping from the right side and paint it into the level on the left. You can also, under the properties tab, edit the width and the height of the level.

    And that is Aspect Edit in a nutshell. Not the most useful thing in the world, but what it has works pretty well. (Except for the level editor, of course.)
     
  3. Ravenfreak

    Ravenfreak

    2 Edgy 4 U Tech Member
    3,091
    186
    43
    O'Fallon Mo
    Sonic 1 Game Gear Disassembly
    Oh hey it's great to see others being interested in hacking the 8 bit games. :)/> If you're wanting to hack the levels in Sonic 2 SMS, I have a short guide that lists all the correct width, height, and tile offset for each level so it shows up correctly in the program. xP I've made this a while ago so let me know if anything is wrong. Here it is:
    Code (Text):
    1.  
    2. Underground Zone 1: Width: 168 Height: 16 Tile Offset: 264
    3.  
    4. Underground Zone 2: Width: 168 Height: 24 Tile Offset: 264
    5.  
    6. Underground Zone 3: Width: 128 Height: 32 Tile Offset: 264
    7.  
    8. Sky High Zone 1: Width: 96 Height: 38 Tile Offset: 256
    9.  
    10. Sky High Zone 2: Width: 128 Height: 32 Tile Offset: 256
    11.  
    12. Sky High Zone 3: Width: 96 Height: 24 Tile Offset: 256
    13.  
    14. Aqua Lake Zone 1: Width: 128 Height: 26 Tile Offset: 262
    15.  
    16. Aqua Lake Zone 2: Width: 72 Height: 56 Tile Offset: 262
    17.  
    18. Aqua Lake Zone 3: Width: 128 Height: 32 Tile Offset: 262
    19.  
    20. Green Hills Zone 1: Width:256 Height: 16 Tile Offset: 262
    21.  
    22. Green Hills Zone 2: Width:256 Height: 16 Tile Offset: 262
    23.  
    24. Green Hills Zone 3: Width:168 Height: 24 Tile Offset: 262
    25.  
    26. Gimmick Mountain Zone 1: Width:96 Height: 38 Tile Offset: 262
    27.  
    28. Gimmick Mountain Zone 2: Width:128 Height: 32 Tile Offset: 262
    29.  
    30. Gimmick Mountain Zone 3: Width:80 Height: 24 Tile Offset: 262
    31.  
    32. Scrambled Egg Zone 1: Width:40 Height: 94 Tile Offset: 262
    33.  
    34. Scrambled Egg Zone 2: Width:128 Height: 32 Tile Offset: 262
    35.  
    36. Scrambled Egg Zone 3: Width:24 Height: 120 Tile Offset: 262
    37.  
    38. Crystal Egg Zone 1: Width:168 Height: 24 Tile Offset: 262
    39.  
    40. Crystal Egg Zone 2: Width:56 Height: 72 Tile Offset: 262
    41.  
    42. Crystal Egg Zone 3: Width:40 Height: 16 Tile Offset: 256