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.
This commit is contained in:
Simon Howard 2014-09-07 04:22:09 +00:00
parent 5405104814
commit 9968fe0ed1
2 changed files with 72 additions and 65 deletions

View file

@ -56,66 +56,64 @@ graphics.stamp: config.py fontchars ../../lumps/fraggle/freedoom.bex
@mv graphics.tmp $@ @mv graphics.tmp $@
# Generate transparent image containing text for the HELP screen: # Generate transparent image containing text for the HELP screen:
helptext.png: helptext.png: helpttl.gif
python smtextgen helptext.png 320x200 \ python smtextgen helptext.png 320x200 \
10,25 "Weapons" \ 150,5 "file:helpttl.gif" \
10,67 "Ammo" \ 10,25 "Weapons" \
110,67 "Shells" \ 80,25 "file:../../sprites/shota0.gif" \
220,67 "Backpack" \ 150,25 "file:../../sprites/sgn2a0.gif" \
10,90 "Missiles" \ 210,20 "file:../../sprites/mguna0.gif" \
170,90 "Energy" \ 10,40 "file:../../sprites/launa0.gif" \
10,115 "Health" \ 80,40 "file:../../sprites/plasa0.gif" \
170,115 "Armor" \ 150,40 "file:../../sprites/bfuga0.gif" \
145,140 "Map" \ 240,40 "file:../../sprites/csawa0.gif" \
10,140 "Overdrive" \ 10,67 "Ammo" \
10,163 "Night vis." \ 53,67 "file:../../sprites/clipa0.gif" \
10,182 "Stealth" \ 68,62 "file:../../sprites/ammoa0.gif" \
115,182 "Invuln." \ 110,67 "Shells" \
255,182 "Keys" \ 160,67 "file:../../sprites/shela0.gif" \
130,163 "Hazard suit" 180,62 "file:../../sprites/sboxa0.gif" \
220,67 "Backpack" \
290,55 "file:../../sprites/bpaka0.gif" \
10,90 "Missiles" \
76,78 "file:../../sprites/rocka0.gif" \
95,82 "file:../../sprites/broka0.gif" \
170,90 "Energy" \
220,90 "file:../../sprites/cella0.gif" \
240,81 "file:../../sprites/celpa0.gif" \
10,115 "Health" \
63,113 "file:../../sprites/bon1a0.gif" \
78,112 "file:../../sprites/stima0.gif" \
96,107 "file:../../sprites/media0.gif" \
128,107 "file:../../sprites/pstra0.gif" \
170,115 "Armor" \
220,113 "file:../../sprites/bon2a0.gif" \
240,105 "file:../../sprites/arm1b0.gif" \
280,105 "file:../../sprites/arm2b0.gif" \
145,140 "Map" \
175,130 "file:../../sprites/pmapa0.gif" \
10,140 "Overdrive" \
84,132 "file:../../sprites/soula0.gif" \
110,132 "file:../../sprites/megaa0.gif" \
10,163 "Night vis." \
80,160 "file:../../sprites/pvisa0.gif" \
10,182 "Stealth" \
67,172 "file:../../sprites/pinsa0.gif" \
115,182 "Invuln." \
170,174 "file:../../sprites/pinva0.gif" \
255,182 "Keys" \
246,142 "file:../../sprites/rkeya0.gif" \
261,142 "file:../../sprites/ykeya0.gif" \
276,142 "file:../../sprites/bkeya0.gif" \
246,162 "file:../../sprites/rskua0.gif" \
261,162 "file:../../sprites/yskua0.gif" \
276,162 "file:../../sprites/bskua0.gif" \
130,163 "Hazard suit" \
215,142 "file:../../sprites/suita0.gif"
# Build on helptext.png by adding the title and sprites: # Make background transparent so it can be overlayed.
helpoverlay.png : helptext.png helpttl.gif helptext2.png : helptext.png
convert helptext.png \ convert helptext.png -transparent '#00ffff' helptext2.png
-draw 'image over 150,5 0,0 "helpttl.gif"' \
-draw 'image over 80,25 0,0 "../../sprites/shota0.gif"' \
-draw 'image over 150,25 0,0 "../../sprites/sgn2a0.gif"' \
-draw 'image over 210,20 0,0 "../../sprites/mguna0.gif"' \
-draw 'image over 10,40 0,0 "../../sprites/launa0.gif"' \
-draw 'image over 80,40 0,0 "../../sprites/plasa0.gif"' \
-draw 'image over 150,40 0,0 "../../sprites/bfuga0.gif"' \
-draw 'image over 240,40 0,0 "../../sprites/csawa0.gif"' \
-draw 'image over 53,67 0,0 "../../sprites/clipa0.gif"' \
-draw 'image over 68,62 0,0 "../../sprites/ammoa0.gif"' \
-draw 'image over 160,67 0,0 "../../sprites/shela0.gif"' \
-draw 'image over 180,62 0,0 "../../sprites/sboxa0.gif"' \
-draw 'image over 76,78 0,0 "../../sprites/rocka0.gif"' \
-draw 'image over 95,82 0,0 "../../sprites/broka0.gif"' \
-draw 'image over 220,90 0,0 "../../sprites/cella0.gif"' \
-draw 'image over 240,81 0,0 "../../sprites/celpa0.gif"' \
-draw 'image over 290,55 0,0 "../../sprites/bpaka0.gif"' \
-draw 'image over 63,113 0,0 "../../sprites/bon1a0.gif"' \
-draw 'image over 78,112 0,0 "../../sprites/stima0.gif"' \
-draw 'image over 96,107 0,0 "../../sprites/media0.gif"' \
-draw 'image over 128,107 0,0 "../../sprites/pstra0.gif"' \
-draw 'image over 220,113 0,0 "../../sprites/bon2a0.gif"' \
-draw 'image over 240,105 0,0 "../../sprites/arm1b0.gif"' \
-draw 'image over 280,105 0,0 "../../sprites/arm2b0.gif"' \
-draw 'image over 175,130 0,0 "../../sprites/pmapa0.gif"' \
-draw 'image over 84,132 0,0 "../../sprites/soula0.gif"' \
-draw 'image over 110,132 0,0 "../../sprites/megaa0.gif"' \
-draw 'image over 80,160 0,0 "../../sprites/pvisa0.gif"' \
-draw 'image over 67,172 0,0 "../../sprites/pinsa0.gif"' \
-draw 'image over 170,174 0,0 "../../sprites/pinva0.gif"' \
-draw 'image over 246,142 0,0 "../../sprites/rkeya0.gif"' \
-draw 'image over 261,142 0,0 "../../sprites/ykeya0.gif"' \
-draw 'image over 276,142 0,0 "../../sprites/bkeya0.gif"' \
-draw 'image over 246,162 0,0 "../../sprites/rskua0.gif"' \
-draw 'image over 261,162 0,0 "../../sprites/yskua0.gif"' \
-draw 'image over 276,162 0,0 "../../sprites/bskua0.gif"' \
-draw 'image over 215,142 0,0 "../../sprites/suita0.gif"' \
-transparent '#00ffff' \
helpoverlay.png
# Background for the help screen is a color shifted version of INTERPIC: # Background for the help screen is a color shifted version of INTERPIC:
helpbg.png: ../interpic.gif helpbg.png: ../interpic.gif
@ -123,11 +121,11 @@ helpbg.png: ../interpic.gif
# Draw the overlay with text and sprites onto the background to get the # Draw the overlay with text and sprites onto the background to get the
# HELP screen: # HELP screen:
help.gif: helpbg.png helpoverlay.png help.gif: helpbg.png helptext2.png
convert helpbg.png \ convert helpbg.png \
-draw 'image over 0,0 0,0 helpoverlay.png' \ -draw 'image over 0,0 0,0 helptext2.png' \
help.gif help.gif
clean: clean:
rm -f $(TEXTGEN_GRAPHICS) helpbg.png help.gif \ rm -f $(TEXTGEN_GRAPHICS) helpbg.png help.gif \
helpoverlay.png helptext.png graphics.stamp *.pyc helptext.png helptext2.png graphics.stamp *.pyc

View file

@ -154,8 +154,17 @@ command_line = [
] ]
for xy, string in args['strings']: for xy, string in args['strings']:
command_line.extend(smallfont.draw_commands_for_text( # Allow special notation to indicate an image file to just draw
string, xy[0], xy[1])) # rather than rendering a string.
if string.startswith('file:'):
command_line.extend((
'-draw',
'image over %i,%i 0,0 "%s"' % (
xy[0], xy[1], string[5:]),
))
else:
command_line.extend(smallfont.draw_commands_for_text(
string, xy[0], xy[1]))
command_line.extend(( command_line.extend((
'-background', BACKGROUND_COLOR, '-background', BACKGROUND_COLOR,