# SDL 2 DOOM

## Overview

This is a source port of the ID Software source release of DOOM. This repository is used as an educational tool for myself. Anyone 
interested in hacking on this project is more than welcome to submit a pull request.

This fork focuses on an SDL2 implementation of DOOM. Currently featuring an SDL2 renderer, sound API, and input via keyboard.

## Build Status

[![GNU/Linux](https://github.com/AlexOberhofer/sdl2-doom/actions/workflows/nix.yml/badge.svg)](https://github.com/AlexOberhofer/sdl2-doom/actions/workflows/nix.yml) <br>
[![OSX](https://github.com/AlexOberhofer/sdl2-doom/actions/workflows/osx.yml/badge.svg)](https://github.com/AlexOberhofer/sdl2-doom/actions/workflows/osx.yml)<br>
[![Windows MinGW-w64](https://github.com/AlexOberhofer/sdl2-doom/actions/workflows/windows-build.yml/badge.svg)](https://github.com/AlexOberhofer/sdl2-doom/actions/workflows/windows-build.yml)<br>

## Screenshots 

<p> 
Examples of bootable WADs:
<p><br>
  
<br><br>

<p align="center">
  <b>Ultimate DOOM</b><br>
  <img width=70%" src="https://github.com/AlexOberhofer/sdl2_doom/raw/master/docs/ultimatedoom.PNG" alt="Ultimate Doom"/> <br>
</p><br><br><br>

<p align="center">
    <b>DOOM II</b><br> 
    <img width="70%" src="https://github.com/AlexOberhofer/sdl2_doom/raw/master/docs/doom2.PNG" alt="Doom II"/>
</p><br><br><br>

## Controls

Basic Controls:

| Keyboard Control | Doom Control  |
|---|---|
| Up / W | Move Up  |
| Down / S | Move Down  |
| Left / A | Move Left  |
| Right / D | Move Right  |
| Enter  | Enter  |
| Space / Middle Click  | Use  |
| Ctrl / Click  | Fire  |
| Shift  | Run  |
| Alt  | Strafe  |
| Tab  | Automap |
| F1 | Controls |
| F2 | Save |
| F3 | Load |

Other keys may work. Mileage may vary.

## History

This branch was forked from the repository:
[doomgeneric](https://github.com/ozkl/doomgeneric)

## License 

This project is licensed under the GNU GPL v2.0 License - see the [LICENSE.md](LICENSE.md) file for details
