Skip to content

thearst3rd/crispy-doom-u

 
 

Folders and files

NameName
Last commit message
Last commit date

Latest commit

 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 
 

Repository files navigation

Crispy Doom U

Screenshot of game in Wii U Gamepad

Crispy Doom U is a Wii U port of Crispy Doom. It is possible thanks to the amazing efforts of the Crispy/Chocolate Doom authors, devkitPro, and the team that ported SDL2 to the Wii U. Without these people and more, this port would have been a lot harder to make, or not happened at all!

Download

Download Crispy Doom U on the Releases page.

To install, extract the release's contents into sd:/wiiu/apps/crispy-doom-u (this is hard coded for now) and put your limit removing WADs in sd:/wiiu/apps/crispy-doom-u/wads. If you do not have any Doom WADs, check out the free shareware version of Doom, or check out the amazing Freedoom project!

Features

  • Up to date with Crispy Doom 5.12.0 (up to commit 35dc15e)
  • Very high feature parity with the PC version, full Crispy menu intact (other than things not relevant to a Wii U release)
  • Smooth analog control support - both moving and turning make use of the analog values of the analog sticks
  • Simple launcher that lets you pick an IWAD and optionally PWADs
  • Music support using OPL3
    • Causes a bit of a stutter when loading a new music track. I'm looking into making this faster, but it's not too bad for most levels.
    • Note: There is a known bug involving the Freedoom WADs (and probably others) - details below
  • Wii U Pro Controller and Wii Classic Controller support
  • Controller rebinding
    • Currently this can only be achieved by editing crispy-doom.cfg. In the future this will be made easier by doing it through the launcher.
  • Optional toggle to fix the blockmap bug (on page 4 of the Crispy menu)

What's not perfect (yet)

As this is a pre-release, not everything is perfect yet. Here are a list of some things to be aware of.

  • High resolution rendering is laggy
    • When high resolution rendering is enabled (especially when combined with widescreen), the game becomes notably laggy. This is a bit of a surprise to me since I figured the Wii U would be totally capable of running this game at higher resolutions right out of the box. More optimizations are needed, I hope that I will be able to get this to work at full speed without major changes to the renderer. I also might just be doing something very wrong/inefficient so we'll see :)
  • No networking support
    • SDL2_net is not supported on the Wii U, so for now, this is single player only.
  • Launcher is lacking features
    • I plan on improving the launcher in the future to let you add additional parameters if you'd like (such as -fast, -nomonsters, -warp xy etc), record/play back demos, and rebind controls.
  • No cheats
    • Since there is no keyboard, you cannot enter any cheat codes. I plan to rectify this by adding a menu to control the cheats from there.

Known Bugs

  • When playing with a Freedoom WAD (and probably others), the music will sometimes not work. You might need to switch to a different stage then switch back to kick-start music into working.
    • I have a feeling this is because Freedoom uses midi files rather than mus files that that doesn't play perfectly with my music speedup hack. Looking into it.

Default Controls

Action Button
Move Left stick
Aim Right stick
Use A
Fire ZR
Jump (if enabled) B
Toggle automap Minus
Toggle automap overlay mode Y
Toggle automap rotation mode X
Previous weapon L
Next weapon R
Select shotgun D-pad up
Select chaingun D-pad right
Select rocket launcher D-pad down
Select plasma rifle D-pad left

Note: on the Wii Classic Controller, ZL and L are swapped, as well as ZR and R.

Compiling

If you just want to play the game, you do not need to compile - instead, checkout the download section above. If you are a developer and want to compile the game yourself, feel free to check out these instructions.

The Wii U version of Crispy Doom compiles using wut. The instructions for building are as follows:

Get setup with devkitPro, and make sure to enable Wii U development (wiiu-dev).

Download necessary dependancies:

(dkp-)pacman -S wiiu-sdl2{,_mixer} ppc-libvorbisidec

Build the executable:

make -f Makefile.wiiu

NOTE: This repository is fully capable of building the original PC version as well. If you plan on doing so, I recommend cleaning the repository in between building the two different versions because the build system can get confused.

The rest of the readme is the original Crispy Doom readme. Thanks for playing!

Crispy Doom

Crispy Doom Icon

Top Language Code Size License Release Release Date Downloads Commits Last Commit Build Status

Crispy Doom is a limit-removing enhanced-resolution Doom source port based on Chocolate Doom.

Its name means that its internal 640x400 resolution looks "crisp" and is also a slight reference to its origin.

Synopsis

Crispy Doom is a friendly fork of Chocolate Doom that provides a higher display resolution, removes the static limits of the Doom engine and offers further optional visual, tactical and physical enhancements while remaining entirely config file, savegame, netplay and demo compatible with the original.

Objectives and features

Crispy Doom is a source port that aims to provide a faithful Doom gaming experience while also featuring some user-requested improvements and enhancements. It is forked off of Chocolate Doom to take advantage of its free and open-source code base, portability, accuracy and compatibility with Vanilla Doom.

Its core features are:

  • Enhanced 640x400 display resolution, with the original 320x200 resolution still available in the "High Resolution Rendering: Off" mode.
  • Widescreen rendering for using all the available horizontal space of screens with aspect ratios up to 24:9.
  • Uncapped rendering framerate with interpolation and optional vertical synchronization (VSync) with the screen refresh rate.
  • Intermediate gamma correction levels (0.5, 1.5, 2.5 and 3.5).
  • Removal of all static engine limits, or at least raising of the less crucial ones.
  • Full support for the "Doom Classic" WADs shipped with the "Doom 3: BFG Edition", especially the "No Rest For The Living" episode shipped in the NERVE.WAD file.
  • Support for all versions of John Romero's Episode 5: Sigil for Ultimate Doom.

Furthermore, the following optional user-visible and audible features are available:

  • Jumping.
  • Free vertical looking, including mouse look and vertical aiming.
  • Aiming support by a crosshair that may get directly rendered into the game world.
  • A new minimal Crispy HUD, displaying only the status bar numbers.
  • Clean Screenshot feature, enabling to take screenshots without HUD elements and even without status bar numbers and weapon sprites at higher screen sizes.
  • Colorized status bar numbers, HUD texts and blood sprites for certain monsters.
  • Translucency for certain sprites and status bar elements in the Crispy HUD.
  • Randomly mirrored death animations and corpse sprites.
  • Command line options to allow for playing with flipped player weapon sprites and/or entirely flipped level geometry.
  • Players may walk over or under monsters and hanging corpses.
  • Centered Weapons when firing, weapon recoil thrust and pitch.
  • Reports whenever a secret is revealed.
  • Level statistics and extended coloring in the Automap.
  • Playing sounds in full length, and misc. other sound fixes.
  • Demo recording and/or playback timers and progress bar.
  • Demo continue and take-over features, handing controls over to the player when demo playback is finished or interrupted.

Most of these features are disabled by default and need to get enabled either in the in-game "Crispness" menu, in the crispy-doom-setup tool or as command line parameters. They are implemented in a way that preserves demo-compatibility with Vanilla Doom and network game compatibility with Chocolate Doom. Furthermore, Crispy Doom's savegames and config files are compatible, though not identical (see the Compatibility section in the Wiki, to Vanilla Doom's.

Crispy Doom strives for maximum compatibility with all "limit-removing Vanilla" maps -- but not Boom or ZDoom maps. More specifically, Crispy Doom supports some select advanced features such as ANIMATED and SWITCHES lumps, MBF sky transfers, SMMU swirling flats and MUSINFO -- but neither generalized linedef and sector types nor DECORATE and MAPINFO.

Many additional less user-visible features have been implemented, e.g. fixed engine limitations and crashes, fixed rendering bugs, fixed harmless game logic bugs, full support for DEHACKED files and lumps in BEX format, additional and improved cheat codes, an improved Automap, and many more! Due to the extra DEHACKED states added from MBF, Crispy Doom supports enhancer mods that can make the gameplay even more pleasing to the eyes. For a detailed list of features and changes please refer to the release notes below.

Download

  • Windows: Get binaries of the latest release, compatible with both x86 and x64 editions.
  • MacOS: Use MacPorts: sudo port install crispy-doom or Homebrew: brew install crispy-doom.
  • Linux: To install on Ubuntu (“Eoan Ermine” 19.10 and later)/Debian (“Buster” 10 and later) based systems: sudo apt-get install crispy-doom

The most recent list of changes can be found in the Changelog. A complete history of changes and releases can be found in the Wiki or on the Releases page.

Daily builds of Crispy Doom can be found here: http://latest.chocolate-doom.org/

Crispy Doom can play nearly all variants of Doom. If you don't own any, you may download the Shareware version of Doom, extract it and copy the DOOM1.WAD file into your Crispy Doom directory. Alternatively, you may want to play Crispy Doom with Freedoom and a MegaWAD.

Sources

Open Hub

The Crispy Doom source code is available at GitHub: https://github.com/fabiangreffrath/crispy-doom. It can be downloaded in either ZIP or TAR.GZ format or cloned via

 git clone https://github.com/fabiangreffrath/crispy-doom.git

Documentation

Contact

The canonical homepage for Crispy Doom is https://github.com/fabiangreffrath/crispy-doom

Crispy Doom is maintained by Fabian Greffrath.

Please report any bugs, glitches or crashes that you encounter to the GitHub Issue Tracker.

Acknowledgement

Although I have played the thought of hacking on Chocolate Doom's renderer for quite some time already, it was Brad Harding's Doom Retro that provided the incentive to finally do it. However, his fork aims at a different direction and I did not take a single line of code from it. Lee Killough's MBF was studied and used to debug the code, especially in the form of Team Eternity's WinMBF source port, which made it easier to compile and run on my machine. And of course there is fraggle's Chocolate Doom with its exceptionally clean and legible source code. Please let me take this opportunity to appreciate all these authors for their work!

Also, thanks to plums of the Doomworld forums for beta testing, "release manager" Zodomaniac and "art director" JNechaevsky for the continuous flow of support and inspiration during the post-3.x development cycle and (last but not the least) Cacodemon9000 for his Infested Outpost map that helped to track down quite a few bugs!

Furthermore, thanks to VGA for his aid with adding support for his two mods: PerK & NightFright's Black Ops smooth weapons add-on converted to DEHACKED and Gifty's Smooth Doom smooth monster animations converted to DEHACKED that can make the gameplay even more pleasing to the eyes.

Legalese

Doom is © 1993-1996 Id Software, Inc.; Boom 2.02 is © 1999 id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman; PrBoom+ is © 1999 id Software, Chi Hoang, Lee Killough, Jim Flynn, Rand Phares, Ty Halderman, © 1999-2000 Jess Haas, Nicolas Kalkhof, Colin Phipps, Florian Schulze, © 2005-2006 Florian Schulze, Colin Phipps, Neil Stevens, Andrey Budko; Chocolate Doom is © 1993-1996 Id Software, Inc., © 2005 Simon Howard; Chocolate Hexen is © 1993-1996 Id Software, Inc., © 1993-2008 Raven Software, © 2008 Simon Howard; Strawberry Doom is © 1993-1996 Id Software, Inc., © 2005 Simon Howard, © 2008-2010 GhostlyDeath; Crispy Doom is additionally © 2014-2019 Fabian Greffrath; all of the above are released under the GPL-2+.

SDL 2.0, SDL_mixer 2.0 and SDL_net 2.0 are © 1997-2016 Sam Lantinga and are released under the zlib license.

Secret Rabbit Code (libsamplerate) is © 2002-2011 Erik de Castro Lopo and is released under the GPL-2+. Libpng is © 1998-2014 Glenn Randers-Pehrson, © 1996-1997 Andreas Dilger, © 1995-1996 Guy Eric Schalnat, Group 42, Inc. and is released under the libpng license. Zlib is © 1995-2013 Jean-loup Gailly and Mark Adler and is released under the zlib license.

The Crispy Doom icon (as shown at the top of this page) has been contributed by Philip Kiwan.

About

A Wii U port of Crispy Doom using wut and SDL2

Resources

License

Code of conduct

Stars

Watchers

Forks

Packages

No packages published

Languages

  • C 98.7%
  • CMake 0.4%
  • Makefile 0.4%
  • Objective-C 0.3%
  • Python 0.1%
  • M4 0.1%