Commit Graph

200 Commits (master)

Author SHA1 Message Date
Brett Harrell 168f6e8bcc graphics: updated statusbar numbers
Rounded shapes that are easier to read at a glance, more in common
with how the digits are normally hand-written.
2015-12-08 17:36:19 -08:00
Mike Swanson b931bcfbc7 titlepic: don't apply dithering 2015-12-05 06:48:35 -08:00
Mike Swanson b546df38eb titlepic: move subtitle text towards the bottom 2015-12-05 06:38:25 -08:00
Blastfrog 2a0586744a graphics: new menu skulls, based on a wall texture by raymoohawk 2015-12-05 06:22:21 -08:00
Kracov Bolkonski ffc7e87534 graphics: new titlepic 2015-12-05 06:22:13 -08:00
RjY d3a78b5133 titlepic/create_caption: try alternative fonts
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.
2015-12-04 17:52:39 +00:00
Nick Zatkovich 9bc5779087 Status bar numbers revert
Reverted to old numbering
2015-12-03 15:41:15 -08:00
Sodaholic 01a9ba7c83 graphics: add a new status bar style
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
2015-06-18 06:46:27 -07:00
Simon Howard f1c35d17e3 dist: Add icon version of FreeDM logo.
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.
2014-11-02 20:07:40 -05:00
Mike Swanson 90fd6b1686 Cleanup __pycache__ directories with "make clean" 2014-10-29 00:37:42 -07:00
Simon Howard 02bd566362 Update other scripts to support Python 3 build.
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.
2014-10-28 03:55:43 +00:00
Jon Dowland 45908da295 Adjust IDENTIFY_OUTPUT_RE for graphicsmagick
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.
2014-10-13 22:36:06 +01:00
Mike Swanson 7356fe4dfa Use Voltcom9's suggestions for chapter titles in Phase 1
Also more consistently refer to the Phase 1 segments as chapters.
It's just another small bit of distancing from Doom.
2014-10-12 20:15:56 -07:00
Mike Swanson 8f48751792 fix the filenames in the last commit 2014-10-05 04:10:41 -07:00
Mike Swanson 110522f10e graphics/text/Makefile: clean more generated files 2014-10-05 04:06:51 -07:00
Alexandre-Xavier Labonté-Lamoureux a330e7707b graphics: replace screen border with more interesting graphic
The old one was simply a solid green border. Closes #86
2014-10-04 23:35:09 -07:00
Simon Howard c1ea99b483 dehacked: Use https: version of website link.
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.
2014-10-03 05:16:39 +00:00
Simon Howard 750feed4ea graphics: Add new logo for FreeDM.
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.
2014-10-03 04:02:52 +00:00
Simon Howard 3608770626 graphics: Update E2, E4 end screens.
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.
2014-09-28 23:24:12 -04:00
Mike Swanson f1c0909cd9 graphics/text/.gitignore additions 2014-09-26 07:17:26 -07:00
Simon Howard e06b81ac9f graphics: Add HELP2 lump.
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.
2014-09-22 00:41:54 +00:00
Simon Howard 7a1b49e965 textgen: Generate CREDIT screen.
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.
2014-09-07 05:25:12 +00:00
Simon Howard 9968fe0ed1 textgen: Add image include support for smtextgen.
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.
2014-09-07 04:22:09 +00:00
Simon Howard 5405104814 textgen: Move common code into a common file.
Reduce code duplication by refactoring the textgen and smtextgen
scripts.
2014-09-07 03:56:45 +00:00
Simon Howard 026ce9137f graphics: Fix name for stealth sphere.
The invisibility power-up is named 'Stealth Sphere' in the Freedoom
DEHACKED lump. Change the HELP screen to match this for consistency.
2014-07-27 03:49:03 +00:00
Simon Howard 18be2c988c graphics: Generate the HELP screen programatically.
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/
2014-07-27 03:28:14 +00:00
Brett Harrell c1af20bcb7 Add lower case font characters.
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.
2014-07-12 22:44:33 +00:00
Brett Harrell 5d15042c39 graphics: Add updates to small font.
Update several characters from the small font. More context is here:
http://www.doomworld.com/vb/post/1283219
2014-07-03 18:12:04 +00:00
Simon Howard 7f281321c9 graphics: Generate HELP screens programatically.
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.
2014-06-30 00:10:54 +00:00
Simon Howard c06cb4478c textgen: Add kerning rules for new font.
These rules provide special cases that adjust the spacing between
certain pairs of characters so that they fit together better.
2014-06-29 22:54:02 +00:00
Brett Harrell 646434a039 graphics: Add new status bar numbers.
These status bar numbers match the new font used for the menu and
heads-up messages. More information is found in the forum thread:

http://www.doomworld.com/vb/freedoom/69080-new-font-candidate/
2014-06-25 02:33:13 +00:00
Brett Harrell 93a192b07c Add new small (HUD) font.
This is the small version of the font by Mechadon named "Denex";
more information can be found in this thread:

http://www.doomworld.com/vb/freedoom/69080-new-font-candidate/
2014-06-23 00:07:45 +00:00
Brett Harrell 1ef30acfaa graphics: Add new Freedoom font.
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.
2014-06-22 23:50:21 +00:00
Simon Howard 35c61c9318 textgen: Adjust M_MULTI graphic height, alignment.
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.
2014-02-22 03:07:03 +00:00
Simon Howard 57daf24437 graphics: Change WIMINUS graphic to be red.
This was configured to be white, but it just looks weird next to
the red numbers. Change to red for consistency.
2014-02-05 04:07:30 +00:00
Simon Howard 17598bdc00 graphics: Depluralize victims/killers graphics.
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.
2014-02-05 04:02:50 +00:00
Simon Howard eb7d4fb280 textgen: Reduce height of lowercase graphics.
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.
2014-02-05 03:41:23 +00:00
Simon Howard 140b805857 graphics: Fix PFUB1.
Extend screen to the full 320x200; somehow the original was only
314 pixels wide.
2014-01-25 05:55:07 +00:00
Mike Swanson 706633ec59 make: VERSION variable can be set either via git or the VERSION file
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.
2014-01-22 19:32:25 -08:00
Mike Swanson be70a52bec graphics: remove the date from the titlepic
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.
2014-01-22 19:28:07 -08:00
Simon Howard f76e05984a Fix git ignores for several generated files. 2014-01-22 05:47:06 +00:00
Mike Swanson 4c4ad3ac37 Fix a botched merge conflict attempt
While harmless, my previous commit resolving a merge accidentally
resulted in Fabian's line being preserved at the end when it shouldn't
have been.
2014-01-20 06:30:26 -08:00
Mike Swanson 29695eb7ca Merge remote-tracking branch 'fabian/clean_pyc'
Conflicts:
	graphics/text/Makefile
2014-01-20 05:38:21 -08:00
Fabian Greffrath d9c9b315e6 Remove Python byte-code in the clean rule. 2014-01-20 13:06:50 +01:00
Simon Howard d241e7f326 build: Fix 'make -j' handling.
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.
2014-01-16 06:30:15 +00:00
Simon Howard 1325800e86 graphics: Add animation for E3 end screen.
Use the END0-END6 graphics to make the marine on the PFUB2 animate,
firing a few shots towards the boss corpse.
2014-01-13 04:10:26 +00:00
Simon Howard ebb999f995 graphics: Add endgame screen graphics.
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.
2014-01-13 03:07:14 +00:00
Simon Howard bc5ade0f33 textgen: Fix config file path.
My earlier commit added the wrong config file paths for the dehacked
lumps, which broke the build.
2014-01-11 23:22:05 +00:00
Simon Howard 5469cd9c11 graphics: Remove unfinished map graphics.
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.
2014-01-11 23:16:57 +00:00
Simon Howard affe9b53a1 graphics: Rename title screen.
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
2014-01-11 22:39:09 +00:00
Simon Howard ec9dcdd073 dehacked: Add dehacked file for FreeDM.
FreeDM has different levels and therefore needs a different BEX
patch to the main project. Update the text generator to generate the
level name graphics for FreeDM based on the new BEX file.
2014-01-10 03:23:33 +00:00
Simon Howard b1589b05d9 graphics: Build level name graphics for FreeDM.
First stab at fixing #11. Generate DMWILV* lumps containing FreeDM
level names, and include these in the IWAD as the CWILV* lumps
as appropriate.
2014-01-08 04:36:35 +00:00
Mike Swanson c24337a00d Change Freedoom URL to GitHub 2014-01-01 15:01:46 -08:00
Simon Howard 9e88cc4466 text: Add freedoom.bex as build dependency.
The text must be rebuilt if the contents of the Dehacked file
change, as level names are imported from it.
2013-12-30 22:39:58 +00:00
RjY 301ad35237 graphics/text: set -colorize alpha channel blend percentage to zero
Give a fourth channel blend percentage of zero so that the alpha channel
of the default fill colour (fully opaque black) is ignored. This fixes
the blue menu titles (skill, episode etc.) having black backgrounds.

The use of -colorize here blends 100% of the default fill colour (black)
into one or more channels of a greyscale image. Mixing in 100% black is
equivalent to nullifying the channel by setting it to zero, e.g. red
text is achieved by mixing 100% black into the green and blue channels.

It turns out, when passed more than one value (to affect all channels by
that percentage equally), -colorize looks for _four_ separate channel
values (RGB and alpha). If fewer are given, the missing ones inherit the
blend percentage of the first channel (red).

For red and white there is no effect, as the red channel is left alone.
But blue blends 100% of the red channel (thus, unwittingly, the alpha
channel) of fully opaque black into the image, making it fully opaque...
2013-12-20 16:06:55 +00:00
RjY 2aaad3eea8 Merge branch 'double_impact'
Conflicts:
	graphics/text/config.py
	lumps/fraggle/freedoom.bex
2013-12-18 12:20:45 +00:00
RjY 30464a1204 graphics/text: run ImageMagick only once per generated image
- factor out command line generation: a new function _make_command_line
  returns most of the command line for a transparent image rendering.

- Callers render_transparent_text and render_text append the output
  filename and extra imagemagick options to colour the background as
  needed. This means imagemagick is only called once per generated
  image, which makes the process considerably faster.

- This also works around a bug in the current version of imagemagick in
  Debian sid, which caused single-character graphics (e.g. winum*) to be
  generated with a black background.

DW: http://www.doomworld.com/vb/post/1221810
Acked-by: Simon Howard <fraggle@gmail.com>
Signed-off-by: RjY <rjy@users.sourceforge.net>
2013-12-15 07:30:47 +00:00
Simon Howard 2b49e3eabc textgen: Strip map number from level name graphics.
The level name shown in the automap should be in the form:
"ExMy: Level Name" but for the intermission screen graphics we just
want "Level Name". Strip the leading level name if it is present.
2013-12-14 20:14:20 -05:00
Simon Howard 1891b5e40b textgen: Set level names from DEHACKED lump.
Use the DEHACKED lump as a source of truth for level names, and set
the textgen configuration accordingly. Make the current level names
in the DEHACKED lump upper case so that the current ExMy/MAPxy names
look correct.
2013-12-14 16:34:01 -05:00
RjY 85a2eb44e2 text/dehacked: Double Impact map names, E4 episode title 2013-12-10 15:46:00 +00:00
Simon Howard f651c980dd graphics: Fix textgen with Python 2.
Previous fix for Python 3 broke the script under Python 2.
2013-12-01 23:23:59 -05:00
Simon Howard b37baf5abb graphics: Add kerning for text generator.
Adjust character positions so that some pairs of characters can fit
more closely together.
2013-12-01 23:20:15 -05:00
Simon Howard 0948019b1a graphics: Make textgen script work with Python 3.
Also add copyright notices to Python files.
2013-12-01 21:23:11 -05:00
Simon Howard 2a02344977 graphics: Add missing font characters.
Add font characters for '/' and '?', needed by some text strings.
Adjust the vertical height of the ':' character, and remove some
leftover menu graphics that are no longer needed.
2013-12-01 00:07:28 -05:00
Simon Howard 6150b320f3 graphics: Add 'make clean' target for textgen. 2013-11-30 23:07:39 -05:00
Simon Howard 1cb5232846 graphics: Add overrides for source port text lumps.
Some source ports (PrBoom, Eternity Engine, etc.) come with their own
PWAD files that include custom text graphic lumps for extended menus.
Include some overrides in Freedoom for common ones, so that when
playing in these ports the menus have a consistent look and feel.
2013-11-30 22:28:22 -05:00
Simon Howard 9855d868ea graphics: Generate text graphics programatically.
Remove the big text graphic images used for the menus and the
intermission screen. Instead, generate these graphics programatically
from a script. This allows them to be easily changed and extended
as desired.
2013-11-30 20:55:57 -05:00
Sodaholic 90057df6e2 graphics: STBAR: updated ammo counter labels from Sodaholic
DW: http://www.doomworld.com/vb/post/1061645
Signed-off-by: RjY <rjy@users.sourceforge.net>
2012-03-28 20:37:10 +01:00
Sodaholic 9269afb877 graphics: new skill level strings from Sodaholic
1. Please don't kill me!
2. Will this hurt?
3. Bring on the pain.
4. Extreme-Carnage
5. Insanity!

DW: http://www.doomworld.com/vb/post/979917
    see rationale for change at http://www.doomworld.com/vb/post/964952
Signed-off-by: RjY <rjy@users.sourceforge.net>
2011-06-16 09:49:55 +01:00
RjY 3d56b50b81 Sharewarendectomy
Consensus that the "shareware" target was no longer necessary was
reached long ago[1]. It just needs to actually get done. Thus:

Makefile:
- remove shareware targets

buildcfg.txt, textures/combined.txt:
- remove #ifdef/#ifndef SHAREWARE sections (almost entirely #ifndef)

graphics/help2.gif:
- remove symlink, help2 screen was shareware-only

gitignore:
- remove shareware files no longer built

textures/shareware:
- remove directory

--
[1] http://www.doomworld.com/vb/freedoom/52758-removing-shareware/ .

In particular, Jon wrote:
>The original purpose of the shareware IWAD was to have a smaller set of
>resources to target 100% completion of. That was probably met a long
>time ago.

More recently chungy wrote in <http://www.doomworld.com/vb/post/957707>
>Removing the "demo"/"shareware" version of Freedoom has been discussed
>but it's never been done. Actually it's a bit easier to just leave it
>in than to remove it. (It'd be pretty easy to get rid of it anyway, but
>nothing is really gained from it)

Signed-off-by: RjY <rjy@users.sourceforge.net>
2011-04-10 11:22:48 +01:00
Mike Swanson ed41c6f7fc doc/graphics: Change to shorter URL.
There's real work to be done, but this URL is shorter!

Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2009-10-06 18:33:57 -07:00
Catoptromancy d0a832c6a4 graphics: UFD endpics
Added placeholder endpics for E2,E3 and E4. Keeps boom202 from crashing.

Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2009-08-05 14:59:11 -07:00
Mike Swanson 1c34d4c32b titlepic: Make the ultimate target have its own title
Right now it's called "Ultimate Freedoom"; a more original name should
be given later down the line.

Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2009-06-23 19:59:46 -07:00
Mike Swanson c76b06544b graphics: Add raw font files back to the tree
These are recovered from an old backup of Freedoom dated 2002-08-5.  I
found a use for them (specifically, PrBoom menu graphics), so here they
are again if anyone else finds them useful :-)

Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2009-01-01 18:39:47 -08:00
Mike Swanson eaa5704d42 Change website URL in documents
Moved from SourceForge; also levels/sargebaldy/hellkeep.txt had some
weird end of lines (various mix of CRLF, LFCR), that's fixed.

Signed-off-by: Mike Swanson <mikeonthecomputer@gmail.com>
2008-12-22 19:52:38 -08:00
Mike Swanson 95ccde2b71 titlepic: version from `git describe` if available
Use `git describe` to automatically generate the version on titlepic,
use VERSION file if not a git repository (tarball releases).
2008-12-11 15:39:07 -08:00
Simon Howard c567b1617a Remove joke ralphis help screen; use titlepic for help2. 2007-07-20 04:05:44 +00:00
Jon Dowland 336791bc61 fix broken symlink 2006-09-18 20:58:33 +00:00
Jon Dowland a58159ebcd symlinks to gif titlepics, not ppm 2006-09-18 20:32:37 +00:00
Jon Dowland 9ae448c99d use a symlink to Saint_of_Killer's titlepic.gif rather than a ppm copy
use gifs instead of ppms, like the rest of the build system (this is a
relic from ppmcaption anyway)
2006-09-18 20:27:10 +00:00
Jon Dowland 93fcef6463 attic unused resources 2006-09-18 09:52:48 +00:00
Jon Dowland 636a345d9a attic unused resources 2006-09-18 09:52:30 +00:00
Jon Dowland 1721a9d764 I think ralphis did this one 2006-09-18 09:34:16 +00:00
Jon Dowland 4f83fb5223 update titlepic with version number 2006-09-02 19:03:44 +00:00
Jon Dowland d0f013475e enhance clean target 2006-06-13 21:24:45 +00:00
Simon Howard f927f20421 Rename graphics/scuba -> graphics/scubasteve to be consistent. 2006-06-04 18:38:05 +00:00
Simon Howard 060fc41577 Fix background to be the correct transparency color. 2006-06-04 17:59:53 +00:00
Simon Howard 868ab15f43 Generate different titlepics for freedoom and freedm. 2006-06-04 15:33:28 +00:00
Simon Howard 7309286c10 Font not needed now we are using imagemagick 2006-05-13 15:37:06 +00:00
Simon Howard f190e03833 Move kinkyfriend hires sprites to attic. 2006-05-13 15:34:29 +00:00
Simon Howard 4b4df16b3b Remove links to unused graphics. 2006-05-13 00:05:33 +00:00
Simon Howard a5dda7d5f4 Move all the old status bar faces to the attic. 2006-05-12 23:57:44 +00:00
Simon Howard 35224c3312 Oops! 2006-05-11 09:49:02 +00:00
Simon Howard 6ef34d2e30 Use yyyy/mm/dd (big endian) date format. 2006-05-11 09:33:05 +00:00
Simon Howard 0fcb690599 Output to output.ppm, not output.png 2006-05-11 09:26:27 +00:00
Simon Howard f2499cddcd Use imagemagick instead of ppmcaption. 2006-05-11 09:24:05 +00:00
Simon Howard 11894c4800 Remove autogenerated and old files. 2006-05-09 16:53:08 +00:00
Simon Howard cb9954488c Use the version of ppcmaption installed on the system. 2006-05-09 16:51:20 +00:00
Simon Howard ccb2a30045 Remove precompiled program. 2006-05-09 16:50:36 +00:00
Simon Howard 36658bee0e Import other stuff. 2006-05-09 16:20:42 +00:00