NPC & Enemy Sprite Insertion Guide
Mage's NPC & Enemy Sprite Insertion Guide:
First, my friend, you need a copy of Sprite Graphics Offsets. That can be found here under the alphabetical topic list: Modification
Decompression[edit]
For the purposes of this guide, we'll just replace Sorrin with Middle Ages Castle Guard (600 AD). You'll find this in the first tab.
What we are looking for is the GFX Pack Pointer, and for our castle guard, that number is 30. Then, we are going to go to GFX Packs tab on the bottom and look for 30 under collum A, GFX Pack Pointers Index (Dec).
Once there we are going to go to Column C, and we get 19B008.
So then we go to Temporal Flux. Then file; compression. Under the address, we type 19B008
then we hit that little square with the 3 dots, and you'll name your file.
We could name it Sorrin for example. You'll hit open. It will take you back to the screen you were on before, and then you hit decompress and should see this:
Then you'll want to open Tile Molester. If you don't have it, get it here: Utilities (Chrono Trigger)
as well as the java runtimes, it won't run without java.
Open tile molester, (tm.jar) then hit file open. Change files of type to all files and go to the folder where you decompressed our guard. Sorrin.bin.
Click it and you should get this:
Doesn't look very pretty, but, this is a good sign, we can already tell it's the sprite we are looking to replace. Go to view, codec, and click 4bpp planar composite 2 by 2 bppp (towards the bottom).
Right it still looks like garbage, but it's better garbage! Next, we want to load up the palette. The easiest way to do that is to get it straight from the ROM.
Grab a savestate here: https://fantasyanime.com/squaresoft/ctsaves.htm. I take the ZST files from Jacki's saved files. Pick one around the middle ages (I chose the 2nd one, queen returns) and put the zst save file where you have a playable rom. Name the save file after the rom (example Chrono trigger.zst). Then load up the rom in ZSNES, run up to one of the castle guards in 600 AD and make a savestate with the guard on the screen like so:
then in tile molester, go to palette, import from; another file. Change Files of type to ZSNES savestates and open up the save state like so:
You should get this:
Gorgeous right? Mine might look a little different than yours because I had it in the wrong mode. Anyways, Now click the right arrow on the bottom until it looks like this:
Huzzah! Now comes (for me) the most frustrating part - replacing the actual sprites. go ahead and print screen that and paste it in MS paint (or whatever you use). I had to zoom out twice to get the right size before print screening.
Now we are going to manually place the sprites matching the garbled mess before us (because I do not know how to edit sprite assembly)
It is only now that I noticed Sorrin has a weapon and would probably be best to replace an enemy not an NPC... however the process is exactly the same so I'm going to keep going with what we have.
So, in MS paint we get something like this;
to avoid confusion that last image was in MS paint, not tile molester. Anyways, this looks nasty and its hard to figure out exactly how the sprites are supposed to be assembled and where to put what.
That's where ChronoCharView comes in. I don't remember where I picked that up, so I've attached it.
Install and open that up and open up your CT Rom. (Make sure the ROM is unheadered, remove it in Temporal Flux).
Number 58 has the same sprite assembly of the middle ages guard, and honestly, I just found it first and was too lazy to look for our actual guard.
You can see how the sprites are assembled by hitting the arrows for the animations to the left or right. It changes the red squares which make up the sprite's assembly.
That sentence hurt my head.
Basically, this is to help get a visual on how to place the pieces of Sorrin over the guard.
It appears as if each red square is 8 by 8. So by looking at this program, you can start to manually construct where the pieces of Sorin should go to assemble properly in MS paint.
Sprite assembly would probably make our lives easier here, but, that is something I have little understanding in. :(
BUT once you divide all the sprites up 8 by 8 it's less tedious - if you can follow my madness here (from left to right) I hope it makes some sort of sense:
if you save it and open it up in MS paint it might make things a little clearer.
Keep editing the sprites until satisfied, and save it, make sure the size is the same as it was in tile molester, like so:
Now save it, let's say we call it Sorrintest.png.
Palette[edit]
Now before we insert our new NPC, we need to fix the palette, or Sorrin will have the guard's palette. So to find our little guard's palette we go back to our ChronoTriggerUnheaderedSpriteInfo doc that we got earlier. (Sprite Graphics Offsets).
Now on the first page, we find Middle Ages Castle Guard (600 AD), 1st tab, and we go to sprite palette index. (Column D) For Middle Ages Castle guard, that number is 133. Then we go over to the Palettes tab. We find number 133 in Column A, and we get 240C78 as our starting Palette address (Column C).
Now NPC's are 12 colors plus the transparency color, with the transparency first. Now if you follow this (Changing the status menu portraits) guide it will explain so much better then I can how to work SNESpal and Ifranview and edit palettes.
You can pick up both these tools on the Modification page I linked earlier.
Sorrin comes already with only 12 colors so we don't have to do that first part with lowering colors in Ifranview, just the SNESpal part.
But our number to insert into SNESpal is 240C78 :) and its 12 colors long, not 15 otherwise, the guide sums up what we need to do for our 12 colors.
Compression[edit]
Go back into tile molester, and open up the file we decompressed earlier; (Sorrin.bin) make sure it's in 4Bpp planar composite 2 x 2 bpp and for visual purposes import the palette from that save file again.
Now go to edit, paste from, and choose sorintest.png. Now for some dang reason that I can't figure out for the life of me, it cuts off a portion when you paste it. If anyone can tell me what i'm doing wrong, let me know, here's a picture of it:
You gotta play with it and eventually, you'll get it. (even if you have to paste from two separate files) and make sure you don't accidentally make it bigger or it will write over something once we compress and put it into the rom and we will get garbled messes and glitches. (ALWAYS BACK UP YOUR ORIGINAL ROM.)
Now save as Sorrin.bin. Or something else if you prefer in case your afraid you messed up and you don't want to have to re-decompress that file.
Now we go back to Temporal Flux. Go to file, compression Under the address, we type 19B008
then we hit that little square with the 3 dots, and you'll click Sorrin.bin (or whatever you named the edited file) and compress!
Load up your save file, walk out of the map and back in and our guard should be Sorrin. Here's mine, only when the guard stands still is he Sorrin, for I am lazy. :) He's also ugly because I didn't change the palette.
Any questions let me know and happy sprite inserting!