View Single Post
Old May 24th, 2013 (12:09 PM).
Shiny Quagsire's Avatar
Shiny Quagsire Shiny Quagsire is offline
I'm Still Alive, Elsewhere
    Join Date: May 2009
    Location: Hoenn Safari Zone
    Age: 19
    Gender: Male
    Nature: Jolly
    Posts: 700
    Just curious, how exactly does this handle revisions? A quick skim of the source indicated to me that it uses ZIP files, but I'm not entirely sure if that's the most efficient way to do this. First off, it wastes space. While GBA ROMs really aren't that big, having multiple copies of the same ROM can be a bit inefficient. What I'd recommend is a commit to commit binary diff system. That way you can store a history of different commits, and then select a specific commit and remove only what that commit added. And to revert to a specific point, have the utility store a second binary diff of all the changes up to that point to make for quick patching. Plus, with a binary diff, a hexadecimal diff viewer could be created showing different ranges of modifications.

    If you're planning on porting to Java, I would gladly help. I've done a bit of work on my scripting editor, SEA (Source Code is here), and I've done some .NET -> Java porting with one of my programs. I'm glad that you decided to open-source this so that the rest of the hacking community could benefit (Although I regress that you decided to use SourceForge; I prefer Git to SVN. ). If you could though, I'd much appreciate having the source up as fast as possible. One recommendation though, if you're open sourcing it, I'd recommend licensing it under GPL (GNU Public License) or MPL (Mozilla Public License). They're pretty much the same, but if you plan on using proprietary libraries (which will make Linux porting a pain), you'll have to use MPL. Both basically say that anything that is based on your program is required to open-source as well.

    Originally Posted by yram44 View Post
    is this program is for rom file size editing?
    No, it's a revision control system. It basically creates different revisions in which you can use as backups to revert to in case you screw up.

    Reply With Quote