If you can port your patcher, or make a patcher for the patching format you have made, to python or some other readily multiplatform language then that is great. If you want to release the source to your patcher then that is not as nice as a python thing but still good.
Haha ... the patching programs are written in C ... once upon a time, that was
considered a multiplatform language!
When I have time, I'll rewrite the Windows-specific memory-mapped-file routines to use linux/osx mmap() so that the programs will be truly multi-platform.
I am guessing the FMV uses rudimentary compression, or even something a bit more raw, and you can patch it accordingly. With that you could make a FMV alterer far more simply, if it is used in other games on the system then you have even made a nice tool to help others.
The game is for the PC-FX which uses a hardware variant of M-JPEG, just like the PlayStation's MDEC (they're not compatible).
I'll be releasing the source to the tools at some point after the translation patch is released.
I've already released my modifications to Mednafen which, IMHO, improve the debugging experience. Rypheca already has those, and I'll be happy to work with her to get them incorporated into the Mednafen mainline if she wants to incorporate them.
I wouldn't recommend including hardsubbed videos in a translation due to the size of the patch. It's much easier to make a regular patch for everything besides the videos, and make an optional patch people can apply for the videos.
Btw, I've discussed softsubs with the Mednafen author and I was told that it would be possible to make soft subs that would play on the emulator.
The game contains 16 1/2 minutes of video ... 11961 frames.
Without being able to follow that story, you're missing most of the particular charm of the game.
Because the PC-FX has no copy-protection, any
owner can just burn a translated CD and play the game on real hardware.
That's the goal.
And "yes", it does run in Mednafen, too ... without Mednafen's excellent debugging this translation wouldn't look anywhere near as good ... but I don't want to use any Mednafen-specific tricks like Ryphecha's soft-subs.
Yes, it looks like your problem is coming from the FMVs. No patching format is going to be able to do anything about that. Since you hard coded it, you've changed nearly every frame of the video. The resulting full video will be vastly different resulting in a huge chunk of marked different data (especially if compression is involved). The reason your custom patcher is 2 megabytes is because you already know the new data ahead of time and are storing a video editing procedure to apply it. The patcher needs to reverse engineer that with only strict binary difference rules. It will never come up with the same results.
In any event, if you absolutely need hard coded subs, it probably would be more appropriate to include a utility to apply the subs to the videos.
Every single frame of video is modified to move the original video up and then add the JPEG-compressed subtitles below the bottom ... all without any recompression of the original video, and using "best-quality" JPEG subtitles.
There's no way that xdelta can cope with that. I'm actually surprised that it does as well as it does.
It sounds like it isn't, so I think that's what we're going to go with. It will probably be a root directory with the executable, a readme, and three folders: one to put your image in, one where an output patched image is created, and one with all the data files we need.
As SamIAm says ... as long as we're not violating any community "standards", then that's what we'll do.
I'll just have to get the fully-multiplatform C code written at some point.