It appears that the hsTArray memory management really sucks for smart
pointers like plKey. The crash mentioned at
http://forum.guildofwriters.org/viewtopic.php?f=117&t=6291 went away
immediately after switching plKeyCollector to an std::set.
So, it appears that once our dialog is created, the DialogBox windowproc
is nuked. So, to hack around this, any errors that occur while it is open
are cached and reported out after we close everything down. It sucks, but
it works. I blame Microsoft.
This is the crowning feature: the whole point of this exercise. You can
now update redists from the client launcher itself. To activate this
functionality, you will need to flag the file 0x10 in the manifest. I
recommend listing your redists in the patcher manifests.
This adds a license-stopgap "feature" ... You can now update only the game
data by using the -Repair argument on the launcher. You'll need to specify
a stripped down MOULa server.ini with the GateKeeperSrv keys/host.
This argument works just like it does in Guild Wars. It checks all the
files (using Cyan's evil "Internal" and "External" manifests) for changes.
Expect this to take a decent amount of time.
Remove detection for cards that are don't support at LEAST DirectX 8.
There's no way they would even be able to get past Direct3DCreate9, so we
shouldn't need to worry about them... I hope.
If you have less than 11MB VRAM or need to use the ref implementation,
then you are using a dinosaur and have no business even attempting to play
this game.
Plasmalog.txt is now plasmadbg.log. This allows us to view the log inside
the game, flush to the debugger output window, and have the logfile. The
plan is to redirect key leak reports to this log in a future commit.
This is the beginning of efforts to reduce the scope of Windows.h. I have
shuttled it into hsWindows.h (again) and fixed the compilation of the
major apps. There is still some scope work that needs to be done, and the
Max plugin has not yet been addressed.