View Single Post
Old May 24th, 2013 (1:49 PM).
Akiba's Avatar
Akiba Akiba is offline
  • Crystal Tier
Join Date: Mar 2011
Location: in a gap
Age: 18
Gender: Female
Nature: Brave
Posts: 4,268
Originally Posted by shiny quagsire View Post
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.

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.
I'm using Git, so don't worry.

When one is making a hack, one would generally not worry too much about space. With a higher compression rate or implementing commits, the program would likely be slowed.

Also, I was in a hurry when I made this. I basically rewrote the whole thing into VB in one night. I know about General Public Licenses, I will implement the GPL soon. I doubt that anyone will actually would want to make this proprietary yet, so it's not something to worry about. This program will eventually turn into a module that can be used on a SkyDock-archetype that I will make. Its first three features will be this, PokeHex (whose thread I have stopped posting to for a while), and a free space manager, because it seemed to be a very popular idea.

Reply With Quote