This is a project I've been working on for a few months, and I have made some good progress on it:
The main window isn't a whole lot to look at right now, but it already allows you to edit the scene scripting through importing and exporting of the data to text files. Here's an example of what the scene scripting looks like after it has been exported:
Scripting edited via the text files can then be imported back into the ROM and saved. I have plans to incorporate editing into the GUI itself rather than using txt files, but for now it works well enough to change all aspects of the scene scripting. It took me a long time to be able to handle all the quirks in the scripting language for the scenes in this game, but it seems to be working pretty well now. Editing of backgrounds, objects/sprites, and dynamically loaded background images is going to be handled in separate dialog windows. The background editor is currently functional:
The sprites/OBJ editor window is only partially done currently, and I haven't started the editor dialog for the dynamic background images yet, although they can be viewed in the folder with the ROM after using the "Export All Data" button. After the image editing dialogs are complete, the plan is to allow editing the scene scripting from within the main window itself and then create a preview pane where you can view parts of the scene to verify the changes you made. I initially started this project to improve on the quality of the cut-scenes in the Deadpool NG hack, so I have a few extra script commands built into the editor that I created for that hack. However this editor is fully compatible with the original NG as well. To prevent any confusion, I will most likely do a separate build without the extra commands, although there is no harm in attempting to use them in the original game (doing so has the same effect as using the "blackout" command).
I have plenty of experience hacking ROMs and making command line utilities, but making a GUI editor is pretty new to me, so I could use some opinions/advice. In particular, the background editor may be functional, but I'm not happy with the appearance/layout. I can put some labels on the clipboard viewer and tile viewer, but I still don't really like the way it's organized. The "Recommend Colors" button makes a popup appear and suggest colors to use to best match the image currently on the clipboard. I originally wanted it to automatically set the palettes to best match the clipboard image, but the results weren't turning out well, so for the moment I left it up to user discretion on how to set the colors after presenting the recommended ones. Copying and pasting an external image into the editor DOES work, and matches as well as it can to the current palette, so long as there are enough free tiles in the CHR page to use. Ctrl+C and Ctrl+V are used for copy and paste operations, and Ctrl+Z / Ctrl+Shift+Z undo/redo actions. It feels natural to use for me, although relying on keyboard shortcuts without presenting a button or menu interface for the user to see the controls may not be best practice. There is a "stamp" mode radio button that you can use to paste images directly into the background arrangement with only a click though. The "show used" checkbox overlays a partially transparent image onto the CHR page showing the usage of tiles: green is unused, orange is used only by the current image, and red is shared or used by other images.
Any feedback is appreciated.