GetWAD
Version 2.9
September 14, 2023
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, zlib.dll and libcurl.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, HTTPS 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 %).
- It supports WADs in PK3, PK7 or ZIP form.
4. Release History
- Version 2.9 (September 14, 2023): 64-bit support.
- Version 2.8 (March 15, 2023): Bug fixing.
- Version 2.7 (July 4, 2022): HTTPS support.
- Version 2.6 (January 29, 2016): Support for DEH and BEX files (thanks Bond).
- Version 2.5 (August 23, 2013): Bug fixing.
- Version 2.4 (April 21, 2010): Support for WADs in PK7 form (thanks Bond).
- Version 2.3 (July 11, 2009): Bug fixing (thanks Bond).
- Version 2.2 (September 3, 2007): Support for WADs in PK3/ZIP forms.
- 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 by Jean-loup Gailly and
Mark Adler, the UNZIP code by Gilles Vollant,
as well as the CURL library by the CURL team. 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-2023 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