Pages: 1 ... 3 4 [5] 6 7 ... 9
|
|
|
Author
|
Topic: New patching format, UPS, debuts today (Read 6 times)
|
I.S.T.
Guest
|
|
« Reply #60 on: April 02, 2008, 04:56:16 pm » |
|
You screwed up the link, dude. >.>
|
|
|
|
HyperHacker
Guest
|
|
« Reply #61 on: April 02, 2008, 05:01:55 pm » |
|
Just thought I should fix your link. Multi-patching still works, it just requires that patches be applied in a certain order. But that defeats the purpose of multi-patching. OK so it will work fine if you apply the "fix Spell X" patch, then the "improve monster graphics" patch, and then the "allow longer names" patch. But what if you don't want the "improve monster graphics" patch? Then it won't work. Darkdata's link is an excellent example of this, there are dozens of patches designed to be applied to a Super Mario World hack in progress, who knows which users will apply which patches. The "container format" idea sounds worrysome. I'm not sure I understand how this is better than a complex format like XRIF? Instead of a complex patch format, you have a complex container format. If you can guarantee that NINJA3 is as easy and unambiguous to implement as UPS, then why create UPS at all? And if not, then how is it any better? I think Disch has the right idea. UPS does the same thing as IPS but better, but many of us need a format that does more than IPS. IPS' sketchy spec and file size limit have never been a problem for me but I can't count the number of times I've had trouble with byteswapped ROMs, headers, data that's been moved around, etc.
|
|
|
|
I.S.T.
Guest
|
|
« Reply #62 on: April 02, 2008, 05:09:48 pm » |
|
An IPS replacement is still needed, though. A lot of GBA games are bigger than 16 megs, IIRC.
Edit: Plus, N64 games...
|
|
|
|
byuu
Guest
|
|
« Reply #63 on: April 02, 2008, 05:27:40 pm » |
|
1) Reversibility and verification with limited chained multi-patching to ensure the patch applied successfully, or 2) infinite multi-patching support. Pick one, as they are mutually exclusive. #1 solves this problem: I can't count the number of times I've had trouble with byteswapped ROMs, headers, data that's been moved around, etc. It can do this, because with the CRC32, you can try the patch both with and without a header (SMC<>SFC), with and without byteswapping (SMD<>BIN), etc etc until the checksums match. #2 does not not solve this problem ... it cannot do so. And what sounds like a better strategy for #2? A) Store hundreds of individual IPS files and hope that none of them conflict with each other or overwrite data that the other ones rely on -- having no idea if the end result is valid or not, or B) creating a new custom tool designed specifically for multi-patching that can detect patches that aren't compatible, and perform all of the patching at once -- giving the user a handy menu to check off which patches he/she wants from a list? Bottom line: presently, UPS is ideal for translators who want one Japanese image translated to one English image, period. IPS is ideal for Super Mario World and Final Fantasy III hackers. I chose to target the former group of people.
|
|
|
|
BRPXQZME
Guest
|
|
« Reply #64 on: April 02, 2008, 05:30:47 pm » |
|
Plus, the (minor) difficulty of making incremental tweaks can be used as an integrity-preserving measure by some. Not everyone wants you to change their translation patch to replace every character’s name with “COCKâ€. Won’t really stop anyone who really wants to do it, but at least it makes your patch ... more your patch.
(beaten to the punch, but just had to get it out there)
|
|
|
|
nomit
Guest
|
|
« Reply #65 on: April 02, 2008, 06:08:48 pm » |
|
Wouldn't the --force option we talked about earlier in this thread solve the problem? As it will apply a patch even if the CRC is incorrect.
|
|
|
|
creaothceann
Guest
|
|
« Reply #66 on: April 02, 2008, 06:11:43 pm » |
|
OK so it will work fine if you apply the "fix Spell X" patch, then the "improve monster graphics" patch, and then the "allow longer names" patch. But what if you don't want the "improve monster graphics" patch?
Then you use the "override" option of your favourite UPS patching program. (EDIT: As nomit said.) The "container format" idea sounds worrysome. I'm not sure I understand how this is better than a complex format like XRIF? Instead of a complex patch format, you have a complex container format. If you can guarantee that NINJA3 is as easy and unambiguous to implement as UPS, then why create UPS at all? And if not, then how is it any better?
Complexity is one of the main reasons why projects fail. Separating tasks is a good thing - it actually makes matters easier and more maintainable. It's a very important concept in writing software; The Art of Unix Programming has some nice chapters about that. With UPS, NINJA3 is much easier to create because a part of the job is already done.
|
|
|
|
tc
Guest
|
|
« Reply #67 on: April 02, 2008, 06:33:00 pm » |
|
This sounds pretty good. Leaving compression to external compressors is fine, it's been common practice to distribute patches in formats like zip for ages. And multi-patching isn't too important in most cases. Rarely do I need to apply several to the same rom.
|
|
|
|
Karatorian
Guest
|
|
« Reply #68 on: April 02, 2008, 06:55:32 pm » |
|
While I agree with many of the issues raised with UPS, it's looks to be really good for it's aims. As both of the projects I'm currently working on are ROM expansions, it doesn't address my major concern with IPS, but that's not it's intended application. It's intended to be a better IPS and aimed at the same problem domain. From this perspective, it's looks to be quite well thought out.
The decision to leave out any sort of compression is a good one. I'm reminded of the Gimp, who's native file format has no compression either. Rather, it leaves compression to other programs. (It does have support for gzip and bzip2, but they're simply applied to the real native format, rather than integrated into it.) This has shown to be a good choice on thier part as the compression provided is exelent, while the file format is unaffected by the complexities of compression. It is also useful that the compression algorithm can be changed at will.
The checksums are a nice touch too. Personally, I'd have prefered to see a real hash algorithm, but I can understand the reasons that you would wish to avoid that level of complication.
The choice of XOR rather than overwriting is a interesting one. I definetly appreciate the utility of being able to transparently reverse a pactch. As all my patches so far have been in IPS format, I've felt that it was proper to include a reversal patch with my packages, which wouldn't be neccessary with UPS. However, the inablility to cleanly patch a number of differing source files with a single patch is unfortunate. I suppose it was a judgment call that had to be made.
I strongly disagree with the suggestion someone made that UPS be required for all new patches uploaded to RHDN be in UPS format. I belive that we shoud "let the market decide". While it may be a good idea to encourage the use of the format, such heavy handed measures would be inappropriate.
Best of luck with the new format.
|
|
|
|
Deathlike2
Guest
|
|
« Reply #69 on: April 02, 2008, 07:17:29 pm » |
|
I'm pretty much all for getting rid of IPS. It's clunky, strange to use, and confusing. What are you using for an IPS patcher? If you're using LunarIPS (for Windows), it's relatively simple and not complicated at all for a user. The other details behind IPS may not be favorable (particularly for the SNES for example) is a different issue, but that not of a severe consequence. If you're talking about patching multiple files to multiple patches, you should be able to use a script for doing this. You don't need the format itself to include it as part of the patch format. This script could be loaded by the frontend or whatever to make multi-file-patching a breeze. Some games truly can use the same patch (think of SNES games that have different revisions and/or regions). Forcing it is a requirement is silly, but a warning is helpful. However, it is very important for the author to specify if a patch works against multiple versions and/or other patches. Of course you'll still have to test if the patch is compatible in the end (it is a hassle, but it should be done by the author to make life easier). The frontend/app should be able to provide a switch to ignore warnings (for advanced users only of course) and you should be able to use a script to apply multiple patches to the same file. For compression, it wouldn't be a bad idea to be used internally, but it's not required for success of this format (I mean, you're going to store this in a compressed file anyways). In any case, I will wait this entire issue out, just to see what the overall reaction to this format. I hope some format does succeed.
|
|
|
|
byuu
Guest
|
|
« Reply #70 on: April 02, 2008, 09:31:38 pm » |
|
As both of the projects I'm currently working on are ROM expansions, it doesn't address my major concern with IPS Just curious ... which concern is that? UPS can expand and shrink ROMs quite easily. Inserting data in the middle of a file is the problem -- which is something you'd never do with a ROM-based system -- but even that works, the patches just end up very large. I strongly disagree with the suggestion someone made that UPS be required for all new patches uploaded to RHDN be in UPS format. I agree wholeheartedly. The patch format should be the decision of the patch author. The one thing I'd really like is for it to replace IPS soft-patching for the SNES. The header issue is too severe. I'm not going to implement a patching algorithm that has a 50/50 chance of working. I believe it's also very helpful for finalized patches for any ROM-based system, especially those >16MB, but that's up to you guys to decide.
|
|
|
|
|
Ryusui
Guest
|
|
« Reply #72 on: April 03, 2008, 12:52:15 pm » |
|
byuu said a few pages back that he doesn't have the equipment or resources to create a Mac patcher (i.e. he doesn't actually own a Mac or the tools for writing Mac software), but if UPS takes off, we'll probably be seeing patchers for multiple platforms in short order.
|
|
|
|
|
deespence2929
Guest
|
|
« Reply #74 on: April 03, 2008, 05:35:06 pm » |
|
From the image posted on the site, this looks like a great successor to ips. It's simple like lunar ips, but it can support much larger files.
|
|
|
|
Pages: 1 ... 3 4 [5] 6 7 ... 9
|
|
|
|
|