I doubt/hope anybody pays much attention to this file nowadays, but
it still has some interesting ideas. Bring it up to date by removing
items which have now been resolved (including all the outstanding OPL
bugs, thanks to Nuke.YKT's efforts). Reformat slightly and add a link
to the bugtracker.
The level selection dialog was crashing on open when Chex Quest was
selected as an IWAD. This appears to have been caused by b0585fa6
which changed Chex Quest to be considered as a retail IWAD rather
than a shareware one, but did not update the tables in d_iwad.c to
match. Change the tables there to match and fix the crash.
The 'sudo apt-get install' instructions on the travis-ci website don't
work for containerized builds; instead we must specify packages to
install using the apt addon.
This seems like UI crackrock and the disk icon code is in a good
enough state that we're already turning it on by default. In keeping
with chocolate philosophy, if people really care they can manually
turn it off by editing the config file.
Since this is game-specific there is no real reason for this to be
defined in the common video code. This also fixes the show_diskicon
variable which was broken by recent changes.
Strife has no STCDROM lump; it always uses STDISK. Change the
V_EnableLoadingDisk() function to take the lump name as an argument,
as the lump to use for the loading disk is really game-specific.
Also fix the location where the Strife disk icon is shown on screen;
the vertical position wasn't quite right.
Vanilla {Doom,Strife} show a black background to the disk icons if the
icons are transparent, a side effect of how the disk icon code works
(the commented-out version can be found in Heretic's i_ibm.c). To be
consistent with how the vanilla code works, don't use V_DrawPatch to
draw the loading icon every time, but rather draw it to a buffer on
startup and blit the whole disk region to the screen.
Directions were backwards for these offsets; the STDISK lump has a -1
y offset, so we were grabbing and restoring the background from the
wrong location in the video buffer.
Only draw the disk icon just before doing the SDL blit to the screen,
and restore the background to I_VideoBuffer immediately after doing
so. This avoids the possibility of the disk remaining in the video
buffer and fixes#668.
Also centralize most loading disk code inside v_diskicon.c.
With the combination of freedoom1.wad and -gameversion 1.666 through
1.9, Chocolate Doom would fail to pass the checks against loading
PWADs on the shareware version of Doom.
This has been enforcing an optional part of the FHS that proves
problematic on distributions that do not include /usr/games or
/usr/local/games on the $PATH by default. On the packagers’ side, the
Arch, Fedora, and OpenBSD packages (at least) have been patching the
Makefile.in files in order to get it to install to the bin directory
instead. On the users’ side, this comes as a rather nasty surprise
when neither the terminal nor GUI will launch the games when they have
been installed to a location not in the $PATH.
If desired by packagers or end-users, the old behavior can still be
effectively implemented by using `./configure --bindir=/usr/games`
Chocolate Doom supports different variants that are available of the
IWADs, e.g. for Doom 2 it supports the Vanilla IWAD, the one shipped
with the Doom 3: BFG Edition as well as Freedoom: Phase 2 and FreeDM.
Each of these IWAD variants requires some specific special-casing and
the newly introduced global "gamevariant" variable can be used to keep
track of all of this.