Changelog:
* General
- Improved vanilla compatibility.
- Boom features removed.
- Hall of mirrors greatly reduced.
- Visplane overflows fixed.
- Savegame buffer overflow errors remain.
* Levels
- New levels E1M9, E2M2, E2M3, E2M4, E2M7, E2M8, E3M5, MAP07, MAP21 and MAP27.
- Numerous vanilla fixes and aesthetic modernizations.
- Fixed and standardized secret exits.
* Monsters
- New minigunner
- The hatchling, which replaces the deadflare.
- The matribite, which replaces the summoner.
* Music
- Lots of new music including most of FreeDM music.
* Sounds
- New boss brain sounds.
* Visuals
- Colorblind-friendly keys and key indicators.
- Various revisions to sprites and textures.
- Improved kerning for menu text.
* Weapons
- Improved weapon sprites generally.
- SSG replacement restored to updated take on older version.
- Double-barreled shotgun flash timing bug fixed in built-in DeHackEd.
* Textures
- Esa Repo (Espi)'s old STAR* textures are now included under ESPI*.
- A STARBR1 texture is now included as a counterpart to STARBR2.
- Numerous additional grey and METAL2-based textures also available.
- Boss brain wall found to have Hexen resources and was re-done.
- Wolfenstein replacements completely redone, designed to work as seamlessly with other textures as possible. A few are also added.
Until [1] is resolved - one way or another - use a good known commit to build the PrBoom core.
Upstream core is relatively static, so we're not loosing much for pinning the version.
[1] https://github.com/libretro/libretro-prboom/issues/181
Make sure the function can be run outside of an install by creating needed folders.
Use download function rather than wget for wad download
De-Duplicate paths
* Freedoom is automatically downloaded
* Addon support via "lzdoom-addon" port launcher; when selected,
any .wad or .pk3 files in roms/ports/doom/addon will be
loaded alongside the selected wad. Example use: Brutal Doom.
Addon note: you may need to rename addon files alphanumerically if
a specific load order is required (e.g. Brutal Doom patch wads).
* Use OpenGL acceleration for Mesa (RPI3/4) & X11
* Use software rendering for other GLES targets (including
videocore)
Rationale for switching to lzdoom:
* zdoom is no longer maintained and doesn't build against GCC 8.
* lzdoom is actively maintained as a recommended GZDoom fork for legacy systems.
* lzdoom supports software rendering (for GLES2 targets).
* lzdoom supports OpenGL 2.1 rendering (for Mesa/X11 targets).
* Using a more up-to-date fork brings better compatibility with popular mods such as FreeDoom and Brutal Doom.
* lr-pboom does not support Hexen/Heretic/Strife/Chex, so isolate these
to zdoom's configuration instance.
* Omit Chex 1/2, as Chex 2 requires special arguments to load chex.wad, and
Chex 3 (freeware) includes remastered versions of the previous two episodes.
Requires the following wads:
* Hexen: hexen.wad
* Hexen Deathkings: hexen.wad & hexdd.wad
* Heretic: heretic.wad
Additionally, the scriptmodule will automatically rename supported wad
files to lowercase if necessary.
* rp_module_menus is no more - instead use rp_module_section with one of
- core (core packages)
- main (main packages - which will be installed by default in the image)
- opt (optional packages)
- exp (experimental packages)
- driver (driver packages)
- config (configuration packages / tools)
* The setup menu organises the data based on the above sections. more could be added in the future if needed. Packages (internally modules), can be added / configured / removed individually, or as entire sections.
* The setup menu will automatically detect if a binary is available to be installed. the nobin flag is no longer needed. modules that install directly from binary via aptInstall or via a prebuilt binary need to use an install_bin_ function instead of install_
* rp_module_section of type "config" will have the "gui_" function called first if it's available, otherwise a standard depends/sources/build/install/configure will be called
* configure is no longer used for "gui" configuration function - use gui_ instead. Had already started to move to this before, but now it is required.
adjust ports configs / symlinks to $configdir/ports and move old configs to new location (when calling addPort)
fix up some paths in a few experimental modules (wolf4sdl / sdlpop)
for things like doom / quake where there may be multiple engines, it makes switching available from runcommand etc. it would also allow adding additional launch options with say different wads / settings and so on. It also
simplifies the actual module scripting.