Might have been a nice idea to be able to run under absolutely any
Doom engine, this has caused problems with PrBoom-Plus for
compatibility, with that engine detecting our game as a BFG Edition
IWAD and applying certain workarounds that don’t actually make sense
in this case.
It is a rather niche use case to run under BFG Edition, and proper
PrBoom-Plus compatibility is much preferred.
Some of the sprites have changed since the help screen was first put
together and are now overlapping with each other slightly. In
particular the box of shells is overlapping with the weapon above it.
Adjust positions by a couple of pixels and give some extra space.
FreeDM had a special override to use an animated rocket for the menu
selector, a tweak to make it more deathmatch-appropriate. Unfortunately
the rocket animation is too wide and causes Chocolate Doom to error out
when the help screen is brought up (F1) with "Bad V_DrawPatch". Even if
the horizontal offset is adjusted it will overlap with parts of the help
screen and obscure them. I think the easiest solution is to just remove
the override.
Updated Chapter 4: Double Impact with the fixes included in the
hotfix. C4M7 was already updated for Freedoom with the fixes, but not
C4M4 and C4M8. Both were updated to be up to par with the
hotfix. C4M8's old edits to lowering the lifts won't be needed
anymore. C4M8 was also edited to be vanilla-compatible, removing some
details at one of the final rooms. Hopefully Vanilla won't crash
anymore.
The endpic for Chapter 4 has been updated to match with the current
Freedoom assets, bye bye that old Imp sprite and floor texture.
DOOM2.WAD contains a MAP33, which is being represented here as only
the dummy map, and also M_EPI1 and M_EPI2 lumps for the “Hell on Earth”
and “No Rest for the Living” texts, both of which are now replicated
here as well (using “Phase 2” and “The Missing Levels” as names instead).
No, we still don’t plan on having a real MAP33, the inclusion here is
only to avoid engine crashes.
Fixes: #533
Ref: #529
Doom engines stretch the the images with 20% extra height. This,
together with the already slim jaw and sharp chin in the face of the
freedoom guy, makes it look very juvenile, stretched.
This change tweaks the face images to have a thicker jaw and a more mature
look. It also tweaks the lip position a bit and reduces the excessively
dark outline along the chin.
There are a few lumps added to the Doom IWADs required by the BFG Edition
of the game that would cause it to crash abnormally if the IWADs were
replaced by Freedoom. We add these news graphics lumps to the game here.
BFG Edition also changes m_gdhigh to "Fullscreen:" and m_scrnsz to
"Gamepad:", neither change of which will ever be reflected in Freedoom,
but it won't crash in this engine anymore.
Closes: #529
textgen: instead of running ImageMagick yourself, output a Makefile rule
for each graphic. Dependencies are passed on the command line.
Makefile: Add rule for 'textgen.mk' which is built by running textgen.
graphics.stamp depends on textgen.mk and all the built graphics files.
Then, each built graphic depends on textgen.mk, ensuring it is made
first. textgen.mk itself depends on textgen config, font, and dehacked.
(Makefile itself also depends on textgen.mk implicitly via include)
This duplicates previous behaviour where changing textgen config remakes
all text graphics, but one Make rule for each, allowing parallel make
with -j instead of the script doing one at a time.
The built IWADs are byte-for-byte identical before and after this patch
series is applied (provided VERSION is set to the same thing of course)
One problem is 'make clean' rebuilds textgen.mk because Make thinks the
Makefile needs it, but then immediately deletes it. Not sure how to fix.
Use git clean -fdx instead, or just don't clean twice in succession.
----
This gives the following improvement in build time (-j1 as control,
built on 4 cores and a large tmpfs so disk speed isn't a factor)
(master)
make -j1 4.83s user 6.77s system 93% cpu 12.444 total
make -j1 4.74s user 6.72s system 93% cpu 12.267 total
make -j1 4.72s user 6.68s system 92% cpu 12.292 total
make -j4 5.72s user 6.77s system 109% cpu 11.414 total
make -j4 5.39s user 6.85s system 107% cpu 11.419 total
make -j4 5.66s user 6.79s system 109% cpu 11.383 total
parallel_textgen
make -j1 4.57s user 6.66s system 92% cpu 12.185 total
make -j1 4.73s user 6.57s system 93% cpu 12.152 total
make -j1 4.60s user 6.72s system 93% cpu 12.152 total
make -j4 5.62s user 7.72s system 262% cpu 5.084 total
make -j4 5.82s user 7.76s system 262% cpu 5.165 total
make -j4 5.79s user 7.73s system 261% cpu 5.161 total
Use blue as fill color rather than white.
Add oblique style to footer text.
Replace URL with copyright notice.
Removed "Version: " text from version footer.
Use image rather than text to generate "Phase 1" and "Phase 2" words
This gives a nice effect of blending the title in with the menu.
We actually used to do this, but it broke with a title screen update.
Thanks @JNechaevsky for the suggestion.
Closes#388
Causes conflicts with ZDoom mods that try to define their own HUDs,
at least three on IRC were reported as being basically totally broken
with Freedoom 0.11. While it was a good attempt at adding an
enhancement to Freedoom under ZDoom, we cannot afford to break mod
compatibility.
Just darkening the fields. As described in issue #356, vanilla-like
engines produce an odd graphical artifact behind the status bar
numbers. Even Doom shows small glitchiness masked by the texture.
Should be less obstrusive now.