Short: Shadow Warrior Amiga Port Author: 3D Realms, JonoF, port by Szilard Biro Uploader: col lawrence gmail com (Szilard Biro) Type: game/shoot Version: 1.5 Architecture: m68k-amigaos >= 3.0.0 Kurz: Shadow Warrior 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