Ecosyste.ms: Awesome
An open API service indexing awesome lists of open source software.
https://github.com/clownacy/clowndoom
Yet another purist Doom port.
https://github.com/clownacy/clowndoom
ansi-c c89 c90 doom
Last synced: 2 months ago
JSON representation
Yet another purist Doom port.
- Host: GitHub
- URL: https://github.com/clownacy/clowndoom
- Owner: Clownacy
- Created: 2020-12-28T00:34:36.000Z (almost 4 years ago)
- Default Branch: master
- Last Pushed: 2024-04-09T16:14:11.000Z (9 months ago)
- Last Synced: 2024-10-12T17:22:04.755Z (2 months ago)
- Topics: ansi-c, c89, c90, doom
- Language: C
- Homepage: https://clownacy.wordpress.com/tag/clowndoom/
- Size: 2.81 MB
- Stars: 9
- Watchers: 4
- Forks: 3
- Open Issues: 0
-
Metadata Files:
- Readme: README.md
Awesome Lists containing this project
README
# clowndoom
Yet another purist DOOM port.
This project aims to repair the Linux Doom source code, restoring features that
were lost from the DOS version, and implementing opt-in quality-of-life
improvements such as widescreen rendering.## Features
### Repaired Downgrades
- Features that were broken by the original Linux port:
- Music support (through WildMIDI).
- Complete sound effect support (restored missing features such as stopping
mid-playback and updating positional effects).
- Low-detail mode.
- Features that were broken by the 1997 source release:
- Animated Doom 1 intermission screens.
- Ultimate Doom wall switch textures.
- Volume levels and volume control.
### Portability Improvements
- Addressed various compiler warnings.
- Support for 64-bit CPUs.
- Support for Windows and modern Linux:
- The X11 code has been converted from 8bpp to 24bpp, which is supported by
modern X11 servers.
- The audio code has been migrated from OSS to the miniaudio middleware
library (supports OSS, ALSA, PulseAudio, JACK, and more).
- As an alternative to X11 and miniaudio, SDL1 and SDL2 backends are
available.
- The codebase can be compiled with MSVC.
- Windows networking code has been added.
- Eliminated reliance on C99 and C extensions, making the codebase pure ANSI C.
### Quality-of-Life Improvements
- New configuration options:
- `novert` - Disables being able to make the player character walk by moving
the mouse up and down.
- `always_run` - Makes the player character run instead of walk, and vice
versa.
- `aspect_ratio_correction` - Restores the original 4:3 aspect ratio by
making pixels rectangular.
- `full_colour` - Render with more than 256 colours.
- `prototype_light_amplification_visor_effect` - Restore the 'night vision'
effect for the light amplification visor from the Press Release Pre-Beta.
- `screen_width` - The screen's horizontal resolution. The maximum is 5040.
- `screen_height` - The screen's vertical resolution. The maximum is 1800.
- `hud_scale` - Multiplies the size of the user interface. 1 renders elements
at their native resolutions, 2 renders them at double their resolution,
etc. The maximum value is 9.
- The 'iddt' cheat enables kill/item/secret totals in the automap, as well as
notifications when finding secrets.
- Assorted bug fixes.
- Better than CuckyDOOM.## Configuration
Additional settings are found in the configuration file - 'clowndoomrc'. On
Unix platforms, it can be found in the user's standard configuration directory
(`XDG_CONFIG_HOME`, or `~/.config/` if it is undefined) named 'clowndoomrc'. On
other platforms, it can be found in the same directory as the executable (or
whichever directory the executable was invoked from) with the name
'default.cfg'.WildMIDI requires a collection of GUS patches in order to work. The patches
should come with a Timidity-compatible '.cfg'. file. Set the
`wildmidi_config_path` option in 'clowndoomrc' to the path of this file, and
music should now work.