Skip to content

Latest commit

 

History

History
145 lines (108 loc) · 4.23 KB

NOTES.md

File metadata and controls

145 lines (108 loc) · 4.23 KB

Advanced DOOM Launcher

Plugin features

  • An XML wiht metadata and launching instructions must be configured.
  • Support PrBoom+ and Chocolate Doom (and ZDoom?).
  • Generates fanart automatically from level structure.
    1. First approach will draw lines only.
    2. Second approach will draw floor textures to sectors.
  • Scans levels inside a PWAD and generates a JPG poster with this information.
  • PWAD information (for Doom, Doom2, list of levels) can be draw on a poster JPG instead of using labels or tags. Launcher XML will have a tag to be filed with information from the README that comes with the PWAD.
  • Generic icons for IWADs, Doom MegaWADs, Doom II MegaWADs, Doom Levels and Doom II Levels.

Main menu layout

IWAD | Doom (standalone launcher) IWAD | Doom II (standalone launcher) IWAD | The Ultimate Doom (standalone launcher) IWAD | TNT Evilution (standalone launcher) IWAD | TNT Plutonia (standalone launcher) IWAD | No rest for the living (standalone launcher) Directory | The Master Levels Directory | [Filesystem browse ... ] Directory | [Category browse ... ] Directory | [MegaWADs ... ] Directory | [Single level WADs ... ] Directory | [Multilevel WADs ... ]

File layout

~/Doom/doom.wad
~/Doom/doom2.wad
~/Doom/nerve.wad
~/Doom/plutonia.wad
~/Doom/tnt.wad
~/Doom/masterlevels/xxxx.wad
...
~/Doom/doom1-megawads/
~/Doom/doom2-megawads/
~/Doom/doom1-levels/
~/Doom/doom1-levels/simple.wad
~/Doom/doom1-levels/simple.txt
~/Doom/doom1-levels/complex_wad/complex_wad.wad
~/Doom/doom1-levels/complex_wad/complex_wad.deh
~/Doom/doom1-levels/complex_wad/complex_wad.txt
~/Doom/doom2-levels/
~/Doom/unsorted/
  1. MegaWADs/Level WADs can be placed on the root directory or in subdirectories. Scan is recursive.

WAD info file

  1. Generated by ADL scanner so user can know what's in the WAD.

  2. example.wad -> example.nfo

  3. Genre/Category defines the kind of WAD. ADL should be able to detect the kind of engine required to launch the WAD. -> Doom 1, Doom 2, Hexen, ... -> Vanilla, NoLimits, Boom, ZDoom, etc.

  4. Edited by the user to put WAD metadata and launching information.

  5. Substitution tags:

  • $DoomApp$ -> path to doom port executable
  • $wad$ -> filename of the PWAD. Always basename, AML will complete the full path.
  • $Doom_IWAD$ -> path to Doom 1 IWAD
  • $Doom2_IWAD$ -> path to Doom 2 IWAD
  • $UDoom_IWAD$ -> path to Ultimate Doom IWAD
  • $Doom_BFG_IWAD$ -> path to Doom 1 BFG IWAD
<PWAD>
  <ADL_file>example.wad</file>
  <ADL_iwad>Doom 1</genre>
  <ADL_engine>NoLimits</genre>
  <ADL_num_levels>3</num_levels>
  <ADL_levels>E1M1, E2M2, ...</levels>
  <title>My WAD</title>
  <year>1995</year>
  <author></author>
  <plot></plot>
  <args>-iwad $DoomIWAD$ -file $wad$</args>
</PWAD>

Kodi Python intepreter includes Pillow imaging library

Changes to the python API for Kodi Krypton

We've replaced the PIL module shipped with Kodi with Pillow. Pillow is fully backward compatible* with PIL, so this change should not cause any issues in your addon.

See http://forum.kodi.tv/showthread.php?tid=250936&pid=2179879#pid2179879

Mediacenter friendly DOOM source ports

Chocolate DOOM

Advantages and Disadvantages

  • Packaged in Debian and Ubuntu.

  • Configuration file stored in ~/.local/share/chocolate-doom/default.cfg and ~/.local/share/chocolate-doom/chocolate-doom.cfg

  • Menu can be accesed with the joystick.

Compiling

  1. Dependencies in Debian: autoconf, libsdl2-mixer-dev, libsdl2-net-dev
  2. Run autoreconf -fi and then ./configure
  3. Compile with make
  4. Executables are in src/chocolate-doom and src/chocolate-doom-setup

Configuration of the joystick

  1. Run chocolate-doom-setup

  2. ...

PrBoom+

Advantages and Disadvantages

  • Packaged in Debian and Ubuntu.

GZDoom

Advantages and Disadvantages

  • Runs many ZDoom-exclusive WADs.

Compiling

  1. Clone GZDoom: git clone https://github.com/coelckers/gzdoom.git

  2. Create build directory: cd gzdoom; mkdir build

  3. Generate makefiles: cd gzdoom/build; cmake -DCMAKE_BUILD_TYPE=Release ..

  4. Execute make: make