
Now that we got that out of the way we can finally move on to importing the files we need into Flex 2! bin files in the disassembly the file for the data select is called "Chars.bin".
#Sonic charge effect sprite mod#
If S3AIR uses the incorrect color feel free to make a mod to correct them.Īnyway back on topic! Palettes are stored in. Palettes are used not just in Sonic 3, 1, or 2 its used everywhere! In pixel art however they are usually limited and the colors are close together in someway this is to make the sprite look apealing.įun fact by the way, did you know the palette for the Sonic 3 Sprite rips on The Spriters Resource is wrong? That's because when it was exported the color palette was set to "Raw" instead of "Full" really! Which is the size of a single AIZ1 loop, these and Palettes are stored in a ".bin" file and, the tiles for the characters on the Data Select are under "Misc.bin" These are what actually make up your sprite! Every sprite in Sonic 3 big or small is made up of tiles that are 8x8.įor bigger sprites they duplicate the tile until it makes a bigger tile this process is called "Meta Tiling" 8x8 tiles can build Meta Tiles as big as 256x256. The Data Select doesn't use these as the sprites are drawn in-engine. Without them the game will draw the sprites incorrectly making them look glitchy, this ultimately breaks immersion.
#Sonic charge effect sprite how to#
These are instructions for sprites the game's engine doesn't draw it tells the game and flex 2 how to draw said sprites, so the game can draw them. Now let’s get our sprite imported to do that we need Flex 2 When Importing a sprite remember to export your sprite as a PNG with a transparent background I know the sprites above have a background but that’s just to map the sprite. Upside to not changing mappings is we can simple import our sprite over Sonic’s Data Select Sprite.ĭownside is as of right now with no way to edit the Data Select mappings (or at least it can’t be done through RawData) Importing this sprite to S3AIR is simply not possible: So we need to find a sprite that fits in that black box so for this tutorial we’ll be using this Sprite: One day mappings will be changable but for today we can only work with sonic’s normal mappings:

bin then our mappings can’t exceed the originals file size bin file our mappings are a “.asm” file and even if it was. Not so much this is because RD only injects. This presents a problem however as the Tiles are easily injected: We would then open “rominjections.json” and paste in the offsets we need to inject our mappings and tiles at. Then in Flex 2 we would use tiles to map out the black area finally we import our sprite, save our work, move the disassembly files we edited to our mod. We do this by overlaying our sprite on a checkerboard made of 8x8 tiles black out the tiles our sprite needs and pink out the ones it doesn’t: We would need to find out how many tiles it will take to fulfil it, specifically the minimum amount we could give it and still have it render correctly. Mappings are the layout of your sprite so let’s just say if we could modify the mappings we wanted to use this sprite in our Data Select: So how do we do this? Well first you need to know how Sonic 3 interprets it’s sprites it accomplishes this through 4 means:ĭynamic Pattern Load Cues (Draws the Sprite) We can’t just throw a sprite at it and expect it to come out the way we want! We have work to do, We have to set up our sprite for S3K to interpret.

Today we’re gonna learn how to replace sprites in S3AIR but to do that we’re gonna need to mod RawData of which Lego made a tutorial already so I’d go check that out.įor now let’s get to what we will need to accomplish this:
