vbt1 / wolf4sdl

Wolfenstein 3D for Saturn
Other
18 stars 3 forks source link

Wolf4SDL by Moritz "Ripper" Kroll (http://www.chaos-software.de.vu) Original Wolfenstein 3D by id Software (http://www.idsoftware.com)

Wolf4SDL is an open-source port of id Software's classic first-person shooter Wolfenstein 3D to the cross-plattform multimedia library "Simple DirectMedia Layer (SDL)" (http://www.libsdl.org). It is meant to keep the original feel while taking advantage of some improvements mentioned in the list below.

Main features:

Additional features:

The following versions of Wolfenstein 3D data files are currently supported by the source code (choose the version by commenting/uncommenting lines in version.h as described in that file):

How to play:

To play Wolfenstein 3D with Wolf4SDL, you just have to copy the original data files (e.g. *.WL6) into the same directory as the Wolf4SDL executable. Please make sure, that you use the correct version of the executable with the according data files version as the differences are hardcoded into the binary!

On Windows SDL.dll and SDL_mixer.dll must also be copied into this directory. They are also available at http://www.chaos-software.de.vu

If you play in windowed mode (--windowed parameter), press SCROLLLOCK or F12 to grab the mouse. Press it again to release the mouse.

Usage:

Wolf4SDL supports the following command line options: --help This help page --tedlevel Starts the game in the given level --baby Sets the difficulty to baby for tedlevel --easy Sets the difficulty to easy for tedlevel --normal Sets the difficulty to normal for tedlevel --hard Sets the difficulty to hard for tedlevel --nowait Skips intro screens --windowed Starts the game in a window --res Sets the screen resolution (must be multiple of 320x200 or 320x240) --resf Sets any screen resolution >= 320x200 (which may result in graphic errors) --bits Sets the screen color depth (Use this when you have palette/fading problem or perhaps to optimize speed on old systems. Allowed: 8, 16, 24, 32, default: "best" depth) --joystick Use the index-th joystick if available --joystickhat Enables movement with the given coolie hat --samplerate Sets the sound sample rate (given in Hz) --audiobuffer Sets the size of the audio buffer (-> sound latency) (given in bytes) --ignorenumchunks Ignores the number of chunks in VGAHEAD.* (may be useful for some broken mods)

For Spear of Destiny the following additional options are available: --mission Mission number to play (1-3) --goodtimes Disable copy protection quiz

Compiling from source code:

The current version of the source code is available in the svn repository at: svn://tron.homeunix.org:3690/wolf3d/trunk

The following ways of compiling the source code are supported:

  • Makefile (for Linux, BSD variants and MinGW/MSYS)
  • Visual C++ 2008 (Wolf4SDL.VC9.sln and Wolf4SDL.VC9.vcproj)
  • Visual C++ 2005 (Wolf4SDL.sln and Wolf4SDL.vcproj)
  • Visual C++ 6 (Wolf4SDL.dsw and Wolf4SDL.dsp)
  • Code::Blocks 8.02 (Wolf4SDL.cbp)
  • Dev-C++ 5.0 Beta 9.2 (4.9.9.2) (Wolf4SDL.dev) (see README-devcpp.txt)
  • Special compiling for Dreamcast (see README-dc.txt)
  • Special compiling for GP2X (see README-GP2X.txt)

To compile the source code you need the development libraries of

Please note, that there is no official SDL_mixer development pack for MinGW, yet, but you can get the needed files from a Dev-C++ package here: http://sourceforge.net/project/showfiles.php?group_id=94270&package_id=151751 Just rename the file extension from ".devpack" to ".tar.bz2" and unpack it with for example WinRAR. Then add the directories include/SDL and lib to the according search paths in your project.

IMPORTANT: Do not forget to take care of version.h! By default it compiles for "Wolfenstein 3D v1.4 full GT/ID/Activision"!

TODOs:

  • Add PC speaker emulation
  • Center non-ingame screens for resolutions being a multiple of 320x240
  • Add support for any graphic resolution >= 320x200

Known bugs:

  • None! ;D

Troubleshooting:

  • If your frame rate is low, consider using the original screen resolution (--res 320 200) or lowering the sound quality (--samplerate 22050)

Credits:

  • Special thanks to id Software! Without the source code we would still have to pelt Wolfenstein 3D with hex editors and disassemblers ;D
  • Special thanks to the MAME developer team for providing the source code of the OPL2 emulator!
  • Many thanks to "Der Tron" for hosting the svn repository, making Wolf4SDL FreeBSD compatible, testing, bugfixing and cleaning up the code!
  • Thanks to Chris for his improvements on Wolf4GW, on which Wolf4SDL bases.
  • Thanks to Pickle for the GP2X support and help on 320x240 support
  • Thanks to fackue for the Dreamcast support
  • Thanks to Xilinx, Inc. for providing a list of maximum-length LFSR counters used for higher resolutions of fizzle fade

Licenses:

  • The original source code of Wolfenstein 3D: license-id.txt
  • The OPL2 emulator (fmopl.cpp): license-mame.txt