My very first program using a scripting language! :D J1E is without doubt the best level editor for JJ1, but it’s not very easy to use for the actual layout work, since you can only select one tile at a time, there’s no zooming, and it doesn’t use the same hotkeys that we’re used to. This is a series of utilities to get around that problem by allowing you to export the layout from a JJ1 level, edit it in (a simplified) JCS, and then import it back into the original file. If you don’t want any of the higher-end JJ1 editing functions, like adding new tilesets or sprites or events, this could be all you need to make your own custom JJ1 levels in a reduced time.
To use, extract all files into your main JJ1 folder. Run j1etojcs.exe and type the filename of a JJ1 level you want to edit (e.g. LEVEL0.000). Then rub J1LES.exe, open LEVEL.j1l, and edit away. Finally, you can run imprt.exe manually to send the edited layout back into the JJ1 file, or else run it from within J1LES by pressing Ctrl+R.
Notes: due to palette limitations on .j2t files, the final sixteen colors from each JJ1 palette get lost in the conversion process. This only affects Deckstar and potential custom blocks files, and the colors are still in the original blocks file, just not the .j2t. Flipped and animated tiles will be normalized, so there’s no point in trying to use them. Layers 1-3 and 6-8 will not be read. Any non-blank tile will count as background in layer 5, but it makes the most sense to use the provided black tile since that way the parallax view will be accurate. Gradient backgrounds are not included since there’s not enough space in a palette for all their colors. You are advised to make a backup of any files you may be editing, at least for a few days to give time for bug reports to come in.
Reupload 12/27/2010: Added automatic counting of items and enemies for the end of level completion tallying, since J1E doesn’t do that one for you.
Relies heavily on file format documentation by Neobeo, Overlord, and DD, plus Newspaz's J1E for making sure I was getting all the info right. Some code based on that of Stijn's .j2t reader.