Merge github.com:freedoom/freedoom

This commit is contained in:
Simon Howard 2019-08-28 04:13:55 +01:00
commit 5e6e6332cd
75 changed files with 169 additions and 162 deletions

View file

@ -5,7 +5,7 @@ system.
== Overview == Overview
Freedoom is built using 'deutex', which is a command-line tool for Freedoom is built using `deutex`, which is a command-line tool for
automated building of Doom WAD files. However, multiple different WAD automated building of Doom WAD files. However, multiple different WAD
files are built from the Freedoom material. Therefore, the Freedoom files are built from the Freedoom material. Therefore, the Freedoom
build system is more complicated than a “normal” deutex build would build system is more complicated than a “normal” deutex build would
@ -62,7 +62,7 @@ system:
deutex is configured using a configuration file typically named deutex is configured using a configuration file typically named
+wadinfo.txt+. In the case of Freedoom, multiple different WADs are +wadinfo.txt+. In the case of Freedoom, multiple different WADs are
built from the common material, with slightly different settings for built from the common material, with slightly different settings for
each. Therefore, a 'master configuration file' named +buildcfg.txt+ each. Therefore, a _master configuration file_ named +buildcfg.txt+
is used to generate configuration files for each individual WAD to is used to generate configuration files for each individual WAD to
build. build.
@ -80,7 +80,7 @@ based on the type of output target desired:
The texture configuration file is used to generate the texture lumps. The texture configuration file is used to generate the texture lumps.
These are +texture1.lmp+ (texture directory), +pnames.lmp+ (list of These are +texture1.lmp+ (texture directory), +pnames.lmp+ (list of
patch names) and +texture2.lmp+ (Doom I only). They are generated patch names) and +texture2.lmp+ (Doom I only). They are generated
by the +build-textures+ script; deutex's internal texture builder by the +build-textures+ script; deutexs internal texture builder
is deliberately not used for compatibility reasons. is deliberately not used for compatibility reasons.
Similarly to the build configuration file, different textures are Similarly to the build configuration file, different textures are
@ -208,13 +208,13 @@ the authentic retro feel.
Found in +lumps/dmxgus+, this script builds the +DMXGUS+ lump used for Found in +lumps/dmxgus+, this script builds the +DMXGUS+ lump used for
GUS MIDI playback. The GUS (Gravis UltraSound) card was a gaming sound GUS MIDI playback. The GUS (Gravis UltraSound) card was a gaming sound
card popular in the '90s. As with the +GENMIDI+ lump, few people are card popular in the 90s. As with the +GENMIDI+ lump, few people are
still using a real GUS card nowadays, but several source ports emulate still using a real GUS card nowadays, but several source ports emulate
them and require this file. them and require this file.
== deutex == deutex
'deutex' is the tool used to generate the WAD files. It processes a `deutex` is the tool used to generate the WAD files. It processes a
file typically named +wadinfo.txt+, reading files from the following file typically named +wadinfo.txt+, reading files from the following
directories to generate the WAD: directories to generate the WAD:
@ -238,7 +238,7 @@ around. Some of them are listed here.
* deutex does not allow the exact path to the +texture1.txt+ file to * deutex does not allow the exact path to the +texture1.txt+ file to
be specified in the configuration file; this used to be a problem be specified in the configuration file; this used to be a problem
but the Freedoom's texture lumps are now built using a custom but the Freedooms texture lumps are now built using a custom
script. script.
* deutex requires an existing IWAD file in order to build WAD files, * deutex requires an existing IWAD file in order to build WAD files,

View file

@ -1,9 +1,9 @@
Compiling Freedoom Compiling Freedoom
================== ==================
This document is a general overview of Freedoom's dependencies This document is a general overview of Freedooms dependencies
required to build it. See `README` for a description of what Freedoom required to build it. See `README` for a description of what Freedoom
'is', and `BUILD-SYSTEM` for the technical details on 'how' Freedoom _is_, and `BUILD-SYSTEM` for the technical details on _how_ Freedoom
is built. is built.
Required software Required software
@ -11,26 +11,24 @@ Required software
Building the Freedoom IWADs pretty much simply requires the following: Building the Freedoom IWADs pretty much simply requires the following:
* 'make': While there is some attempt to keep our Makefiles * _make_: While there is some attempt to keep our Makefiles
portable, testing does not really happen on anything but portable, testing does not really happen on anything but
https://www.gnu.org/software/make/[GNU Make] (patches to fix https://www.gnu.org/software/make/[GNU Make] (patches to fix
portability are most welcome!). On non-GNU systems, it might be portability are most welcome!). On non-GNU systems, it might be
available in a package and binary named as 'gmake'. available in a package and binary named as _gmake_.
* 'Python': Freedoom uses several Python programs in its tree to * _Python_: Freedoom uses several Python programs in its tree to
assist with building the IWADs. Both Python 2.7 and 3.x are fully assist with building the IWADs. Both Python 2.7 and 3.x are fully
supported. supported.
* 'Pillow': A Python image manipulation module that provides the * _Pillow_: A Python image manipulation module that provides the
features we need for scaling and composing various graphics of the features we need for scaling and composing various graphics of the
game. game.
* 'DeuTex' 5.0: Freedoom depends on features developed in this * _DeuTex_ 5.0: Freedoom depends on features developed in this
version of DeuTex and will not build on earlier versions. It is version of DeuTex and will not build on earlier versions. It is
available at https://github.com/Doom-Utils/deutex in source and available at https://github.com/Doom-Utils/deutex in source and
Windows binary formats. As of July 2017, this version is very Windows binary formats.
recent and may not be widely available in Unix distribution
repositories yet.
All or most of this software should already be available in your All or most of this software should already be available in your
operating system's software repository, with the likely exception of operating systems software repository, with the likely exception of
DeuTex, which is easy to build. DeuTex, which is easy to build.
Building Freedoom Building Freedoom
@ -69,14 +67,14 @@ this document.
Optional software Optional software
----------------- -----------------
* 'Git': Freedoom is developed using the Git version control system, * _Git_: Freedoom is developed using the Git version control system,
the latest developments can be tracked with it. the latest developments can be tracked with it.
* 'AsciiDoc': The `*.adoc` files are all written in AsciiDoc markup, * _AsciiDoc_: The `*.adoc` files are all written in AsciiDoc markup,
and it can be used to generate HTML versions of all these and it can be used to generate HTML versions of all these
documents. This is used as part of the `make dist` target, to documents. This is used as part of the `make dist` target, to
generate the `README.html` file for inclusion with official Zip generate the `README.html` file for inclusion with official Zip
files. files.
* 'Zip': The `make dist` target uses Zip to create release archives * _Zip_: The `make dist` target uses Zip to create release archives
for FreeDM, Phase 1, and Phase 2. This can also provide an easy for FreeDM, Phase 1, and Phase 2. This can also provide an easy
way to automate generating in-development versions for other way to automate generating in-development versions for other
people. people.

View file

@ -48,7 +48,7 @@ https://zdoom.org/[GZDoom]. This engine offers good support for
single-player, multi-player, and the majority of mods created for both single-player, multi-player, and the majority of mods created for both
_Doom_ and _Freedoom_. _Doom_ and _Freedoom_.
On Windows, you should place _Freedoom_'s data files (those ending On Windows, you should place _Freedoom_s data files (those ending
with +.wad+) alongside the engine (eg, +odamex.exe+). On Unix-like with +.wad+) alongside the engine (eg, +odamex.exe+). On Unix-like
systems, these data files should go in either +/usr/share/games/doom+ systems, these data files should go in either +/usr/share/games/doom+
or your home directory. If _Freedoom_ comes packaged as part of your or your home directory. If _Freedoom_ comes packaged as part of your
@ -72,10 +72,10 @@ of the following options should solve it:
line, or adding it to an application shortcut. line, or adding it to an application shortcut.
* Use the +DOOMWADPATH+ environment variable. Many engines support * Use the +DOOMWADPATH+ environment variable. Many engines support
this variable to add directories and/or files to their search this variable to add directories and/or files to their search
path. The exact syntax matches your operating system's normal path. The exact syntax matches your operating systems normal
+PATH+ environment variable. +PATH+ environment variable.
* Rename the game files. This may be a bit crude, but you can * Rename the game files. This may be a bit crude, but you can
rename the files to match those of _Doom_'s. This is often the rename the files to match those of _Doom_s. This is often the
easiest quick-fix, although it is normally desirable to use one of easiest quick-fix, although it is normally desirable to use one of
the above methods if possible. the above methods if possible.
@ -147,7 +147,7 @@ The general rules go as follows:
Levels for _Phase 1_ and _Phase 2_ must be compatible with any limit Levels for _Phase 1_ and _Phase 2_ must be compatible with any limit
removing engine. This means that you may exceed the limits of the removing engine. This means that you may exceed the limits of the
original _Doom_, but do not depend on any additional mapping features. original _Doom_, but do not depend on any additional mapping features.
Levels should be in _Doom_'s original format, not in “Hexen”-format. Levels should be in _Doom_s original format, not in “Hexen”-format.
It is a goal that future versions of _Freedoom_ will be entirely It is a goal that future versions of _Freedoom_ will be entirely
vanilla-compatible, not even allowing expanded limits. Keeping this vanilla-compatible, not even allowing expanded limits. Keeping this
@ -169,7 +169,7 @@ It is sensible to also heed the following guidelines:
* Try to make levels appropriately difficult for their position * Try to make levels appropriately difficult for their position
within the progression of the game. Also bear in mind that not within the progression of the game. Also bear in mind that not
all players may be as skilled a player as you. all players may be as skilled a player as you.
* Do not use tricks that exploit _Doom_'s software renderer; some * Do not use tricks that exploit _Doom_s software renderer; some
engines, especially those that use hardware accelerated rendering, engines, especially those that use hardware accelerated rendering,
may not render it properly. Examples of tricks to avoid include may not render it properly. Examples of tricks to avoid include
those used to simulate 3D bridges and “deep water” effects. those used to simulate 3D bridges and “deep water” effects.
@ -193,7 +193,7 @@ It is sensible to also heed the following guidelines:
Graphics should generally have the same color and size as the original Graphics should generally have the same color and size as the original
_Doom_ graphics, as to remain compatible with mods. Otherwise, levels _Doom_ graphics, as to remain compatible with mods. Otherwise, levels
may end up looking like a nightmare in design. They may be may end up looking like a nightmare in design. They may be
thematically different as long as it doesn't clash. thematically different as long as it doesnt clash.
_Doom_ uses a fictional corporation abbreviated as “UAC:” this is _Doom_ uses a fictional corporation abbreviated as “UAC:” this is
trademarked by id Software and cannot be used in _Freedoom_. Instead, trademarked by id Software and cannot be used in _Freedoom_. Instead,
@ -212,7 +212,7 @@ patches, but keep in mind:
for Vim (perhaps other editors, too) to automatically re-format for Vim (perhaps other editors, too) to automatically re-format
text. text.
* Text is kept at 72 characters wide. In Vim, you can set the * Text is kept at 72 characters wide. In Vim, you can set the
editor to automatically insert line breaks as you're typing by editor to automatically insert line breaks as youre typing by
performing `set textwidth=72`. Special exceptions to the width performing `set textwidth=72`. Special exceptions to the width
rule might be allowed when necessary (for example, inserting long rule might be allowed when necessary (for example, inserting long
URLs). URLs).
@ -252,7 +252,7 @@ You can also commit on a clone of the _Freedoom_ repository, although
this is a technical task and it is okay to let other _Freedoom_ this is a technical task and it is okay to let other _Freedoom_
maintainers to do it instead: that is our normal mode of operation. maintainers to do it instead: that is our normal mode of operation.
However, pull requests are much appreciated and you may submit them in However, pull requests are much appreciated and you may submit them in
any manner you wish, with GitHub's direct pull requests being the any manner you wish, with GitHubs direct pull requests being the
simplest, but by far not the only means. simplest, but by far not the only means.
Freedoom uses the commit message style commonly seen in distributed Freedoom uses the commit message style commonly seen in distributed

View file

@ -2285,7 +2285,7 @@ BON2A0 6 19
BON2B0 6 19 BON2B0 6 19
BON2C0 6 19 BON2C0 6 19
BON2D0 6 19 BON2D0 6 19
BPAKA0 8 26 BPAKA0 11 26
BROKA0 27 20 BROKA0 27 20
CANDA0 8 15 CANDA0 8 15
CBRAA0 14 61 CBRAA0 14 61

4
dist/freedoom vendored
View file

@ -8,7 +8,7 @@ PORTS="doom odamex crispy-doom prboom-plus eternity gzdoom chocolate-doom"
# Just a single argument starting the command is allowed, -p, in order # Just a single argument starting the command is allowed, -p, in order
# to explicitly set a port on the command line. -- is also supported # to explicitly set a port on the command line. -- is also supported
# so that -p can be instead sent directly to the port's argument list. # so that -p can be instead sent directly to the ports argument list.
if [ $# -gt 0 ]; then if [ $# -gt 0 ]; then
if [ "$1" = "-p" ]; then if [ "$1" = "-p" ]; then
@ -54,7 +54,7 @@ for port in $PORTS; do
done done
done done
# If we've reached this far, no engine was successfully executed. # If weve reached this far, no engine was successfully executed.
# print message to stderr and exit with a status of 1. # print message to stderr and exit with a status of 1.
cat <<EOF >&2 cat <<EOF >&2

14
dist/freedoom.adoc vendored
View file

@ -8,30 +8,30 @@ freedoom - Automatically launch Freedoom with an engine
SYNOPSIS SYNOPSIS
-------- --------
*freedoom* ['-p' 'PORT'|'--'] ['ARGS'] *freedoom* [_-p_ _PORT_|_--_] [_ARGS_]
DESCRIPTION DESCRIPTION
----------- -----------
Freedoom is a project to create a complete free-content game based on Freedoom is a project to create a complete free-content game based on
the 'Doom' engine (often called “source ports” or simply “ports”), the _Doom_ engine (often called “source ports” or simply “ports”),
which itself is free software. In addition, it maintains which itself is free software. In addition, it maintains
compatibility with 'Doom' itself and is capable of playing the wide compatibility with _Doom_ itself and is capable of playing the wide
variety of modifications (“mods”) that have been released by an variety of modifications (“mods”) that have been released by an
active community since 1993. active community since 1993.
This command is a simple shell script to assist in running Freedoom, This command is a simple shell script to assist in running Freedoom,
which is not a game engine itself nor part of any engine project, but which is not a game engine itself nor part of any engine project, but
playing Freedoom should remain simple. Only accepted as the first playing Freedoom should remain simple. Only accepted as the first
argument, you may pass '-p PORT', which will run Freedoom using the argument, you may pass _-p PORT_, which will run Freedoom using the
'PORT' specified. As an alternative, you may make a symbolic link _PORT_ specified. As an alternative, you may make a symbolic link
named +$HOME/.doomport+ to your preferred port. A port specified on named +$HOME/.doomport+ to your preferred port. A port specified on
the command line explicitly overrides +$HOME/.doomport+, whereas the the command line explicitly overrides +$HOME/.doomport+, whereas the
existence of the symbolic link will override the detection of port existence of the symbolic link will override the detection of port
based on a hard-coded list. based on a hard-coded list.
Additional arguments passed to the program, or after specifying '--' Additional arguments passed to the program, or after specifying _--_
as the first option, will be passed to the engine being called. This as the first option, will be passed to the engine being called. This
can allow you to use options such as '-file' to load mods or anything can allow you to use options such as _-file_ to load mods or anything
else available with the engine of choice. else available with the engine of choice.
COPYRIGHT COPYRIGHT

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.8 KiB

After

Width:  |  Height:  |  Size: 1.5 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.2 KiB

After

Width:  |  Height:  |  Size: 919 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 1.7 KiB

After

Width:  |  Height:  |  Size: 1.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.4 KiB

After

Width:  |  Height:  |  Size: 1.9 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.2 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.9 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3.1 KiB

After

Width:  |  Height:  |  Size: 2.7 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 3 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.4 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.5 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 2.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

View file

@ -105,8 +105,8 @@ red_graphics = {
'm_jkill': 'Please don\'t kill me!', 'm_jkill': 'Please don\'t kill me!',
'm_rough': 'Will this hurt?', 'm_rough': 'Will this hurt?',
'm_hurt': 'Bring on the pain.', 'm_hurt': 'Bring on the pain.',
'm_ultra': 'Extreme Carnage', 'm_ultra': 'Extreme Carnage.',
'm_nmare': 'INSANITY!', 'm_nmare': 'MAYHEM!',
'm_lgttl': 'LOAD GAME', 'm_lgttl': 'LOAD GAME',
'm_sgttl': 'SAVE GAME', 'm_sgttl': 'SAVE GAME',

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

Binary file not shown.

9
lumps/README.DEMO Normal file
View file

@ -0,0 +1,9 @@
For Phase 1 and 2, do not have a multiplayer demo in the DEMO1 slot.
Vanilla Doom (and some source ports) do not allow using the “load
game” option while in a network game, and network game demos count as
such. The other three demo slots are fair game, since they do not
near-immediately block out the load game functionality when starting
Freedoom.
FreeDM is exempted since it is not intended to be a single-player
game.

View file

@ -132,8 +132,9 @@ def invert_colors(colors):
result = [] result = []
for color in colors: for color in colors:
average = (color[0] + color[1] + color[2]) // 3 # Formula comes from ITU-R recommendation BT.709
inverse = 255 - average gray = round(color[0]*0.2126 + color[1]*0.7152 + color[2]*0.0722)
inverse = 255 - gray
result.append((inverse, inverse, inverse)) result.append((inverse, inverse, inverse))

View file

@ -109,7 +109,7 @@ GOTARMBONUS = Got a 1% armor bonus.
GOTSTIM = Picked up a small health pack. GOTSTIM = Picked up a small health pack.
GOTMEDINEED = Found a large health pack, just in time! GOTMEDINEED = Found a large health pack, just in time!
GOTMEDIKIT = Picked up a large health pack. GOTMEDIKIT = Picked up a large health pack.
GOTSUPER = You got the Overdrive Sphere! GOTSUPER = You got the overdrive sphere!
GOTBLUECARD = Picked up a blue passcard. GOTBLUECARD = Picked up a blue passcard.
GOTYELWCARD = Picked up a yellow passcard. GOTYELWCARD = Picked up a yellow passcard.
GOTREDCARD = Picked up a red passcard. GOTREDCARD = Picked up a red passcard.
@ -118,11 +118,11 @@ GOTYELWSKUL = Picked up a yellow skeleton key.
GOTREDSKULL = Picked up a red skeleton key. GOTREDSKULL = Picked up a red skeleton key.
GOTINVUL = You are untouchable! GOTINVUL = You are untouchable!
GOTBERSERK = Punch 'em to death! GOTBERSERK = Punch 'em to death!
GOTINVIS = You got the Stealth Sphere! GOTINVIS = You got the stealth sphere!
GOTSUIT = Picked up a Hazard Suit. GOTSUIT = Picked up a hazard suit.
GOTMAP = Got the Tactical Survey Map. GOTMAP = Got the tactical survey map.
GOTVISOR = Got the Night Vision Goggles. GOTVISOR = Got the night vision goggles.
GOTMSPHERE = You got the Ultra-Overdrive Sphere! GOTMSPHERE = You got the ultra-overdrive sphere!
GOTCLIP = Picked up an ammo clip. GOTCLIP = Picked up an ammo clip.
GOTCLIPBOX = Picked up a box of ammo. GOTCLIPBOX = Picked up a box of ammo.
GOTROCKET = Picked up a missile. GOTROCKET = Picked up a missile.
@ -139,14 +139,14 @@ GOTLAUNCHER = You got the missile launcher!
GOTPLASMA = You got the polaric energy cannon! GOTPLASMA = You got the polaric energy cannon!
GOTSHOTGUN = You got the pump-action shotgun! GOTSHOTGUN = You got the pump-action shotgun!
GOTSHOTGUN2 = You got the double-barrelled shotgun! GOTSHOTGUN2 = You got the double-barrelled shotgun!
TAG_FIST = Fist TAG_FIST = fist
TAG_BFG9000 = SKAG 1337 TAG_BFG9000 = SKAG 1337
TAG_CHAINGUN = Minigun TAG_CHAINGUN = minigun
TAG_CHAINSAW = Angle Grinder TAG_CHAINSAW = angle grinder
TAG_ROCKETLAUNCHER = Missile Launcher TAG_ROCKETLAUNCHER = missile launcher
TAG_PLASMARIFLE = Polaric Energy Cannon TAG_PLASMARIFLE = polaric energy cannon
TAG_SHOTGUN = Pump-Action Shotgun TAG_SHOTGUN = pump-action shotgun
TAG_SUPERSHOTGUN = Double-Barrelled Shotgun TAG_SUPERSHOTGUN = double-barrelled shotgun
PD_BLUEO = This object requires a blue key. PD_BLUEO = This object requires a blue key.
PD_REDO = This object requires a red key. PD_REDO = This object requires a red key.
PD_YELLOWO = This object requires a yellow key. PD_YELLOWO = This object requires a yellow key.
@ -198,23 +198,23 @@ HUSTR_E4M6 = C4M6: Command Center
HUSTR_E4M7 = C4M7: Waste Treatment HUSTR_E4M7 = C4M7: Waste Treatment
HUSTR_E4M8 = C4M8: Launch Bay HUSTR_E4M8 = C4M8: Launch Bay
HUSTR_E4M9 = C4M9: Operations HUSTR_E4M9 = C4M9: Operations
CC_ZOMBIE = Zombie CC_ZOMBIE = zombie
CC_SHOTGUN = Shotgun Zombie CC_SHOTGUN = shotgun zombie
CC_HEAVY = Minigun Zombie CC_HEAVY = minigun zombie
CC_IMP = Serpentipede CC_IMP = serpentipede
CC_DEMON = Flesh Worm CC_DEMON = flesh worm
CC_LOST = Deadflare CC_LOST = deadflare
CC_CACO = Trilobite CC_CACO = trilobite
CC_HELL = Pain Bringer CC_HELL = pain bringer
CC_BARON = Pain Lord CC_BARON = pain lord
CC_ARACH = Technospider CC_ARACH = technospider
CC_PAIN = Summoner CC_PAIN = summoner
CC_REVEN = Dark Soldier CC_REVEN = dark soldier
CC_MANCU = Combat Slug CC_MANCU = combat slug
CC_ARCH = Flame Bringer CC_ARCH = necromancer
CC_SPIDER = Large Technospider CC_SPIDER = large technospider
CC_CYBER = Assault Tripod CC_CYBER = assault tripod
CC_HERO = Savior of Humanity CC_HERO = savior of humanity
HUSTR_1 = MAP01: Hydroelectric Plant HUSTR_1 = MAP01: Hydroelectric Plant
HUSTR_2 = MAP02: Filtration Tunnels HUSTR_2 = MAP02: Filtration Tunnels
HUSTR_3 = MAP03: Crude Processing Center HUSTR_3 = MAP03: Crude Processing Center
@ -355,7 +355,7 @@ NIGHTMARE = This is the highest skill level.\n\
E1TEXT = You've made it out of the outpost.\n\ E1TEXT = You've made it out of the outpost.\n\
But you're still stuck on this rock.\n\ But you're still stuck on this rock.\n\
AGM sure has been busy with their\n\ AGM sure has been busy with their\n\
"experiments", with those monsters\n\ "experiments," with those monsters\n\
infesting that dreadful place. You are\n\ infesting that dreadful place. You are\n\
an experiment as well, so who cares?\n\ an experiment as well, so who cares?\n\
There weren't any ships inside the\n\ There weren't any ships inside the\n\
@ -389,7 +389,7 @@ E3TEXT = The abomination explodes into\n\
An AGM teleporter is here somehow.\n\ An AGM teleporter is here somehow.\n\
They must have been here then.\n\ They must have been here then.\n\
The teleporter is set for a facility\n\ The teleporter is set for a facility\n\
called "Double Impact", which is a\n\ called "Double Impact," which is a\n\
ridiculous name. Who cares? All\n\ ridiculous name. Who cares? All\n\
you need is a working ship.\n\n\ you need is a working ship.\n\n\
You drop all your weapons on\n\ You drop all your weapons on\n\
@ -512,40 +512,40 @@ BGFLAT31 = AQF021
#STARTUP5 #STARTUP5
#SAVEGAMENAME #SAVEGAMENAME
# Obituary texts, for ZDoom-based ports. # Obituary texts, for ZDoom-based ports.
OB_STEALTHBABY=%o thought %g saw a Technospider. OB_STEALTHBABY=%o thought %g saw a technospider.
OB_STEALTHVILE=%o thought %g saw a Flame Bringer. OB_STEALTHVILE=%o thought %g saw a necromancer.
OB_STEALTHBARON=%o thought %g saw a Pain Lord. OB_STEALTHBARON=%o thought %g saw a pain lord.
OB_STEALTHCACO=%o thought %g saw a Trilobite OB_STEALTHCACO=%o thought %g saw a trilobite
OB_STEALTHCHAINGUY=%o thought %g saw a Minigun Zombie. OB_STEALTHCHAINGUY=%o thought %g saw a minigun zombie.
OB_STEALTHDEMON=%o thought %g saw a Flesh Worm. OB_STEALTHDEMON=%o thought %g saw a flesh worm.
OB_STEALTHKNIGHT=%o thought %g saw a Pain Bringer. OB_STEALTHKNIGHT=%o thought %g saw a pain bringer.
OB_STEALTHIMP=%o thought %g saw a Serpentipede. OB_STEALTHIMP=%o thought %g saw a serpentipede.
OB_STEALTHFATSO=%o thought %g saw a Combat Slug. OB_STEALTHFATSO=%o thought %g saw a combat slug.
OB_STEALTHUNDEAD=%o thought %g saw a Dark Soldier. OB_STEALTHUNDEAD=%o thought %g saw a dark soldier.
OB_STEALTHSHOTGUY=%o thought %g saw a Shotgun Zombie. OB_STEALTHSHOTGUY=%o thought %g saw a shotgun zombie.
OB_STEALTHZOMBIE=%o thought %g saw a Zombie. OB_STEALTHZOMBIE=%o thought %g saw a zombie.
OB_UNDEADHIT=%o was punched by a Dark Soldier. OB_UNDEADHIT=%o was punched by a dark soldier.
OB_IMPHIT=%o was slashed by a Serpentipede. OB_IMPHIT=%o was slashed by a serpentipede.
OB_CACOHIT=%o got too close to a Trilobite. OB_CACOHIT=%o got too close to a trilobite.
OB_DEMONHIT=%o was bitten by a Flesh Worm. OB_DEMONHIT=%o was bitten by a flesh worm.
OB_SPECTREHIT=%o was eaten by a Stealth Worm. OB_SPECTREHIT=%o was eaten by a stealth worm.
OB_BARONHIT=%o was torn open by a Pain Lord. OB_BARONHIT=%o was torn open by a pain lord.
OB_KNIGHTHIT=%o was gutted by a Pain Bringer. OB_KNIGHTHIT=%o was gutted by a pain bringer.
OB_ZOMBIE=%o was killed by a Zombie. OB_ZOMBIE=%o was killed by a zombie.
OB_SHOTGUY=%o was gunned down by a Shotgun Zombie. OB_SHOTGUY=%o was gunned down by a shotgun zombie.
OB_VILE=%o was incinerated by a Flame Bringer. OB_VILE=%o was incinerated by a necromancer.
OB_UNDEAD=%o couldn't evade the Dark Soldier's fireball. OB_UNDEAD=%o couldn't evade the dark soldier's fireball.
OB_FATSO=%o was blasted by a Combat Slug. OB_FATSO=%o was blasted by a combat slug.
OB_CHAINGUY=%o was perforated by a Minigun Zombie. OB_CHAINGUY=%o was perforated by a minigun zombie.
OB_SKULL=%o was slammed by a Deadflare. OB_SKULL=%o was slammed by a deadflare.
OB_IMP=%o was burned by a Serpentipede. OB_IMP=%o was burned by a serpentipede.
OB_CACO=%o was smitten by a Trilobite. OB_CACO=%o was smitten by a trilobite.
OB_BARON=%o was bruised by a Pain Lord. OB_BARON=%o was bruised by a pain lord.
OB_KNIGHT=%o was splayed by a Pain Bringer. OB_KNIGHT=%o was splayed by a pain bringer.
OB_SPIDER=%o stood in awe of the Large Technospider. OB_SPIDER=%o stood in awe of the large technospider.
OB_BABY=%o let a Technospider get %h. OB_BABY=%o let a technospider get %h.
OB_CYBORG=%o was splattered by an Assault Tripod. OB_CYBORG=%o was splattered by an assault tripod.
OB_WOLFSS=%o met a Sailor. OB_WOLFSS=%o met a sailor.
OB_MPFIST=%k punched %o to death. OB_MPFIST=%k punched %o to death.
OB_MPCHAINSAW=%o was shredded by %k's angle grinder. OB_MPCHAINSAW=%o was shredded by %k's angle grinder.
OB_MPPISTOL=%o was tickled by %k's handgun. OB_MPPISTOL=%o was tickled by %k's handgun.

Binary file not shown.

Binary file not shown.

View file

@ -149,7 +149,7 @@ CC_ARACH = technospider
CC_PAIN = summoner CC_PAIN = summoner
CC_REVEN = dark soldier CC_REVEN = dark soldier
CC_MANCU = combat slug CC_MANCU = combat slug
CC_ARCH = flame bringer CC_ARCH = necromancer
CC_SPIDER = large technospider CC_SPIDER = large technospider
CC_CYBER = assault tripod CC_CYBER = assault tripod
CC_HERO = savior of humanity CC_HERO = savior of humanity
@ -362,40 +362,40 @@ BGFLAT31 = AQF057
#STARTUP5 #STARTUP5
#SAVEGAMENAME #SAVEGAMENAME
# Obituary texts, for ZDoom-based ports. # Obituary texts, for ZDoom-based ports.
OB_STEALTHBABY=%o thought %g saw a Technospider. OB_STEALTHBABY=%o thought %g saw a technospider.
OB_STEALTHVILE=%o thought %g saw a Flame Bringer. OB_STEALTHVILE=%o thought %g saw a necromancer.
OB_STEALTHBARON=%o thought %g saw a Pain Lord. OB_STEALTHBARON=%o thought %g saw a pain lord.
OB_STEALTHCACO=%o thought %g saw a Trilobite. OB_STEALTHCACO=%o thought %g saw a trilobite.
OB_STEALTHCHAINGUY=%o thought %g saw a Minigun Zombie. OB_STEALTHCHAINGUY=%o thought %g saw a minigun zombie.
OB_STEALTHDEMON=%o thought %g saw a Flesh Worm. OB_STEALTHDEMON=%o thought %g saw a flesh worm.
OB_STEALTHKNIGHT=%o thought %g saw a Pain Bringer. OB_STEALTHKNIGHT=%o thought %g saw a pain bringer.
OB_STEALTHIMP=%o thought %g saw a Serpentipede. OB_STEALTHIMP=%o thought %g saw a serpentipede.
OB_STEALTHFATSO=%o thought %g saw a Combat Slug. OB_STEALTHFATSO=%o thought %g saw a combat slug.
OB_STEALTHUNDEAD=%o thought %g saw a Dark Soldier. OB_STEALTHUNDEAD=%o thought %g saw a dark soldier.
OB_STEALTHSHOTGUY=%o thought %g saw a Shotgun Zombie. OB_STEALTHSHOTGUY=%o thought %g saw a shotgun zombie.
OB_STEALTHZOMBIE=%o thought %g saw a Zombie. OB_STEALTHZOMBIE=%o thought %g saw a zombie.
OB_UNDEADHIT=%o was punched by a Dark Soldier. OB_UNDEADHIT=%o was punched by a dark soldier.
OB_IMPHIT=%o was slashed by a Serpentipede. OB_IMPHIT=%o was slashed by a serpentipede.
OB_CACOHIT=%o got too close to a Trilobite. OB_CACOHIT=%o got too close to a trilobite.
OB_DEMONHIT=%o was bitten by a Flesh Worm. OB_DEMONHIT=%o was bitten by a flesh worm.
OB_SPECTREHIT=%o was eaten by a Stealth Worm. OB_SPECTREHIT=%o was eaten by a stealth worm.
OB_BARONHIT=%o was torn open by a Pain Lord. OB_BARONHIT=%o was torn open by a pain lord.
OB_KNIGHTHIT=%o was gutted by a Pain Bringer. OB_KNIGHTHIT=%o was gutted by a pain bringer.
OB_ZOMBIE=%o was killed by a Zombie. OB_ZOMBIE=%o was killed by a zombie.
OB_SHOTGUY=%o was gunned down by a Shotgun Zombie. OB_SHOTGUY=%o was gunned down by a shotgun zombie.
OB_VILE=%o was incinerated by a Flame Bringer. OB_VILE=%o was incinerated by a necromancer.
OB_UNDEAD=%o couldn't evade the Dark Soldier's fireball. OB_UNDEAD=%o couldn't evade the dark soldier's fireball.
OB_FATSO=%o was blasted by a Combat Slug. OB_FATSO=%o was blasted by a combat slug.
OB_CHAINGUY=%o was perforated by a Minigun Zombie. OB_CHAINGUY=%o was perforated by a minigun zombie.
OB_SKULL=%o was slammed by a Deadflare. OB_SKULL=%o was slammed by a deadflare.
OB_IMP=%o was burned by a Serpentipede. OB_IMP=%o was burned by a serpentipede.
OB_CACO=%o was smitten by a Trilobite. OB_CACO=%o was smitten by a trilobite.
OB_BARON=%o was bruised by a Pain Lord. OB_BARON=%o was bruised by a pain lord.
OB_KNIGHT=%o was splayed by a Pain Bringer. OB_KNIGHT=%o was splayed by a pain bringer.
OB_SPIDER=%o stood in awe of the Large Technospider. OB_SPIDER=%o stood in awe of the large technospider.
OB_BABY=%o let a Technospider get %h. OB_BABY=%o let a technospider get %h.
OB_CYBORG=%o was splattered by an Assault Tripod. OB_CYBORG=%o was splattered by an assault tripod.
OB_WOLFSS=%o met a Sailor. OB_WOLFSS=%o met a sailor.
OB_MPFIST=%k punched %o to death. OB_MPFIST=%k punched %o to death.
OB_MPCHAINSAW=%o was shredded by %k's angle grinder. OB_MPCHAINSAW=%o was shredded by %k's angle grinder.
OB_MPPISTOL=%o was tickled by %k's handgun. OB_MPPISTOL=%o was tickled by %k's handgun.

View file

@ -1845,11 +1845,8 @@ WFALL4 64 128
; These textures are only in Ultimate Doom ; These textures are only in Ultimate Doom
SKY4 1024 128 SKY4 256 128
* SKY4A 0 0 * SKY4 0 0
* SKY4A 256 0
* SKY4B 512 0
* SKY4A 768 0
#endif #endif

1
manual/.gitignore vendored Normal file
View file

@ -0,0 +1 @@
manual.pdf

View file

@ -1,6 +1,7 @@
all: freedoom-manual.pdf all: freedoom-manual.pdf
freedoom-manual.pdf: manual.adoc freedoom-manual.pdf: manual.adoc
asciidoctor-pdf -a toc manual.adoc -o $@ asciidoctor-pdf -a toc manual.adoc -o $@
clean:
$(RM) freedoom-manual.pdf

View file

Before

Width:  |  Height:  |  Size: 39 KiB

After

Width:  |  Height:  |  Size: 39 KiB

Before After
Before After

View file

@ -92,9 +92,9 @@ effectively the same as _Will This Hurt?_, except that damage is halved.
| 2 | **Will This Hurt?** | Easy skill level, a good choice if you're | 2 | **Will This Hurt?** | Easy skill level, a good choice if you're
finding _Bring on the Pain_ too challenging. finding _Bring on the Pain_ too challenging.
| 3 | **Bring on the Pain.** | The default skill level. | 3 | **Bring on the Pain.** | The default skill level.
| 4 | **Extreme Carnage** | A more challenging skill level, suited more | 4 | **Extreme Carnage.** | A more challenging skill level, suited more
for experienced players and people in search of a challenge. for experienced players and people in search of a challenge.
| 5 | **INSANITY!** | **Not Recommended**. This is equivalent to | 5 | **MAYHEM!** | **Not Recommended**. This is equivalent to
_Extreme Carnage_ except that monster attacks are up to twice as fast, _Extreme Carnage_ except that monster attacks are up to twice as fast,
and killed monsters come back to life after around 40 seconds. and killed monsters come back to life after around 40 seconds.
|========================== |==========================
@ -145,15 +145,15 @@ accessing common menu functions.
| **Esc** | <<menus,Menu>> | Bring up the main menu. | **Esc** | <<menus,Menu>> | Bring up the main menu.
| **F1** | Help | Bring up the help screen that shows information about the | **F1** | Help | Bring up the help screen that shows information about the
in-game items. in-game items.
| **F2** | <<savegames,Save>> | Bring up the _Save Game_ menu. | **F2** | <<savegame,Save>> | Bring up the _Save Game_ menu.
| **F3** | <<savegames,Load>> | Bring up the _Load Game_ menu. | **F3** | <<savegame,Load>> | Bring up the _Load Game_ menu.
| **F4** | Volume | Bring up a menu to control volume levels. | **F4** | Volume | Bring up a menu to control volume levels.
| **F6** | <<savegames,Quicksave>> | Save the game to your _quicksave_ slot, | **F6** | <<savegame,Quicksave>> | Save the game to your _quicksave_ slot,
which saves time if you're repeatedly saving your progress while you play. which saves time if you're repeatedly saving your progress while you play.
| **F7** | End Game | End the current game and return to the title screen. | **F7** | End Game | End the current game and return to the title screen.
| **F8** | Messages | Toggles between showing or hiding the on-screen | **F8** | Messages | Toggles between showing or hiding the on-screen
messages shown when you collect an item. messages shown when you collect an item.
| **F9** | <<savegames,Quickload>> | Load the game from your _quicksave_ slot. | **F9** | <<savegame,Quickload>> | Load the game from your _quicksave_ slot.
| **F10** | Quit Game | Quit the game and return to the operating system. | **F10** | Quit Game | Quit the game and return to the operating system.
| **F11** | Brightness | Toggle the on-screen brightness level. | **F11** | Brightness | Toggle the on-screen brightness level.
|========================== |==========================
@ -278,8 +278,8 @@ you're exploring.
image:../sprites/clipa0.png[Ammo Clip] | image:../sprites/clipa0.png[Ammo Clip] |
image:../sprites/ammoa0.png[Ammo Clip] image:../sprites/ammoa0.png[Ammo Clip]
| **Shells** | | **Shells** |
image:../sprites/cella0.png[Small Energy Recharge] | image:../sprites/shela0.png[Shotgun Shells] |
image:../sprites/celpa0.png[Large Energy Recharge] image:../sprites/sboxa0.png[Box of Shotgun Shells]
| **Missiles** | | **Missiles** |
image:../sprites/rocka0.png[Missile] | image:../sprites/rocka0.png[Missile] |
image:../sprites/broka0.png[Crate of Missiles] image:../sprites/broka0.png[Crate of Missiles]
@ -431,10 +431,10 @@ image:images/monster-pain-lord.png[Pain Lord,100,100]
Fast moving, tough, and fires heat-seeking missiles. Do not get into a boxing Fast moving, tough, and fires heat-seeking missiles. Do not get into a boxing
match with one of these guys. | match with one of these guys. |
image:images/monster-dark-soldier.png[Dark Soldier,100,100] image:images/monster-dark-soldier.png[Dark Soldier,100,100]
| **Flame Bringer** | | **Necromancer** |
If he's not setting you on fire, he's undoing all your hard work by bringing If he's not setting you on fire, he's undoing all your hard work by bringing
his friends back from the dead. | his friends back from the dead. |
image:images/monster-flame-bringer.png[Flame Bringer,100,100] image:images/monster-necromancer.png[Necromancer,100,100]
| **Combat Slug** | | **Combat Slug** |
These genetically-engineered super-slugs have been fitted with long distance These genetically-engineered super-slugs have been fitted with long distance
flame throwers, practically making them into living, slithering tanks. | flame throwers, practically making them into living, slithering tanks. |
@ -544,8 +544,8 @@ suggestions:
* Take cover! Monsters only attack when you're in their line of sight. You'll * Take cover! Monsters only attack when you're in their line of sight. You'll
want to find walls, pillars and other forms of cover you can hide behind want to find walls, pillars and other forms of cover you can hide behind
while your weapon reloads. This advice is particularly important when while your weapon reloads. This advice is particularly important when
facing certain monsters which can "lock on" to you (Minigun Zombie; Flame facing certain monsters which can "lock on" to you (Minigun Zombie;
Bringer); hiding from these is a crucial skill. Necromancer); hiding from these is a crucial skill.
* Many of the levels are littered with exploding barrels. While these can pose * Many of the levels are littered with exploding barrels. While these can pose
a danger to you, they're equally dangerous to your opponents. A single, a danger to you, they're equally dangerous to your opponents. A single,

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7.8 KiB

After

Width:  |  Height:  |  Size: 8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 8.3 KiB

After

Width:  |  Height:  |  Size: 8.5 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 7 KiB

After

Width:  |  Height:  |  Size: 6.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 474 B

After

Width:  |  Height:  |  Size: 268 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 491 B

After

Width:  |  Height:  |  Size: 280 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 489 B

After

Width:  |  Height:  |  Size: 275 B

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 10 KiB

After

Width:  |  Height:  |  Size: 8.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 18 KiB

After

Width:  |  Height:  |  Size: 13 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 4.6 KiB

After

Width:  |  Height:  |  Size: 7.8 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 5.9 KiB

After

Width:  |  Height:  |  Size: 2.6 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 9.1 KiB

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.7 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

Binary file not shown.

Before

Width:  |  Height:  |  Size: 2.6 KiB

After

Width:  |  Height:  |  Size: 2.3 KiB

Before After
Before After

Binary file not shown.