Coder Social home page Coder Social logo

clowndoom's Introduction

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.

clowndoom's People

Contributors

clownacy avatar

Stargazers

 avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar  avatar

Watchers

 avatar  avatar  avatar  avatar

Forkers

oxmox42 furrz

Recommend Projects

  • React photo React

    A declarative, efficient, and flexible JavaScript library for building user interfaces.

  • Vue.js photo Vue.js

    ๐Ÿ–– Vue.js is a progressive, incrementally-adoptable JavaScript framework for building UI on the web.

  • Typescript photo Typescript

    TypeScript is a superset of JavaScript that compiles to clean JavaScript output.

  • TensorFlow photo TensorFlow

    An Open Source Machine Learning Framework for Everyone

  • Django photo Django

    The Web framework for perfectionists with deadlines.

  • D3 photo D3

    Bring data to life with SVG, Canvas and HTML. ๐Ÿ“Š๐Ÿ“ˆ๐ŸŽ‰

Recommend Topics

  • javascript

    JavaScript (JS) is a lightweight interpreted programming language with first-class functions.

  • web

    Some thing interesting about web. New door for the world.

  • server

    A server is a program made to process requests and deliver data to clients.

  • Machine learning

    Machine learning is a way of modeling and interpreting data that allows a piece of software to respond intelligently.

  • Game

    Some thing interesting about game, make everyone happy.

Recommend Org

  • Facebook photo Facebook

    We are working to build community through open source technology. NB: members must have two-factor auth.

  • Microsoft photo Microsoft

    Open source projects and samples from Microsoft.

  • Google photo Google

    Google โค๏ธ Open Source for everyone.

  • D3 photo D3

    Data-Driven Documents codes.