Do not FTBFS if the user does not have ghostscript / gsfonts installed.
Instead try some other fonts commonly installed by Linux distributions.
The patch is written to be easily extendable with extra font names, but
to be independent of the order of "convert -list font" output. Each
listed font is searched for in turn, and the first one found is used.
This was originally created by Da Werecat, but changed around to fit
the Freedoom theme better, and be internally consistent with the font
by Mechadon.
resolves#45
Rework CaptainW's FreeDM logo so that the "Free" and "DM" portions
are arranged vertically rather than horizontally. Update the dist/
directory to generate the installed FreeDM icon by scaling down
this image.
A couple of scripts were not Python 3 compatible. Update smtextgen to
use print() instead of bare print, and update the texture build script
to use the correct binary mode for writing binary files.
The 'identify' binary supplied in graphicsmagick-imagemagick-compat outputs
lines of the form
fontchars/font033.gif GIF 9x16+0+0 PseudoClass 32c 8-bit 194 0.000u 0:01
However the IDENTIFY_OUTPUT_RE regex was written against an output which lacked
the +0+0 suffix to the dimensions. This patch adjusts accordingly.
Github now provides encrypted https: access to its github.io pages.
Use the https: equivalent URL instead of the unencrypted http:
version. Update the CREDIT screen text to do the same.
CaptainW kindly contributed a new logo for FreeDM in this thread:
http://www.doomworld.com/vb/freedoom/66962-freedm-needs-a-logo/
This uses the new logo for the title screen, menu header (M_DOOM) and
the large banner texture used in the FreeDM levels.
This fixes#12.
The end screens include the corpses of the old version of the
assault tripod boss from before raymoohawk's change, and VICTORY2
also showed the old E2M8 level that has since been replaced. So
replace these images with up-to-date versions instead.
HELP2 is the screen shown when playing shareware Doom, after
completing the first episode (gives you information on how to buy
the registered version, etc.). For some reason, ZDoom seems to
expect this lump after completing episode 1, even though
freedoom1.wad isn't a shareware IWAD in any sense. Include HELP2
as a copy of the CREDIT screen; even though it's redundant it
doesn't do any harm.
This is one of the screens of text shown between demos in the demo
loop. Generate this from the contents of a static text file. I
originally wanted to generate this programatically from the CREDITS
file but there are too many contributors to fit them all on the page.
Instead of generating text and image parts in separate stages, add
the ability to include an image in the smtextgen command line. This
makes the command line in the Makefile clearer.
The original Doom HELP screen showed the default key bindings for the
game's controls. This is not so useful nowadays: at worst it's
outright misleading because the player might not be using the
defaults, but it's also redundant because most modern source ports
allow the key bindings to be changed via the menus, which doubles as a
convenient list of the current key bindings.
Z0k suggested an alternative HELP screen that shows the items and
powerups available in the game. More discussion can be seen in this
thread: http://www.doomworld.com/vb/freedoom/69458-help/
This extends the new font to include lower case as well as upper
case characters. Add a couple of kerning rules for the lower case
characters so that they render nicely, too.
Decompose the help screen into three parts: the background, the
text and the title. Generate all except the main text programatically:
the background as a color transformed version of the INTERPIC graphic
and the title using the textgen tool.
This replaces the old Freedoom font with a new chunky one named "Denex".
I (fraggle) have split the font out into separate images for use with
the textgen script, but have included the original source .pcx image
here.
Currently the font only includes uppercase characters and does not
include smaller lowercase ones, so I've hacked the textgen script to
convert all strings to uppercase before rendering. There are also no
font kerning rules for the time being.
M_MULTI is used in some multiplayer ports (Zandronum, others?) for
the main menu "Multiplayer" option. Make this taller to match the
other main menu graphics and align appropriately in buildcfg.
This conflicts with the height of the graphic as found in other ports
like SMMU/Eternity/PrBoom, but I've checked, and in those ports it's
either unused or short enough that it still works okay.
The "victims" graphic was slightly too wide, so that it was getting
overwritten by the green square to its right on the deathmatch
intermission screen. Truncate to "victim" (and "killer") so that
it fits. This fixes#49.
Also adjust the brightness/contrast on these images to match the
other text.
If a text string contains all lower-case characters, then generate
it at a reduced height. This is necessary for certain graphics, like
the WIF graphic ("FINISHED") on the intermission screen, otherwise
it ends up in the wrong location (#49).
Adjust the offsets for some graphics in the build config to
compensate, and fix up the vertical offsets for WICOLON/WIMINUS while
we're at it.
Change up the shell line so that it can fallback on the VERSION file
if building without a Git repository (eg, from a release tarball).
Additionally, change the titlepic generation so that it uses this
single instance of setting VERSION rather than doing its own thing.
This is a small step towards deterministic builds (#41). It's not very
useful information on its own: what it tells, you can gather by the
file modification date (which is preserved in the zip files), and even
better (the titlepic date was based on the builder's local time, not
UTC!). Some people have tended to refer to the date as well when
talking about what build they have, which is also unhelpful, multiple
commits can happen per day and the Version marker already uses git
describe for more accurate information.
Some build targets create multiple outputs, which can cause problems
when doing parallel builds. Clean up the build system so that all
subdir invocations come from the top-level Makefile and use $(MAKE).
Also fix the FREEDOOM/FREEDM lumps to really include the version
number by using $(shell ...) syntax.
Freedoom Phase 1 needs endgame screens for the ends of episodes
2, 3 and 4. Add some basic screens that are essentially just
screenshots from level 8 of each episode. Set END0-END6 to be the
dummy empty graphic so that the game doesn't crash after E3.
This (for the time being) fixes the most egregious problems in #32.
We have had these graphics for a long time but they were never
finished and look ugly. For consistency, remove them and just use
the normal INTERPIC graphics for all the intermission screens.
By popular vote[1] on Doomworld we are ditching the "Ultimate" name
for Freedoom 1; the two IWADs are now named "Freedoom: Phase 1" and
"Freedoom: Phase 2". Rework the title screen to incorporate the logo
from the menu, and add a matching logo for FreeDM.
[1] http://www.doomworld.com/vb/freedoom/66855-renaming