2
fcorbelli
It's interesting to see the offer, but I don't get what's the exact point or intention here:
Do you want to make the plugin compatible with zpaqfranz? Then I would appreciate that you do some fork, and call it wcx*franz or whatever, but don't just continue it by adding features. It's not dead from my side (see below).
I appreciate your fork of ZPAQ, but I would prefer to keep the last official zpaq separate of yours, since the main focus of the plug-in was the compatibility with the official program, which is quite high IMO. I didn't get any bug reports, plus I use it for myself quite often and haven't found any major problems so far.
For the code side just some quick reminder: Matt left us some "challenges" in his code. I also contacted him some years ago about these and some other "obscurities", but he didn't seem to have much interest of fixing or clarify all of them.
For me the main points code-wise were/are:
- multiple C/C++ instructions per line - which is most annoying if you want to get into the code
- the far from perfect "jidac" wrapper with some "quirks"
- the non-standard UTF-8 encoding (see my code comments)
- missing block and/or hash fragment size statistics in the main code, which is annoying if you want to continue an archive with different fragment size
So what I basically did was to take the 7.07 code, wrap the multi-instructions in separate lines, remove the non-Windows stuff, building a wrapper around the jidac stuff. The I added the GUI stuff for the config dialog. I didn't mess with the main features at all, to keep things as compatible as possible.
As for a new version:
Look, I already made some changes to the plug-in, but not enough to satisfy a new version:
- the new "mixed version" listing, which was discussed in the past - but it's not completed yet
- some GUI improvements
- speedup of the SHA calculation (which was discussed quite intense in the encoding forums), but again: not completed yet
- maybe merging the newer 7.15 code into it - but like I already said: there are no real improvements besides the zpaq core itself
After that is done, I wanted to look at some other features of your fork any maybe add some.
I also had the idea of having the (whole) file crc/sha stored as a "hidden" field: since TC's file sync is a a mess with ZPAQ, because of slowness due to non-synchronized extractions. ...but I didn't get far yet and I will probably not add it, since it probably breaks compatibility.
So to emphasize this again: I prefer to keep things comparable and compatible to the official version. Plus: the plug-in's main focus is TC compatibility. You have to keep that in mind if you mess around with the wcx functions or break compatibility by messing with the main functions. I already had my share of bugs and quirks when it comes to TC's behavior.
I can't make promises, but I will work on some release soon. Besides the sha speedup, I'm open for other suggestion of features I should add (which don't break compatibility).
In the meantime, feel free to make some fork, if you really think it's worth it.