=========================================================================== Advanced engine needed : Vanilla Doom only Primary purpose : No levels included =========================================================================== Title : Logitech Wingman Warrior external driver Filename : wwlaunch.zip Release date : 2012-07-02 Author : Logitech; uploaded by Simon Howard (fraggle) Email Address : fraggle@gmail.com Other Files By Author : ctrlapi.zip, greenfish.wad Description : Some months ago I released ctrlapi.zip, a demonstration set of hacks that show what is possible using Vanilla Doom's external control API. At the time, I wrote that, "as far as I know, no such driver was ever written before now". This file is proof that I was wrong. Included is a collection of files that I extracted from the Logitech Entertainment Software (LES) v2.3 drivers. It includes an external control driver apparently designed to allow Doom, Heretic, Hexen and several other games to be played using the Logitech Wingman Warrior joystick. Also included is a graphical menu tool used to configure it. I am uploading this because it is of historical and educational interest in the context of the Doom source code. =========================================================================== * Technical discussion * Logitech's joysticks used a rather odd arrangement where they hooked into the mouse driver. The extended mouse driver added a set of extra API calls called "SWIFT". A reference to this is seen during Vanilla Doom startup: the message "CyberMan: Wrong mouse driver - no SWIFT support" appears when the mouse is enabled. Full details of the SWIFT API are not public knowledge as far as I know, but some details can be gleaned from the source code to Heretic, Hexen and Descent. The Doom source code does not include the Cyberman code, because it was stripped out of the released linuxdoom source. A fun exercise for someone with the technical know-how would be to implement the SWIFT API in DOSbox, and allow it to be used with modern 6DOF devices like the Nintendo Wii remote... Although the Doom engine games supported the Logitech Cyberman directly, it looks like at some point Id decided that including support for every new type of input device under the sun was probably the wrong way to go about things, which is probably why the external control API was created. In the end it looks like Logitech were probably the only manufacturer to make use of it. The driver appears to be intended to support the Wingman Warrior; I have no idea if it will work with other Logitech joysticks like the Cyberman or Wingman Extreme. Photos of the Warrior show that it has a throttle and a hat that can apparently be configured to switch weapons. The controls behave differently in different games (see the readme.txt documentation file). The drivers are included but won't work unless you actually have a Logitech joystick. I got these files out of a driver file called les23.exe; I've selectively picked out only the Doom-related DOS files. Support for the launcher.exe external driver system was abandoned in later versions of the driver package (LWS, or Logitech Wingman Software). Photos I've seen on the web show that the Wingman Warrior driver CD included the Id logo ("Id stuff") - presumably there was some small amount of collaboration between Id and Logitech, and the CD contained shareware versions of some of Id's games. The external driver also works with other (non-Doom engine) games. Code for it can be found in the WinQuake source code (in_dos.c). Presumably the other games had their own hooks, too. * What is included * launcher.exe - The actual external driver program. The 'strings' output includes references to the -control and -externdriver command line parameters. Doesn't work unless you have a proper SWIFT mouse driver. wwmenu.exe - Graphical launcher tool that allows configuration of the launcher. Looks like it is supposed to edit the .ini files. doom.ini - Configuration file for Doom 1. doom2.ini - Configuration file for Doom 2. heretic.ini - Configuration file for Heretic. hexen.ini - Configuration file for Hexen. Configuration files for other games, I've included for completeness: blood.ini - Blood d2.ini - Descent 2 dark.ini - Dark Forces duke3d.ini - Duke Nukem 3D quake.ini - Quake rampage.ini - Redneck Rampage sw.ini - Shadow Warrior Other stuff: readme.txt - Documentation file included with the driver package. Some of the information is to do with the Windows driver and is not relevant here. old/wwlaunch.exe - Older version of launcher.exe. I found this distributed with a copy of DWANGO. The version number (v3.0) is higher than in launcher.exe (v2.3) but it's definitely older. driver/mouse.exe - Logitech mouse driver. driver/joycp.exe - Joystick driver. Doesn't work unless you have a Wingman joystick connected. special/warrdosq.cfg - Quake configuration file for playing using the Wingman Warrior. special/cm2dosq.cfg - Quake configuration file for using the Cyberman 2. special/cybermn2.plr - Cyberman 2 player file for Descent 2. * Copyright / Permissions * Authors MAY use the contents of this file as a base for modification or reuse. Permissions have been obtained from original authors for any of their resources modified or included in this file. You MAY distribute this file, provided you include this text file, with no modifications. You may distribute this file in any electronic format (BBS, Diskette, CD, etc) as long as you include this file intact. I have received permission from the original authors of any modified or included content in this file to allow further distribution. * Where to get the file that this text file describes * The Usual: ftp://archives.3dgamers.com/pub/idgames/ and mirrors