I just noticed a substantial increase in the number of MPQDraft downloads over the past couple months. It took me a second to realize the likely cause: SC2 going into beta mid-February. It's not clear to me whether people expect MPQDraft to work with SC2, or whether SC2 has inspired a more general revival in modding.
In any case - MPQDraft does not work with the SC2 beta. For an explanation of why this is, and whether that may change in the future, see my blog at http://qstuff.blogspot.com/2010/04/mpqdraft-and-starcraft-2.html
I've released a long-overdue maintenance build of MPQDraft. While it only consists of bug fixes, some of these bugs are severe, and I'm pretty surprised in all this time nobody told me about them (I had to find them myself while working on a plugin).
The bugs fixed, in approximate order of severity:<br />
-SEMPQs not activating for games specified with relative names<br />
-plugin page not setting the plugin pointer after selecting with Browse, resulting in a crash<br />
-plugin page stops listing plugins after one fails to load<br />
-not saving custom executable names in the SEMPQ wizard<br />
-plugins weren't forced to use proper plugin IDs for their modules<br />
And one more that's not a bug so much as a screw-up: the last debug build actually included some parts of the release build that it shouldn't have, resulting in reduced logging, lack of the "debug" key, etc.<br />
The release build can be downloaded from the above link. The debug build and the source archive can be downloaded from the files page.
I've "set up" a couple of forums under the forums tab above: Development, for discussion about the development of MPQDraft, MPQDraft plugins, and programs similar to MPQDraft; and Help, which provides for discussion on the use of MPQDraft, help with using it, and reporting bugs.
Obviously these forums are only as good as the people they attract. If just about nobody uses them, then they won't be any help to anyway; so don't get your expectations up. Given my notorious laziness, I make no promises about how active I'll be in participating in the forums (assuming, of course, that there's anything to actively participate in, to begin with).
Well, after an underwhelming number of Subversion gets of the source, I thought maybe people would appreciate if I released a source package with all the source in one ZIP file. So, the source from the 21st (the last update, and the same as used in the binary) is now up in the download section.
Well, it's finally happened: the last of the MPQDraft source has been uploaded, and MPQDraft is now fully open-source. Compared to the year it took me to get the patching code uploaded (how the heck did it end up being that long?), the several months it took me to get the GUI code uploaded wasn't all that long. I actually ended up rewriting somewhere between 30 and 50% of the GUI code from scratch, which has drastically improved the quality of the code (and made a few minor functional improvements). As with all builds since I started rewriting and cleaning up stuff a year and a half ago, watch for any new bugs that may have been introduced by my clean-up.... read more
For those wanting to play with the MPQDraft code immediately, you can do that with some tweaking. You can modify the MPQ stub to use constants (or command line arguments, or whatever you like) instead of the MPQ stub data block, and then have it perform the patch like normal. That way you can step through the existing code, modify the code, etc.
For that matter, if somebody wants to write a command-line interface of MPQDraft, I'll post it in the repository.
Dear Gord, has it already been a year since I started this project? That's even lazier than I usually am. No, the project isn't abandoned (not quite); though I guess I'm lucky the project didn't get usurped while I've been off in my own little world.
I've finished cleaning up all of the code for the patcher DLL (the core of MPQDraft) and the SEMPQ stub code, and both are now in the repository. Unfortunately, as the GUI code isn't cleaned up yet, those parts aren't particularly useful apart from simply looking at how it works. I may have to start considering uploading the rest of the code immediately, and suffering through various laughing and insults for the icky code...... read more
The first 8 files are now in the repository, and the repository is beginning to take shape. These files are library files intended to be used in programs other than MPQDraft, but provide some of the core functions of MPQDraft, such as DLL injection and API hooking.
In these files as well as ones I'll upload later, I've tried to make the code 64-bit compatible, and mark explicitly what functions aren't 64-bit compatible. In these files, the DLL injection does not support injection into a 64-bit process. This is because I don't have a 64-bit CPU to experiment on, making it unfeasible to try to make the modifications myself. Hopefully somebody *pokes Skywing* will make the modifications for me, at some point. If you're interested in doing this (you'll need to know x64 assembly and the x64 calling convention), let me know, and I can explain the changes that need to be made.
Well, I didn't manage to get around to posting the code today, but I did write a remarkably lengthy justification (http://qstuff.blogspot.com/2007/04/why-cddl.html) of why I chose the CDDL, rather than others such as the GPL or the BSD, for MPQDraft. You might take a look; maybe it'll change your perspectives on the various OSS licenses.
And the new open-source MPQDraft is live... kind of! Well, the project is approved now, so I'll be adding files as I get them cleaned up and commented. At the same time I'm also doing various engine improvements, such as making the code 64-bit compatible (where possible), fixing some style issues, documenting the code, and in general making it more suitable for public viewing and reuse.
A few notes on the process. First, I'll upload files as soon as possible. I've got several of the core files done already, so I should have those up like today. The GUI stuff will take a bit longer, as it's both larger and more in need of cleanup :P Also, I'm a bit busy right now between school (have two tests next week, and I need to start working on my term paper), and work (have a new contract that needs doing in the next month or so), so things may be in limbo for a bit. Fortunately, I was able to recover the files already cleaned up after my main hard drive blew up on Wednesday (and I've spent the last 3 days reinstalling, and restoring as much as possible). As well, I'm not familiar with SourceForge, so it may take me a bit to get everything figured out, as far as services and administration are concerned.... read more