If you are working on JAVA, it is a better solution to use the TileMolester code, as it is ancient stuff or as close to CLI as possible.
I'm not sure what you mean.
I'm not doing this because it's old. CLI programs are useful in development because you can control them with scripts, unlike GUI programs. For example, I was translating the menu in Famicom Jump and I needed a custom font, so I simply create a folder with all my font files, then I wrote a script that will apply all of them to the ROM in the correct places.
There's 68 font files, I'm too lazy to draw 68 images myself, so they were all generated from another script.
i=16901 for f in *.tile do if [ "$((i-16901))" -gt "58" ]; then java TileEditor fj.nes -i $((4+i)) < $f else java TileEditor fj.nes -i $i < $f fi i=$((i+1)) done That's an example of writing a script to control the NES tile editor.
And my NES tile editor is complete, as I've uploaded it it works perfectly.
0001AC19: D8 D9 DC DB As you can see, the hex value "D8" increases by 1, then by 3, then down by 1.
The "8" is either 8 or 16 depending on whether the ROM uses 8 bits per character or 16 bits per character. The "false" is either "true" or "false" depending on if you want the relative calculations to be done using signed or unsigned bytes. I believe this probably should almost always be false, but I left the option in there in case there is an exception somewhere.
A character sequence would look something like this:
0000407D: 1D 0A 14 0E 24 1D 11 12 1C Essentially, a character relative sequence calculates the relative change in values between each character using ASCII values, and searches for that. I used a "?" for the space because it's unlikely an actual space will be the same distance from "e" and "t" as it is in ASCII. The "?" is a wildcard that means any byte.
In fact, that "0000407D" is the location of where the guy in the cave tells link "It's dangerous to go alone. Take this.".
The only wildcard in character sequences is the ?. But in numeric sequences, you can also use "+", "-", and "x".
"+" means the value increases. It can be any value, it just must be larger. "-" means the value decreases. It can be any value, it just must be less. "x" means the value changes. It can be any value, it just must be different. "0" can be used if you want to check if the value doesn't change.
000054F8: 00 00 00 00 F7 F7 F7 FF FF FF FF DC As you can see, the first value, 00, doesn't change three times, then changes to F7. Then, it changes to FF, then doesn't change three times. Then finally it changes to DC.
The next one I've written is a tile editor for NES games.
The tile editor allows you to import and export tiles, as well as dump all the tiles within a single ROM.