Monday, August 1, 2011

Regarding Patch Formats

Blazer

Someone brought up that the patch format used for this translation isn't Mac-friendly, or multi-platform in general. I realize this is an issue and if anyone knows of an alternate patching method or some way for it to be run on other platforms WITHOUT them having to boot in Windows or whatever, please let me know.

NOTE: The following is technical information just for your knowledge and is not news regarding the translation. Thus if you have a hard time with such technical issues or do not wish to know about it, please stop reading and know that you did not miss out on much.

As for why I can't use something like NUPS (or the inferior Tsukiyomi, which also uses .UPS format), when Nintendo DS ROMs are re-assembled, their data is shifted a lot. Because the data is moved around so much, at a specific offset (offset is a place in the ROM), it is highly unlikely that the same piece of data is there as it was before.

Think of it like this: if you have a 10 floor hotel but you suddenly add a floor after floor 4 but before floor 5, well, floor 5 will become floor 6, floor 6 will become floor 7, floor 7 will become floor 8, etc...

A patch generally contains the changes between two files. UPS patches do so by recording what data is at what place, and any changes to that. Thus the problem is that if data is deleted, added, moved, etc., it thinks that the data has completely changed, and records all the data all over again. Thus if you were making a new map of the hotel after you added a floor and you were like a UPS patcher that didn't know that the other floors were just moved, you'd end up redrawing floors 6, 7, 8, 9, 10, and 11, as well as adding in the new floor 5. The patch format WE use only has the new floor--floor 5.

What's the problem with just giving the map that has floors 6, 7, 8, 9, 10, and 11? Well, it's in-efficient--I'd be giving you a map of most of the hotel instead of just the changes. Back to the game, imagine if I had to give you half of the game in the patch when all it did was move, it wasn't even edited. It'd be like giving you the ROM, which we aren't going to do for legal and moral reasons I won't get into.

Now, that might be confusing, so I don't expect you to understand it, but that's the deal--we can't use UPS or IPS formats (IPS is even worse than UPS, let's leave it at that). However as I said, if you have any other suggestions, please go ahead and I'll look into them.

2 comments:

  1. Distribute the patch and keep your own hands clean.

    For your users who can't run the patch, well... you don't HAVE to run the patch yourself to get the patched ROM.

    ReplyDelete
  2. Aye. Not to mention there's booting other systems and using other computers to quickly download and patch the game.

    ReplyDelete