SWMD by XeFF Systems (Version 1.0)
 This program is NOT supported by 3D Realms, Devolver or Flying Wild Hog

 Shadow Warrior with MIDI & Darts
 SWMD is a modified build of Shadow Warrior 1.2 that enables MIDI music and
 supports loading Twin Dragon or Wanton Destruction from the command line.
 Your save game files will be separated between the vanilla game and both of
 these add-ons independently, meaning you have access to all slots without
 having to backup or overwrite your existing saves. Do note, however, that
 saved games from the official EXE are not compatible with SWMD.

 You must have a copy of Registered Shadow Warrior 1.2 to use this program.

 Do note that SWMD wasn't originally intended for distribution and was not
 thoroughly tested. In any case, it comes with no guarantees and you use the
 executable at your own risk. Nothing bad should happen - let's not forget I
 used this on my own hardware - but if it somehow causes your computer to emit
 alpha radiation and sterilize your gonads, you agree to release me of any and
 all liability.


Installing SWMD
 If you have any doubts about anything before proceeding, make a backup of
 your Shadow Warrior folder, as that way you can always restore it later.

 Simply copy SWMD.EXE and the accompanying GRP file to your Shadow Warrior
 directory. Copying SETMAIN.EXE is optional and no other files should be
 overwritten in the process, unless you had an existing SWMD installation.

 If you wish to play Twin Dragon, you will need TWINDRAG.GRP and it must be
 the original version, as those modified for ports likely will not work.
 Likewise you will need WT.GRP if you wish to play Wanton Destruction.
 Do NOT use the installers for these add-ons, as they make a mess. Instead,
 you will want to grab their GRP files directly and shove thm in your SW
 folder. None of the other files they come with should be necessary.
 Your Shadow Warrior folder should be free of stray MAP, ART and VOC files,
 as these will override those within the add-on's GRP and will therefore cause
 any number of malfunctions.

 Note that SWMD will use the same CFG file as your vanilla EXE, so any
 changes made may affect both executables. The vanilla EXE should ignore any
 music card setup, though it may strip parameters like the dart toggle.
 Nothing particularly awful should happen in such cases, outside of the mild
 inconvenience of having to toggle it again in the menu.

 The included SETMAIN.EXE is a modified version from the shareware.
 Only a single byte was altered to prevent detecting a CFG version mismatch,
 though it may still reset toggles such as the darts and voxels which you can
 re-enable in the game's options menu.
 Use the Sound Setup menu to configure your music card and then exit without
 launching the game.
 You can now move on to the section about "Using SWMD".

 Alternatively, if you do not want to use the modified SETMAIN, you will need
 to modify SW.CFG manually to enable MIDI music.
 Open SW.CFG in a text editor and look for the MusicDevice entry. Most users
 will likely want General MIDI, so you should change the line to:

 MusicDevice=4

 You should then also change the MidiPort line to your music card's port:

 MidiPort=330

 Different systems and different cards will use different settings. A very
 simple way to set things up is to copy the entire [Sound Setup] block from
 another game using the same audio library, such as Duke3D or Blood.
 If you really want to do it the hard way, the device numbers are:

 0:  Sound Blaster
 1:  Pro AudioSpectrum
 2:  SoundMan 16
 3:  AdLib
 4:  General MIDI
 5:  SoundCanvas
 6:  AWE32
 7:  WaveBlaster
 8:  SoundScape
 9:  UltraSound

 A few of these cards may require specialized parameters. Only General MIDI
 was tested, so it is unknown how well other cards might work. The game's
 source code also suggests AWE cards may have trouble under Win9x. You can
 attempt to start the game with the -win95awe32 switch in that case, but this
 might crash the system, according to comments in the code.
 
 Gravis UltraSound users will likely have to run ULTRAMID before starting the
 game. Ensure ULTRAMID.INI is in your Shadow Warrior folder...
 Huh, they still included that file?

 As an aside, if you weren't aware, you can also tamper with screen modes in
 the CFG. If your VGA card is VESA compatible, the engine should be able to
 use almost any modes than it exposes, including many not present in SETUP.


Using SWMD
 SWMD will start and run just as regular Shadow Warrior would. You will find
 the new options in the Options menu. Enabling "Darts" will replace shurikens
 just like the special pansy UK version would have done. In the Sound menu,
 you can enable or disable "Play CD". Disabling this option will instead play
 MIDI music if your music card is configured correctly in the CFG.

 If you wish to play one of the add-ons and have the files present, you will
 need to pass a command line switch to the executable:

 SWMD -td

 The above would load Twin Dragon. The below would load Wanton Destruction:

 SWMD -wt

 For your convenience, SWGO.BAT is included which will give you a choice of 
 which mode you wish to start the game in. Some DOS versions will not be
 compatible.
 If I get nagged enough, I might implement a timed prompt into the EXE itself
 some day, but admittedly I don't like the idea of this, due to the incurred
 delay when playing the vanilla game and the potential to break user maps.

 If the add-on GRP cannot be loaded at all, an error message will display and
 the game will proceed normally, loading the vanilla levels as usual. If the
 GRP loads successfully, a message will be displayed, but be mindful this
 will appear for any readable GRP file with the correct name. If something
 isn't working, then you likely have one of those weird re-packed GRP files.

 When either of these add-ons is loaded, the episode selection menu is skipped
 and you are taken to the skill menu instead. This is to prevent loading the
 shareware levels, as they may not work correctly in this state. The menu will
 reappear when you restart SWMD without the command line switch.

 Remember that all of the usual command line switches should also still work.
 Multiplayer was not tested at all and isn't guaranteed to work. Even if it
 does, all players would have to be running the same version of SWMD.
 
 As a last note, no changes were made to how the game loads SW.GRP, meaning
 you will not see fancy messages about the status of that. Ensure that it is
 present in the directory, otherwise the game won't run because the GRP holds
 all of the graphics, levels and sound effects.

 If you enter the Options menu, you will see "Darts" can be enabled. This will
 replace all shurikens, except the ones embedded in a post in Monastery, with
 darts, as was the case in the UK version.
 Entering the Sound sub-menu, you can enable or disable "Play CD" to switch
 between Redbook and MIDI music. The "Boss Music" option enables or disables
 changing the MIDI track when a boss is on screen. Disable boss music if you
 are using a slower computer and experience stalls when the track changes in
 boss fights.

 Note that SETUP isn't aware of these new entries to the struct and may wipe
 their status out if you run it to re-configure something, so you may have to
 re-enter the menu and set these again at that time. They should otherwise
 persist between sessions without incident.
              

License
 Shadow Warrior's source code is released under a GNU license. See GNU.TXT.
 The Build Engine is released under 'BUILDLIC'. See BUILDLIC.TXT.
 SWMD is subject to these licenses.

 Shadow Warrior Copyright (C) 3D Realms Entertainment, 1997
 Build Engine and tools by Ken Silverman

 The included version of the Apogee Setup tool is unclear as it never had an
 official source code release and the EXE binds DOS4G, which has its own set
 of licensing hurdles


SWMD is a modification of Shadow Warrior made by XeFF
 You can find me in the following places:
 HTTP://DXZeff.COM/BUILD                (Home Page of SWMD and other stuff)
 HTTP://YouTube.COM/@hightreason610     (Computer Channel)
 HTTP://YouTube.COM/@hightreasonLP      (Gaming Channel)
 HTTP://X.COM/RealDXZeff                (Rarely Used)
 PAU174U [ -at- ] AOL.COM


Changelog
VERSION 1.0 (May 14 2026)
 Initial Public Release
 Be mindful that I'm crap at programming
 Tidied up a few things, mostly cosmetic
 Sumo stops music if defeated on Level 11
 Zilla stops music if defeated on Level 20
 Attempted to fix menu music being wrong if toggling before starting a level

VERSION 0.9 (May 13 2026)
 Second Release Candidate
 Changed boss music detection
 Implemented gs.BossMusic to disable boss music changes

VERSION 0.8 (May 13 2026)
 Bosses now change the MIDI song when fighting and restore it at deathmelt
 Tried to stop the song getting stuck when saving and loading
 Credits now try Redbook CD, then HROSMHA42 MIDI, then NOLIKEMUSIC VOC
 Credits will loop forever until ESC is pressed

VERSION 0.7 (May 7 2026)
 First Release Candidate
 Included a molested SETMAIN.EXE
 Fixed the bloody bloody dart hand, stupid bloody thing
 Fiddled with map name strings and MIDI playlist just slightly
 Made nuke lines ~3/10 chance rather than ~1/100
 Using DOS32A instead of DOS4GW for no real reason at all
 Changed loading screen color to black/red from yellow/cyan

VERSION 0.6 (May 6 2026)
 Internal Test
 Moved MIDIs into MIDI.GRP
 Twin Dragon support added
 Wanton Destruction support added
 Add-ons skip episode menu
 Separated save files by prefixing 'PickMod' value
 Separate MIDI playlists for add-ons
 CD track gets forgotten if toggling CD before New Game
 Bloody dart hand still doesn't work, but didn't work in UK EXE either
 Game may crash if loading a save after beating Zilla
 Add-ons don't provide stat screen times, but nor did original distributions

VERSION 0.5 (April 30 2026)
 Internal Test
 Dart toggle
 CD toggle
 MIDI music toggle
 Working saves
 No music in some levels
 Able to shoot at bins without crashing the computer
 Forgot to 'if (gs.PlayCD)' in a menu function so saw error messages
 Asiatic Apogee Fanfare on logo screen
 Used for one live stream: https://youtu.be/nJZKvkvcIhI

VERSION 0.4 (April 24 2026)
 Internal Test
 Built from different source code archive
 Broken saves
 MIDI music always on
 CD music always on
 Darts always on
 No bloody dart hand thanks to 3DR oversight
 No saving

VERSION 0.3 (April 23 2026)
 Internal Test
 MIDI music always on
 CD music always on
 Darts always on
 No bloody dart hand thanks to 3DR oversight
 No saving
 Crashes due to ASS sound list overflow

VERSIONS PRIOR
 Internal Test
 Built from Charlie's source code archive
 Entirely broken

Development system in case this info is useful
 Intel Pentium II at 450MHz
 QDI BrillianX-I P6i440BX
 256MiB SDRAM at 100MHz
 Matrox Productivia G100 with 8MiB SGRAM
 Yamaha YMF724-E
 Roland SCC-1
 Creative Encore DXR2
 Hauppauge WinTV 98
 RealTek 8019AS
 Adaptec AHA-2940UW
 Quantum Atlas III

As nobody else will do it, special thanks go to RobMan for taking initiative
and badgering the publisher to release the prototypes. You can bet the Crayola
boys would have sat on them forever to satisfy their fragile egos and we'd not
have had the prototype MIDIs to use here if that had happened
