Strap on your combat sandals...Lo Wang is coming to the Land of the Rising Sun
to turn out the lights. Experience total blood immersion. If you can't touch,
kill or drive something...then blow it away! Whether you're wielding
shurikens, an Uzi, or a freshly plundered Guardian head...you've got your work
cut out for you. Enter the world's most interactive 3D environment...and cut
yourself some sushi!
Requirements:
- 68060 processor with FPU
- Kickstart 3.0
- AGA chipset or RTG card
- 16 MB Fast RAM
- 50 MB disk space (+ more for the audio tracks)
Game data:
Visit this site for links to the Registered and Shareware versions:
http://www.jonof.id.au/buildgames/sw.html
The only file you need is SW.GRP, do not copy SW.CFG from the DOS version!
It's incompatible if JFSW, and will prevent the game from properly saving your
settings.
Shadow Warrior Classic Complete on GOG includes two expansions for the game.
As these replace the original levels it's recommended to keep them in separate
drawers. For Wanton Destruction remove SW.GRP, and put WT.GRP into the drawer.
For Twin Dragon, keep SW.GRP and copy the contents of the "dragon" folder,
except SW.CFG.
Performance considerations:
FFS is quite slow at seeking in large files which can lead to pauses in-game
when new data has to be loaded from the GRP file. It can be improved by adding
more buffers, but it's recommended to run the game from a PFS or SFS volume.
The texture/sound cache is also sensitive to memory fragmentation, so if you
have 32 MB or less memory, it's best to start the game after a clean reboot.
If your accelerator doesn't have any on-board RAM the game will likely not be
playable, as access to the motherboard RAM is not fast enough for the
renderer.
To enable the framerate counter in-game press [T], type "swloc", then press
Enter.
Vampire V2 users:
If the 060 executables don't work, please use the 040 executables.
Sound:
The game defaults to stereo Paula DMA audio, but AHI is also supported for
sound card users. To use AHI, after the first start open SW.CFG in a text
editor, and in the [Sound Setup] section set FXDevice = 8 and
ReverseStereo = 1.
To switch back to Paula, change both values back to 0.
The game will use the Music Unit for sound playback, make sure it's properly
configured in the AHI prefs. 16-bit modes are much slower than 8-bit, so these
are not recommended unless you have a very fast machine.
Music:
The Shareware version of the game uses MIDI music which is supported via CAMD.
The game will use the first MIDI port it finds (usually "out.0"), but this can
be overridden with the "DefMidiOut" environment variable if needed.
For the Registered version WAV and MP3 files are supported. The music is
streamed from memory, so it might not fit if you have less than 32 MB RAM.
To use them simply put the WAV or MP3 files into the game's drawer next to
the executables.
Modern releases of the game come with the music in Ogg Vorbis format, which
can be converted to WAV or MP3 using tools like FFmpeg, SoX or Audacity.
For WAV I recommend 22 KHz 8-bit mono, which is a good balance between sound
quality and size.
I have uploaded a converted WAV music pack to my site:
http://bszili.morphos.me/stuff/sw-music.zip
For MP3 playback you need an MHI-compatible sound or music card. If your card
only supports the older mpeg.device standard, install this wrapper library:
http://aminet.net/package/mus/play/mhimdev
Make sure you don't have any incompatible MHI drivers in LIBS:MHI, only the
one for your device. It's a good idea to verify if Hardware MP3 playback is
working in AmigaAMP or any other MHI-compatible player before trying the game.
To use MP3 files set OggTrackName = "track??.mp3" in SW.CFG under the
[Sound Setup] section.
I have pre-converted MP3 music pack available on my site:
http://bszili.morphos.me/stuff/sw-music-mp3.zip
Keyboard and mouse or PlayStation controller:
In the menu open "Options / Input menu", and pick Apply Modern Defaults.
Warning: this will reset all of the customized controls.
To enable Mouse Aiming and disable lookspring, press the [U] key in-game.
The game also supports PlayStation gamepads connected via PSXPort.
Keyboard-only or CD32 controller:
In the menu open "Options / Input menu", and pick Apply Classic Defaults.
Warning: this will reset all of the customized controls.
This preset is also recommended for 7-button CD32-compatible controllers.
Fullscreen:
The game asks the OS for the best Mode ID for a given resolution, but this
can lead to unexpected results if there are unused monitor drivers in
Devs:Monitors. I recommend putting these away into Storage:Monitors, but if
this is not possible, you can use these tooltypes to force specific modes:
- FORCEMODE: filters the available modes via the mode name. possible values:
PAL, NTSC, DBLPAL, DBLNTSC, EURO36, EURO72, SUPER72, MULTISCAN
- FORCEID: forces a specific mode, the value is a Mode ID in hexadecimal
format
By default the game will pick RTG modes, but if your RTG card is operating in
Zorro II mode, it's recommended to use native modes instead.
Windowed mode:
You can play the game in window on high color (15-bit) or better RTG screens.
The game will still render in 8-bit color, the higher color depth is required
to avoid the expensive color remapping necessary on paletted screens. This is
not a issue in fullscreen, as the game can freely change the palette of its
custom screen.
To release the mouse pointer bring up the in-game console. This is bound to
the Tilde [~] key by default. To override which public screen the window opens
on, you can set the "PUBSCREEN" tooltype.
Level editor:
The Shadow Warrior-specific version of Build Editor is also included, but it
requires a 640x480 screen, so it's best used with RTG cards.
Multiplayer:
The game supports multiplayer up to 8 players via TCP/IP networks. Any TCP/IP
stack with a bsdsocket.library compatible interface should work. The game uses
the 23513 UDP port by default, but this can be changed when starting a new
game.
Multiplayer games can be started with command-line parameters, and can use
either of two communication modes: hosted and peer-to-peer.
Hosted mode:
Choose a system to be the host of the game, and each other player will connect
to that host.
The "net options" for this mode are:
-pportnum - host the game on a different UDP port to the default 23513.
-nm - be host of a 2-player game.
-nm:num - be host of a num-player game.
-nm host-name-or-ip - join a game hosted by host-name-or-ip.
-nm host-name-or-ip:port - join a game hosted by host-name-or-ip on
non-default port port.
For example, a three-player hosted game is launched like so:
(Player 1, hosts) sw.060 -net -nm:3
(Player 2, joins) sw.060 -net -nm host1
(Player 3, joins) sw.060 -net -nm host1
Where host1 is the address of the host machine.
Peer-to-peer mode:
In this mode each player sends data to each other player in the game directly,
which is only really practical in non-firewalled LAN-like environments. The
list of peers specified on the command line must be consistently ordered
amongst all players, and each peer will launch the game with slightly
different options.
The "net options" for this mode are:
-pportnum - communicate with other peers on a different UDP port to the
default 23513.
-np ordered-peer-list... - participate in a peer-to-peer game.
. or * - identify the local machine in the ordered peer list.
host-name-or-ip - identify a peer at host-name-or-ip in the ordered peer list.
host-name-or-ip:port - identify a peer at host-name-or-ip on non-default port
port in the ordered peer list.
For example, a three-player peer-to-peer game is launched like so:
(Player 1) sw.060 -net -np . host2 host3
(Player 2) sw.060 -net -np host1 . host3
(Player 3) sw.060 -net -np host1 host2 .
Where host1, host2 and host3 are the addresses of the machines connecting to
each other.
Source code:
https://github.com/BSzili/jfsw/tree/amiga
Special thanks:
- Shadow Warrior: 3D Realms
- Build Engine: Ken Silverman
- JFShadowWarrior, JFBuild, JFAudioLib, JFMACT: Jonathon Fowler
- 68030+ assembly: Dante/Oxyron
- 68060 optimizations: Cosmos
- 8-bit C2P routines: Kalms
- CAMD MIDI support: mheyer32
- GCC6 toolchain: bebbo
Changelog:
1.5
- faster slope rendering and 2D sprite drawing
- support for native Amiga resolutions:
1280x512, 1280x400, 1280x256, 1280x200,
640x256, 640x200, 320x512, 320x400, 320x256
- fixed a potential hang in the double-buffering code
- improved audio mixer performance
1.4
- voxel support
- keymap support for text input
- fixed the MP3 tracks always starting at full volume
- faster MIDI tick calculation
- added level titles for Wanton Destruction
- added default names for savegame slots
- saves no longer overwrite the "Flip Stereo" option
- faster sound distance calculation
1.3
- fixed the group checksum slowdown
- slightly improved performance
1.2
- performance improvements
- implemented the multiplayer
- MHI MP3 playback support
- CAMD MIDI support for shareware
- PlayStation controller support
1.1
- the 040 executables no longer use FPU emulation in the game code
- Caps Lock now only shifts alphabet characters
- synchronized the palette updates with screen updates
1.0
- initial release
|