Merge github.com:freedoom/freedoom
|
@ -5,7 +5,7 @@ system.
|
|||
|
||||
== 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
|
||||
files are built from the Freedoom material. Therefore, the Freedoom
|
||||
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
|
||||
+wadinfo.txt+. In the case of Freedoom, multiple different WADs are
|
||||
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
|
||||
build.
|
||||
|
||||
|
@ -80,7 +80,7 @@ based on the type of output target desired:
|
|||
The texture configuration file is used to generate the texture lumps.
|
||||
These are +texture1.lmp+ (texture directory), +pnames.lmp+ (list of
|
||||
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; deutex’s internal texture builder
|
||||
is deliberately not used for compatibility reasons.
|
||||
|
||||
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
|
||||
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
|
||||
them and require this file.
|
||||
|
||||
== 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
|
||||
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
|
||||
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 Freedoom’s texture lumps are now built using a custom
|
||||
script.
|
||||
|
||||
* deutex requires an existing IWAD file in order to build WAD files,
|
||||
|
|
|
@ -1,9 +1,9 @@
|
|||
Compiling Freedoom
|
||||
==================
|
||||
|
||||
This document is a general overview of Freedoom's dependencies
|
||||
This document is a general overview of Freedoom’s dependencies
|
||||
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.
|
||||
|
||||
Required software
|
||||
|
@ -11,26 +11,24 @@ Required software
|
|||
|
||||
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
|
||||
https://www.gnu.org/software/make/[GNU Make] (patches to fix
|
||||
portability are most welcome!). On non-GNU systems, it might be
|
||||
available in a package and binary named as 'gmake'.
|
||||
* 'Python': Freedoom uses several Python programs in its tree to
|
||||
available in a package and binary named as _gmake_.
|
||||
* _Python_: Freedoom uses several Python programs in its tree to
|
||||
assist with building the IWADs. Both Python 2.7 and 3.x are fully
|
||||
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
|
||||
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
|
||||
available at https://github.com/Doom-Utils/deutex in source and
|
||||
Windows binary formats. As of July 2017, this version is very
|
||||
recent and may not be widely available in Unix distribution
|
||||
repositories yet.
|
||||
Windows binary formats.
|
||||
|
||||
All or most of this software should already be available in your
|
||||
operating system's software repository, with the likely exception of
|
||||
operating system’s software repository, with the likely exception of
|
||||
DeuTex, which is easy to build.
|
||||
|
||||
Building Freedoom
|
||||
|
@ -69,14 +67,14 @@ this document.
|
|||
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.
|
||||
* '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
|
||||
documents. This is used as part of the `make dist` target, to
|
||||
generate the `README.html` file for inclusion with official Zip
|
||||
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
|
||||
way to automate generating in-development versions for other
|
||||
people.
|
||||
|
|
16
README.adoc
|
@ -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
|
||||
_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
|
||||
systems, these data files should go in either +/usr/share/games/doom+
|
||||
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.
|
||||
* Use the +DOOMWADPATH+ environment variable. Many engines support
|
||||
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 system’s normal
|
||||
+PATH+ environment variable.
|
||||
* 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
|
||||
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
|
||||
removing engine. This means that you may exceed the limits of the
|
||||
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
|
||||
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
|
||||
within the progression of the game. Also bear in mind that not
|
||||
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,
|
||||
may not render it properly. Examples of tricks to avoid include
|
||||
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
|
||||
_Doom_ graphics, as to remain compatible with mods. Otherwise, levels
|
||||
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 doesn’t clash.
|
||||
|
||||
_Doom_ uses a fictional corporation abbreviated as “UAC:” this is
|
||||
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
|
||||
text.
|
||||
* 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 you’re typing by
|
||||
performing `set textwidth=72`. Special exceptions to the width
|
||||
rule might be allowed when necessary (for example, inserting long
|
||||
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_
|
||||
maintainers to do it instead: that is our normal mode of operation.
|
||||
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 GitHub’s direct pull requests being the
|
||||
simplest, but by far not the only means.
|
||||
|
||||
Freedoom uses the commit message style commonly seen in distributed
|
||||
|
|
|
@ -2285,7 +2285,7 @@ BON2A0 6 19
|
|||
BON2B0 6 19
|
||||
BON2C0 6 19
|
||||
BON2D0 6 19
|
||||
BPAKA0 8 26
|
||||
BPAKA0 11 26
|
||||
BROKA0 27 20
|
||||
CANDA0 8 15
|
||||
CBRAA0 14 61
|
||||
|
|
4
dist/freedoom
vendored
|
@ -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
|
||||
# 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 port’s argument list.
|
||||
|
||||
if [ $# -gt 0 ]; then
|
||||
if [ "$1" = "-p" ]; then
|
||||
|
@ -54,7 +54,7 @@ for port in $PORTS; do
|
|||
done
|
||||
done
|
||||
|
||||
# If we've reached this far, no engine was successfully executed.
|
||||
# If we’ve reached this far, no engine was successfully executed.
|
||||
# print message to stderr and exit with a status of 1.
|
||||
|
||||
cat <<EOF >&2
|
||||
|
|
14
dist/freedoom.adoc
vendored
|
@ -8,30 +8,30 @@ freedoom - Automatically launch Freedoom with an engine
|
|||
|
||||
SYNOPSIS
|
||||
--------
|
||||
*freedoom* ['-p' 'PORT'|'--'] ['ARGS']
|
||||
*freedoom* [_-p_ _PORT_|_--_] [_ARGS_]
|
||||
|
||||
DESCRIPTION
|
||||
-----------
|
||||
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
|
||||
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
|
||||
active community since 1993.
|
||||
|
||||
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
|
||||
playing Freedoom should remain simple. Only accepted as the first
|
||||
argument, you may pass '-p PORT', which will run Freedoom using the
|
||||
'PORT' specified. As an alternative, you may make a symbolic link
|
||||
argument, you may pass _-p PORT_, which will run Freedoom using the
|
||||
_PORT_ specified. As an alternative, you may make a symbolic link
|
||||
named +$HOME/.doomport+ to your preferred port. A port specified on
|
||||
the command line explicitly overrides +$HOME/.doomport+, whereas the
|
||||
existence of the symbolic link will override the detection of port
|
||||
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
|
||||
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.
|
||||
|
||||
COPYRIGHT
|
||||
|
|
BIN
flats/flat22.png
Before Width: | Height: | Size: 1.8 KiB After Width: | Height: | Size: 1.5 KiB |
BIN
flats/flat23.png
Before Width: | Height: | Size: 1.2 KiB After Width: | Height: | Size: 919 B |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 1.7 KiB After Width: | Height: | Size: 1.6 KiB |
Before Width: | Height: | Size: 2.4 KiB After Width: | Height: | Size: 1.9 KiB |
Before Width: | Height: | Size: 3.2 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 2.9 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3.1 KiB After Width: | Height: | Size: 2.7 KiB |
Before Width: | Height: | Size: 3 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 4.4 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 4.5 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 2.8 KiB |
Before Width: | Height: | Size: 4 KiB After Width: | Height: | Size: 2.6 KiB |
|
@ -105,8 +105,8 @@ red_graphics = {
|
|||
'm_jkill': 'Please don\'t kill me!',
|
||||
'm_rough': 'Will this hurt?',
|
||||
'm_hurt': 'Bring on the pain.',
|
||||
'm_ultra': 'Extreme Carnage',
|
||||
'm_nmare': 'INSANITY!',
|
||||
'm_ultra': 'Extreme Carnage.',
|
||||
'm_nmare': 'MAYHEM!',
|
||||
|
||||
'm_lgttl': 'LOAD GAME',
|
||||
'm_sgttl': 'SAVE GAME',
|
||||
|
|
BIN
levels/c1m1.wad
BIN
levels/c1m2.wad
BIN
levels/c1m3.wad
BIN
levels/c1m4.wad
BIN
levels/c1m5.wad
BIN
levels/c1m6.wad
BIN
levels/c1m7.wad
BIN
levels/c1m9.wad
BIN
levels/dm31.wad
BIN
levels/dm32.wad
BIN
levels/map01.wad
BIN
levels/map06.wad
BIN
levels/map08.wad
BIN
levels/map13.wad
BIN
levels/map14.wad
BIN
levels/map18.wad
BIN
levels/map19.wad
BIN
levels/map24.wad
BIN
levels/map32.wad
9
lumps/README.DEMO
Normal 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.
|
|
@ -132,8 +132,9 @@ def invert_colors(colors):
|
|||
result = []
|
||||
|
||||
for color in colors:
|
||||
average = (color[0] + color[1] + color[2]) // 3
|
||||
inverse = 255 - average
|
||||
# Formula comes from ITU-R recommendation BT.709
|
||||
gray = round(color[0]*0.2126 + color[1]*0.7152 + color[2]*0.0722)
|
||||
inverse = 255 - gray
|
||||
|
||||
result.append((inverse, inverse, inverse))
|
||||
|
||||
|
|
|
@ -109,7 +109,7 @@ GOTARMBONUS = Got a 1% armor bonus.
|
|||
GOTSTIM = Picked up a small health pack.
|
||||
GOTMEDINEED = Found a large health pack, just in time!
|
||||
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.
|
||||
GOTYELWCARD = Picked up a yellow 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.
|
||||
GOTINVUL = You are untouchable!
|
||||
GOTBERSERK = Punch 'em to death!
|
||||
GOTINVIS = You got the Stealth Sphere!
|
||||
GOTSUIT = Picked up a Hazard Suit.
|
||||
GOTMAP = Got the Tactical Survey Map.
|
||||
GOTVISOR = Got the Night Vision Goggles.
|
||||
GOTMSPHERE = You got the Ultra-Overdrive Sphere!
|
||||
GOTINVIS = You got the stealth sphere!
|
||||
GOTSUIT = Picked up a hazard suit.
|
||||
GOTMAP = Got the tactical survey map.
|
||||
GOTVISOR = Got the night vision goggles.
|
||||
GOTMSPHERE = You got the ultra-overdrive sphere!
|
||||
GOTCLIP = Picked up an ammo clip.
|
||||
GOTCLIPBOX = Picked up a box of ammo.
|
||||
GOTROCKET = Picked up a missile.
|
||||
|
@ -139,14 +139,14 @@ GOTLAUNCHER = You got the missile launcher!
|
|||
GOTPLASMA = You got the polaric energy cannon!
|
||||
GOTSHOTGUN = You got the pump-action shotgun!
|
||||
GOTSHOTGUN2 = You got the double-barrelled shotgun!
|
||||
TAG_FIST = Fist
|
||||
TAG_FIST = fist
|
||||
TAG_BFG9000 = SKAG 1337
|
||||
TAG_CHAINGUN = Minigun
|
||||
TAG_CHAINSAW = Angle Grinder
|
||||
TAG_ROCKETLAUNCHER = Missile Launcher
|
||||
TAG_PLASMARIFLE = Polaric Energy Cannon
|
||||
TAG_SHOTGUN = Pump-Action Shotgun
|
||||
TAG_SUPERSHOTGUN = Double-Barrelled Shotgun
|
||||
TAG_CHAINGUN = minigun
|
||||
TAG_CHAINSAW = angle grinder
|
||||
TAG_ROCKETLAUNCHER = missile launcher
|
||||
TAG_PLASMARIFLE = polaric energy cannon
|
||||
TAG_SHOTGUN = pump-action shotgun
|
||||
TAG_SUPERSHOTGUN = double-barrelled shotgun
|
||||
PD_BLUEO = This object requires a blue key.
|
||||
PD_REDO = This object requires a red key.
|
||||
PD_YELLOWO = This object requires a yellow key.
|
||||
|
@ -198,23 +198,23 @@ HUSTR_E4M6 = C4M6: Command Center
|
|||
HUSTR_E4M7 = C4M7: Waste Treatment
|
||||
HUSTR_E4M8 = C4M8: Launch Bay
|
||||
HUSTR_E4M9 = C4M9: Operations
|
||||
CC_ZOMBIE = Zombie
|
||||
CC_SHOTGUN = Shotgun Zombie
|
||||
CC_HEAVY = Minigun Zombie
|
||||
CC_IMP = Serpentipede
|
||||
CC_DEMON = Flesh Worm
|
||||
CC_LOST = Deadflare
|
||||
CC_CACO = Trilobite
|
||||
CC_HELL = Pain Bringer
|
||||
CC_BARON = Pain Lord
|
||||
CC_ARACH = Technospider
|
||||
CC_PAIN = Summoner
|
||||
CC_REVEN = Dark Soldier
|
||||
CC_MANCU = Combat Slug
|
||||
CC_ARCH = Flame Bringer
|
||||
CC_SPIDER = Large Technospider
|
||||
CC_CYBER = Assault Tripod
|
||||
CC_HERO = Savior of Humanity
|
||||
CC_ZOMBIE = zombie
|
||||
CC_SHOTGUN = shotgun zombie
|
||||
CC_HEAVY = minigun zombie
|
||||
CC_IMP = serpentipede
|
||||
CC_DEMON = flesh worm
|
||||
CC_LOST = deadflare
|
||||
CC_CACO = trilobite
|
||||
CC_HELL = pain bringer
|
||||
CC_BARON = pain lord
|
||||
CC_ARACH = technospider
|
||||
CC_PAIN = summoner
|
||||
CC_REVEN = dark soldier
|
||||
CC_MANCU = combat slug
|
||||
CC_ARCH = necromancer
|
||||
CC_SPIDER = large technospider
|
||||
CC_CYBER = assault tripod
|
||||
CC_HERO = savior of humanity
|
||||
HUSTR_1 = MAP01: Hydroelectric Plant
|
||||
HUSTR_2 = MAP02: Filtration Tunnels
|
||||
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\
|
||||
But you're still stuck on this rock.\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\
|
||||
an experiment as well, so who cares?\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\
|
||||
They must have been here then.\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\
|
||||
you need is a working ship.\n\n\
|
||||
You drop all your weapons on\n\
|
||||
|
@ -512,40 +512,40 @@ BGFLAT31 = AQF021
|
|||
#STARTUP5
|
||||
#SAVEGAMENAME
|
||||
# Obituary texts, for ZDoom-based ports.
|
||||
OB_STEALTHBABY=%o thought %g saw a Technospider.
|
||||
OB_STEALTHVILE=%o thought %g saw a Flame Bringer.
|
||||
OB_STEALTHBARON=%o thought %g saw a Pain Lord.
|
||||
OB_STEALTHCACO=%o thought %g saw a Trilobite
|
||||
OB_STEALTHCHAINGUY=%o thought %g saw a Minigun Zombie.
|
||||
OB_STEALTHDEMON=%o thought %g saw a Flesh Worm.
|
||||
OB_STEALTHKNIGHT=%o thought %g saw a Pain Bringer.
|
||||
OB_STEALTHIMP=%o thought %g saw a Serpentipede.
|
||||
OB_STEALTHFATSO=%o thought %g saw a Combat Slug.
|
||||
OB_STEALTHUNDEAD=%o thought %g saw a Dark Soldier.
|
||||
OB_STEALTHSHOTGUY=%o thought %g saw a Shotgun Zombie.
|
||||
OB_STEALTHZOMBIE=%o thought %g saw a Zombie.
|
||||
OB_UNDEADHIT=%o was punched by a Dark Soldier.
|
||||
OB_IMPHIT=%o was slashed by a Serpentipede.
|
||||
OB_CACOHIT=%o got too close to a Trilobite.
|
||||
OB_DEMONHIT=%o was bitten by a Flesh Worm.
|
||||
OB_SPECTREHIT=%o was eaten by a Stealth Worm.
|
||||
OB_BARONHIT=%o was torn open by a Pain Lord.
|
||||
OB_KNIGHTHIT=%o was gutted by a Pain Bringer.
|
||||
OB_ZOMBIE=%o was killed by a Zombie.
|
||||
OB_SHOTGUY=%o was gunned down by a Shotgun Zombie.
|
||||
OB_VILE=%o was incinerated by a Flame Bringer.
|
||||
OB_UNDEAD=%o couldn't evade the Dark Soldier's fireball.
|
||||
OB_FATSO=%o was blasted by a Combat Slug.
|
||||
OB_CHAINGUY=%o was perforated by a Minigun Zombie.
|
||||
OB_SKULL=%o was slammed by a Deadflare.
|
||||
OB_IMP=%o was burned by a Serpentipede.
|
||||
OB_CACO=%o was smitten by a Trilobite.
|
||||
OB_BARON=%o was bruised by a Pain Lord.
|
||||
OB_KNIGHT=%o was splayed by a Pain Bringer.
|
||||
OB_SPIDER=%o stood in awe of the Large Technospider.
|
||||
OB_BABY=%o let a Technospider get %h.
|
||||
OB_CYBORG=%o was splattered by an Assault Tripod.
|
||||
OB_WOLFSS=%o met a Sailor.
|
||||
OB_STEALTHBABY=%o thought %g saw a technospider.
|
||||
OB_STEALTHVILE=%o thought %g saw a necromancer.
|
||||
OB_STEALTHBARON=%o thought %g saw a pain lord.
|
||||
OB_STEALTHCACO=%o thought %g saw a trilobite
|
||||
OB_STEALTHCHAINGUY=%o thought %g saw a minigun zombie.
|
||||
OB_STEALTHDEMON=%o thought %g saw a flesh worm.
|
||||
OB_STEALTHKNIGHT=%o thought %g saw a pain bringer.
|
||||
OB_STEALTHIMP=%o thought %g saw a serpentipede.
|
||||
OB_STEALTHFATSO=%o thought %g saw a combat slug.
|
||||
OB_STEALTHUNDEAD=%o thought %g saw a dark soldier.
|
||||
OB_STEALTHSHOTGUY=%o thought %g saw a shotgun zombie.
|
||||
OB_STEALTHZOMBIE=%o thought %g saw a zombie.
|
||||
OB_UNDEADHIT=%o was punched by a dark soldier.
|
||||
OB_IMPHIT=%o was slashed by a serpentipede.
|
||||
OB_CACOHIT=%o got too close to a trilobite.
|
||||
OB_DEMONHIT=%o was bitten by a flesh worm.
|
||||
OB_SPECTREHIT=%o was eaten by a stealth worm.
|
||||
OB_BARONHIT=%o was torn open by a pain lord.
|
||||
OB_KNIGHTHIT=%o was gutted by a pain bringer.
|
||||
OB_ZOMBIE=%o was killed by a zombie.
|
||||
OB_SHOTGUY=%o was gunned down by a shotgun zombie.
|
||||
OB_VILE=%o was incinerated by a necromancer.
|
||||
OB_UNDEAD=%o couldn't evade the dark soldier's fireball.
|
||||
OB_FATSO=%o was blasted by a combat slug.
|
||||
OB_CHAINGUY=%o was perforated by a minigun zombie.
|
||||
OB_SKULL=%o was slammed by a deadflare.
|
||||
OB_IMP=%o was burned by a serpentipede.
|
||||
OB_CACO=%o was smitten by a trilobite.
|
||||
OB_BARON=%o was bruised by a pain lord.
|
||||
OB_KNIGHT=%o was splayed by a pain bringer.
|
||||
OB_SPIDER=%o stood in awe of the large technospider.
|
||||
OB_BABY=%o let a technospider get %h.
|
||||
OB_CYBORG=%o was splattered by an assault tripod.
|
||||
OB_WOLFSS=%o met a sailor.
|
||||
OB_MPFIST=%k punched %o to death.
|
||||
OB_MPCHAINSAW=%o was shredded by %k's angle grinder.
|
||||
OB_MPPISTOL=%o was tickled by %k's handgun.
|
||||
|
|
|
@ -149,7 +149,7 @@ CC_ARACH = technospider
|
|||
CC_PAIN = summoner
|
||||
CC_REVEN = dark soldier
|
||||
CC_MANCU = combat slug
|
||||
CC_ARCH = flame bringer
|
||||
CC_ARCH = necromancer
|
||||
CC_SPIDER = large technospider
|
||||
CC_CYBER = assault tripod
|
||||
CC_HERO = savior of humanity
|
||||
|
@ -362,40 +362,40 @@ BGFLAT31 = AQF057
|
|||
#STARTUP5
|
||||
#SAVEGAMENAME
|
||||
# Obituary texts, for ZDoom-based ports.
|
||||
OB_STEALTHBABY=%o thought %g saw a Technospider.
|
||||
OB_STEALTHVILE=%o thought %g saw a Flame Bringer.
|
||||
OB_STEALTHBARON=%o thought %g saw a Pain Lord.
|
||||
OB_STEALTHCACO=%o thought %g saw a Trilobite.
|
||||
OB_STEALTHCHAINGUY=%o thought %g saw a Minigun Zombie.
|
||||
OB_STEALTHDEMON=%o thought %g saw a Flesh Worm.
|
||||
OB_STEALTHKNIGHT=%o thought %g saw a Pain Bringer.
|
||||
OB_STEALTHIMP=%o thought %g saw a Serpentipede.
|
||||
OB_STEALTHFATSO=%o thought %g saw a Combat Slug.
|
||||
OB_STEALTHUNDEAD=%o thought %g saw a Dark Soldier.
|
||||
OB_STEALTHSHOTGUY=%o thought %g saw a Shotgun Zombie.
|
||||
OB_STEALTHZOMBIE=%o thought %g saw a Zombie.
|
||||
OB_UNDEADHIT=%o was punched by a Dark Soldier.
|
||||
OB_IMPHIT=%o was slashed by a Serpentipede.
|
||||
OB_CACOHIT=%o got too close to a Trilobite.
|
||||
OB_DEMONHIT=%o was bitten by a Flesh Worm.
|
||||
OB_SPECTREHIT=%o was eaten by a Stealth Worm.
|
||||
OB_BARONHIT=%o was torn open by a Pain Lord.
|
||||
OB_KNIGHTHIT=%o was gutted by a Pain Bringer.
|
||||
OB_ZOMBIE=%o was killed by a Zombie.
|
||||
OB_SHOTGUY=%o was gunned down by a Shotgun Zombie.
|
||||
OB_VILE=%o was incinerated by a Flame Bringer.
|
||||
OB_UNDEAD=%o couldn't evade the Dark Soldier's fireball.
|
||||
OB_FATSO=%o was blasted by a Combat Slug.
|
||||
OB_CHAINGUY=%o was perforated by a Minigun Zombie.
|
||||
OB_SKULL=%o was slammed by a Deadflare.
|
||||
OB_IMP=%o was burned by a Serpentipede.
|
||||
OB_CACO=%o was smitten by a Trilobite.
|
||||
OB_BARON=%o was bruised by a Pain Lord.
|
||||
OB_KNIGHT=%o was splayed by a Pain Bringer.
|
||||
OB_SPIDER=%o stood in awe of the Large Technospider.
|
||||
OB_BABY=%o let a Technospider get %h.
|
||||
OB_CYBORG=%o was splattered by an Assault Tripod.
|
||||
OB_WOLFSS=%o met a Sailor.
|
||||
OB_STEALTHBABY=%o thought %g saw a technospider.
|
||||
OB_STEALTHVILE=%o thought %g saw a necromancer.
|
||||
OB_STEALTHBARON=%o thought %g saw a pain lord.
|
||||
OB_STEALTHCACO=%o thought %g saw a trilobite.
|
||||
OB_STEALTHCHAINGUY=%o thought %g saw a minigun zombie.
|
||||
OB_STEALTHDEMON=%o thought %g saw a flesh worm.
|
||||
OB_STEALTHKNIGHT=%o thought %g saw a pain bringer.
|
||||
OB_STEALTHIMP=%o thought %g saw a serpentipede.
|
||||
OB_STEALTHFATSO=%o thought %g saw a combat slug.
|
||||
OB_STEALTHUNDEAD=%o thought %g saw a dark soldier.
|
||||
OB_STEALTHSHOTGUY=%o thought %g saw a shotgun zombie.
|
||||
OB_STEALTHZOMBIE=%o thought %g saw a zombie.
|
||||
OB_UNDEADHIT=%o was punched by a dark soldier.
|
||||
OB_IMPHIT=%o was slashed by a serpentipede.
|
||||
OB_CACOHIT=%o got too close to a trilobite.
|
||||
OB_DEMONHIT=%o was bitten by a flesh worm.
|
||||
OB_SPECTREHIT=%o was eaten by a stealth worm.
|
||||
OB_BARONHIT=%o was torn open by a pain lord.
|
||||
OB_KNIGHTHIT=%o was gutted by a pain bringer.
|
||||
OB_ZOMBIE=%o was killed by a zombie.
|
||||
OB_SHOTGUY=%o was gunned down by a shotgun zombie.
|
||||
OB_VILE=%o was incinerated by a necromancer.
|
||||
OB_UNDEAD=%o couldn't evade the dark soldier's fireball.
|
||||
OB_FATSO=%o was blasted by a combat slug.
|
||||
OB_CHAINGUY=%o was perforated by a minigun zombie.
|
||||
OB_SKULL=%o was slammed by a deadflare.
|
||||
OB_IMP=%o was burned by a serpentipede.
|
||||
OB_CACO=%o was smitten by a trilobite.
|
||||
OB_BARON=%o was bruised by a pain lord.
|
||||
OB_KNIGHT=%o was splayed by a pain bringer.
|
||||
OB_SPIDER=%o stood in awe of the large technospider.
|
||||
OB_BABY=%o let a technospider get %h.
|
||||
OB_CYBORG=%o was splattered by an assault tripod.
|
||||
OB_WOLFSS=%o met a sailor.
|
||||
OB_MPFIST=%k punched %o to death.
|
||||
OB_MPCHAINSAW=%o was shredded by %k's angle grinder.
|
||||
OB_MPPISTOL=%o was tickled by %k's handgun.
|
||||
|
|
|
@ -1845,11 +1845,8 @@ WFALL4 64 128
|
|||
|
||||
; These textures are only in Ultimate Doom
|
||||
|
||||
SKY4 1024 128
|
||||
* SKY4A 0 0
|
||||
* SKY4A 256 0
|
||||
* SKY4B 512 0
|
||||
* SKY4A 768 0
|
||||
SKY4 256 128
|
||||
* SKY4 0 0
|
||||
|
||||
#endif
|
||||
|
||||
|
|
1
manual/.gitignore
vendored
Normal file
|
@ -0,0 +1 @@
|
|||
manual.pdf
|
|
@ -1,6 +1,7 @@
|
|||
|
||||
all: freedoom-manual.pdf
|
||||
|
||||
freedoom-manual.pdf: manual.adoc
|
||||
asciidoctor-pdf -a toc manual.adoc -o $@
|
||||
|
||||
clean:
|
||||
$(RM) freedoom-manual.pdf
|
||||
|
|
Before Width: | Height: | Size: 39 KiB After Width: | Height: | Size: 39 KiB |
|
@ -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
|
||||
finding _Bring on the Pain_ too challenging.
|
||||
| 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.
|
||||
| 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,
|
||||
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.
|
||||
| **F1** | Help | Bring up the help screen that shows information about the
|
||||
in-game items.
|
||||
| **F2** | <<savegames,Save>> | Bring up the _Save Game_ menu.
|
||||
| **F3** | <<savegames,Load>> | Bring up the _Load Game_ menu.
|
||||
| **F2** | <<savegame,Save>> | Bring up the _Save Game_ menu.
|
||||
| **F3** | <<savegame,Load>> | Bring up the _Load Game_ menu.
|
||||
| **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.
|
||||
| **F7** | End Game | End the current game and return to the title screen.
|
||||
| **F8** | Messages | Toggles between showing or hiding the on-screen
|
||||
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.
|
||||
| **F11** | Brightness | Toggle the on-screen brightness level.
|
||||
|==========================
|
||||
|
@ -231,7 +231,7 @@ soon as possible.
|
|||
| **Fist** | 1 | If you have no ammunition, you can always fall back on punching the
|
||||
monsters with your bare hands. | | None
|
||||
| **Angle Grinder** | 1 | Designed for cutting through metal, the angle grinder
|
||||
also works well as a melee weapon for cutting through flesh. |
|
||||
also works well as a melee weapon for cutting through flesh. |
|
||||
image:../sprites/csawa0.png[Angle Grinder] |
|
||||
None
|
||||
| **Handgun** | 2 | Your starter weapon. A few shots will take down low-level
|
||||
|
@ -278,8 +278,8 @@ you're exploring.
|
|||
image:../sprites/clipa0.png[Ammo Clip] |
|
||||
image:../sprites/ammoa0.png[Ammo Clip]
|
||||
| **Shells** |
|
||||
image:../sprites/cella0.png[Small Energy Recharge] |
|
||||
image:../sprites/celpa0.png[Large Energy Recharge]
|
||||
image:../sprites/shela0.png[Shotgun Shells] |
|
||||
image:../sprites/sboxa0.png[Box of Shotgun Shells]
|
||||
| **Missiles** |
|
||||
image:../sprites/rocka0.png[Missile] |
|
||||
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
|
||||
match with one of these guys. |
|
||||
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
|
||||
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** |
|
||||
These genetically-engineered super-slugs have been fitted with long distance
|
||||
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
|
||||
want to find walls, pillars and other forms of cover you can hide behind
|
||||
while your weapon reloads. This advice is particularly important when
|
||||
facing certain monsters which can "lock on" to you (Minigun Zombie; Flame
|
||||
Bringer); hiding from these is a crucial skill.
|
||||
facing certain monsters which can "lock on" to you (Minigun Zombie;
|
||||
Necromancer); hiding from these is a crucial skill.
|
||||
|
||||
* 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,
|
||||
|
|
Before Width: | Height: | Size: 7.8 KiB After Width: | Height: | Size: 8 KiB |
Before Width: | Height: | Size: 8.3 KiB After Width: | Height: | Size: 8.5 KiB |
Before Width: | Height: | Size: 7 KiB After Width: | Height: | Size: 6.3 KiB |
Before Width: | Height: | Size: 474 B After Width: | Height: | Size: 268 B |
Before Width: | Height: | Size: 491 B After Width: | Height: | Size: 280 B |
Before Width: | Height: | Size: 489 B After Width: | Height: | Size: 275 B |
Before Width: | Height: | Size: 10 KiB After Width: | Height: | Size: 8.8 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 18 KiB After Width: | Height: | Size: 13 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 7.8 KiB |
Before Width: | Height: | Size: 4.6 KiB After Width: | Height: | Size: 7.8 KiB |
BIN
patches/sky4.png
Before Width: | Height: | Size: 5.9 KiB After Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 2.6 KiB |
Before Width: | Height: | Size: 9.1 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.7 KiB After Width: | Height: | Size: 2.3 KiB |
Before Width: | Height: | Size: 2.6 KiB After Width: | Height: | Size: 2.3 KiB |