Post by kion on May 13, 2019 13:17:43 GMT -5
I know I usually don't have anything relevant to comment but that's because you literally left me speechless...
All I can say is "keep up the good work!"
I didn't expect to be writing a post like this, but here it is:
I've finished up on the UI side, so now it's time to start working on the export and replacement aspects. The user interface is general the aspect that takes the longest, as you have to figure out what the best way to interact with the data is. What I ended up doing is requiring the files to be included into the page. If you click on an image, you can preview it, and swap out the internal palettes. I was trying to think of how to implement a simple texture editor, but I ended skipping on that entirely. Textures can replaced by uploading an image file, and then the colors can be fine tuned by changing the sliders for the palettes.
I think there's a downside to approaching the texture editing this way. As there are some pretty obvious pit falls, as it makes editing for multi-call images quite difficult. And it doesn't really allow for images that use a "side loaded" palette from another file. That being said, I wanted to keep the scope of this editor to a "proof of concept" and not carried away with fringe cases from the start. So i think I at least made a tool that can be used for basic editing, and potentially more if you have the patience to manage it.
I have two aspects to approach next. The first is exports. Originally my plan was to have the ROM file included into the page, and have the page manage the edits and export the modded ROM. But in reality, it looks like the size made that approach more difficult than it needs to be. So right now my plan is to export a list of "dirty" textures, with the adjusted palette and image data in a list of base64 strings. And then the second aspect is the search and replace program. My plan is to try and replace the specific files edited in the UI, and since the game often re-uses the same file several times, I'm hoping that I can either find the offset in the table of contents for the disk, or come up with a way to filter out which file is where by trying to match a list of strings.
Notes for cd format: www.idea2ic.com/File_Formats/iso9660.pdf
For 3d models, I think we might be reaching the point where modding the PSX rom could become obsolete. Uradamus has done some amazing work with the stage tiles and has a working version of the Ocean Tower and the Apple Market.
Working on models would be fun, but my general prediction for how long a model editor would take to make is somewhere between three to five weeks (full time days, not sure how long it would take spare time-wise) to come up with a basic editor. If you were able to replace models like you would in a pc game by editing a single model for a single file, then I think it would be a lot easier. But you have other things to keep in mind, like packing and unpacking all of the assets in the EBD, memory limits for how many vertices you can fit in memory, matching bone counts, and you'd have to match it with updated textures as well. In general I think that's time that could be better spent getting more assets out of Megaman Legends to be able to pop into Godot or similar engine. So my plan right now is to work on replacing textures in ROM to allow for people to play around and have fun with modding the game, and then start looking into save states to see if there is a way to cut corners for stuff and things.