GetWAD
Version 2.1
December 7, 2003
1. Description
GetWAD is a library and a sample program to locate, download,
unpack and install WAD files automatically. Its primary purpose
is to simplify the WAD handling for Doom players.
On a first level, the sample program (getwad.exe) can be used by
end users to fetch the desired WADs. Even though this is not perfectly
automatic (the user has to specify the WAD name), it is still the
easiest way that I know to find and install WADs.
On a second and more important level, the library (getwad.dll) can
be used directly by other Doom-related programs (eg., launchers)
to automate the procedure even more (eg., they would simply ask
for permission to find the file and the user would not have to
specify anything else). For this reason, the DLL interface is
fully documented; any interested developer can download the
developer's documentation and source code of the program from the
GetWAD home page. I've tried
to simplify the usage of the library from the main application's
perspective; as far as I can tell, it should be almost trivial to
embed the library in any Doom-related program.
2. Usage
The sample program can be invoked in two ways:
3. Other Characteristics
- It can use the HTTP and FTP protocols.
- The program uses the passive mode of the FTP protocol; you can
optionally disable FTP for some special cases (eg., if you are
behind a misconfigured firewall).
- The program works fine behind properly configured firewalls.
- The program obeys the HTTP proxy settings specified in the
Internet Explorer options.
- You can specify up to 100 pages containing links to WAD files;
these pages will be searched first.
- At the beginning of a search, the program contacts one of the
"master" GetWAD servers to obtain an updated search list of
URLs to be searched for WAD files; this eliminates any maintainance
required by the end users, as the master search list will get
updated as the various web pages change. There are currently 2
such servers in operation for redundancy purposes (one at
getwad.keystone.gr and another at zdaemon.org). If for
some reason the program cannot contact any of them, it uses
the last search list that has been downloaded; if no such list
has ever been downloaded, it uses a built-in list (which will
probably get outdated as time goes by).
- The program enforces a network timeout of 60 seconds; that is,
if a file transfer has stopped for more than 60 seconds, then it
is assumed dead and the program will cancel it and keep searching.
- The program should work on any 32-bit version of Windows provided
that you have Internet Explorer 4.0 (or later) installed.
- The specification of a search page may contain the special sequence
%s which will be replaced by the name of the file being
searched. This is useful for specifying search engine URLs. A
consequence of this capability is that you have to be careful with
the percent (%) signs; if the URL actually contains a percent
character (which is rather unlikely), you have to specify it twice
(i.e., use %% rather than %).
4. Release History
- Version 2.1 (December 7, 2003): Bug fixing.
- Version 2.0 (December 3, 2003): Automatic fetching of search
list from master server, searching enhancements.
- Version 1.5 (September 18, 2003): Google searching improvements.
- Version 1.4 (August 26, 2003): Bug fixing.
- Version 1.3 (August 24, 2003): Fixed a problem with one
of the predefined search pages (SUNet changed its address lately),
and added support for a command line version of the program under
Unix (it has been tested under Linux, but it's not very system-specific:
it should work on other Unices as well).
- Version 1.2 (August 2, 2003): Extended the command line
syntax to simplify the interface to other programs and allow the
fetching of multiple wad files with a single call.
- Version 1.1 (July 1, 2003): Extended the specification of
search pages to accomodate the %s sequence.
- Version 1.0 (June 25, 2003): First public release of the
program.
5. Acknowledgements
This software uses the ZLIB library library by Jean-loup Gailly and
Mark Adler, as well as the UNZIP code by Gilles Vollant. Their
software has contributed significantly to the development of
countless projects.
I would also like to offer a big thank you to Eugene Bondarchenko (aka Bond, the
creator of IDE) for precious help in improving and testing the program.
Finally, I am indebted to the kind folks who set up and maintain the various
link pages and search engines that provide easy access to the
WAD files and other net resources. The default link pages
searched by GetWAD are the ones administered by
[L@P] dA_g0dFad3R, Lyfe, Raider and Falconer; I owe them
a big thank you.
6. License
Copyright (C) 2003 Hippocrates Sendoukas.
This software is provided 'as-is', without any express or implied
warranty. In no event will the author be held liable for any damages
arising from the use of this software.
Permission is granted to anyone to use this software for any purpose,
including commercial applications, and to alter it and redistribute it
freely, subject to the following restrictions:
- The origin of this software must not be misrepresented; you must not
claim that you wrote the original software. If you use this software
in a product, an acknowledgment in the product documentation would be
appreciated but is not required.
- Altered source versions must be plainly marked as such, and must not be
misrepresented as being the original software.
- This notice may not be removed or altered from any source distribution.
Hippocrates Sendoukas (aka Kilgore)