shithub: duke3d

Download patch

ref: c4ae5eac672e5867155ce345afbac91cfddfd2c2
parent: e9859d736b3526f5a326b37ed30e50e079de9363
author: Tanguy Fautre <tanguy@fautre.com>
date: Fri Feb 21 17:55:47 EST 2020

Added better build instructions. Added music instructions.

--- a/.github/workflows/linux.yml
+++ b/.github/workflows/linux.yml
@@ -13,7 +13,5 @@
       run: |
         sudo apt-get update
         sudo apt-get install libenet-dev libsdl2-mixer-dev
-    - name: Compile vcpkg dependencies
-      run: ./vcpkg_linux.sh
     - name: Compile Duke3D
       run: ./build_linux.sh
--- a/README.md
+++ b/README.md
@@ -8,6 +8,8 @@
 2. Portable and compiling in one click on Windows, OS X and Linux.
 3. Aimed at education, with lots of comments and documentation added in order to help programmers to understand and learn.
 
+<img src="screenshot0.png" width="49%"></img>
+
 ## Belgian Chocolate Duke3D
 
 This is a fork of Fabien Sanglard's project [Chocolate Duke Nukem 3D](https://github.com/fabiensanglard/chocolate_duke3D). As of January 2020, Fabien has archived his git repository.
@@ -21,7 +23,6 @@
 
 ### Known Issues
 
-* Linux: MIDI does not play (vcpkg does not configure sdl2-mixer for it).
 * Engine: Leaning left/right falls back to low-res rendering.
 * Engine: Minimap has rendering glitches when fully-textured (i.e. sprites).
 * Engine: Pixel imprecision when rendering health/ammo numbers in the status bar, leaving ghost pixels.
@@ -40,15 +41,31 @@
 ```
 
 **Linux (GCC Makefile)** [![Linux CI Status](https://github.com/GPSnoopy/BelgianChocolateDuke3D/workflows/Linux%20CI/badge.svg)](https://github.com/GPSnoopy/BelgianChocolateDuke3D/actions?query=workflow%3A%22Linux+CI%22)
-
-Here we do not use vcpkg but instead rely on the distro packages for ENet and SDL2. Unfortunately vcpkg SDL2 (and mixer) still depends on dev packages to be installed, and the MIDI subsystem is not correctly configured.
-
 ```bash
 > sudo apt-get install libenet-dev libsdl2-mixer-dev
 > ./build_linux.sh
 ```
+Here we do not use vcpkg but instead rely on the distro packages for ENet and SDL2. Unfortunately vcpkg SDL2 (and mixer) still depends on some development packages to be installed, and the MIDI subsystem is not correctly configured.
 
 **MacOS**
+_Not yet supported._
+
+## Music (MIDI)
+
+Depending on your operating system, your music experience and general MIDI play back will vary considerably. Independently, for a better Duke 3D music experience I recommend using [¥Weeds¥ General MIDI SoundFont v3.0](http://www.simpilot.net/~richnagel/#soundfonts).
+
+**Windows**
+
+Out of the box, MIDI music will play fine on Windows. By default, it will use [Microsoft GS Wavetable Synth](https://impossible-music.fandom.com/wiki/Microsoft_GS_Wavetable_Synth), which sounds surprisingly okay. However if you want to use another soundfont (such as the one above), install [OmniMIDI](https://officialblackmidi.fandom.com/wiki/OmniMIDI), load the soundfont and select the OmniMIDI mapper via `Tools -> ??? -> ???`.
+
+**Linux**
+
+Out of the box, you will not get any music unless you have a default soundfont installed (for example, the `fluid-soundfont-gm` package). Even then, it will likely sound pretty bad. To use another soundfont, you can use the following command.
+```bash
+> SDL_SOUNDFONTS=WeedsGM3.sf2 SDL_FORCE_SOUNDFONTS=1 ./ChocoDuke3D.64
+```
+
+**MacOs**
 _Not yet supported._
 
 ## Contributors
binary files /dev/null b/screenshot0.png differ