http://www.teaser.fr/~amajorel/yadex/yadex-1.7.0.diff.gz
WHAT IS THIS
This is a patch to turn Yadex 1.6.0 into Yadex 1.7.0. To
apply, cd into the directory where the Yadex 1.6.0 source is
and type
gzip -d 3) zoom factor, sometimes the
sector actually appeared on the window, even though it was supposed
@@ -146,48 +198,48 @@
interestingly, the symptoms show up only when drawing horizontal or
vertical lines on the window, not when drawing oblique lines or on
the pixmap.
-
+
Since it only occurs at high zoom factors, it must be some sort of
overflow error though it doesn't look like a 32-bit value being
truncated to 16 bits because the values are too small. Strange. I
dumbly worked around it by skipping off-screen objects.
-
+
* Editing: A linedef, thing or vertex is highlighted if the pointer
is within 15 pixels of it. Previously, the threshold was 20 map
units which was too narrow at low zoom factors and too broad at
high zoom factors. This change makes drawing selection boxes in
crowded areas much easier than before.
-
+
* Editing: Configuration variables thing_fudge and vertex_fudge are
gone, since they've been made irrelevant by changes in the
highlighting code.
-
+
* Editing: If the pointer is within highlighting distance of more
than one thing, the one that is highlighted is the one in which the
pointer is, or the one that has the smallest radius, or the one
whose centre is nearest. Previously, the lowest-numbered one was
highlighted, making it impossible to select, say, a high numbered
baron standing in the same spot as an arachnotron.
-
+
* Editing: Restored [Shift][Ins] that was inadvertently disabled
during the port to X. Thanks to Ingo van Lil for reporting this
bug.
-
+
* Editing: If a linedef has a negative tag, tagged sectors are now
shown.
-
+
* Editing: As per Ingo van Lil's suggestion, if a linedef is tagged
to more than one sector, a "+" is appended to the sector number in
the object info window. Similarly, if a sector is tagged to more
than one linedef, a "+" is appended to the linedef number in the
object info window.
-
+
* Editing: In the object info window, tag 667 is now marked as
special. Yadex catches up with that newfangled Doom II thing.
-
+
* Editing: The static text in the object info boxes is now a bit
dimmer to make the important information stand out.
-
+
* Editing: Started working on a global mode, where you can work with
all types of objects at once, vertices, linedefs, sectors and
things. It's toggled by pressing [Ctrl][g] in the editing window.
@@ -195,33 +247,33 @@
warning, that you should take seriously. One known bug is that
selection is broken is this mode. Overhauled GetCurObject() to make
it able to cope with global mode.
-
+
* Editing: [1] through [9] and [0] are now configurable through the
new variables "digit_zoom_base" and "digit_zoom_step". The default
values are set to roughly emulate the old behaviour but it's now
possible to have the zoom factor increase across the keyboard, for
instance. Patch by AJA.
-
+
* Editing: New variable "blindly_swap_sidedefs" to prevent Yadex from
asking for confirmation when swapping sidedefs. Patch by AJA.
-
+
* Editing: Placeat AJA, it's now possible to toggle the object info
boxes with [i]. Toggling the info bar is now bound to [Alt][i].
-
+
* Editing: The "Info bar" item has been moved from the "Help" menu to
the "View" menu. Fixed misplaced underscore in linedef "Misc" menu.
Fixed misplaced tick marks (thanks to Ingo van Lil) and added
separations in the "View" menu. Added missing ellipses here and
there.
-
+
* Editing: Removed the sudden jump (down) in the size of the vertices
when zooming in.
-
+
* Editing: Sectors are now shown in one of three colours : green for
sectors that have a tag, blue for sectors that have a type and cyan
for sectors that have both. Previously, all tagged sectors looked
the same, whether they had a type or not.
-
+
* Editing: Integer entry: you can now enter hexadecimal or octal
numbers by prefixing them with "0x" or "0", as in C. This should
make it easier to enter Boom generalized types. You are now allowed
@@ -233,73 +285,73 @@
even if the current entry is invalid ([Return] is still disabled,
however). The message in InputIntegerValue() has been changed from
"Enter a decimal number" to "Enter a number".
-
+
* Editing: Fixed segfault on "Save as..." on a new level (i.e. opened
with the "create" command). This bug was there ever since 1.1.
-
+
* Editing: On a new level (opened with the "create" command), the
level name and file name are now remembered so you don't have to
enter them again every time you save.
-
+
* Editing: New function "cut a slice out of a sector" to easily split
doughnut-shaped sectors. Shortcut is [Ctrl][k]. See
users_guide.html for details. Thanks to Jim Flynn for writing a
similar function in DETH, which I used as a reference.
-
+
* Editing: Setting things flags by value now allows any value between
0 and 65,535 (instead of 1 through 31). The word "decimal" has been
removed from the menu item since you can now enter hexadecimal as
well.
-
+
* Editing: [n], [p], [<] and [>] work properly even if no object was
highlighted.
-
+
* Editing: In linedef mode, linedefs that have no first sidedef, or a
bad sidedef number are drawn in red.
-
+
* Game/wad: MBF: changed the radius of the dog from 16 to 12. Thanks
to AJA for pointing it out.
-
+
* Game/wad: Boom: added all of Boom's 130 non-generalized linedef
types to doom.ygd and doom2.ygd. New "elevator" linedef type group.
Many thanks to AJA for typing in the ygd data.
-
+
* Game/wad: Linedef types 33 and 34 were incorrectly labelled "yel"
and "red" instead of the other way around. Thanks to Ingo van Lil
for pointing this out.
-
+
* Game/wad: Linedef type 96 was incorrectly marked "W1" instead of
"WR". Spotted by IvL.
-
+
* Game/wad: Hexen: added to hexen.ygd a couple of things types and
most sector and linedef types. Linedefs now have their tag set to
arg1. It used to be left uninitialized, which is why so many
linedefs were shown in red on the map.
-
+
* Game/wad: Linedef types 105 and 111 had their descriptions
reversed. Don't blindly trust the UDS. Spotted by AJA.
-
+
* Game/wad: Gave a sprite to Doom thing type 23 (dead lost soul),
SKULK.
-
+
* Game/wad: Strife: definitions for thing types 10, 27, 46, 50, 81,
137, 138, 2018, 2019 and 2026.
-
+
* Game/wad: Hexen: definitions for things 122, 124 and 8004.
-
+
* Misc: Flat/patch/sprite/texture viewer: restored ability to save to
file by pressing [Shift][F1].
-
+
* Misc: Flat/patch/sprite/texture viewer: not unnecessarily
refreshing the whole image window anymore when browsing patches or
sprites.
-
+
* Misc: Texture viewer: new bindings [Ctrl][a] [Ctrl][x] to change
the number of patches shown.
-
+
* Misc: Most I/O errors occurring while reading wads are now handled
gracefully (fewer gratuitous calls to fatal_error()).
-
+
* Misc: The menu code (menu.cc and oldmenus.cc) has been partly
rewritten. Made the automatic shortcuts case-sensitive to allow up
to 61 entries instead of just 35. Option numbers shortcuts are
@@ -307,10 +359,10 @@
Implemented separations. Two extra pixels of space between lines.
Tick marks now look like tick marks, not asterisks. Unticked
entries now have a dash in front of them.
-
+
* Misc: The search paths for game definition files and configuration
files have changed in several ways.
-
+
Some config file search directories have changed for conformance to
the FHS. If the prefix is "/usr/local", the path is now "/etc/
yadex" instead of "/usr/local/etc/yadex". If the prefix is "/opt/
@@ -318,13 +370,13 @@
something/etc/yadex". The practical consequence for the 90% of you
who install in /usr/local is that the system-wide config file has
moved from /usr/local/etc to /etc.
-
+
Overriding the prefix now actually works for other prefixes than /
usr and /usr/local. The problem was that, even though the makefile
installed the files in the proper directories, the yadex binary
looked for them in /etc, /usr and /usr/local, regardless of the
prefix. Thanks to Oliver Kraus and Udo Munk for clueing me in.
-
+
Yadex used to look for files in places where it shouldn't have. For
example, it looked for game definition files in /usr even if
compiled for /usr/local and vice-versa. Yadex now looks for files
@@ -334,20 +386,20 @@
as they're compiled for different prefixes. Note, however, that /
etc/yadex is used by both /usr and /usr/local but that is mandated
by the FHS and there's nothing I can do.
-
+
The search directories relative to $YADEX_DIR have been removed
from the Unix version (they were intended for DOS).
-
+
See users_guide.html for the exact contents of the new search
paths.
-
+
* Misc: Config file: bumped the config file version# from 3 to 4.
-
+
* Misc: Fixed strange reactions to percent character ("%") in the
file name entry box.
-
+
* Misc: Slightly less chaotic output in verbose mode.
-
+
* Misc: Fixed a memory leak that occurred when repeatedly reloading a
wad. This log entry is particularly delightful because that leak
was introduced by me in version 1.5.0 while trying to fix a bug in
@@ -356,15 +408,15 @@
Try it. It's easily exercised by loading the same wad over and
over. After about 20 iterations, you are rewarded with "patch wad
file xxx doesn't exist. Ignored.".
-
+
* Misc: Removed from the makefile unflattering comments on bzip2's
celerity that came from using an old version.
-
+
* Misc: Decapitalised object type names (GetObjectTypeName()).
-
+
* Misc: Fixed display bug in sector# and sidedef# entry box
(InputObjectXref()).
-
+
* Misc: The config file search algorithm has been modified to support
multiple config files. The old algorithm was to walk the search
path front to back and stop at the first match. The new algorithm
@@ -372,23 +424,23 @@
local files inherit parameter settings from global files and still
have the possibility to selectively override them (i.e. you can
override some parameters and inherit the others).
-
+
For example, assuming /etc/yadex/1.6.0/yadex.cfg contains :
-
+
a = old
b = old
-
+
and ./yadex.cfg contains :
-
+
a = new
c = new
-
+
the net effect is :
-
+
a = new
b = old
c = new
-
+
The motivation for the change was to allow users to put most of
their settings in global config files, either system wide or
per-user. When local files exist, they should contain only the
@@ -400,29 +452,29 @@
global config files propagate even if local config files exist.
Finally, it's much easier to figure what local files are meant to
do because everything they contain is meaningful.
-
+
* Misc: Removed the start-up message stating that "this program is
derived from DEU 5.21 by Raphaël Quinet and Brendon Wyber" (for
clarity, not because I'm in denial).
-
+
* Platform: On DOS, the PPM files created by "make_palette_ppm" and
"mp2" now have correct CRLF line terminators instead of LFCR.
-
+
* Platform: Wart in gfx.cc to cope with QNX where DisplayWidth() and
DisplayHeight() return silly values.
-
+
* Platform: Added support for 16-colour displays. Tested with the
XFree86 VGA16 server which, when running in 640x480x16 (VGA mode
12h), provides a PseudoColor or StaticColor visual with an 8 bits
per pixel pixmap format. If there are any servers that expect a
pixmap format with a number of bits per pixel that is not a
multiple of 8, they're still unsupported.
-
+
* Platform: Reworked the pixmap format selection code. Should not
change anything for most people.
-
+
* Platform: Compiles and runs on HP-UX 10.0 (with GCC 3.0.1).
-
+
* Platform: Compiles on Linux PPC (with GCC 3.1). Thanks to Mark
Brown for the patch.
@@ -441,84 +493,84 @@
* Build: Changed the way the diffs are generated after reading more
carefully the patch(1) man page and learning the hard way that it's
a very bad idea to put absolute paths in patches.
-
+
* Build: Made it easier to add or remove individual options in CFLAGS
and friends.
-
+
* Command-line: New option -b to benchmark parts of Yadex. For
hackers only.
-
+
* Command-line: Removed option -e in prevision of reuse for another
function.
-
+
* Doc: Completed ygd.html.
-
+
* Doc: Documented the usage of the LINES and YADEX_DIR environment
variables.
-
+
* Editing: Things that have an illegal angle are now shown with the
angle Doom would see, instead of just a dot in the middle. The
emulation is believed to be accurate for angles comprised between 0
and 359. Values outside that range have not been tested.
-
+
* Editing: Things flags and linedefs flags now grouped by 4 for
readability. For linedefs, the decimal value of the flags field is
not shown anymore.
-
+
* Editing: In the object info box, the type and description of the
current thing are now display in red if the type is invalid (i.e.
not defined in the .ygd).
-
+
* Editing: The things and linedefs flags operations ([a], [b], [c])
now set MadeChanges as they should have from the start.
-
+
* Editing: The View menu now contains entries for "Show object
numbers" [&] and "Show grid" [h].
-
+
* Editing: The Edit menu now contains entries for "Snap to grid" [y]
and "Loc grid step" [z].
-
+
* Editing: Rearranged the sidedef object info windows so that the
textures are listed in a more intuitive order (upper, middle, lower
instead of middle, upper, lower). Made labels shorter in
preparation of the hypothetical inclusion of texture swatches in
the future.
-
+
* Editing: Fixed long-standing buglet with the sidedef info saying
there are missing upper/lower textures even though both sectors
have a "sky" ceiling/floor.
-
+
* Editing: Implemented showing object numbers for linedefs and
sectors. The placement of sector numbers is naive and inadequate
for sectors that don't have a simple convex shape, but it's still
better than nothing. Picked a somewhat brighter colour for object
numbers.
-
+
* Editing: Linedef object info box: if the first sidedef is missing,
the message "(no first sidedef)" is printed in red instead of dim
gray. Same thing for the second sidedef if the "2" flag is set.
-
+
* Editing: Removed careless dereferencing of SideDefs[] for bad
sidedef numbers in the sector selection code. I don't think this is
what caused the mysterious unreproducible segfault James Caldwell
reported, though. Made the object deletion function paranoid
(checks that the objects to delete actually exist).
-
+
* Editing: When found superimposed linedefs after merging vertices,
the dialog box that asks whether they should be merged now mentions
the numbers of the first two superimposed linedefs found instead of
a laconic "Some linedefs are superimposed".
-
+
* Editing: Zooming: the zoom factor is now displayed in percent, 100%
being 1/1.
-
+
* Editing: Zooming: the zoom factors are now regularly spaced, with a
ratio of 1.414 between them. This removes the annoying "jump"
between the zoom factors greater than 1/2. It also fixes the
oddities that happened when zooming in after [`]. The ratio between
zoom factors can be controlled through the new parameter
"zoom_step".
-
+
* Editing: Zooming: the "zoom" parameter has been replaced by the new
parameter "zoom_default". The latter is expressed in percent, not
in 1/n units. It's now possible to specify an initial zoom factor
@@ -526,63 +578,63 @@
zoom factor so that the level fills the window. Should you want to
revert to the old behaviour, you can do it by setting zoom_default
to 12.
-
+
* Editing: ['] and [`] now go to the current centre of the level
(they used to go to where the centre was when the level was opened
or created).
-
+
* Editing: [`] now has a menu item (View -> Whole level).
-
+
* Editing: The grid has changed. There are now dots every step map
units, dim lines every 4×step units, normal lines every 16×step
units and bold lines every 64×step units. The new grid is supposed
to be less obtrusive visually, faster to display and more distinct
when scrolling.
-
+
* Editing: New function to swap floor and ceiling flats of selected
sectors (Misc. operations -> Swap flats).
-
+
* Editing: When not in things mode, things are drawn in a dimmer
shade of gray and do not hide the linedefs anymore.
-
+
* Game/wad: Removed the "-g wolf" bit. [For those who still haven't
got it : the support for Wolfenstein 3D announced in the CHANGES
for version 1.4.0 was of course a hoax, 1.4.0 having been released
on April 1st.] Hope you've been having as much fun as I have. :-)
-
+
* Game/wad: Heretic: made the golem leader ghost, undead warrior
ghost and golem ghost look a little more ghostly. Made the gargoyle
leader, golem leader and golem leader ghost look different from
their vanilla counterparts by using sprites IMPXD and MUMMY.
Assigned a sprite to things 31 and 32 (enchanted shield, SHD2 and
mystic urn, SPHL).
-
- * Game/wad: Heretic: corrected things radii in heretic.ygd, using
+
+ * Game/wad: Heretic: corrected things radii in heretic.ygd, using
info2ygd and the Heretic source as a reference. Almost all radii
were wrong, a few grossly so (maulotaur, ironlich and gargoyle).
-
+
* Game/wad: Strife: many new things and linedef types thanks to Matt
Miller.
-
+
* Game/wad: Doom alpha 0.4: definitions for thing types 2020, 2036,
2038 and 2046.
-
+
* Game/wad: Updated format comments in *.ygd.
-
+
* Game/wad: Sprites in pwads now supported (between S_START/S_END or
SS_START/SS_END or SS_START/S_END). This fixes Yadex's failure to
- show redefined sprites in alitcsf.wad, basilica.wad and
+ show redefined sprites in alitcsf.wad, basilica.wad and
strifed1.wad. A few Aliens TC sprites don't work yet but it's for a
different reason (DEH).
-
+
* Game/wad: Sprites now shown on the map when in things mode. You can
switch between sprites and squares with View -> Show sprites [%].
New config file parameter "sprite_scale" to adjust the scale at
which sprites are displayed (default 100%).
-
+
* Game/wad: The right sprite is shown, even if the sprites are not in
alphabetical order in the wad (cf BARWA0 in Strife).
-
+
* Game/wad: The function to add pwads (be it from the command line or
with the "r" command) has been heavily reworked. It's more robust
and handles errors better. It does not leak file handles anymore
@@ -590,86 +642,86 @@
iwads, modulo a warning (though you should expect problems later if
you do that). The merging of the pwad directory into the master
directory is still lousy.
-
+
* Game/wad: Fixed duplicate entries in the flat selector. This bug
was found by "Ras2". It happened whenever you added the same flat
thrice or more.
-
+
* Game/wad: EDGE: added definitions for EDGE linedef types and things
types to doom.ygd and doom2.ygd. Thanks to Andrew Apted for
providing the ygd data.
-
+
* Game/wad: EDGE: in sector mode, show information for EDGE
extrafloors if there are any.
-
+
* Misc: A couple of calls to fatal_error() were turned into calls to
report_error() (don't abort).
-
+
* Misc: New game definition file directive "sky_flat" to specify the
name of the "sky" flat. Replaced all occurrences of F_SKY1 by
references to this parameter. Fixes Check -> Check for missing
textures for Hexen and Strife. Bumped game definition file version#
to 4.
-
+
* Misc: Because it seems to disturb people (and for the pleasure of
proving Matt wrong), I've made the texture selector clip textures
to size. Since there's no scrolling/zooming system yet, I also
enlarged the viewing area from 256×128 to 512×256 to alleviate the
lossage on large textures.
-
+
* Misc: Removed the "Press Shift-F1 to save image to file" text in
the selector. It's been a no-op ever since 1.0, anyway.
-
+
* Misc: In the selectors, pressing [F1] prints the location of the
current item to stdout (file name and offset). Works with flats,
patches and sprites but not textures. It's there to help trace Ras'
bug.
-
+
* Misc: Made LoadPicture() nicer and safer. It gracefully bails out
if there are more than 20 errors on a single picture. It does not
make Yadex abort anymore on read errors in the header or column
offset table. I've done this by modifying wad_read_i16() and
wad_read_i32() so other functions might have been impacted.
-
+
* Misc: Config file: commented out most settings (this has no visible
effect since those settings were just reiterations of the default
values built into the executable). Also changed the initialization
code so that Yadex can run without a config file.
-
+
* Misc: Config file: unknown variables are ignored with a warning
instead of triggering a fatal error. The intent is to facilitate
sharing config files between versions.
-
+
* Misc: Config file: bumped version# to 3.
-
+
* Misc: Made Yadex use YADEX_GAME as documented and not Y_GAME.
Oops !
-
+
* Misc: New feature in the flat/picture/sprite selector to show where
the current image comes from (file name and file offset). For
debugging.
-
+
* Misc: The window size (width/height and -w/-h) can now be expressed
in percent of the screen size, by appending a "%" to the value. The
default size, instead of being 640×480 in the executable and 900×
600 in the config file is now 90%×90%. It's still possible to give
absolute width and heights, of course.
-
+
* Misc: No tantrum thrown if the game definition file contains no
thing directive.
-
+
* Misc: Removed the check for sector headroom being < 1024 in Checks
-> Check for missing textures. It was sometimes annoying and
inaccurate anyway.
-
+
* Platform: Images display correctly on packed 24-bit X servers (i.e.
bits_per_pixel actually is 24 and not 32). The scanline_pad member
of the ScreenFormat structure is now honoured (not that XFree86
seemed to mind much when it wasn't).
-
+
* Platform: Began to clean the code up to make porting less
difficult.
-
+
* Platform: Added patch to get Yadex to compile with GCC 2.7 (patch/
gcc-2.7.diff). GCC 2.7 is officially considered unsupported,
though. You're on your own.
@@ -679,34 +731,34 @@
* Command-line: The parsing of the command line arguments is now
case-sensitive. Yes, that's right, it used to be case-insensitive.
I never knew. I just realized it by accident. DOS is not dead.
-
+
* Doc: The man page now has an "OPTIONS" section.
-
+
* Doc: Three new makefile targets, man, dvi and ps, for people who
hack the doc.
-
+
* Editing: Made object numbers slightly more legible in crowded
areas.
-
+
* Game/wad: Added support for Wolfenstein 3D (-g wolf).
-
+
* Misc: The code that parses the configuration file is smarter and
its error messages are more informative. Doesn't choke anymore on a
line containing just spaces or on comments not starting on
column 1. Thanks to "Ras2" for reporting the bug.
-
+
* Misc: New commands "viewtex" and "viewflat" so that you can browse
textures and flats without having to open a level. This is
primarily useful to me, for testing purposes.
-
+
* Misc: More sanitization : the parsing of the configuration file is
now case-sensitive when matching option names and values ("yes"/
"no", "true"/"false", "on"/"off").
-
+
* Misc: The flat/patch/sprite/texture viewer does not flicker
anymore, and is somewhat faster when viewing textures. The list of
names in the flat viewer has grown from 3 to 5 lines.
-
+
* Misc: The diffs are now in unified format (supposedly just as good
and IMHO clearer).
@@ -714,12 +766,13 @@
* Build: Oops ! I had forgotten to set CC and CXX back to their
"sane" values before cutting the 1.3.1 tarball.
-
+
* Code: "make dist" now also generates a diff.
Yadex 1.3.1 (2000-01-12)
* Build: Fix for "Ras2"'s compile error with g++ 2.7.2.3 :
+
c++ src/disppic.cc
In file included from /usr/include/g++-2.7/defalloc.h:24,
from /usr/include/g++-2.7/map.h:21,
@@ -729,41 +782,41 @@
/usr/include/g++-2.7/algobase.h:47: macro `min' used with too many (3) args
/usr/include/g++-2.7/algobase.h:57: macro `max' used with too many (3) args
make: *** [obj/0/disppic.o] Error 1
-
+
* Build: Fix for HAVE_NANOSLEEP being always false. Thanks to "Ras2"
for pointing it out.
Yadex 1.3.0 (2000-01-11)
* Build: The makefile now honours the dependencies in yadex.dep.
-
+
* Build: Support for FHS-compliant systems: "make install" now copies
the man pages into /usr/local/share/man/man6/ if /usr/local/share/
man/ exists. If not, it still uses /usr/local/man/man6/ (requested
by Joseph Carter).
-
+
* Build: Added "#include " to fix compilation error on
wads.cc under Solaris.
-
+
* Build: Downgraded the makefile and scripts to use the old backquote
syntax for command substitution, because Oliver Kraus' reports
suggest that the Solaris sh does not understand the "$()" syntax.
Barfulation !
-
+
* Build: New makefile target showconf that shows the value of all the
important macros as well as the output of certain commands. If you
have trouble compiling Yadex, mail me the output of "make
showconf".
-
+
* Build: A bunch of little changes in the makefile to try to make
build problems on Solaris go away.
-
+
* Doc: Fixed several discrepancies in README.
-
+
* Game/wad: Support for the german edition of Doom II (as the iwad
has no MAP31 and MAP32, Yadex 1.1.0 and 1.2.0 used to say "this is
the shareware version of the game").
-
+
* Game/wad: Replacement patches in pwads are now supported, even if
between PP_START and PP_END. Fixes failure to see redefined
textures with mbfedit!.wad, alitcwad.wad and certainly many others.
@@ -771,13 +824,13 @@
PP_END are not recognized anymore. Many PNAMES errors that would
have made previous versions of Yadex abort now just make it print
warnings.
-
+
* Misc: Cleaned up the web page source and makefile. Added
documentation, should someone else take over maintainership. No
harm in dreaming.
-
+
* Misc: New command viewpat to browse through the patches.
-
+
* Misc: It's now possible to have several different versions of Yadex
installed simultaneously. Some paths have changed :
+ $(PREFIX)/share/games/ is now $(PREFIX)/share/games/yadex/$
@@ -790,7 +843,7 @@
+ $(PREFIX)/bin/yadex is now a symlink pointing to yadex-$
(VERSION)
+ $(PREFIX)/bin/ybsp is now a symlink pointing to ybsp-$(VERSION)
-
+
The insertion of a yadex/ component in the paths was done for two
reasons. In the first place, it was requested by Joseph Carter for
game definition files, to reduce clutter in $(PREFIX)/share/games/.
@@ -798,7 +851,7 @@
nice way not to clutter $(PREFIX)/etc/. On the other hand, it was
not done for man pages and executables because it would have
interfered.
-
+
* Misc: Fixed bug where if you typed "yadex: c level", then created
or edited a level and then closed the editing window, you got a
dozen of messages like this one : "Warning: error freeing colour
@@ -808,45 +861,45 @@
Yadex 1.2.0 (1999-11-23)
* BSP: Added missing newline in banner.
-
+
* BSP: Silenced GCC 2.95.2 warnings about implicit braces.
-
+
* Build: The makefile doesn't rebuild doc/ every time a source file
is changed anymore.
-
+
* Build: Can now be built on machines where Perl is not installed.
-
+
* Build: The doc can now be built on machines with a non-GNU find.
-
+
* Build: Fixed compilation errors with GCC 2.95.2 in src/infobar.cc.
-
+
* Build: Silenced most GCC warnings.
-
+
* Code: Fixed a typo in the legal notices at the beginning of the
source files.
-
+
* Doc: HISTORY renamed as CHANGES, since that seems to be a more
widespread convention.
-
+
* Editing: The checks don't beep for every error anymore, just the
first one.
-
+
* Editing: Object info window: the sprite and flats graphics don't
flicker anymore when the pointer moves from one object to another.
Besides, if the sprite is not found, displays the message
"sprite_name not found" instead of just a blank area.
-
+
* Game/wad: Doom alpha & press release versions: it's now possible to
save levels. Note: they're saved to regular Doom format, not Doom
alpha format.
-
+
* Game/wad: Doom II: The boss shooter thing now has a sprite
(BOSFB0).
-
+
* Game/wad: Hacx and Aliens TC: fixed a bug that made Yadex segfault
when trying to edit a Hacx level (or alitcsf.wad from alntc19
{a,b}.zip).
-
+
* Game/wad: For homogeneity with DeuTex, less confusion and to reduce
the risk of conflicts with other applications, the game names for
Doom alpha 0.2, Doom alpha 0.4, and Doom alpha 0.5 are now
@@ -856,12 +909,12 @@
+ "-g alpha02" is now "-g doom02",
+ "-g alpha04" is now "-g doom04",
+ "-g alpha05" is now "-g doom05".
-
+
Configuration file directives :
+ "game = alpha02" is now "game = doom02",
+ "game = alpha04" is now "game = doom04",
+ "game = alpha05" is now "game = doom05".
-
+
Paths :
+ /usr/local/share/games/alpha02/ is now /usr/local/share/games/
doom02/,
@@ -875,7 +928,7 @@
games/doom04.ygd,
+ /usr/local/share/games/alpha05.ygd is now /usr/local/share/
games/doom05.ygd.
-
+
* Game/wad: Fixed Yadex aborting when trying to view textures for
versions of Strife >= 1.1. The problem was that Strife 1.1 and
above use a different format for the TEXTURE1 and TEXTURE2 lumps
@@ -884,36 +937,36 @@
strife.ygd now contains "texture_format strife11". Added
strife10.ygd that is identical to strife.ygd except that it
contains "texture_format normal". Summary :
-
+
+ if you have the Strife 1.0 iwad, use "-g strife10" or "game =
strife10",
+ if you have Strife 1.1 or above, use "-g strife" or "game =
strife".
-
+
Thanks to Kim Parrott for reporting the bug and Len Pitre for
pointing me in the right direction.
-
+
* Misc: The "dump" command now prints correctly the last line even if
the length of the lump is not a multiple of 16.
-
+
* Misc: For homogeneity with DeuTex, the following game definition
file directives have changed :
+ "texture_format alpha04" is now "texture_format nameless",
+ "texture_lump texture1" is now "texture_lump normal",
+ new choice "texture_lump none".
-
+
* Misc: For homogeneity with DeuTex, automatic texture names for Doom
alpha 0.4 are now "TEXnnnn" where nnnn is zero-based.
-
+
* Misc: Bumped game definition file version# to 3.
-
+
* Misc: When trying to use a pwad as iwad, emit a warning instead of
seeing this as a fatal error.
-
+
* Misc: Added a palette viewer (PLAYPAL and COLORMAP). Can be run
from the prompt with the viewpal command or from the level editing
window with [Ctrl][P].
-
+
* Misc: The sometimes tedious pwad loading messages are not displayed
anymore, unless in verbose mode. By default, Yadex now just prints
which levels the pwad contains.
@@ -921,65 +974,65 @@
Yadex 1.1.0 (1999-08-22)
* BSP: Included Colin Phipps' fix for the bugs in bsp23bug.zip.
-
+
* BSP: Renamed the executable and the man page as ybsp, to avoid
having Yadex and Xwadtools overwrite each other's BSP.
-
+
* BSP: The whirling baton is now disabled if stderr is not a TTY.
This is the same thing Udo Munk did for Xwadtools' BSP with the
-noprog option except that here it's automatic.
-
+
* BSP: Made the man page spell out exactly which version of BSP this
is.
-
+
* BSP: Inserted notice in the banner that this is the version that
comes with Yadex. In the online help, replaced "TMP.WAD" by the
correct "tmp.wad".
-
+
* Building: Fixed compilation error on line 44 of bitvec.h.
-
+
* Code: Removed CR characters that remained in some of the source
files.
-
+
* Code: New function DrawScreenString(). Began to use it instead of
DrawScreenText(). This should squash some latent bugs, for example
regarding flat and texture names containing percent signs (%).
-
+
* Code: Fixed constness warnings in cfgfile.cc.
-
+
* Code: Replaced most occurrences of hard-coded 8 by one of WAD_NAME,
WAD_FLAT_NAME, WAD_PIC_NAME and WAD_TEX_NAME.
-
+
* Code: New directives level_format and level_name in the YGD files.
As a result, been able to remove most tests on specific values of
the game parameter.
-
+
* Doc: Too many changes and additions to list. Since the last
release, the HTML doc has doubled in size (from 80 kB to 160 kB).
Added a dozen of screenshots.
-
+
* Doc: In an attempt to make it easier to find what you're looking
for, I've split the doc in a larger number of files, referred to by
a top level index.html.
-
+
* Doc: Moved the HTML doc and the man pages to the doc/ directory, so
as not to clutter the base directory too much.
-
+
* Doc: Man pages: the first argument of the .TH macro (the name) is
now all caps since that's what (almost) everybody else does.
-
+
* Editing: Autoscroll is now off by default -- use "autoscroll =
true" in yadex.cfg if you want it back.
-
+
* Editing: New bindings [e] and [Ctrl][e] to select all linedefs that
belong to the same non-forked path.
-
+
* Editing: New bindings [E] and [Ctrl][Shift][e] to select all
single-sided linedefs that belong to the same non-forked path.
-
+
* Editing: New functions to flip and mirror linedefs, sectors, things
and vertices.
-
+
* Editing: Fixed the "string art" bug. That was a subtle bug that
happened only as a result of a rare chain of events. The recipe to
it is to render a vertex unused (for example by deleting all the
@@ -990,192 +1043,192 @@
all entangled (hence the name). Spectacular, and even beautiful,
but also very annoying if you don't have a backup copy of your
level.
-
+
This is the same bug I thought I had fixed in Yadex 1.0.0_alpha3.
In fact, I had cut one of the paths that led to it but the bug
itself was still there. It reappeared in february 1999.
-
+
* Editing: Fixed an old DEU bug where you sometimes couldn't select a
newly created sector to the west of the level until you saved.
-
+
* Editing: It's now possible to toggle linedef flags 8-15 and to
specify linedef flags field values greater than 511.
-
+
* Editing: It's now possible to set/clear/toggle things flags 7-15.
-
+
* Editing: Made the Not-enough-player-starts and
Not-enough-deathmatch-start dialogs on saving more intuitive (it
was about time).
-
+
* Editing: New function "Exchange objects numbers".
-
+
* Editing: Things types are now displayed in decimal, not in
hexadecimal. Other minor cosmetic changes.
-
+
* Editing: The focus-on-object function now works much better. It
does not land off-target or zoom in excessively anymore.
Superimposed things and sectors containing other sectors or not
containing their own centre don't confuse it anymore. It's still
fooled by unclosed sectors, though.
-
+
* Editing: Changed the meaning of [q]. It used to save and quit. Now
it just quits (same thing as [Esc]).
-
+
* Editing: The edit command can now edit levels of any name. If you
had a wad with a level named "FOO" in it, you could edit that level
by typing "edit foo". In case you're wondering, no there's no
practical application to this (beyond experimenting).
-
+
* Editing: Reminder to build nodes: the message is now more specific.
-
+
* Editing: Command mode: typing ^D at the prompt now works.
-
+
* Editing: Insert linedef and split sector: the new linedef now goes
from the first selected vertex to the second and not the other way
around.
-
+
* Editing: Insert linedef and split sector: does not loop forever
anymore if there are forks in the edge of the sector (for example
like when trying to split between vertices 283 and 278 of MAP01 of
Doom II).
-
+
* Editing: [n], [p], [>] and [<] now move the view so that the object
to highlight is under the pointer.
-
+
* Editing: The messages displayed when loading pwads are more compact
(several lumps are printed on the same line and groups of sprites
are collapsed). The end marker for groups of flats, patches and
sprites is now printed.
-
+
* Editing: Flat/sprite/texture viewer : added bindings [Ctrl][u] and
[Ctrl][w] to erase to start of line, [Ctrl][f] and [Ctrl][v] to
page down and [Ctrl][b] to page up.
-
+
* Editing: Flat/sprite/texture viewer : added bindings [Ctrl][PgUp]
and [Ctrl][PgDn] to move to top and bottom of list, because [Home]
and [End] will eventually cease to be available for that (they will
be bound to SOL and EOL).
-
+
* Editing: Flat/sprite/texture viewer : made [Up] and [Down] work
even when there are duplicate names.
-
+
* Editing: Flat/sprite/texture viewer : InputNameFromListWithFunc()
is now genuinely case insensitive. The positioning in the list of
names is now correct, even if the name given is lower-case.
-
+
* Editing: Flat/sprite/texture viewer : reduced flickering (still
room for improvement, though).
-
+
* Editing: Flat/sprite/texture viewer : the current name was way too
dim if not in the list. Fixed.
-
+
* Editing: Flat/sprite/texture viewer : made image window 320x200
instead of 256x128.
-
+
* Editing: Sprite viewer : new bindings [Ctrl][n] and [Ctrl][p] to go
to start of next/previous group of sprites.
-
+
* Editing: Sprite viewer : fixed display bug.
-
+
* Editing: Spectres now look more like spectres.
-
+
* Editing: Confirm-or-cancel dialogs: more intuitive. You can now
confirm with [y] or [Return] and cancel with [n] or [Esc]. All
other keys are ignored (previously, [y] confirmed and all other
keys cancelled). Expose events are now handled (previously they
were ignored).
-
+
* Editing: Some abnormal conditions that used to trigger fatal errors
now just cause a message error to be printed. The current operation
is aborted but not the whole program anymore.
-
+
* Game/wad: Fixed segfault on levels containing a thing of type 0
(like Eternal MAP25 and some Final Doom maps).
-
+
* Game/wad: When reading a level from a wad, now verifies that the
SECTORS, THINGS, VERTEXES, LINEDEFS and SIDEDEFS lumps have correct
sizes and that sidedefs, sectors and vertices references are
correct.
-
+
* Game/wad: Final Doom : should be supported now. Yadex does not
assume anymore that F1_START is always present, which caused it to
segfault on either or both Final Doom iwads.
-
+
* Game/wad: Heretic : added sprite names for 58 thing types.
-
+
* Game/wad: Hexen : added very partial support (-g hexen). You can
edit levels but not save them. Hexen-specific linedef and things
fields are ignored, and so is the BEHAVIOR lump. Most definitions
are missing.
-
+
* Game/wad: Strife : added partial support (-g strife). Yadex now
knows about the translucent linedef flag and the new sector types.
Thanks to Len Pitre for the help. Still missing : the new things
flags, most things types and linedefs types. Anybody wants to work
on strife.ygd ?
-
+
* Game/wad: MBF : supported. Yadex now knows about the friendly thing
flag, thing type 888 (Dog) and linedef types 271 and 272 (transfer
sky texture).
-
+
* Game/wad: Doom press release pre-beta : supported (-g doompr).
Added support for the PR picture format and the definitions for
things 2016 (evil sceptre) and 2017 (unholy bible).
-
+
* Game/wad: Doom alpha : read-only support (-g alpha02|alpha04|
alpha05). Added support for the alpha picture format, the TEXTURES
lump, the different level format and the incompatible level names
(E1M10 through E1M13).
-
+
* Game/wad: Added support for FF_START/FF_END in addition of FF_START
/F_END. As a result, Yadex does not barf anymore on basilica.wad
(but issue a warning). F?_START is not supported anymore ; it has
to be FF_START.
-
+
* Game/wad: Made "Post too long. Wad file might be corrupt" a
warning, not a fatal error anymore.
-
+
* Game/wad: New directives picture_format, texture_format and
texture_lump in the YGD files, to support Doom alpha and Doom PR.
-
+
* Misc: New command make_palette_ppm to generate a raw PPM file
containing all the colours of the palette.
-
+
* Misc: Cosmetic changes in the prompt and character mode interface.
-
+
* Misc: make_gimp_palette : the generated palette files now include
RGB values in the comments.
-
+
* Misc: Removed from the menus the functions that were not
implemented (File->Print, Edit->Find, View->3D preview).
-
+
* Misc: Failure to load the specified X font is not a fatal error
anymore.
-
+
* Misc: New command line options --help and --version.
-
+
* Misc: Bumped game definition file version# to 2.
-
+
* Platform: Removed dependency on nanosleep(), strcasecmp() and
strncasecmp(). Thanks to Udo Munk for pointing out that nanosleep()
is not always available.
-
+
* Platform: Now compiles with other compilers than GCC/EGCS without
modifying the makefile.
-
+
* Platform: New parameter idle_sleep_ms to set the time in ms between
polls of the X server when the input queue is empty.
-
+
* Platform: Previously, if the CPU and the X server had different
endiannesses and the screen depth was more than 8 bits, sprites,
flats and textures were displayed with wrong colours. This is now
fixed.
-
+
* Platform: The build, group, insert and save commands should now
work correctly on big-endian machines.
-
+
* Platform: The bell has been resurrected on X.
-
+
* Platform: Should now compile on X11R5 systems (to be verified).
Thanks to Udo Munk for the fix.
@@ -1183,53 +1236,53 @@
* Doc: New sections "Moving around" and "Other credits" in the user's
guide.
-
+
* Editing: Split linedefs and sector: new linedef now goes from 1 to
2 and not the other way around.
-
+
* Editing: Added scrolling with the arrow keys.
-
+
* Editing: [Pgup], [Pgdn], [Home] and [End] now scroll one page at a
time.
-
+
* Editing: New variable autoscroll to disable autoscrolling.
-
+
* Editing: New variables autoscroll_amp and autoscroll_edge to tweak
autoscrolling.
-
+
* Editing: New shortcut [x] to "Split linedef (insert new vertex)".
-
+
* Editing: New shortcut [w] to "Split linedefs and sector".
-
+
* Misc: Fixed segfault on trying to edit MAPnm in Doom/Heretic mode
or EnMm in Doom II mode.
-
+
* Misc: New prompt command make_gimp_palette to generate a gimp
palette file from PLAYPAL.
-
+
* Misc: Bumped configuration file version# to 2.
Yadex 1.0.0 (1998-12-26)
* Code: Moved the source files to a subdirectory.
-
+
* Doc: A few additions in the user's guide
-
+
* Editing: Fixed buglet in positioning of newly copied objects.
-
+
* Game/wad: Game support: added definitions for Boom's things 5001
and 5002 (point pusher and puller).
-
+
* Misc: Added reminder to build nodes after making changes.
-
+
* Misc: Added magic string to configuration file.
-
+
* Misc: Added magic string to game definition file.
Yadex 1.0.0_alpha3 (1998-12-23)
* Doc: A few additions/corrections in the hacker's guide.
-
+
* Editing: Fixed spectacular corruption of linedefs (string art bug)
that occurred if all you did during a given session was deleting
vertices.
@@ -1237,9 +1290,9 @@
Yadex 1.0.0_alpha2 (1998-12-22)
* BSP: Included BSP 2.3 (thanks to Lee Killough).
-
+
* Doc: Improved user's guide.
-
+
* Editing: Added new commands [a], [b] and [c] to set, toggle and
clear things and linedefs flags.
@@ -1247,176 +1300,176 @@
* Code: Removed dereferencing of NULL pointer in
ParseCommandLineOptions() (DEU).
-
+
* Code: Replaced occurrences of "x==TRUE" and "x==FALSE" by "x" and
"!x".
-
+
* Code: Replaced occurrences of "x=TRUE" and "x=FALSE" by "x=1" and
"x=0".
-
+
* Command-line: You don't have anymore to put "-file" or "-pwad" in
front of pwads names on the command line. E.G. you can type "yadex
foo.wad".
-
+
* Command-line: Deleted a few little-used or DOS-specific options.
-
+
* Editing: Menu bar and pop-up menus much improved.
-
+
* Editing: Info bar reworked.
-
+
* Editing: When prompted to "Press a key to continue", you can now
also press the left mouse button.
-
+
* Editing: Grid: the grid step can now adapt automatically as you
zoom in/out.
-
+
* Editing: Grid: whether dragging is snapped to grid is now
independent of whether the grid is shown or not (added flags
grid_snap and grid_shown).
-
+
* Editing: Added finer-grained confirmation options.
-
+
* Editing: General editing: you can now scroll the map further from
the centre of the level.
-
+
* Editing: Added ['] to re-centre the window around the centre of the
map.
-
+
* Editing: Added [`] to re-centre the window around the centre of the
map and adjust the zoom so that the map fills the screen.
-
+
* Editing: Added [&] to show things and vertices numbers.
-
+
* Editing: Autoscroll: scroll speed is now progressive.
-
+
* Editing: Autoscroll: easier to use near the top of the window.
-
+
* Editing: [Left], [Right], [Up], [Down] do nothing.
-
+
* Editing: [Space] does not toggle move fast/slow anymore; it toggles
between nominal zoom and x 4.
-
+
* Editing: Highlighting of things, vertices and linedefs much
improved.
-
+
* Editing: Dragging objects is now done with the left mouse button
instead of the right button.
-
+
* Editing: Editing object properties is now done by double-clicking
on the object.
-
+
* Editing: Selection and drag-and-drop have changed a lot.
-
+
* Editing: Selection box: removed the -a option and the addselbox
parameter. Whether the selection box is additive or not is now
controlled dynamically by the user (with [Ctrl]).
-
+
* Editing: Sprite viewer: sprites are now centred.
-
+
* Editing: Linedef info: shortened flags names to one character.
-
+
* Editing: Linedef info: a missing normal texture on a 1-sided
linedef is now flagged in red.
-
+
* Editing: Linedefs copy: you now have the choice between duplicating
the sidedefs too and reusing the same sidedefs. DEU left the new
linedefs sidedef-less and, so far, Yadex used to reuse the same
sidedefs.
-
+
* Editing: Linedefs: added function to "unlink" sidedefs.
-
+
* Editing: Linedefs: dragging linedefs is much faster than before.
-
+
* Editing: Sectors: in the object info window, added display of floor
and ceiling height delta with respect to previous sector.
-
+
* Editing: Sectors: in the object info window, added display of floor
and ceiling texture.
-
+
* Editing: Sectors: dragging sectors is much faster than before.
-
+
* Editing: Things: now drawn as squares so that it's easier to see
whether they are stuck in a wall or another thing. And you don't
have to highlight them to see their angle. Note: the old shape is
still available by defining ROUND_THINGS at compile-time.
-
+
* Editing: Things: changed the colours again. Tried to make important
things stand out and conversely. Bonuses are now dark green and
player/ deathmatch starts bright green. Keys are magenta.
Decoration is dim blue instead of white. Unknown objects are cyan
instead of white. Weapons are orange instead of brownish. Heretic
sound source things and Boom point pushers are dim turquoise-ish.
-
+
* Editing: Things: the sprite is now shown in the object info window.
-
+
* Editing: Vertices: deciding whether a vertex is on a linedef is now
done on the distance in pixels, not in map units. So you can now
work on very fine details (E.G. vertices only 2 map units away)
provided that the zoom factor is high enough.
-
+
* Editing: Fixed minor glitch in texture viewer that showed with
BIGDOOR7, SKY1, TEKWALL1, TEKWALL5 and others (DEU).
-
+
* Editing: When highlighting a sector, compared SideDefs[LineDef
[n].sidedef1].sector with ObjNum even though .sector was -1.
Somehow it always tested false (DEU).
-
+
* Editing: "Check textures names": the name of the offending texture
is now printed correctly even if it is 8 characters long (DEU).
-
+
* Editing: "Check textures names": if you fixed a missing texture,
the editor was not made aware that you had made changes to the
level (DEU).
-
+
* Editing: Unused sectors are not selected anymore (DEU).
-
+
* Editing: Changing the preferences could overwrite other variables
(DEU).
-
+
* Editing: InputNameFromListWithFunc() used to segfault if you
pressed [Pgdn] on a list shorter than (listdisp + 1) elements
(DEU).
-
+
* Editing: Removed segfault in AlignTexturesX() (DEU).
-
+
* Game/wad: Heretic is now supported.
-
+
* Game/wad: Added support for Boom's new thing flags
not-in-deathmatch and not-in-coop.
-
+
* Game/wad: Added support for Boom's new linedef flag pass-through.
-
+
* Misc: Renamed as Yadex to avoid confusion with Yet Another Diagram
Editor.
-
+
* Misc: Loading pwads: implemented standard directories. If the pwad
to load is in one of the standard directories (or a subdirectory)
you don't have to type the whole name.
-
+
* Misc: Loading pwads: added standard directories and made the
messages less verbose for pwads that contain patches (PP_START/
PP_END).
-
+
* Misc: Removed segfault during fatal_error() on failure to open the
iwad (DEU).
-
+
* Misc: The prompt now groks TTYs with a number of lines other than
25.
-
+
* Misc: Changed the welcome message (a.k.a. "reminder").
-
+
* Misc: Added an "About Yadex..." window.
-
+
* Misc: Don't copy SEGS, SSECTORS, NODES, REJECT and BLOCKMAP from
the original file anymore when the map has changed. Makes smaller
wad files. Nice for archival.
-
+
* Misc: Added environment variable YADEX_GAME.
-
+
* Platform: Ported to X (plain Xlib). This version is not available
for DOS.
-
+
* Platform: Now works on big-endian machines.
-
+
* Platform: Removed several DOS-isms from file name handling code.
diff -uaNr yadex-1.6.0/FAQ yadex-1.7.0/FAQ
--- yadex-1.6.0/FAQ 2001-07-01 11:12:13.000000000 +0200
+++ yadex-1.7.0/FAQ 2003-12-28 19:56:04.000000000 +0100
@@ -1,125 +1,181 @@
+ Fancy logo
+ Yadex 1.7.0 (2003-12-28)
+
+ Yadex FAQ
- Fancy logo
- Yadex 1.6.0 (2001-06-27)
-
- Yadex FAQ
-
Compilation problems
- warning: comparison between signed and unsigned
- Not a problem. GCC is over-sensitive to signedness mismatches.
-
- In sanity.cc,
- warning: decimal integer constant is so large that it is
- unsigned
- Not a problem. It's a bug in GCC.
-
- c++: command not found
- Are you sure you have a C++ compiler ? If not, install one. If
- you do have one, find out how it's called and change the "CXX
- =" line in GNUmakefile accordingly.
-
+ During configure,
+ error: none of (gcc, c89, cc) work, is your PATH set right?
+
+ You need a C compiler to compile Yadex.
+
+ If you have one but it's not in the path, either fix $PATH
+ or pass the full pathname to the configure script with the
+ --cc flag (E.G. "./configure --cc /opt/sfw/bin/gcc").
+
+ If it's in the path but it's not called gcc or c89 or cc,
+ pass the name to the configure script with the --cc flag
+ (E.G. "./configure --cc icc").
+
+ During configure,
+ error: none of (g++, c++, cxx) work, is your PATH set right?
+
+ You need a C++ compiler to compile Yadex.
+
+ If you have one but it's not in the path, either fix $PATH
+ or pass the full pathname to the configure script with the
+ --cxx flag (E.G. "./configure --cxx /opt/sfw/bin/g++").
+
+ If it's in the path but it's not called g++ or c++ or cxx,
+ pass the name to the configure script with the --cxx flag
+ (E.G. "./configure --cxx icc").
+
X11/Xlib.h: No such file or directory
- Are you sure you have the Xlib headers ? If not, install them.
- If you already have them, then find out where they are and
- change the "X11INCLUDEDIR =" line in GNUmakefile accordingly.
-
+
+ Are you sure you have the Xlib headers ? If not, install
+ them. If you already have them, then find out where they
+ are and change the "X11INCLUDEDIR =" line in GNUmakefile
+ accordingly.
+
The compiler chokes on the Xlib headers
- This happens on Solaris 2.6 with GCC 2.95.2. Oliver Kraus says
- that the solution is to add "-fpermissive" to "CXXFLAGS =" in
- GNUmakefile.
-
+
+ This happens on Solaris 2.6 with GCC 2.95.2. Oliver Kraus
+ says that the solution is to add "-fpermissive" to
+ "CXXFLAGS =" in GNUmakefile.
+
/usr/X11R6/lib/libX11.so: undefined reference to `recv'
- /usr/X11R6/lib/libX11.so: undefined reference to `connect'
- /usr/X11R6/lib/libX11.so: undefined reference to `socket'
- /usr/X11R6/lib/libX11.so: undefined reference to `setsockopt'
- /usr/X11R6/lib/libX11.so: undefined reference to `shutdown'
- /usr/X11R6/lib/libX11.so: undefined reference to
- `gethostbyname'
- /usr/X11R6/lib/libX11.so: undefined reference to
- `getservbyname'
- /usr/X11R6/lib/libX11.so: undefined reference to `getpeername'
- /usr/X11R6/lib/libX11.so: undefined reference to `getsockname'
- This happens with QNX 6 and other Unices. Add "-lsocket" to
- "LDFLAGS =" in GNUmakefile.
-
- I have GCC 3.0 and Yadex 1.5.1 doesn't compile
- Get Yadex 1.5.2 or later.
-
- I have GCC 2.96 and Yadex 1.5.0 doesn't compile
- Get Yadex 1.5.1 or later.
-
- I have GCC 2.7 and I get lots of errors
- GCC 2.7 is a very old compiler, it does not implement the
- current C++ standard and I don't support it. If you must, try
- applying patch/gcc-2.7.diff that's included in the archive but
- don't complain to me if it doesn't work.
-
- I have EGCS 1.1.2 / SuSE 6.2 and I get
- "no matching function for call to `menu_c::menu_c (...)'"
- Apparently, there is a bug in certain EGCS 1.1.2 installations
- that makes them choke on src/editloop.cc. I know no workaround.
- I'd suggest that you try to get a fix from your distributor or
- use another compiler. EGCS 1.0.3, EGCS 1.1.1 and GCC 2.95.2 are
- known to work.
-
+ /usr/X11R6/lib/libX11.so: undefined reference to `connect'
+ /usr/X11R6/lib/libX11.so: undefined reference to `socket'
+ /usr/X11R6/lib/libX11.so: undefined reference to `setsockopt'
+ /usr/X11R6/lib/libX11.so: undefined reference to `shutdown'
+ /usr/X11R6/lib/libX11.so: undefined reference to `gethostbyname'
+ /usr/X11R6/lib/libX11.so: undefined reference to `getservbyname'
+ /usr/X11R6/lib/libX11.so: undefined reference to `getpeername'
+ /usr/X11R6/lib/libX11.so: undefined reference to `getsockname'
+
+ This happens with QNX 6 and other Unices. Add "-lsocket"
+ to "LDFLAGS =" in GNUmakefile.
+
+ Solaris: can't resolve gettimeofday()
+
+ In GNUmakefile, add "-lrt" after "-lX11".
+
+ Mac OS X:
+ al_adigits.o literal C string section (__TEXT,__cstring) does not
+ end with a '\0'
+
+ As far as I can see, the code in Yadex is legal C, and Mac
+ OS X's ld is incorrect in rejecting it. As a workaround,
+ change the size of al_adigits[] from 36 to 37 in
+ al_adigits.c and atclib.h. The real fix is to complain to
+ Apple for selling you a linker that won't link valid C
+ code.
+
+ GCC 3.0: Yadex 1.5.1 doesn't compile
+
+ Get Yadex 1.5.2 or later.
+
+ GCC 2.96: Yadex 1.5.0 doesn't compile
+
+ Get Yadex 1.5.1 or later.
+
+ EGCS 1.1.2 / SuSE 6.2:
+ no matching function for call to `menu_c::menu_c (...)'
+
+ Apparently, there is a bug in certain EGCS 1.1.2
+ installations that makes them choke on src/editloop.cc. I
+ know no workaround. I'd suggest that you try to get a fix
+ from your distributor or use another compiler. EGCS 1.0.3,
+ EGCS 1.1.1 and GCC 2.95.2 are known to work.
+
+ GCC 2.7: lots of compilation errors
+
+ GCC 2.7 is a very old compiler, it does not implement the
+ current C++ standard and I don't support it. If you must,
+ try applying patch/gcc-2.7.diff that's included in the
+ archive but don't complain to me if it doesn't work.
+
+ GCC:
+ warning: comparison between signed and unsigned
+
+ GCC is over-sensitive to signedness mismatches. Don't
+ worry, that won't prevent Yadex from working.
+
+ GCC: In sanity.cc,
+ warning: decimal integer constant is so large that it is unsigned
+
+ Weird as it may sound, the standard says that the lowest
+ value that a signed long can hold is -(2^31). GCC sticks
+ to the party line, never mind that you're on a platform
+ like i386 where LONG_MIN is -(2^31) - 1.
+
+ You can ignore this warning.
+
+ GCC: In sanity.cc,
+ warning: this decimal constant is unsigned only in ISO C90
+
+ This is a new avatar (as of GCC 3.3) of the previous
+ warning. Ignore it.
+
Yadex 1.3.1 doesn't compile
- There's a thinko in the makefile. It's fixed in version 1.3.2.
-
+
+ There's a thinko in the makefile. It's fixed in version
+ 1.3.2.
+
Yadex 1.1.0 doesn't compile
- In src/infobar.cc, lines 48 and 49, replace
-
- const char infobar_c::FILE_NAME_UNSET[1]; // A special pointer value
- const char infobar_c::LEVEL_NAME_UNSET[1]; // A special pointer value
-
- by
-
- const char infobar_c::FILE_NAME_UNSET[1] = { ' ' };
- const char infobar_c::LEVEL_NAME_UNSET[1] = { ' ' };
+
+ In src/infobar.cc, lines 48 and 49, replace
+
+ const char infobar_c::FILE_NAME_UNSET[1]; // A special pointer value
+ const char infobar_c::LEVEL_NAME_UNSET[1]; // A special pointer value
+
+ by
+
+ const char infobar_c::FILE_NAME_UNSET[1] = { ' ' };
+ const char infobar_c::LEVEL_NAME_UNSET[1] = { ' ' };
Yadex 1.0.1 doesn't compile
- In src/vector.h, delete line 44 ("return this;") and compile
- again.
-
+
+ In src/vector.h, delete line 44 ("return this;") and
+ compile again.
+
Misc.
I don't have an iwad
- You can download certain iwads for free ;
-
- + [1]Doom 1.8 shareware iwad
- + [2]Heretic shareware version
- + [3]Hexen demo
- + [4]Strife demo
-
+
+ You can download certain iwads for free ;
+
+ * Doom 1.8 shareware iwad
+ * Heretic shareware version
+ * Hexen demo
+ * Strife demo
+
What about a 3D preview ?
- Unless I suddenly become interested in 3D graphics, that is not
- going to happen. Besides, I suspect that a better and easier
- way to achieve what you're after might be to implement a
- reload-level in your favourite Doom port.
-
+
+ Andrew Apted has written an amazing patch that does
+ exactly that.
+
Yadex is slow, particularly when dragging objects
- Yes. I plan to replace the current implementation (pixmap) by
- drawing directly to the window. The difficulty lies in making
- that without generating a lot of flicker. In the meantime, try
- the -P option.
-
+
+ Yes. I plan to replace the current implementation (pixmap)
+ by drawing directly to the window. The difficulty lies in
+ making that without generating a lot of flicker. In the
+ meantime, try the -P option.
+
How many people use Yadex ?
- I don't know for sure. Each new release gets a few hundred
- downloads.
-
+
+ I don't know for sure. Each new release gets a few hundred
+ downloads.
+
Why didn't you use ?
- I used plain Xlib and not a toolkit for several reasons.
- Firstly, I wanted to learn Xlib. Secondly, I reckoned it would
- be easier to translate the existing BGI calls to Xlib than to
- some higher level toolkit. Thirdly, I feared that depending on
- a toolkit would hurt portability.
- _________________________________________________________________
-
- AYM 2001-06-29
-
-References
-
- 1. ftp://ftp.idsoftware.com/idstuff/doom/doom-1.8.wad.gz
- 2. ftp://ftp.idsoftware.com/idstuff/heretic/htic_v12.zip
- 3. ftp://ftp.idsoftware.com/idstuff/hexen/hexndemo.zip
- 4. http://www.rogue-ent.com/sfiles.html
+
+ I used plain Xlib and not a toolkit for several reasons.
+ Firstly, I wanted to learn Xlib. Secondly, I reckoned it
+ would be easier to translate the existing BGI calls to
+ Xlib than to some higher level toolkit. Thirdly, I feared
+ that depending on a toolkit would hurt portability.
+
+ --------------------------------------------------------------
+
+ AYM 2003-12-28
diff -uaNr yadex-1.6.0/GNUmakefile yadex-1.7.0/GNUmakefile
--- yadex-1.6.0/GNUmakefile 2003-03-31 18:57:59.000000000 +0200
+++ yadex-1.7.0/GNUmakefile 2003-12-28 18:23:56.000000000 +0100
@@ -72,9 +72,11 @@
endif
endif
-# C and C++ compiler
-#CC = cc
-#CXX = c++
+# $(CC) and $(CXX) are the C and C++ compiler respectively. They're
+# normally autodetected by ./configure and passed to make through
+# obj/0/Makefile.config.
+#CC =
+#CXX =
# Options used when compiling Atclib.
CFLAGS = -O
@@ -84,6 +86,7 @@
# LDFLAGS should not contain options that mean
# something to the C++ compiler.
CXXFLAGS = -O
+#CXXFLAGS += -DWHITE_BACKGROUND
#LDFLAGS =
# Options used to compile and link the debugging
@@ -471,7 +474,7 @@
.PHONY: save
save:
- tar -Icvf yadex-$$(date '+%Y%m%d').tar.bz2 \
+ tar -cjvf yadex-$$(date '+%Y%m%d').tar.bz2 \
--exclude "*.wad" \
--exclude "*.zip" \
--exclude "core" \
@@ -831,7 +834,7 @@
# remade at first build time.
FAQ: docsrc/faq.html
scripts/process $< >cache/faq.html
- lynx -dump cache/faq.html >$@
+ links -width 72 -dump cache/faq.html >$@
rm cache/faq.html
doc/yadex.dvi: doc/yadex.6
diff -uaNr yadex-1.6.0/README yadex-1.7.0/README
--- yadex-1.6.0/README 2003-04-01 02:30:42.000000000 +0200
+++ yadex-1.7.0/README 2003-12-28 22:38:38.000000000 +0100
@@ -1,4 +1,4 @@
-Yadex 1.6.0 (2003-04-01)
+Yadex 1.7.0 (2003-12-28)
WHAT IS YADEX ?
Yadex is a Doom level (wad) editor for Unix systems running X,
@@ -31,31 +31,37 @@
make
make install
+ To force the use of a particular C/C++ compiler :
+
+ ./configure --cc gcc-3.3 --cxx g++-3.3
+ make
+ make install
+
Got problems getting Yadex to compile ? See doc/faq.html.
Got no problem ? Read the FAQ anyway. See doc/faq.html.
Beware, the installation OVERWRITES the following files (assuming
you're installing in /usr/local) :
- /etc/yadex/1.6.0/yadex.cfg
+ /etc/yadex/1.7.0/yadex.cfg
/usr/local/bin/yadex
- /usr/local/bin/yadex-1.6.0
+ /usr/local/bin/yadex-1.7.0
/usr/local/man/man6/yadex.6
- /usr/local/man/man6/yadex-1.6.0.6
- /usr/local/share/games/yadex/1.6.0/doom.ygd
- /usr/local/share/games/yadex/1.6.0/doom02.ygd
- /usr/local/share/games/yadex/1.6.0/doom04.ygd
- /usr/local/share/games/yadex/1.6.0/doom05.ygd
- /usr/local/share/games/yadex/1.6.0/doom2.ygd
- /usr/local/share/games/yadex/1.6.0/doompr.ygd
- /usr/local/share/games/yadex/1.6.0/heretic.ygd
- /usr/local/share/games/yadex/1.6.0/hexen.ygd
- /usr/local/share/games/yadex/1.6.0/strife.ygd
- /usr/local/share/games/yadex/1.6.0/strife10.ygd
+ /usr/local/man/man6/yadex-1.7.0.6
+ /usr/local/share/games/yadex/1.7.0/doom.ygd
+ /usr/local/share/games/yadex/1.7.0/doom02.ygd
+ /usr/local/share/games/yadex/1.7.0/doom04.ygd
+ /usr/local/share/games/yadex/1.7.0/doom05.ygd
+ /usr/local/share/games/yadex/1.7.0/doom2.ygd
+ /usr/local/share/games/yadex/1.7.0/doompr.ygd
+ /usr/local/share/games/yadex/1.7.0/heretic.ygd
+ /usr/local/share/games/yadex/1.7.0/hexen.ygd
+ /usr/local/share/games/yadex/1.7.0/strife.ygd
+ /usr/local/share/games/yadex/1.7.0/strife10.ygd
CONFIGURING AND RUNNING
Before you run Yadex, you need to tell it where to find your iwads.
Assuming you have installed in /usr/local, open
- /etc/yadex/1.6.0/yadex.cfg with your favourite text editor and
+ /etc/yadex/1.7.0/yadex.cfg with your favourite text editor and
insert the appropriate values for the parameters "iwad1", "iwad2",
etc. If you don't want Doom II to be the default iwad, also change
the value of the "game" parameter.
@@ -132,4 +138,4 @@
CONTACT
See doc/contact.html for addresses.
-AYM 2003-02-15
+AYM 2003-12-28
diff -uaNr yadex-1.6.0/TODO yadex-1.7.0/TODO
--- yadex-1.6.0/TODO 2003-03-28 21:12:16.000000000 +0100
+++ yadex-1.7.0/TODO 2003-12-28 19:55:59.000000000 +0100
@@ -80,7 +80,7 @@
_zdoom.ygd in ZDoom but not in Boom
doom.ygd include _doom; include _doom16
doom04.ygd ?
- doom04.ygd ?
+ doom05.ygd ?
doompr.ygd ?
doom2.ygd include _doom; include _doom16; include _doom2
hacx.ygd ??
@@ -200,6 +200,7 @@
Heretic
- Heretic has some flats with a size of 4160. Is this why DeuTex accepts
64x65 flats ?
+- Most "1.666" linedefs types are wrong.
Strife
- Extract the radii from the exe.
@@ -503,6 +504,9 @@
Note #4: it might be useful to have two descriptions : an internal one
that sorts well (door open, door close) and an external one that's
human readable (Open door, Close door).
+- Arguably, when snap to grid is on,
+ - the pointer position shown in the info bar should honour it,
+ - the pointer position used for dragging etc. should honour it.
Editing, global mode:
- Editing properties (double-clicking or [Return]), selecting by
@@ -716,17 +720,19 @@
linedefs that should be highlighted and do them all in a loop, without
recursion. And thus we would not highlight the same linedef more than
once anymore.
-- Warn if W? linedef type used on single-sided linedef.
- Show all linedefs that have errors in red. That includes :
1. bad type,
2. type requires a tag but its tag is set to 0,
3. type requires a tag but no sector uses that tag,
4. door type on a single-sided linedef,
+ 4b. W? linedef type used on single-sided linedef,
5. missing texture (HOM) (though this is normal for some tricks),
6. tx with multi-patch columns on a double-sided linedef (medusa),
7. bad flag,
8. misaligned (bad X-offset),
9. superimposed linedefs.
+ 10. teleport type, but the target sector has no teleport exit, or it's
+ not present at all skill levels.
Notes:
- For (3), you probably need a bit vector of tags used by at least one
sector. When should it be refreshed ? It's perhaps safer to do it
@@ -737,6 +743,9 @@
- The colour of the linedef should probably be reset to normal before
highlighting and selecting. Having lines of many different colour is
just going to be confusing.
+- Check texture names: if the sidedef is not used by any linedefs, you
+ are still prompted to "press [esc] to see the object". If you do, you
+ get a "Bug: GetObjectCoords: bad sector# x" message.
Editing sectors
- Set floor height to ceiling height - headroom.
@@ -920,11 +929,12 @@
al_fana() to use dynamically allocated buffers.
Platforms/Portability
-- Solaris 2.7: bad X11/Xlib.h. With GCC, need -fpermissive
+- Solaris 7: bad X11/Xlib.h. With GCC, need -fpermissive
and/or -isystem /usr/openwin/include
-- Solaris 2.7: don't assume that having gcc implies that cc is
+- Solaris 7: don't assume that having gcc implies that cc is
gcc. cc might be the native compiler in which case -Wall might
no be appreciated.
+- Solaris 9: nanosleep() needs -lrt. Best to use usleep() ?
Prompt
- Add access to the prompt from an editing window (":" like in vi).
@@ -993,6 +1003,21 @@
- Wad_file has too many friends.
- Do not include so much of the Boost library in the distribution
archive.
+- Implement a colour translation class that remaps palette indices
+ before the Sticker stage. Used for:
+ - Doom spectres,
+ - Strife peasants, advisors, etc.
+ - peasant: PEAS beige top, green trousers
+ grey ramp: 01-1F
+ green ramp: 20-3F
+ beige ramp: A0-BF
+ greyish ramp: C0-DF
+ - Doom player:
+ - player 1: green: no translation
+ - player 2: indigo (or is it grey ?): 70h-7Fh => 60h-6Fh
+ - player 3: brown: 70h-7Fh => 40h-4Fh
+ - player 4: red: 70h-7Fh => 20h-2Fh
+ In the .ygd, add a "translation-id" field to the "thing" records.
To do soon
- Finish window_to_rgbbmp()
diff -uaNr yadex-1.6.0/VERSION yadex-1.7.0/VERSION
--- yadex-1.6.0/VERSION 2003-03-30 14:18:03.000000000 +0200
+++ yadex-1.7.0/VERSION 2003-12-03 20:28:04.000000000 +0100
@@ -1 +1 @@
-1.6.0
+1.7.0
diff -uaNr yadex-1.6.0/cache/srcdate yadex-1.7.0/cache/srcdate
--- yadex-1.6.0/cache/srcdate 2003-04-01 00:00:00.000000000 +0200
+++ yadex-1.7.0/cache/srcdate 2003-12-28 00:00:00.000000000 +0100
@@ -1 +1 @@
-2003-04-01
\ No newline at end of file
+2003-12-28
\ No newline at end of file
diff -uaNr yadex-1.6.0/configure yadex-1.7.0/configure
--- yadex-1.6.0/configure 2003-03-05 22:09:25.000000000 +0100
+++ yadex-1.7.0/configure 2003-12-28 17:26:20.000000000 +0100
@@ -24,6 +24,8 @@
APPNAME=yadex
VERSION=`cat VERSION`
+CC=
+CXX=
HAVE_GETTIMEOFDAY=
HAVE_NANOSLEEP=
HAVE_SNPRINTF=
@@ -43,7 +45,7 @@
printf '%s' "$3" >$cdir/$cbasename
printf 'checking %s...' "$1"
- if (cd $cdir && cc -c $cbasename >$cout 2>&1)
+ if (cd $cdir && $CC -c $cbasename >$cout 2>&1)
then
echo " yes"
eval "$2=1"
@@ -152,10 +154,38 @@
--help)
echo "Usage:"
echo " configure --help"
- echo " configure --prefix path"
+ echo " configure [--prefix path] [--cc string] [--cxx string]"
exit 0
;;
+ --cc)
+ shift
+ if [ "$#" -lt 1 ]
+ then
+ echo "configure: --cc requires an argument" 1>&2
+ exit 1
+ fi
+ CC="$1"
+ ;;
+
+ --cc=*)
+ CC=`expr "x$1" : 'x--cc=\(.*\)'`
+ ;;
+
+ --cxx)
+ shift
+ if [ "$#" -lt 1 ]
+ then
+ echo "configure: --cxx requires an argument" 1>&2
+ exit 1
+ fi
+ CXX="$1"
+ ;;
+
+ --cxx=*)
+ CXX=`expr "x$1" : 'x--cxx=\(.*\)'`
+ ;;
+
--prefix)
shift
if [ "$#" -lt 1 ]
@@ -166,8 +196,8 @@
PREFIX="$1"
;;
- --prefix=*) # Support the funky GNU syntax
- PREFIX=`expr "$1" : '--prefix=\(.*\)'`
+ --prefix=*)
+ PREFIX=`expr "x$1" : 'x--prefix=\(.*\)'`
;;
-*)
@@ -198,20 +228,57 @@
[ -x $GREP ] || GREP=grep
#
-# Do we have a C compiler ?
+# Look for a C compiler
+#
+# We try "gcc" first as commercial Unixen often have a bundled
+# "cc" command that's useless for our purposes (antiquated KNR
+# compiler or front-end that just hangs waiting for an answer from
+# some licence manager).
+#
+printf "looking for a C compiler..."
+if [ -n "$CC" ]
+then
+ printf ' using user-supplied value:'
+else
+ CC=gcc
+ if type $CC >/dev/null 2>&1
+ then
+ :
+ else
+ CC=c89
+ if type $CC >/dev/null 2>&1
+ then
+ :
+ else
+ CC=cc
+ if type $CC >/dev/null 2>&1
+ then
+ :
+ else
+ echo " none"
+ echo "error: none of (gcc, c89, cc) work, is your PATH set right?" 1>&2
+ exit 1
+ fi
+ fi
+ fi
+fi
+echo " $CC"
+
+#
+# Does the C compiler actually work ?
#
cdir=/tmp
cbasename=${APPNAME}_$$.c
cout=${APPNAME}_$$.out
-printf "checking whether the cc command works..."
+printf "checking whether the C compiler works..."
echo 'int n;' >$cdir/$cbasename
-if (cd $cdir && cc -c $cbasename >$cout 2>&1)
+if (cd $cdir && $CC -c $cbasename >$cout 2>&1)
then
echo " yes"
else
echo " no"
sed 's/^/> /' $cdir/$cout
- echo "error: looks like the cc command is not working" 1>&2
+ echo "error: looks like the C compiler is not working" 1>&2
exit 1
fi
@@ -272,6 +339,58 @@
' || true
#
+# Look for a C++ compiler
+#
+# We try "g++" first, then "c++", then "cxx".
+#
+printf "looking for a C++ compiler..."
+if [ -n "$CXX" ]
+then
+ printf ' using user-supplied value:'
+else
+ CXX=g++
+ if type $CXX >/dev/null 2>&1
+ then
+ :
+ else
+ CXX=c++
+ if type $CXX >/dev/null 2>&1
+ then
+ :
+ else
+ CXX=cxx
+ if type $CXX >/dev/null 2>&1
+ then
+ :
+ else
+ echo " none"
+ echo "error: none of (g++, c++, cxx) work, is your PATH set right?" 1>&2
+ exit 1
+ fi
+ fi
+ fi
+fi
+echo " $CXX"
+
+#
+# Does the C++ compiler actually work ?
+#
+cdir=/tmp
+cbasename=${APPNAME}_$$.cc
+cout=${APPNAME}_$$.out
+printf "checking whether the C++ compiler works..."
+echo 'int n;' >$cdir/$cbasename
+if (cd $cdir && $CXX -c $cbasename >$cout 2>&1)
+then
+ echo " yes"
+else
+ echo " no"
+ sed 's/^/> /' $cdir/$cout
+ echo "error: looks like the C++ compiler is not working" 1>&2
+ exit 1
+fi
+
+#
# Create the directory where the build-specific files go
#
SYSTEM_RAW="`uname -n`_`uname -a | cksum`"
@@ -328,6 +447,8 @@
echo "# DO NOT EDIT -- generated by ./configure"
echo
echo "BINDIR = $BINDIR"
+ echo "CC = $CC"
+ echo "CXX = $CXX"
echo "ETCDIR = $ETCDIR" | sed "s/%v/$VERSION/g"
echo "ETCDIRNV = $ETCDIRNV"
echo "HAVE_GETTIMEOFDAY = $HAVE_GETTIMEOFDAY"
diff -uaNr yadex-1.6.0/docsrc/README yadex-1.7.0/docsrc/README
--- yadex-1.6.0/docsrc/README 2003-02-15 16:17:11.000000000 +0100
+++ yadex-1.7.0/docsrc/README 2003-12-28 18:19:21.000000000 +0100
@@ -31,6 +31,12 @@
make
make install
+ To force the use of a particular C/C++ compiler :
+
+ ./configure --cc gcc-3.3 --cxx g++-3.3
+ make
+ make install
+
Got problems getting Yadex to compile ? See doc/faq.html.
Got no problem ? Read the FAQ anyway. See doc/faq.html.
diff -uaNr yadex-1.6.0/docsrc/credits.html yadex-1.7.0/docsrc/credits.html
--- yadex-1.6.0/docsrc/credits.html 2003-03-28 18:57:49.000000000 +0100
+++ yadex-1.7.0/docsrc/credits.html 2003-12-28 23:45:38.000000000 +0100
@@ -13,6 +13,12 @@
+
+ The email addresses have been anti-spammed. To demangle, reverse,
+ apply rot13 (exchange a and n, b and o, etc), replace the equal sign
+ by a at and replace the plus signs in the domain by dots.
+
+
DEU
Yadex is derived from DEU 5.21 that was written by Raphaël
@@ -24,11 +30,11 @@
* Everybody at id Software for making such great games!
-* Brendon Wyber (b.wyber@csc.canterbury.ac.nz)
+* Brendon Wyber (ma+pn+lehoerganp+pfp=erolj.o)
The first version of this program was written by Brendon Wyber.
Map display, Things editor.
-* Raphaël Quinet (quinet@montefiore.ulg.ac.be)
+* Raphaël Quinet (ro+pn+tyh+rebvsrgabz=gravhd)
Much of this program was written by Raphaël Quinet.
New interface (mouse, menus, etc).
Ability to edit Vertices, Linedefs, Sidedefs, Sectors, and last
@@ -36,11 +42,11 @@
Even if I rewrote nearly 90% of the code, this editor still has its
strong DEU roots... :-)
-* Matt Fell (matt.burnett@acebbs.com)
+* Matt Fell (zbp+foorpn=ggraeho.ggnz)
Author of the great Unofficial Doom Specs. Making this program
would have been impossible if the Specs didn't exist.
-* Steve Bareman (bareman@hope.cit.hope.edu)
+* Steve Bareman (hqr+rcbu+gvp+rcbu=anzreno)
Rewrote the documentation (this file and DEU.TXT)
Author of the DEU tutorial (look in the TUTOR directory).
Constant promoter of including source code with the editor.
@@ -49,29 +55,29 @@
(Registered DOOM patches, DEU, and various doom utils for
Registered DOOMers only.)
-* Trevor Phillips (rphillip@cc.curtin.edu.au)
+* Trevor Phillips (hn+hqr+avgehp+pp=cvyyvuce)
Textures viewer in 256 colors
Many, many suggestions and improvements to the DEU code.
-* Alistair Brown (A.D.Brown@bradford.ac.uk)
-* Chris Phillips (chrisp@halcyon.com)
-* Colin Reed (colin@argonaut.co.uk)
-* Dylan Cuthbert (dyl@cix.compulink.co.uk)
+* Alistair Brown (xh+pn+qebsqneo=ajbeB.D.A)
+* Chris Phillips (zbp+ablpynu=cfveup)
+* Colin Reed (xh+bp+ghnabten=avybp)
+* Dylan Cuthbert (xh+bp+xavyhczbp+kvp=ylq)
Lots of infos about the Nodes objects.
They fixed the bug(s) in my Nodes builder.
Looking for cute Doom add-ons? Get BSP and ZAMBONY!
-* Dewi Morgan (D.Morgan@bradford.ac.uk)
+* Dewi Morgan (xh+pn+qebsqneo=antebM.D)
Drop-down menus and menu bar.
Rewrote and reorganized part of this file.
Numerous improvements and suggestions.
Now working on a GIF support for DEU.
-* Will Ellett (wellett@cs.uah.edu)
+* Will Ellett (hqr+unh+fp=ggryyrj)
Configuration file (DEU.INI) and better command line parsing.
Lots of suggestions for DEU.
-* Barry Bloom (barry@noc.unt.edu)
+* Barry Bloom (hqr+gah+pba=leeno)
Maintainer of the official DEU distribution site for the USA:
the best DOOM FTP server: infant2.sphs.indiana.edu
(DOOM add-ons and utils, collection of WAD files, ...)
@@ -79,71 +85,71 @@
The first martyr of the DOOM cause: his first ftp site (ocf.unt.edu)
has been closed by short-minded academic authorities. <sob!>
-* Sven Neuhaus (sven@lilly.ping.de)
-* Billy Chow (billy.chow@engineering.oxford.ac.uk)
+* Sven Neuhaus (rq+tavc+lyyvy=arif)
+* Billy Chow (xh+pn+qebskb+taverravtar=jbup.lyyvo)
The most efficient beta-testers! They keep on finding bugs that
most other people never see...
-* Jeremy Blackman (ranma@eskinews.eskimo.com)
-* Brian Downing (bdowning@ncsa.uiuc.edu)
-* Ted Vessenes (tedv@geom.umn.edu)
-* Ed Boling (edb9140@tamsun.tamu.edu)
+* Jeremy Blackman (zbp+bzvxfr+fjravxfr=nzane)
+* Brian Downing (hqr+phvh+nfpa=tavajbqo)
+* Ted Vessenes (hqr+azh+zbrt=iqrg)
+* Ed Boling (hqr+hzng+ahfzng=0419oqr)
* Greg Grimsby (no more E-mail address <sob!>)
-* Michael Emmons (ie78hc0z@solix.fiu.edu)
-* Ryan Budney (rybu@jazz.math.ualberta.ca)
-* Cameron Newham (cam@iinet.com.au)
+* Michael Emmons (hqr+hvs+kvybf=m0pu87rv)
+* Ryan Budney (np+ngeroynh+ugnz+mmnw=hole)
+* Cameron Newham (hn+zbp+gravv=znp)
Numerous comments, suggestions for improvements, and bug reports.
They were amongst the first to have faith in DEU and support it.
-* Tom Neff (tneff@panix.com)
+* Tom Neff (zbp+kvanc=ssrag)
Not only a good beta-tester, but also the author of the WIF Specs,
a text interchange format for Doom levels, based on the DWD files
used internally by id Software.
-* Dietrich Hempelmann (avatar@uni-paderborn.de)
+* Dietrich Hempelmann (rq+aeboerqnc-vah=engnin)
Designed the "DEU 5" logo in DEU.TXT. Great ascii-art...
-* Jean-Serge Gagnon (jsg8a@acadvm1.uottawa.ca)
+* Jean-Serge Gagnon (np+njnggbh+1ziqnpn=n8tfw)
Helped Steve with the docs and improved the DEU tutorial.
If you want to see a good WAD file, get FOREST.WAD...
-* Sean Malloy (malloy@crash.cts.com)
+* Sean Malloy (zbp+fgp+ufnep=lbyynz)
Updated the docs for the stairs, sent some interesting suggestions
and bug reports. Improved display of the LineDef flags, etc.
-* Christian Johannes Sladetsch (s924706@yallara.cs.rmit.oz.au)
+* Christian Johannes Sladetsch (hn+mb+gvze+fp+nenyynl=607429f)
Better texture display, XMS support (memory swapping).
-* Craig Smith (bcs@cs.tamu.edu)
+* Craig Smith (hqr+hzng+fp=fpo)
Ideas for improvements in the memory allocation routines.
-* Tim Dedischew (kfdedisc@vela.acs.oakland.edu)
+* Tim Dedischew (hqr+qanyxnb+fpn+nyri=pfvqrqsx)
Working on a realistic 3D previewer for DEU.
-* Tobias Ringström (d2rinto@dtek.chalmers.se)
+* Tobias Ringström (rf+ferzynup+xrgq=bgave2q)
Added the code to distribute floors and ceiling heights.
-* Robert Hodkinson (R.J.Hodkinson@bradford.ac.uk)
+* Robert Hodkinson (xh+pn+qebsqneo=abfavxqbH.J.R)
Texture alignment (X offset).
-* Per Allanson (c91peral@und.ida.liu.se)
+* Per Allanson (rf+hvy+nqv+qah=ynerc19p)
Ported DEU 5.x to GCC + GO32 (DGJPP).
-* Per Kofod (per@ollie.dnk.hp.com)
+* Per Kofod (zbp+cu+xaq+rvyyb=erc)
Added the code to display the pointer coords. Sent some bug reports
and suggestions for improvements.
-* Jim Pitts (pitts@mimosa.astro.indiana.edu)
+* Jim Pitts (hqr+nanvqav+begfn+nfbzvz=fggvc)
Maintainer of the 'infant2' FTP site. Our salvation when the UNT
authorities closed the 'ocf' DOOM-only FTP site. Thanks, Jim!
-* Andy Sherwood (enigma@indirect.com)
+* Andy Sherwood (zbp+gprevqav=nztvar)
Patch for Cirrus Logic cards: use the hardware cursor for the mouse.
-* "Dino" (s.sproston-se2@cs.bham.ac.uk)
+* "Dino" (xh+pn+znuo+fp=2rf-abgfbecf.f)
Found 35 new LineDef types! New ways to raise or lower floors, etc.
-* Hank Leukart (ap641@cleveland.freenet.edu)
+* Hank Leukart (hqr+grarres+qanyriryp=146cn)
Author of the DOOM FAQ. Publisher of Matt's Unofficial DOOM Specs.
He was (and still is) one of the best promoters of DOOM on the net.
@@ -177,18 +183,18 @@
include, by alphabetical order :
- - Joseph Carter
<knghtbrd@debian.org>
+ - Joseph Carter
<teb+anvorq=qeogutax>
- Debian package. Convinced me to support
/usr/local/share/man/. Put up with my sick makefiles.
-
- Ben Davies
<d3095027@bohm.anu.edu.au> (BD)
+
- Ben Davies
<hn+hqr+han+zubo=7205903q> (BD)
- A post by him and another one by Nathan Lucas in r.g.c.d.e. led to the
development of the "save image to a file" feature. Gave thorough reports.
- Max Heijndijk
- RPM package.
-
- Joe Koperski
<joekoperski@hotmail.com> (JK)
+
- Joe Koperski
<zbp+yvnzgbu=vxfercbxrbw> (JK)
- Encouragements.
- Oliver Kraus
<lrs.e-technik.uni-erlangen.de>
@@ -197,24 +203,24 @@
- Ingo van Lil
- Bug reports and suggestions.
-
- Udo Munk
<um@compuserve.com> (UM)
+
- Udo Munk
<zbp+rierfhczbp=zh> (UM)
- Requested scrolling with arrow keys and possibility to disable the
autoscrolling. Helped a lot with Final Doom compatibility and porting
issues. Wrote XDoom and Xwadtools.
-
- Kim "Sparky" Parrott
<kelm@eisa.net.au>
+
- Kim "Sparky" Parrott
<hn+gra+nfvr=zyrx>
- Indirect bug report.
-
- Colin Phipps
+
- Colin Phipps
- FreeBSD testing. Wrote the fix for two bugs in
BSP 2.3. Wrote LxDoom. Now
maintains BSP.
-
- Len Pitre
+
- Len Pitre
- Helped with Strife support.
- Jérôme Raciazek
@@ -224,7 +230,7 @@
- More bug reports than everybody else combined. Provides a mirror of the
web page.
-
- Josh R. Ray
<joshray@prodigy.net> (JRR)
+
- Josh R. Ray
<gra+ltvqbec=lneufbw> (JRR)
- Encouragements.
- Vedran Rodic (VR)
@@ -235,7 +241,7 @@
- The first to report the compilation error in
bitvec.h.
- Jan Van der Veken
-
<jan.van.der.veken@village.uunet.be> (JVDV)
+ <ro+grahh+rtnyyvi=arxri.erq.ani.anw> (JVDV)
- Requested the "brighten or darken sectors" function, single-key linedef
splitting, single-key linedefs of sector splitting and scrolling with arrow
keys.
@@ -243,23 +249,26 @@
- The Wildman
- Encouragements.
-
- Jonathan Wilson
<wilsonj@xoommail.com>.
+
- Jonathan Wilson
<zbp+yvnzzbbk=wabfyvj>.
- Figured out the picture format for the Doom alpha and press release
versions and told us about it on rgcde. Without him, Yadex probably
wouldn't support them.
-
- Pierre Baillargeon
<pb@artquest.net>
- - Carl Barron
<cbarron3@ix.netcom.com>
- - David Ferguson
<DavidFerguson@NOcsiSPAM.com>
- - John Potter
<jpotter@falcon.lhup.edu>
- - Atgeirr F. Rasmussen
<atgeirr@sintef.no>
- - Ivan Vecerina
<ivec@mail.com>
+
- Pierre Baillargeon
<gra+gfrhdgen=oc>
+ - Carl Barron
<zbp+zbpgra+kv=3abeenop>
+ - David Ferguson
<zbp+MAPSvfpON=abfhterFqvinD>
+ - John Potter
<hqr+chuy+abpyns=erggbcw>
+ - Atgeirr F. Rasmussen
<ba+srgavf=eevrtgn>
+ - Ivan Vecerina
<zbp+yvnz=priv>
- C++ help.
- Benjamin Bayart
- Ouafae Kotby
diff consulting.
+
- Barry Mead
+
- Reported many errors in
heretic.ygd.
+
If I'm forgetting you, pardon my mistake and please send me a
diff -uaNr yadex-1.6.0/docsrc/faq.html yadex-1.7.0/docsrc/faq.html
--- yadex-1.6.0/docsrc/faq.html 2001-06-29 17:04:00.000000000 +0200
+++ yadex-1.7.0/docsrc/faq.html 2003-12-28 18:23:15.000000000 +0100
@@ -1,136 +1,302 @@
-
-Yadex FAQ
-
-
-
-
-

-
Yadex $VERSION ($SOURCE_DATE)
-
Yadex FAQ
-
-
-
-
-
- Compilation problems
-
-
- - warning: comparison between signed and unsigned
-
- Not a problem. GCC is over-sensitive to signedness mismatches.
-
-
- In
sanity.cc,
-
warning: decimal integer constant is so large that it is unsigned
-
- - Not a problem. It's a bug in GCC.
-
-
- c++: command not found
-
- Are you sure you have a C++ compiler ? If not, install one. If you
- do have one, find out how it's called and change the "
CXX ="
- line in GNUmakefile accordingly.
-
- - X11/Xlib.h: No such file or directory
-
- Are you sure you have the Xlib headers ? If not, install them. If
- you already have them, then find out where they are and change the
- "
X11INCLUDEDIR =" line in GNUmakefile
- accordingly.
-
- - The compiler chokes on the Xlib headers
-
- This happens on Solaris 2.6 with GCC 2.95.2. Oliver Kraus says
- that the solution is to add "
-fpermissive" to
- "CXXFLAGS =" in GNUmakefile.
-
- - /usr/X11R6/lib/libX11.so: undefined reference to `recv'
-
/usr/X11R6/lib/libX11.so: undefined reference to `connect'
-
/usr/X11R6/lib/libX11.so: undefined reference to `socket'
-
/usr/X11R6/lib/libX11.so: undefined reference to `setsockopt'
-
/usr/X11R6/lib/libX11.so: undefined reference to `shutdown'
-
/usr/X11R6/lib/libX11.so: undefined reference to `gethostbyname'
-
/usr/X11R6/lib/libX11.so: undefined reference to `getservbyname'
-
/usr/X11R6/lib/libX11.so: undefined reference to `getpeername'
-
/usr/X11R6/lib/libX11.so: undefined reference to `getsockname'
- - This happens with QNX 6 and other Unices. Add "
-lsocket" to
- "LDFLAGS =" in GNUmakefile.
-
- - I have GCC 3.0 and Yadex 1.5.1 doesn't compile
-
- Get Yadex 1.5.2 or later.
-
-
- I have GCC 2.96 and Yadex 1.5.0 doesn't compile
-
- Get Yadex 1.5.1 or later.
-
-
- I have GCC 2.7 and I get lots of errors
-
- GCC 2.7 is a very old compiler, it does not implement the current C++
- standard and I don't support it. If you must, try applying
-
patch/gcc-2.7.diff that's included in the archive but don't
- complain to me if it doesn't work.
-
- - I have EGCS 1.1.2 / SuSE 6.2 and I get
-
"no matching function for call to `menu_c::menu_c (...)'"
- - Apparently, there is a bug in certain EGCS 1.1.2 installations that makes
- them choke on
src/editloop.cc. I know no workaround. I'd
- suggest that you try to get a fix from your distributor or use another
- compiler. EGCS 1.0.3, EGCS 1.1.1 and GCC 2.95.2 are known
- to work.
-
- - Yadex 1.3.1 doesn't compile
-
- There's a thinko in the makefile. It's fixed in version 1.3.2.
-
-
- Yadex 1.1.0 doesn't compile
-
- In
src/infobar.cc, lines 48 and 49, replace
-
- const char infobar_c::FILE_NAME_UNSET[1]; // A special pointer value
- const char infobar_c::LEVEL_NAME_UNSET[1]; // A special pointer value
-
- by
-
- const char infobar_c::FILE_NAME_UNSET[1] = { ' ' };
- const char infobar_c::LEVEL_NAME_UNSET[1] = { ' ' };
-
- - Yadex 1.0.1 doesn't compile
-
- In
src/vector.h, delete line 44 ("return
- this;") and compile again.
-
-
- Misc.
-
-
- - I don't have an iwad
-
- You can download certain iwads for free ;
-
-
-
- What about a 3D preview ?
-
- Unless I suddenly become interested in 3D graphics, that is not going to
- happen. Besides, I suspect that a better and easier way to achieve what
- you're after might be to implement a reload-level in your favourite Doom
- port.
-
-
- Yadex is slow, particularly when dragging objects
-
- Yes. I plan to replace the current implementation (pixmap) by drawing
- directly to the window. The difficulty lies in making that without
- generating a lot of flicker. In the meantime, try the
-P
- option.
-
- - How many people use Yadex ?
-
- I don't know for sure. Each new release gets a few hundred downloads.
-
-
- Why didn't you use <insert speaker's favourite
- toolkit> ?
-
- I used plain Xlib and not a toolkit for several reasons. Firstly, I
- wanted to learn Xlib. Secondly, I reckoned it would be easier to translate
- the existing BGI calls to Xlib than to some higher level toolkit. Thirdly,
- I feared that depending on a toolkit would hurt portability.
-
+
+ Yadex FAQ
+
+
+
+
+

+
Yadex $VERSION ($SOURCE_DATE)
+
Yadex FAQ
+
+
+
+
+
+ Compilation problems
+
+
+ -
+
+ During configure,
+
error: none of (gcc, c89, cc) work, is your PATH set
+ right?
+
+ -
+
+ You need a C compiler to compile Yadex.
+
+
+
+ If you have one but it's not in the path, either fix
+ $PATH or pass the full pathname to the configure script
+ with the --cc flag (E.G. "./configure --cc
+ /opt/sfw/bin/gcc").
+
+
+
+ If it's in the path but it's not called gcc or
+ c89 or cc, pass the name to the configure
+ script with the --cc flag (E.G. "./configure --cc
+ icc").
+
+
+ -
+ During configure,
+
error: none of (g++, c++, cxx) work, is your PATH set right?
+
+ -
+
+ You need a C++ compiler to compile Yadex.
+
+
+
+ If you have one but it's not in the path, either fix
+ $PATH or pass the full pathname to the configure script
+ with the --cxx flag (E.G. "./configure --cxx
+ /opt/sfw/bin/g++").
+
+
+
+ If it's in the path but it's not called g++ or
+ c++ or cxx, pass the name to the configure
+ script with the --cxx flag (E.G. "./configure
+ --cxx icc").
+
+
+ - X11/Xlib.h: No such file or directory
+
+
-
+
+ Are you sure you have the Xlib headers ? If not, install them.
+ If you already have them, then find out where they are and change the
+ "X11INCLUDEDIR =" line in GNUmakefile
+ accordingly.
+
+
+ - The compiler chokes on the Xlib headers
+
+
-
+
+ This happens on Solaris 2.6 with GCC 2.95.2. Oliver Kraus says that
+ the solution is to add "-fpermissive" to "CXXFLAGS
+ =" in GNUmakefile.
+
+
+ -
+ /usr/X11R6/lib/libX11.so: undefined reference to `recv'
+
/usr/X11R6/lib/libX11.so: undefined reference to `connect'
+
/usr/X11R6/lib/libX11.so: undefined reference to `socket'
+
/usr/X11R6/lib/libX11.so: undefined reference to `setsockopt'
+
/usr/X11R6/lib/libX11.so: undefined reference to `shutdown'
+
/usr/X11R6/lib/libX11.so: undefined reference to `gethostbyname'
+
/usr/X11R6/lib/libX11.so: undefined reference to `getservbyname'
+
/usr/X11R6/lib/libX11.so: undefined reference to `getpeername'
+
/usr/X11R6/lib/libX11.so: undefined reference to `getsockname'
+
+
+ -
+
+ This happens with QNX 6 and other Unices. Add "-lsocket"
+ to "LDFLAGS =" in GNUmakefile.
+
+
+ - Solaris: can't resolve
gettimeofday()
+
+ -
+
+ In GNUmakefile, add "-lrt" after
+ "-lX11".
+
+
+ -
+ Mac OS X:
+
al_adigits.o literal C string section (__TEXT,__cstring) does
+ not end with a '\0'
+
+ -
+
+ As far as I can see, the code in Yadex is legal C, and Mac OS X's
+ ld is incorrect in rejecting it. As a workaround, change
+ the size of al_adigits[] from 36 to 37 in
+ al_adigits.c and atclib.h. The real fix is
+ to complain to Apple for selling
+ you a linker that won't link valid C code.
+
+
+ - GCC 3.0: Yadex 1.5.1 doesn't compile
+
+
-
+
+ Get Yadex 1.5.2 or later.
+
+
+ -
+ GCC 2.96: Yadex 1.5.0 doesn't compile
+
+
-
+
+ Get Yadex 1.5.1 or later.
+
+
+ -
+ EGCS 1.1.2 / SuSE 6.2:
+
no matching function for call to `menu_c::menu_c (...)'
+
+
+ -
+
+ Apparently, there is a bug in certain EGCS 1.1.2 installations that
+ makes them choke on src/editloop.cc. I know no
+ workaround. I'd suggest that you try to get a fix from your
+ distributor or use another compiler. EGCS 1.0.3, EGCS 1.1.1
+ and GCC 2.95.2 are known to work.
+
+
+ - GCC 2.7: lots of compilation errors
+
+
-
+
+ GCC 2.7 is a very old compiler, it does not implement the current C++
+ standard and I don't support it. If you must, try applying
+ patch/gcc-2.7.diff that's included in the archive but
+ don't complain to me if it doesn't work.
+
+
+
+ -
+ GCC:
+
warning: comparison between signed and unsigned
+
+
+ -
+
+ GCC is over-sensitive to signedness mismatches. Don't worry, that
+ won't prevent Yadex from working.
+
+
+ -
+ GCC: In
sanity.cc,
+
warning: decimal integer constant is so large that it is
+ unsigned
+
+ -
+
+ Weird as it may sound, the standard says that the lowest value that a
+ signed long can hold is -(2^31). GCC sticks to the party line, never
+ mind that you're on a platform like i386 where LONG_MIN
+ is -(2^31) - 1.
+
+
+
+ You can ignore this warning.
+
+
+ -
+ GCC: In
sanity.cc,
+
warning: this decimal constant is unsigned only in ISO
+ C90
+
+ -
+
+ This is a new avatar (as of GCC 3.3) of the previous warning. Ignore
+ it.
+
+
+ - Yadex 1.3.1 doesn't compile
+
+
-
+
+ There's a thinko in the makefile. It's fixed in version 1.3.2.
+
+
+ - Yadex 1.1.0 doesn't compile
+
+
-
+
+ In src/infobar.cc, lines 48 and 49, replace
+
+
+ const char infobar_c::FILE_NAME_UNSET[1]; // A special pointer value
+ const char infobar_c::LEVEL_NAME_UNSET[1]; // A special pointer value
+
+
+ by
+
+
+ const char infobar_c::FILE_NAME_UNSET[1] = { ' ' };
+ const char infobar_c::LEVEL_NAME_UNSET[1] = { ' ' };
+
+ - Yadex 1.0.1 doesn't compile
+
+
-
+
+ In src/vector.h, delete line 44 ("return
+ this;") and compile again.
+
+
+
+ Misc.
+
+
+ - I don't have an iwad
+
+
-
+
+ You can download certain iwads for free ;
+
+
+
+
+ - What about a 3D preview ?
+
+
-
+
+ Andrew Apted has written an amazing patch
+ that does exactly that.
+
+
+ - Yadex is slow, particularly when dragging objects
+
+
-
+
+ Yes. I plan to replace the current implementation (pixmap) by drawing
+ directly to the window. The difficulty lies in making that without
+ generating a lot of flicker. In the meantime, try the -P
+ option.
+
+
+ - How many people use Yadex ?
+
+
-
+
+ I don't know for sure. Each new release gets a few hundred downloads.
+
+
+ - Why didn't you use <insert speaker's favourite
+ toolkit> ?
+
+
-
+
+ I used plain Xlib and not a toolkit for several reasons. Firstly, I
+ wanted to learn Xlib. Secondly, I reckoned it would be easier to
+ translate the existing BGI calls to Xlib than to some higher level
+ toolkit. Thirdly, I feared that depending on a toolkit would hurt
+ portability.
+
+
-
AYM $SELF_DATE
+
AYM $SELF_DATE
-
+
diff -uaNr yadex-1.6.0/docsrc/yadex.6 yadex-1.7.0/docsrc/yadex.6
--- yadex-1.6.0/docsrc/yadex.6 2003-03-31 19:05:07.000000000 +0200
+++ yadex-1.7.0/docsrc/yadex.6 2003-12-28 23:51:27.000000000 +0100
@@ -302,7 +302,7 @@
.nf
Contributors:
Andrew J. Apted (http://www.netspace.net.au/~ajapted/)
-Matthew W. Miller (mwmiller@columbus.rr.com)
+Matthew W. Miller (zbp+ee+fhozhybp=eryyvzjz)
.fi
Yadex is derived from DEU 5.21 that was written by Raphaël Quinet,
diff -uaNr yadex-1.6.0/src/cfgfile.cc yadex-1.7.0/src/cfgfile.cc
--- yadex-1.6.0/src/cfgfile.cc 2003-04-01 00:00:00.000000000 +0200
+++ yadex-1.7.0/src/cfgfile.cc 2003-04-24 22:33:10.000000000 +0200
@@ -713,7 +713,6 @@
for (unsigned lnum = 1; fgets (line, sizeof line, cfgfile) != NULL; lnum++)
{
char *name = 0;
- char *op = 0;
char *value = 0;
char *p = line;
diff -uaNr yadex-1.6.0/src/checks.cc yadex-1.7.0/src/checks.cc
--- yadex-1.6.0/src/checks.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/checks.cc 2003-12-15 01:49:08.000000000 +0100
@@ -150,7 +150,7 @@
((unsigned long) NumSectors * sizeof (struct Sector) + 512L) / 1024L);
DrawScreenText (-1, -1, "");
-set_colour (YELLOW);
+set_colour (WINTITLE);
DrawScreenText (-1, -1, "Press any key to continue...");
get_key_or_click ();
ShowMousePointer ();
@@ -212,14 +212,14 @@
{
DrawScreenText (text_x0, cur_y += 2 * FONTH,
"The game will crash if you play with this level.");
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (text_x0, cur_y += FONTH,
"Press any key to see the object");
LogMessage ("\n");
}
else
{
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (text_x0, cur_y += 2 * FONTH,
"Press Esc to see the object,");
DrawScreenText (text_x0, cur_y += FONTH,
diff -uaNr yadex-1.6.0/src/dependcy.cc yadex-1.7.0/src/dependcy.cc
--- yadex-1.6.0/src/dependcy.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/dependcy.cc 2003-12-28 20:33:57.000000000 +0100
@@ -28,6 +28,7 @@
*/
+#include "yadex.h" /* Just to force a recompile when you ./configure again */
#include "dependcy.h"
#include "serialnum.h"
diff -uaNr yadex-1.6.0/src/dialog.cc yadex-1.7.0/src/dialog.cc
--- yadex-1.6.0/src/dialog.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/dialog.cc 2003-12-15 01:49:43.000000000 +0100
@@ -84,7 +84,7 @@
DrawScreenText (text_x0, text_y0, prompt1);
if (prompt2 != NULL)
DrawScreenText (text_x0, text_y0 + FONTH, prompt2);
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (text_x0, text_y1 - FONTH - 1, prompt3);
}
get_input_status ();
@@ -170,7 +170,7 @@
DrawScreenText (text_x0, text_y0, prompt1);
if (prompt2 != NULL)
DrawScreenText (text_x0, text_y0 + FONTH, prompt2);
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (text_x0, text_y1 - FONTH - 1, prompt3);
get_key_or_click ();
ShowMousePointer ();
diff -uaNr yadex-1.6.0/src/editloop.cc yadex-1.7.0/src/editloop.cc
--- yadex-1.6.0/src/editloop.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/editloop.cc 2003-07-05 13:12:32.000000000 +0200
@@ -1060,7 +1060,7 @@
but no selection box exists and [Ctrl] was not
pressed when the button was pressed :
drag the selection. */
- else if ((is.key == YE_MOTION || motion)
+ else if (motion
&& e.tool == TOOL_NORMAL
&& is.butl
&& e.clicked ()
diff -uaNr yadex-1.6.0/src/editobj.cc yadex-1.7.0/src/editobj.cc
--- yadex-1.6.0/src/editobj.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/editobj.cc 2003-04-24 22:32:39.000000000 +0200
@@ -131,7 +131,6 @@
const char *const msg2 = "between some objects may crash the game.";
char prompt[80];
size_t maxlen = 0;
-size_t nlines = 0;
int width;
int height;
@@ -376,59 +375,70 @@
bool ok;
char prompt[80];
// FIXME copied from InputInteger()...
-int entry_width = 2 * HOLLOW_BORDER + 2 * NARROW_HSPACING + 7 * FONTW;
+int entry_width = 2 * HOLLOW_BORDER + 2 * NARROW_HSPACING + 7 * FONTW;
int entry_height = 2 * HOLLOW_BORDER + 2 * NARROW_VSPACING + FONTH;
-int entry1_out_x0;
-int entry1_out_y0;
-int entry1_out_x1;
-int entry1_out_y1;
-int entry1_text_x0;
-int entry1_text_y0;
-int entry2_out_x0;
-int entry2_out_y0;
-int entry2_out_x1;
-int entry2_out_y1;
-int entry2_text_x0;
-int entry2_text_y0;
-HideMousePointer ();
y_snprintf (prompt, sizeof prompt, "Give the %s and %s for the object:",
name1, name2);
maxlen = strlen (prompt);
+
+int title_x0 = BOX_BORDER + FONTW;
+int title_y0 = BOX_BORDER + FONTH / 2;
+int label1_x0 = title_x0;
+int label1_y0 = title_y0 + 2 * FONTH;
+int label2_x0 = title_x0 + (strlen (name1) + 2) * FONTW;
+{
+ int bound = label1_x0 + entry_width + int (FONTW);
+ if (label2_x0 < bound)
+ label2_x0 = bound;
+}
+// FIXME Assuming the range is not longer than the name
+int label2_y0 = label1_y0;
+int entry1_out_x0 = label1_x0;
+int entry1_out_y0 = label1_y0 + 3 * FONTH / 2;
+int entry1_text_x0 = entry1_out_x0 + HOLLOW_BORDER + NARROW_HSPACING;
+int entry1_text_y0 = entry1_out_y0 + HOLLOW_BORDER + NARROW_VSPACING;
+int entry1_out_x1 = entry1_out_x0 + entry_width - 1;
+int entry1_out_y1 = entry1_out_y0 + entry_height - 1;
+int entry2_out_x0 = label2_x0;
+int entry2_out_y0 = label2_y0 + 3 * FONTH / 2;
+int entry2_text_x0 = entry2_out_x0 + HOLLOW_BORDER + NARROW_HSPACING;
+int entry2_text_y0 = entry2_out_y0 + HOLLOW_BORDER + NARROW_VSPACING;
+int entry2_out_x1 = entry2_out_x0 + entry_width - 1;
+int entry2_out_y1 = entry2_out_y0 + entry_height - 1;
+int range1_x0 = entry1_out_x0;
+int range1_y0 = entry1_out_y1 + FONTH / 2;
+int range2_x0 = entry2_out_x0;
+int range2_y0 = entry2_out_y1 + FONTH / 2;
+int window_x1 = entry2_out_x1 + FONTW + BOX_BORDER;
+int window_y1 = range1_y0 + 3 * FONTH / 2 + BOX_BORDER;
+{
+ int bound = 2 * BOX_BORDER + (maxlen + 2) * int (FONTW);
+ if (window_x1 < bound)
+ window_x1 = bound;
+}
+
if (x0 < 0)
- x0 = (ScrMaxX - 25 - FONTW * maxlen) / 2;
+ x0 = (ScrMaxX - window_x1) / 2;
if (y0 < 0)
- y0 = (ScrMaxY - 75) / 2;
-DrawScreenBox3D (x0, y0, x0 + 25 + FONTW * maxlen, y0 + 75);
+ y0 = (ScrMaxY - window_y1) / 2;
-entry1_out_x0 = x0 + 10; /* Totally bogus offset FIXME */
-entry1_out_y0 = y0 + 38; /* Totally bogus offset FIXME */
-entry1_out_x1 = entry1_out_x0 + entry_width - 1;
-entry1_out_y1 = entry1_out_y0 + entry_height - 1;
-entry1_text_x0 = entry1_out_x0 + HOLLOW_BORDER + NARROW_HSPACING;
-entry1_text_y0 = entry1_out_y0 + HOLLOW_BORDER + NARROW_VSPACING;
-
-entry2_out_x0 = x0 + 180; /* Totally bogus offset FIXME */
-entry2_out_y0 = y0 + 38; /* Totally bogus offset FIXME */
-entry2_out_x1 = entry2_out_x0 + entry_width - 1;
-entry2_out_y1 = entry2_out_y0 + entry_height - 1;
-entry2_text_x0 = entry2_out_x0 + HOLLOW_BORDER + NARROW_HSPACING;
-entry2_text_y0 = entry2_out_y0 + HOLLOW_BORDER + NARROW_VSPACING;
-
-DrawScreenText (entry1_out_x0, y0 + 26, name1);
-DrawScreenText (entry2_out_x0, y0 + 26, name2);
-DrawScreenText (entry1_out_x0, y0 + 58, "(0-%d)", v1max);
-DrawScreenText (entry2_out_x0, y0 + 58, "(0-%d)", v2max);
+HideMousePointer ();
+DrawScreenBox3D (x0, y0, x0 + window_x1, y0 + window_y1);
+set_colour (WHITE);
+DrawScreenText (x0 + title_x0, y0 + title_x0, prompt);
+DrawScreenText (x0 + label1_x0, y0 + label1_y0, name1);
+DrawScreenText (x0 + label2_x0, y0 + label2_y0, name2);
+DrawScreenText (x0 + range1_x0, y0 + range1_y0, "(0-%d)", v1max);
+DrawScreenText (x0 + range2_x0, y0 + range2_y0, "(0-%d)", v2max);
-set_colour (WHITE);
-DrawScreenText (x0 + 10, y0 + 8, prompt);
first = 1;
key = 0;
for (;;)
{
ok = true;
- DrawScreenBoxHollow (entry1_out_x0, entry1_out_y0,
- entry1_out_x1, entry1_out_y1, BLACK);
+ DrawScreenBoxHollow (x0 + entry1_out_x0, y0 + entry1_out_y0,
+ x0 + entry1_out_x1, y0 + entry1_out_y1, BLACK);
if (*v1 < 0 || *v1 > v1max)
{
set_colour (DARKGREY);
@@ -436,9 +446,9 @@
}
else
set_colour (LIGHTGREY);
- DrawScreenText (entry1_text_x0, entry1_text_y0, "%d", *v1);
- DrawScreenBoxHollow (entry2_out_x0, entry2_out_y0,
- entry2_out_x1, entry2_out_y1, BLACK);
+ DrawScreenText (x0 + entry1_text_x0, y0 + entry1_text_y0, "%d", *v1);
+ DrawScreenBoxHollow (x0 + entry2_out_x0, y0 + entry2_out_y0,
+ x0 + entry2_out_x1, y0 + entry2_out_y1, BLACK);
if (*v2 < 0 || *v2 > v2max)
{
set_colour (DARKGREY);
@@ -446,11 +456,11 @@
}
else
set_colour (LIGHTGREY);
- DrawScreenText (entry2_text_x0, entry2_text_y0, "%d", *v2);
+ DrawScreenText (x0 + entry2_text_x0, y0 + entry2_text_y0, "%d", *v2);
if (first)
- key = InputInteger (entry1_out_x0, entry1_out_y0, v1, 0, v1max);
+ key = InputInteger (x0 + entry1_out_x0, y0 + entry1_out_y0, v1, 0, v1max);
else
- key = InputInteger (entry2_out_x0, entry2_out_y0, v2, 0, v2max);
+ key = InputInteger (x0 + entry2_out_x0, y0 + entry2_out_y0, v2, 0, v2max);
if (key==YK_LEFT || key==YK_RIGHT || key==YK_TAB || key==YK_BACKTAB)
first = !first;
else if (key == YK_ESC)
diff -uaNr yadex-1.6.0/src/entry.cc yadex-1.7.0/src/entry.cc
--- yadex-1.6.0/src/entry.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/entry.cc 2003-12-15 01:49:53.000000000 +0100
@@ -223,7 +223,7 @@
DrawScreenBox3D (x0, y0, x0 + width - 1, entry_out_y1 + WIDE_VSPACING);
DrawScreenBoxHollow (entry_out_x0, entry_out_y0, entry_out_x1, entry_out_y1, BLACK);
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenString (entry_out_x0, title_y0, prompt);
firstkey = true;
for (;;)
diff -uaNr yadex-1.6.0/src/entry2.cc yadex-1.7.0/src/entry2.cc
--- yadex-1.6.0/src/entry2.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/entry2.cc 2003-12-15 01:50:00.000000000 +0100
@@ -301,7 +301,7 @@
do_geom ();
DrawScreenBox3D (win_x0, win_y0, win_x1, win_y1);
- push_colour (YELLOW);
+ push_colour (WINTITLE);
DrawScreenString (title_x0, title_y0, title);
set_colour (WINFG);
for (size_t f = 0; f < nfields; f++)
diff -uaNr yadex-1.6.0/src/help2.cc yadex-1.7.0/src/help2.cc
--- yadex-1.6.0/src/help2.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/help2.cc 2003-12-15 01:50:28.000000000 +0100
@@ -109,7 +109,7 @@
DrawScreenText (x0 + BOX_BORDER + 2 * FONTW, y0 + BOX_BORDER + FONTH, "");
for (const char **str = help_text; *str; str++)
DrawScreenText (-1, -1, *str);
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (-1, -1, "Press any key to return to the editor...");
get_key_or_click ();
ShowMousePointer ();
@@ -168,7 +168,7 @@
DrawScreenText (-1, -1, "Send all email to you-know-what@freelists.org, NOT to me.");
DrawScreenText (-1, -1, "");
DrawScreenText (-1, -1, "");
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (-1, -1, "Press any key to return to the editor...");
pop_colour ();
get_key_or_click ();
diff -uaNr yadex-1.6.0/src/l_super.h yadex-1.7.0/src/l_super.h
--- yadex-1.6.0/src/l_super.h 1970-01-01 01:00:00.000000000 +0100
+++ yadex-1.7.0/src/l_super.h 2003-12-06 04:19:15.000000000 +0100
@@ -0,0 +1,148 @@
+/*
+ * l_super.h - Superimposed_ld class
+ * AYM 2003-12-02
+ */
+
+/*
+This file is copyright André Majorel 2003.
+
+This program is free software; you can redistribute it and/or modify it under
+the terms of version 2 of the GNU General Public License as published by the
+Free Software Foundation.
+
+This program is distributed in the hope that it will be useful, but WITHOUT
+ANY WARRANTY; without even the implied warranty of MERCHANTABILITY or FITNESS
+FOR A PARTICULAR PURPOSE. See the GNU General Public License for more details.
+
+You should have received a copy of the GNU General Public License along with
+this program; if not, write to the Free Software Foundation, Inc., 59 Temple
+Place, Suite 330, Boston, MA 02111-1307, USA.
+*/
+
+
+#ifndef YH_L_SUPER /* DO NOT INSERT ANYTHING BEFORE THIS LINE */
+#define YH_L_SUPER
+
+#include "levels.h"
+#include "objid.h"
+
+
+/* The Superimposed_ld class is used to find all the linedefs that are
+ superimposed with a particular reference linedef. Call the set()
+ method to specify the reference linedef. Each call to the get()
+ method returns the number of the next superimposed linedef, or -1
+ when there are no more superimposed linedefs.
+
+ Two linedefs are superimposed iff their ends have the same map
+ coordinates, regardless of whether the vertex numbers are the same,
+ and irrespective of start/end vertex distinctions. */
+
+class Superimposed_ld
+{
+ public:
+ Superimposed_ld ();
+ int set (obj_no_t);
+ obj_no_t get ();
+ void rewind ();
+
+ private:
+ obj_no_t refldno; // Reference linedef
+ obj_no_t ldno; // get() will start from there
+};
+
+
+inline Superimposed_ld::Superimposed_ld ()
+{
+ refldno = -1;
+ rewind ();
+}
+
+
+/*
+ * Superimposed_ld::set - set the reference linedef
+ *
+ * If the argument is not a valid linedef number, does nothing and
+ * returns a non-zero value. Otherwise, set the linedef number,
+ * calls rewind() and returns a zero value.
+ */
+inline int Superimposed_ld::set (obj_no_t ldno)
+{
+ if (! is_linedef (ldno)) // Paranoia
+ return 1;
+
+ refldno = ldno;
+ rewind ();
+ return 0;
+}
+
+
+/*
+ * Superimposed_ld::get - return the next superimposed linedef
+ *
+ * Returns the number of the next superimposed linedef, or -1 if
+ * there's none. If the reference linedef was not specified, or is
+ * invalid (possibly as a result of changes in the level), returns
+ * -1.
+ *
+ * Linedefs that have invalid start/end vertices are silently
+ * skipped.
+ */
+inline obj_no_t Superimposed_ld::get ()
+{
+ if (refldno == -1)
+ return -1;
+
+ /* These variables are there to speed things up a bit by avoiding
+ repetitive table lookups. Everything is re-computed each time as
+ LineDefs could very well be realloc'd while we were out. */
+
+ if (! is_linedef (refldno))
+ return -1;
+ const struct LineDef *const pmax = LineDefs + NumLineDefs;
+ const struct LineDef *const pref = LineDefs + refldno;
+
+ const wad_vn_t refv0 = pref->start;
+ const wad_vn_t refv1 = pref->end;
+ if (! is_vertex (refv0) || ! is_vertex (refv1)) // Paranoia
+ return -1;
+
+ const wad_coord_t refx0 = Vertices[refv0].x;
+ const wad_coord_t refy0 = Vertices[refv0].y;
+ const wad_coord_t refx1 = Vertices[refv1].x;
+ const wad_coord_t refy1 = Vertices[refv1].y;
+
+ for (const struct LineDef *p = LineDefs + ldno; ldno < NumLineDefs;
+ p++, ldno++)
+ {
+ if (! is_vertex (p->start) || ! is_vertex (p->end)) // Paranoia
+ continue;
+ obj_no_t x0 = Vertices[p->start].x;
+ obj_no_t y0 = Vertices[p->start].y;
+ obj_no_t x1 = Vertices[p->end].x;
+ obj_no_t y1 = Vertices[p->end].y;
+ if ( x0 == refx0 && y0 == refy0 && x1 == refx1 && y1 == refy1
+ || x0 == refx1 && y0 == refy1 && x1 == refx0 && y1 == refy0)
+ {
+ if (ldno == refldno)
+ continue;
+ return ldno++;
+ }
+ }
+
+ return -1;
+}
+
+
+/*
+ * Superimposed_ld::rewind - rewind the counter
+ *
+ * After calling this method, the next call to get() will start
+ * from the first linedef.
+ */
+inline void Superimposed_ld::rewind ()
+{
+ ldno = 0;
+}
+
+
+#endif /* DO NOT ADD ANYTHING AFTER THIS LINE */
diff -uaNr yadex-1.6.0/src/lists.cc yadex-1.7.0/src/lists.cc
--- yadex-1.6.0/src/lists.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/lists.cc 2003-12-15 01:50:47.000000000 +0100
@@ -186,7 +186,7 @@
DrawScreenBox3D (x0, y0, x0 + win_width, y0 + win_height);
DrawScreenBoxHollow (entry_out_x0, entry_out_y0, entry_out_x1, entry_out_y1,
BLACK);
-set_colour (YELLOW);
+set_colour (WINTITLE);
DrawScreenText (x0 + 10, y0 + 8, prompt);
set_colour (WINFG);
if (hookfunc != NULL)
diff -uaNr yadex-1.6.0/src/locate.cc yadex-1.7.0/src/locate.cc
--- yadex-1.6.0/src/locate.cc 2003-03-25 05:55:16.000000000 +0100
+++ yadex-1.7.0/src/locate.cc 2003-04-24 22:44:26.000000000 +0200
@@ -54,7 +54,7 @@
this->name = name;
this->backwards = backw;
absolute = is_absolute (name);
- count = 0;
+ rewound = true;
rewind ();
}
@@ -68,7 +68,7 @@
*/
void Locate::rewind ()
{
- count = 0;
+ rewound = true;
if (backwards)
{
@@ -95,9 +95,9 @@
{
if (absolute)
{
- if (count != 0) // Result has exactly one element
+ if (! rewound) // Result has exactly one element
return NULL;
- count++;
+ rewound = false;
if (strlen (name) > sizeof pathname - 1)
{
warn ("%s: file name too long\n", name);
diff -uaNr yadex-1.6.0/src/locate.h yadex-1.7.0/src/locate.h
--- yadex-1.6.0/src/locate.h 2003-03-25 05:55:27.000000000 +0100
+++ yadex-1.7.0/src/locate.h 2003-04-24 22:44:33.000000000 +0200
@@ -37,7 +37,7 @@
bool absolute;
bool backwards;
const char *const *cursor;
- bool count;
+ bool rewound;
char pathname[1025];
};
diff -uaNr yadex-1.6.0/src/menu.cc yadex-1.7.0/src/menu.cc
--- yadex-1.6.0/src/menu.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/menu.cc 2003-12-15 01:51:40.000000000 +0100
@@ -1011,7 +1011,7 @@
{
HideMousePointer ();
DrawScreenBox3D (ox0, oy0, ox1, oy1);
- set_colour (YELLOW);
+ set_colour (WINTITLE);
if ((flags & MF_POPUP) && title != 0)
DrawScreenString (ix0 + WIDE_HSPACING, ty0, title);
ShowMousePointer ();
diff -uaNr yadex-1.6.0/src/objinfo.cc yadex-1.7.0/src/objinfo.cc
--- yadex-1.6.0/src/objinfo.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/objinfo.cc 2003-12-15 01:40:55.000000000 +0100
@@ -38,6 +38,7 @@
#include "gfx.h"
#include "img.h"
#include "imgspect.h"
+#include "l_super.h"
#include "levels.h"
#include "objid.h"
#include "objinfo.h"
@@ -149,7 +150,7 @@
y0 + (height - FONTH) / 2, message);
break;
}
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (ix0, iy0, "Thing #%d", obj_no);
const bool invalid_type = ! is_thing_type (Things[obj_no].type);
set_colour (WINFG);
@@ -234,6 +235,7 @@
break;
case OBJ_LINEDEFS:
+ // Linedef
width = 2 * BOX_BORDER + 2 * WIDE_HSPACING + 29 * FONTW;
height = 2 * BOX_BORDER + 2 * WIDE_VSPACING + (int) (8.5 * FONTH);
x0 = 0;
@@ -244,7 +246,7 @@
DrawScreenBox3D (x0, y0, x0 + width - 1, y0 + height - 1);
if (obj_no >= 0)
{
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (ix0, iy0, "Linedef #%d", obj_no);
set_colour (WINFG);
DrawScreenText (-1, iy0 + (int) (1.5 * FONTH),
@@ -307,6 +309,7 @@
y0 + (height - FONTH) / 2, message);
}
+ // 1st sidedef
x0 += width;
width = 2 * BOX_BORDER + 2 * WIDE_HSPACING + 16 * FONTW;
ix0 = x0 + BOX_BORDER + WIDE_HSPACING;
@@ -315,7 +318,7 @@
DrawScreenBox3D (x0, y0, x0 + width - 1, y0 + height - 1);
if (obj_no >= 0 && sd1 >= 0)
{
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (ix0, iy0, "Sidedef1 #%d", sd1);
if (s1 >= 0 && s2 >= 0 && Sectors[s1].ceilh > Sectors[s2].ceilh
@@ -364,6 +367,8 @@
DrawScreenText (x0 + (width - FONTW * strlen (message)) / 2,
y0 + (height - FONTH) / 2, message);
}
+
+ // 2nd sidedef
x0 += width;
ix0 = x0 + BOX_BORDER + WIDE_HSPACING;
y0 = out_y1 - height + 1;
@@ -371,7 +376,7 @@
DrawScreenBox3D (x0, y0, x0 + width - 1, y0 + height - 1);
if (obj_no >= 0 && sd2 >= 0)
{
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (ix0, iy0, "Sidedef2 #%d", sd2);
set_colour (WINFG);
const char *tex_name;
@@ -424,6 +429,50 @@
DrawScreenText (x0 + (width - FONTW * strlen (message)) / 2,
y0 + (height - FONTH) / 2, message);
}
+
+ // Superimposed linedefs
+ {
+ Superimposed_ld super;
+ super.set (obj_no);
+ obj_no_t l = super.get ();
+ int iy1;
+
+ if (l != -1 || box_disp[3])
+ {
+ x0 += width;
+ width = 2 * BOX_BORDER + 2 * WIDE_HSPACING + 12 * FONTW;
+ ix0 = x0 + BOX_BORDER + WIDE_HSPACING;
+ iy0 = y0 + BOX_BORDER + WIDE_VSPACING;
+ iy1 = y0 + height - 1 - BOX_BORDER - WIDE_VSPACING;
+ DrawScreenBox3D (x0, y0, x0 + width - 1, y0 + height - 1);
+ }
+ if (l != -1)
+ {
+ box_disp[3] = true;
+ set_colour (WINTITLE);
+ DrawScreenString (ix0, iy0, "Superimposed");
+ set_colour (WINFG);
+ iy0 += int (1.5 * FONTH);
+ while (l != -1)
+ {
+ if (iy0 + FONTH - 1 <= iy1)
+ DrawScreenText (ix0, iy0, "#%d", l);
+ /* Too many linedefs, replace the last one by "(more)".
+ Not elegant, but it makes the code simpler. */
+ else
+ {
+ iy0 -= FONTH;
+ set_colour (WINBG);
+ DrawScreenBox (ix0, iy0, ix0 + 12 * FONTW - 1, iy0 + FONTH - 1);
+ set_colour (WINFG);
+ DrawScreenString (ix0, iy0, "(more)");
+ break;
+ }
+ iy0 += FONTH;
+ l = super.get ();
+ }
+ }
+ }
break;
case OBJ_VERTICES:
@@ -443,7 +492,7 @@
y0 + (height - FONTH) / 2, message);
break;
}
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (ix0, iy0, "Vertex #%d", obj_no);
set_colour (WINFG);
DrawScreenText (-1, iy0 + (int) (1.5 * FONTH),
@@ -492,7 +541,7 @@
y0 + (height - FONTH) / 2, message);
break;
}
- set_colour (YELLOW);
+ set_colour (WINTITLE);
DrawScreenText (ix0, iy0, "Sector #%d", obj_no);
set_colour (WINFG);
const struct Sector *sec = Sectors + obj_no;
@@ -608,7 +657,7 @@
}
if (! is_sector (dsecno)) // Can't happen
continue;
- set_colour (YELLOW);
+ set_colour (WINTITLE);
if (thick)
DrawScreenText (ix0, iy0, "Thick #%d", dsecno);
else
diff -uaNr yadex-1.6.0/src/textures.cc yadex-1.7.0/src/textures.cc
--- yadex-1.6.0/src/textures.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/textures.cc 2003-04-24 22:50:36.000000000 +0200
@@ -52,7 +52,6 @@
void DisplayWallTexture (hookfunc_comm_t *c)
{
MDirPtr dir = 0; // Main directory pointer to the TEXTURE* entries
-i32 *offsets; // Array of offsets to texture names
int n; // General counter
i16 width, height; // Size of the texture
i16 npatches; // Number of patches in the textures
@@ -162,7 +161,9 @@
dir = FindMasterDir (MasterDir, lump_name);
if (dir != NULL) // (Theoretically, it should always exist)
{
+ i32 *offsets = NULL; // Array of offsets to texture names
const Wad_file *wf = dir->wadfile;
+
wf->seek (dir->dir.start);
if (wf->error ())
{
@@ -202,7 +203,8 @@
texofs = dir->dir.start + offsets[n];
}
textures_done:
- FreeMemory (offsets);
+ if (offsets != NULL)
+ FreeMemory (offsets);
}
}
// Other iwads : "TEXTURE1" and "TEXTURE2"
@@ -216,6 +218,8 @@
if (dir != NULL) // (Theoretically, it should always exist)
{
const Wad_file *wf = dir->wadfile;
+ i32 *offsets = NULL; // Array of offsets to texture names
+
wf->seek (dir->dir.start);
if (wf->error ())
{
@@ -255,13 +259,16 @@
texofs = dir->dir.start + offsets[n];
}
texture1_done:
- FreeMemory (offsets);
+ if (offsets != NULL)
+ FreeMemory (offsets);
}
}
// Well, then is it in TEXTURE2 ?
if (texofs == 0)
{
const char *lump_name = "TEXTURE2";
+ i32 *offsets = NULL; // Array of offsets to texture names
+
dir = FindMasterDir (MasterDir, lump_name);
if (dir != NULL) // Doom II has no TEXTURE2
{
@@ -305,13 +312,13 @@
texofs = dir->dir.start + offsets[n];
}
texture2_done:
- FreeMemory (offsets);
+ if (offsets != NULL)
+ FreeMemory (offsets);
}
}
}
else
nf_bug ("Invalid texture_format/texture_lumps combination.");
-search_done:
// Texture name not found
if (texofs == 0)
diff -uaNr yadex-1.6.0/src/v_merge.cc yadex-1.7.0/src/v_merge.cc
--- yadex-1.6.0/src/v_merge.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/v_merge.cc 2003-12-28 16:32:21.000000000 +0100
@@ -241,6 +241,7 @@
refv = ref->objnum;
ref = ref->next;
oldnumld = NumLineDefs;
+ //printf ("V%d %d\n", refv, NumLineDefs); // DEBUG;
/* check if this vertex is on a linedef */
for (ld = 0; ld < oldnumld; ld++)
{
diff -uaNr yadex-1.6.0/src/version.cc yadex-1.7.0/src/version.cc
--- yadex-1.6.0/src/version.cc 2003-04-01 02:35:32.000000000 +0200
+++ yadex-1.7.0/src/version.cc 2003-12-28 20:34:08.000000000 +0100
@@ -1,4 +1,4 @@
// DO NOT EDIT -- generated from VERSION
-extern const char *const yadex_source_date = "2003-04-01";
-extern const char *const yadex_version = "1.6.0";
+extern const char *const yadex_source_date = "2003-12-28";
+extern const char *const yadex_version = "1.7.0";
diff -uaNr yadex-1.6.0/src/wads.cc yadex-1.7.0/src/wads.cc
--- yadex-1.6.0/src/wads.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/wads.cc 2003-04-25 02:50:23.000000000 +0200
@@ -234,7 +234,7 @@
{
int rc = 0;
void *data = 0;
- const size_t chunksz = 0x8000;
+ const size_t chunksz = 0x4000;
data = GetFarMemory (chunksz + 2);
while (size > chunksz)
diff -uaNr yadex-1.6.0/src/x_hover.cc yadex-1.7.0/src/x_hover.cc
--- yadex-1.6.0/src/x_hover.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/x_hover.cc 2003-12-03 15:30:08.000000000 +0100
@@ -48,6 +48,14 @@
radius = INT_MAX;
inside = false;
}
+ bool operator== (const Close_obj& other) const
+ {
+ if (inside == other.inside
+ && radius == other.radius
+ && distance == other.distance)
+ return true;
+ return false;
+ }
bool operator< (const Close_obj& other) const
{
if (inside && ! other.inside)
@@ -68,6 +76,10 @@
return radius < other.radius;
}
+ bool operator<= (const Close_obj& other) const
+ {
+ return *this == other || *this < other;
+ }
Objid obj;
double distance;
bool inside;
@@ -218,7 +230,10 @@
else
dist = fabs (x0 + ((double) dx)/dy * (y - y0) - x);
}
- if (dist < object.distance && dist <= mapslack)
+ if (dist <= object.distance /* "<=" because if there are superimposed
+ linedefs, we want to return the
+ highest-numbered one. */
+ && dist <= mapslack)
{
object.obj.type = OBJ_LINEDEFS;
object.obj.num = n;
@@ -230,6 +245,7 @@
return object;
}
+
/*
* get_cur_sector - determine which sector is under the pointer
*/
@@ -351,7 +367,9 @@
&& x < Things[n].xpos + current.radius
&& y > Things[n].ypos - current.radius
&& y < Things[n].ypos + current.radius;
- if (current < closest)
+ if (current <= closest) /* "<=" because if there are superimposed
+ things, we want to return the
+ highest-numbered one. */
closest = current;
}
}
@@ -387,7 +405,10 @@
|| Vertices[n].y > ymax)
continue;
double dist = hypot (x - Vertices[n].x, y - Vertices[n].y);
- if (dist < object.distance && dist <= mapslack)
+ if (dist <= object.distance /* "<=" because if there are superimposed
+ vertices, we want to return the
+ highest-numbered one. */
+ && dist <= mapslack)
{
object.obj.type = OBJ_VERTICES;
object.obj.num = n;
diff -uaNr yadex-1.6.0/src/yadex.cc yadex-1.7.0/src/yadex.cc
--- yadex-1.6.0/src/yadex.cc 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/yadex.cc 2003-12-15 01:47:10.000000000 +0100
@@ -1280,17 +1280,31 @@
a menu). _LIGHT and _DARK are for window borders and
grooves. There is no _HL flavour of these because I didn't
feel the need. */
+#ifdef WHITE_BACKGROUND
+ else if (n == WINBG) c.set (0xe2, 0xdc, 0xd6);
+ else if (n == WINBG_LIGHT) c.set (0xee, 0xe8, 0xe2);
+ else if (n == WINBG_DARK) c.set (0xc3, 0xbe, 0xb9);
+ else if (n == WINBG_HL) c.set (0xf4, 0xee, 0xe7);
+#else
else if (n == WINBG) c.set (0x2a, 0x24, 0x18);
else if (n == WINBG_LIGHT) c.set (0x48, 0x42, 0x3c);
else if (n == WINBG_DARK) c.set (0x20, 0x1b, 0x12);
else if (n == WINBG_HL) c.set (0x58, 0x50, 0x48);
+#endif
/* WINFG* is for regular text. _DIM is for greyed out text
(for disabled options or text that is not applicable). */
+#ifdef WHITE_BACKGROUND
+ else if (n == WINFG) c.set (0x60, 0x60, 0x60);
+ else if (n == WINFG_HL) c.set (0x30, 0x30, 0x30);
+ else if (n == WINFG_DIM) c.set (0xB8, 0xB8, 0xB8);
+ else if (n == WINFG_DIM_HL) c.set (0x90, 0x90, 0x90);
+#else
else if (n == WINFG) c.set (0xa0, 0xa0, 0xa0);
else if (n == WINFG_HL) c.set (0xd0, 0xd0, 0xd0);
else if (n == WINFG_DIM) c.set (0x48, 0x48, 0x48);
else if (n == WINFG_DIM_HL) c.set (0x70, 0x70, 0x70);
+#endif
/* WINLABEL is for text of lesser importance. For example,
the brackets around key binding are displayed in WINLABEL,
@@ -1298,10 +1312,17 @@
difference with WINFG is not very noticeable but it does
improve readability. The static text in the object info
windows should be displayed in WINLABEL. */
+#ifdef WHITE_BACKGROUND
+ else if (n == WINLABEL) c.set (0x88, 0x88, 0x88);
+ else if (n == WINLABEL_HL) c.set (0x60, 0x60, 0x60);
+ else if (n == WINLABEL_DIM) c.set (0xc8, 0xc8, 0xc8);
+ else if (n == WINLABEL_DIM_HL) c.set (0xb0, 0xb0, 0xb0);
+#else
else if (n == WINLABEL) c.set (0x78, 0x78, 0x78);
else if (n == WINLABEL_HL) c.set (0xa0, 0xa0, 0xa0);
else if (n == WINLABEL_DIM) c.set (0x38, 0x38, 0x38);
else if (n == WINLABEL_DIM_HL) c.set (0x50, 0x50, 0x50);
+#endif
#ifdef WHITE_BACKGROUND
else if (n == GRID1) c.set (0x80, 0x80, 0xff);
@@ -1332,6 +1353,12 @@
else if (n == SECTOR_TAGTYPE) c.set (0x00, 0xe0, 0xe0);
else if (n == SECTOR_TYPE) c.set (0x00, 0x80, 0xff);
+#ifdef WHITE_BACKGROUND
+ else if (n == WINTITLE) c.set (0xb0, 0x80, 0x00);
+#else
+ else if (n == WINTITLE) c.set (0xff, 0xff, 0x00);
+#endif
+
else fatal_error ("Wrong acn %d", n);
acolour_t acn = add_app_colour (c);
diff -uaNr yadex-1.6.0/src/yadex.h yadex-1.7.0/src/yadex.h
--- yadex-1.6.0/src/yadex.h 2003-03-28 13:37:32.000000000 +0100
+++ yadex-1.7.0/src/yadex.h 2003-12-15 01:37:45.000000000 +0100
@@ -265,7 +265,9 @@
const acolour_t SECTOR_TAGTYPE = 42;
const acolour_t SECTOR_TYPE = 43;
-const acolour_t NCOLOURS = 44;
+const acolour_t WINTITLE = 44;
+
+const acolour_t NCOLOURS = 45;
/*
diff -uaNr yadex-1.6.0/yadex.dep yadex-1.7.0/yadex.dep
--- yadex-1.6.0/yadex.dep 2003-04-01 02:30:36.000000000 +0200
+++ yadex-1.7.0/yadex.dep 2003-12-28 20:34:06.000000000 +0100
@@ -72,8 +72,12 @@
dobj/0/colour4.o: src/wstructs.h src/input.h src/colour.h src/gfx.h src/rgb.h
obj/0/colour4.o: src/x11.h
dobj/0/colour4.o: src/x11.h
-obj/0/dependcy.o: src/dependcy.h src/serialnum.h
-dobj/0/dependcy.o: src/dependcy.h src/serialnum.h
+obj/0/dependcy.o: src/yadex.h src/config.h atclib/atclib.h src/bitvec.h
+dobj/0/dependcy.o: src/yadex.h src/config.h atclib/atclib.h src/bitvec.h
+obj/0/dependcy.o: src/yerror.h src/ymemory.h src/aym.h src/windim.h
+dobj/0/dependcy.o: src/yerror.h src/ymemory.h src/aym.h src/windim.h
+obj/0/dependcy.o: src/wstructs.h src/input.h src/dependcy.h src/serialnum.h
+dobj/0/dependcy.o: src/wstructs.h src/input.h src/dependcy.h src/serialnum.h
obj/0/dialog.o: src/yadex.h src/config.h atclib/atclib.h src/bitvec.h
dobj/0/dialog.o: src/yadex.h src/config.h atclib/atclib.h src/bitvec.h
obj/0/dialog.o: src/yerror.h src/ymemory.h src/aym.h src/windim.h
@@ -510,12 +514,14 @@
dobj/0/objinfo.o: src/wstructs.h src/input.h src/disppic.h src/lists.h src/img.h
obj/0/objinfo.o: src/flats.h src/game.h src/rgb.h src/gamesky.h src/wadname.h
dobj/0/objinfo.o: src/flats.h src/game.h src/rgb.h src/gamesky.h src/wadname.h
-obj/0/objinfo.o: src/gfx.h src/imgspect.h src/levels.h src/things.h src/objid.h
-dobj/0/objinfo.o: src/gfx.h src/imgspect.h src/levels.h src/things.h src/objid.h
-obj/0/objinfo.o: src/objinfo.h src/edwidget.h src/pic2img.h src/sticker.h
-dobj/0/objinfo.o: src/objinfo.h src/edwidget.h src/pic2img.h src/sticker.h
-obj/0/objinfo.o: src/wadres.h src/spritdir.h src/lumpdir.h
-dobj/0/objinfo.o: src/wadres.h src/spritdir.h src/lumpdir.h
+obj/0/objinfo.o: src/gfx.h src/imgspect.h src/l_super.h src/levels.h
+dobj/0/objinfo.o: src/gfx.h src/imgspect.h src/l_super.h src/levels.h
+obj/0/objinfo.o: src/things.h src/objid.h src/objinfo.h src/edwidget.h
+dobj/0/objinfo.o: src/things.h src/objid.h src/objinfo.h src/edwidget.h
+obj/0/objinfo.o: src/pic2img.h src/sticker.h src/wadres.h src/spritdir.h
+dobj/0/objinfo.o: src/pic2img.h src/sticker.h src/wadres.h src/spritdir.h
+obj/0/objinfo.o: src/lumpdir.h
+dobj/0/objinfo.o: src/lumpdir.h
obj/0/oldmenus.o: src/yadex.h src/config.h atclib/atclib.h src/bitvec.h
dobj/0/oldmenus.o: src/yadex.h src/config.h atclib/atclib.h src/bitvec.h
obj/0/oldmenus.o: src/yerror.h src/ymemory.h src/aym.h src/windim.h
@@ -980,6 +986,8 @@
dobj/0/highlt.o: src/edwidget.h src/objid.h
obj/0/infobar.o: src/edwidget.h
dobj/0/infobar.o: src/edwidget.h
+obj/0/l_super.o: src/levels.h src/wstructs.h src/things.h src/objid.h
+dobj/0/l_super.o: src/levels.h src/wstructs.h src/things.h src/objid.h
obj/0/l_vertices.o: src/selectn.h
dobj/0/l_vertices.o: src/selectn.h
obj/0/levels.o: src/wstructs.h src/things.h
diff -uaNr yadex-1.6.0/ygd/doom.ygd yadex-1.7.0/ygd/doom.ygd
--- yadex-1.6.0/ygd/doom.ygd 2002-05-10 09:01:14.000000000 +0200
+++ yadex-1.7.0/ygd/doom.ygd 2003-12-28 16:30:28.000000000 +0100
@@ -82,8 +82,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -115,10 +115,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -128,12 +128,12 @@
ldt 78 x "SR Floor -- NXP" "SR Floor transfer (NXP) [Boom]"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
ldt 85 A "-- Scroll right" "-- Scrolling wall, right [Boom]"
@@ -149,7 +149,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
diff -uaNr yadex-1.6.0/ygd/doom02.ygd yadex-1.7.0/ygd/doom02.ygd
--- yadex-1.6.0/ygd/doom02.ygd 2002-05-10 09:01:18.000000000 +0200
+++ yadex-1.7.0/ygd/doom02.ygd 2003-12-28 16:30:36.000000000 +0100
@@ -78,8 +78,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -111,10 +111,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -122,12 +122,12 @@
ldt 76 d "WR Close for 30s" "WR Close door for 30 seconds"
ldt 77 C "WR& Crush FF" "WR& Start fast crushing, fast hurt"
#ldt 78 x "-- Unimplemented" "-- Unimplemented"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
#ldt 85 x "-- Unimplemented" "-- Unimplemented"
ldt 86 d "WR Open door (O)" "WR Open door (stays open)"
ldt 87 m "WR& Start moving" "WR& Start moving floor"
@@ -141,7 +141,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
diff -uaNr yadex-1.6.0/ygd/doom04.ygd yadex-1.7.0/ygd/doom04.ygd
--- yadex-1.6.0/ygd/doom04.ygd 2002-05-10 09:01:21.000000000 +0200
+++ yadex-1.7.0/ygd/doom04.ygd 2003-12-28 16:30:39.000000000 +0100
@@ -79,8 +79,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -112,10 +112,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -123,12 +123,12 @@
ldt 76 d "WR Close for 30s" "WR Close door for 30 seconds"
ldt 77 C "WR& Crush FF" "WR& Start fast crushing, fast hurt"
#ldt 78 x "-- Unimplemented" "-- Unimplemented"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
#ldt 85 x "-- Unimplemented" "-- Unimplemented"
ldt 86 d "WR Open door (O)" "WR Open door (stays open)"
ldt 87 m "WR& Start moving" "WR& Start moving floor"
@@ -142,7 +142,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
diff -uaNr yadex-1.6.0/ygd/doom05.ygd yadex-1.7.0/ygd/doom05.ygd
--- yadex-1.6.0/ygd/doom05.ygd 2002-05-10 09:01:24.000000000 +0200
+++ yadex-1.7.0/ygd/doom05.ygd 2003-12-28 16:30:41.000000000 +0100
@@ -79,8 +79,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -112,10 +112,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -123,12 +123,12 @@
ldt 76 d "WR Close for 30s" "WR Close door for 30 seconds"
ldt 77 C "WR& Crush FF" "WR& Start fast crushing, fast hurt"
#ldt 78 x "-- Unimplemented" "-- Unimplemented"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
#ldt 85 x "-- Unimplemented" "-- Unimplemented"
ldt 86 d "WR Open door (O)" "WR Open door (stays open)"
ldt 87 m "WR& Start moving" "WR& Start moving floor"
@@ -142,7 +142,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
diff -uaNr yadex-1.6.0/ygd/doom2.ygd yadex-1.7.0/ygd/doom2.ygd
--- yadex-1.6.0/ygd/doom2.ygd 2002-05-10 09:03:29.000000000 +0200
+++ yadex-1.7.0/ygd/doom2.ygd 2003-12-28 16:30:42.000000000 +0100
@@ -82,8 +82,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -115,10 +115,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -128,12 +128,12 @@
ldt 78 x "SR Floor -- NXP" "SR Floor transfer (NXP) [Boom]"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
ldt 85 A "-- Scroll right" "-- Scrolling wall, right [Boom]"
@@ -149,7 +149,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
diff -uaNr yadex-1.6.0/ygd/doompr.ygd yadex-1.7.0/ygd/doompr.ygd
--- yadex-1.6.0/ygd/doompr.ygd 2002-05-10 09:03:31.000000000 +0200
+++ yadex-1.7.0/ygd/doompr.ygd 2003-12-28 16:30:43.000000000 +0100
@@ -80,8 +80,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -113,10 +113,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -124,12 +124,12 @@
ldt 76 d "WR Close for 30s" "WR Close door for 30 seconds"
ldt 77 C "WR& Crush FF" "WR& Start fast crushing, fast hurt"
#ldt 78 x "-- Unimplemented" "-- Unimplemented"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
#ldt 85 x "-- Unimplemented" "-- Unimplemented"
ldt 86 d "WR Open door (O)" "WR Open door (stays open)"
ldt 87 m "WR& Start moving" "WR& Start moving floor"
@@ -143,7 +143,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
diff -uaNr yadex-1.6.0/ygd/heretic.ygd yadex-1.7.0/ygd/heretic.ygd
--- yadex-1.6.0/ygd/heretic.ygd 2002-05-10 09:03:34.000000000 +0200
+++ yadex-1.7.0/ygd/heretic.ygd 2003-12-28 20:47:32.000000000 +0100
@@ -6,9 +6,7 @@
# AYM 1998-10-20
#
-# ATTENTION: as I'm not very familiar with Heretic
-# editing, this file might contain a few errors or
-# omissions.
+# With help from Barry Mead.
level_format doom
level_name e1m1
@@ -23,10 +21,9 @@
#
ldtgroup d "Door"
-ldtgroup r "Door (red key)"
ldtgroup y "Door (yellow key)"
+ldtgroup g "Door (green key)"
ldtgroup b "Door (blue key)"
-ldtgroup D "Door (turbo)"
ldtgroup l "Lift"
ldtgroup F "Floor (raise)"
ldtgroup f "Floor (lower)"
@@ -73,28 +70,28 @@
ldt 25 C "W1 Crush FS" "W1 Start fast crushing, slow hurt"
ldt 26 b "DR Open blue dr" "DR Open door, blue key"
ldt 27 y "DR Open yel dr" "DR Open door, yellow key"
-ldt 28 r "DR Open red dr" "DR Open door, red key"
+ldt 28 g "DR Open green dr" "DR Open door, green key"
ldt 29 d "S1 Open door" "S1 Open door"
ldt 30 F "W1 Floor up SLT" "W1 Raise floor by ShortestLowerTexture"
ldt 31 d "D1 Open door (O)" "D1 Open door (stays open)"
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
-ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
+ldt 33 g "D1 Open grn (O)" "D1 Open door (stays open), green key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
-ldt 40 c "W1 Ceil up HEC" "W1 Raise ceiling to HEC"
+ldt 40 c "W1 CuHEC FdLEF" "W1 Raise ceiling to HEC, lower floor to LEF"
ldt 41 c "S1 Ceil dn floor" "S1 Lower ceiling to floor"
ldt 42 d "SR Close door" "SR Close door"
ldt 43 c "SR Ceil dn floor" "SR Lower ceiling to floor"
-ldt 44 c "W1 Ceil dn flr+8" "W1 Lower ceiling to floor + 8"
+ldt 44 c "W1 C. dn f+8 cru" "W1 Lower ceiling to floor + 8"
ldt 45 f "SR Floor dn HEF" "SR Lower floor to HEF"
ldt 46 d "GR Open door (O)" "GR Open door (stays open)"
ldt 47 F "G1 F. up nhEF TX" "G1 Raise floor to nhEF (TX)"
-ldt 48 x "-- Animated wall" "-- Animated wall (scrolls horizontally)"
-ldt 49 c "S1 Ceil dn flr+8" "S1 Lower ceiling to floor + 8"
+ldt 48 x "-- Scroll left" "-- Animated wall (scrolls left)"
+ldt 49 c "S1 C. dn f+8 cru" "S1 Lower ceiling to floor + 8"
ldt 50 d "S1 Close door" "S1 Close door"
ldt 51 e "S- Secret level" "S- End level, go to secret level"
ldt 52 e "W- End level" "W- End level, go to next level"
@@ -113,23 +110,23 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
-ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
+ldt 72 c "WR C. dn f+8 cru" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
ldt 75 d "WR Close door" "WR Close door"
ldt 76 d "WR Close for 30s" "WR Close door for 30 seconds"
ldt 77 C "WR& Crush FF" "WR& Start fast crushing, fast hurt"
#ldt 78 x "-- Unimplemented" "-- Unimplemented"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
#ldt 85 x "-- Unimplemented" "-- Unimplemented"
ldt 86 d "WR Open door (O)" "WR Open door (stays open)"
ldt 87 m "WR& Start moving" "WR& Start moving floor"
@@ -143,50 +140,16 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
-ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
-ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
+ldt 99 x "-- Scroll right" "-- Animated wall (scrolls right)"
+ldt 100 d "WR OPEN door" "WR Open turbo door"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
ldt 102 f "S1 Floor dn HEF" "S1 Lower floor to HEF"
ldt 103 d "S1 Open door (O)" "S1 Open door (stays open)"
ldt 104 L "W1 Light to LE" "W1 Light level goes to LE"
-ldt 105 D "WR OPEN door" "WR Open turbo door [v1.6]"
-ldt 106 D "WR OPEN door (O)" "WR Open turbo door (stays open) [v1.6]"
-ldt 107 D "WR CLOSE door" "WR Close turbo door [v1.6]"
-ldt 108 D "W1 OPEN door" "W1 Open turbo door [v1.6]"
-ldt 109 D "W1 OPEN door (O)" "W1 Open turbo door (stays open) [v1.6]"
-ldt 110 D "W1 CLOSE door" "W1 Close turbo door [v1.6]"
-ldt 111 D "S1 OPEN door" "S1 Open turbo door [v1.6]"
-ldt 112 D "S1 OPEN door (O)" "S1 Open turbo door (stays open) [v1.6]"
-ldt 113 D "S1 CLOSE door" "S1 Close turbo door [v1.6]"
-ldt 114 D "SR OPEN door" "SR Open turbo door [v1.6]"
-ldt 115 D "SR OPEN door (O)" "SR Open turbo door (stays open) [v1.6]"
-ldt 116 D "SR CLOSE door" "SR Close turbo door [v1.6]"
-ldt 117 D "DR OPEN door" "DR Open turbo door [v1.6]"
-ldt 118 D "D1 OPEN door (O)" "D1 Open turbo door (stays open) [v1.6]"
-ldt 119 F "W1 Floor up nhEF" "W1 Raise floor to nhEF [v1.6]"
-ldt 120 l "WR LOWER lift" "WR Lower turbo lift [v1.6]"
-ldt 121 l "W1 LOWER lift" "W1 Lower turbo lift [v1.6]"
-ldt 122 l "S1 LOWER lift" "S1 Lower turbo lift [v1.6]"
-ldt 123 l "SR LOWER lift" "SR Lower turbo lift [v1.6]"
-ldt 124 e "W- Secret level" "W- End level, go to secret level [v1.6]"
-ldt 125 t "W1 Teleport mons" "W1 Teleport monsters only [v1.6]"
-ldt 126 t "WR Teleport mons" "WR Teleport monsters only [v1.6]"
-ldt 127 s "S1 RaiseStairs16" "S1 Raise stairs (step=16), crush [v1.6]"
-ldt 128 F "WR Floor up nhEF" "WR Raise floor to nhEF [v1.6]"
-ldt 129 F "WR Floor UP nhEF" "WR Raise turbo floor to nhEF [v1.6]"
-ldt 130 F "W1 Floor UP nhEF" "W1 Raise turbo floor to nhEF [v1.6]"
-ldt 131 F "S1 Floor UP nhEF" "S1 Raise turbo floor to nhEF [v1.6]"
-ldt 132 F "SR Floor UP nhEF" "SR Raise turbo floor to nhEF [v1.6]"
-ldt 133 b "S1 OPEN blu door" "S1 Open turbo door, blue key [v1.6]"
-ldt 134 r "SR OPEN red door" "SR Open turbo door, red key [v1.6]"
-ldt 135 r "S1 OPEN red door" "S1 Open turbo door, red key [v1.6]"
-ldt 136 y "SR OPEN yel door" "SR Open turbo door, yellow key [v1.6]"
-ldt 137 y "S1 OPEN yel door" "S1 Open turbo door, yellow key [v1.6]"
-ldt 138 L "SR Light to 255" "SR Light level goes to 255 [v1.6]"
-ldt 139 L "SR Light to 0" "SR Light level goes to 0 [v1.6]"
-ldt 140 F "S1 Floor up 512" "S1 Raise floor by 512, medium speed [v1.6]"
-ldt 141 C "W1& Crush SS sil" "W1& Start slow crushing, slow hurt, silent [v1.6]"
+ldt 105 e "W- Secret level" "W- End level, go to secret level"
+ldt 106 s "W1 Raise stairs" "W1 Raise stairs, step 16"
+ldt 107 s "S1 Raise stairs" "S1 Raise stairs, step 16"
#
# Definition of sector types
@@ -198,31 +161,38 @@
st 1 " Blinks rand" " Light blinks randomly"
st 2 " Flashes 2 Hz" " Light flashes 2 Hz"
st 3 " Flashes 1 Hz" " Light flashes 1 Hz"
-st 4 "P -20% & 2Hz" "P -10/20% health, flashes 2 Hz"
+st 4 "P -10% flow E" "P -5/10% health, floor scrolls eastward 28, flash 2 Hz"
st 5 "P -10% health" "P -5/10% health"
st 6 "? Crush raise" "? Ceiling crush and raise"
-st 7 "P -5% health" "P -2/5% health"
+st 7 "P -4% health" "P -2/4% health"
st 8 " Oscillates" " Light oscillates"
st 9 "P Secret" "P Secret"
st 10 " Closes 30 s" " 30 s after level start, ceiling closes like a door"
-st 11 "P -20% & end" "P -10/20% health and end level when health <= 10%"
st 12 " Flash1Hz syn" " Light flashes 1 Hz, synchronized"
st 13 " Flash2Hz syn" " Light flashes 2 Hz, synchronized"
st 14 " Opens 300 s" " 300 s after level start, ceiling opens like a door"
-st 15 "? Friction" "? Friction"
-st 16 "P -20% health" "P -10/20% health"
-st 21 "? Flow E slow" "? Floor scrolls eastward slowly"
-st 22 "? Flow E mid" "? Floor scrolls eastward"
-st 23 "? Flow E fast" "? Floor scrolls eastward fast"
-st 26 "? Flow N slow" "? Floor scrolls northward slowly"
-st 27 "? Flow N mid" "? Floor scrolls northward"
-st 28 "? Flow N fast" "? Floor scrolls northward fast"
-st 31 "? Flow S slow" "? Floor scrolls southward slowly"
-st 32 "? Flow S mid" "? Floor scrolls southward"
-st 33 "? Flow S fast" "? Floor scrolls southward fast"
-st 36 "? Flow W slow" "? Floor scrolls westward slowly"
-st 37 "? Flow W mid" "? Floor scrolls westward"
-st 38 "? Flow W fast" "? Floor scrolls westward fast"
+st 15 "? Ice low fric" "? Ice low friction"
+st 16 "P -16% health" "P -8/16% health"
+st 20 "? Flow E 5" "? Floor scrolls eastward 5"
+st 21 "? Flow E 10" "? Floor scrolls eastward 10"
+st 22 "? Flow E 25" "? Floor scrolls eastward 25"
+st 23 "? Flow E 30" "? Floor scrolls eastward 30"
+st 24 "? Flow E 35" "? Floor scrolls eastward 35"
+st 25 "? Flow N 5" "? Floor scrolls northward 5"
+st 26 "? Flow N 10" "? Floor scrolls northward 10"
+st 27 "? Flow N 25" "? Floor scrolls northward 25"
+st 28 "? Flow N 30" "? Floor scrolls northward 30"
+st 29 "? Flow N 35" "? Floor scrolls northward 35"
+st 30 "? Flow S 5" "? Floor scrolls southward 5"
+st 31 "? Flow S 10" "? Floor scrolls southward 10"
+st 32 "? Flow S 25" "? Floor scrolls southward 25"
+st 33 "? Flow S 30" "? Floor scrolls southward 30"
+st 34 "? Flow S 35" "? Floor scrolls southward 35"
+st 35 "? Flow W 5" "? Floor scrolls westward 5"
+st 36 "? Flow W 10" "? Floor scrolls westward 10"
+st 37 "? Flow W 25" "? Floor scrolls westward 25"
+st 38 "? Flow W 30" "? Floor scrolls westward 30"
+st 39 "? Flow W 35" "? Floor scrolls westward 35"
st 40 "? Wind E slow" "? Wind blows eastward slowly"
st 41 "? Wind E mid" "? Wind blows eastward"
st 42 "? Wind E fast" "? Wind blows eastward fast"
diff -uaNr yadex-1.6.0/ygd/strife.ygd yadex-1.7.0/ygd/strife.ygd
--- yadex-1.6.0/ygd/strife.ygd 2002-12-01 19:32:41.000000000 +0100
+++ yadex-1.7.0/ygd/strife.ygd 2003-12-28 16:30:46.000000000 +0100
@@ -88,8 +88,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -121,10 +121,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -132,12 +132,12 @@
ldt 76 d "WR Close for 30s" "WR Close door for 30 seconds"
ldt 77 C "WR& Crush FF" "WR& Start fast crushing, fast hurt"
#ldt 78 x "-- Unimplemented" "-- Unimplemented"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
#ldt 85 x "-- Unimplemented" "-- Unimplemented"
ldt 86 d "WR Open door (O)" "WR Open door (stays open)"
ldt 87 m "WR& Start moving" "WR& Start moving floor"
@@ -151,7 +151,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"
diff -uaNr yadex-1.6.0/ygd/strife10.ygd yadex-1.7.0/ygd/strife10.ygd
--- yadex-1.6.0/ygd/strife10.ygd 2002-12-01 19:19:58.000000000 +0100
+++ yadex-1.7.0/ygd/strife10.ygd 2003-12-28 16:30:48.000000000 +0100
@@ -88,8 +88,8 @@
ldt 32 b "D1 Open blu (O)" "D1 Open door (stays open), blue key"
ldt 33 r "D1 Open red (O)" "D1 Open door (stays open), red key"
ldt 34 y "D1 Open yel (O)" "D1 Open door (stays open), yellow key"
-ldt 35 L "W1 Light to 0" "W1 Light level goes to 0"
-ldt 36 f "W1 F. Dn HEF+8" "W1 Lower floor fast to HEF + 8"
+ldt 35 L "W1 Light to 35" "W1 Light level goes to 35"
+ldt 36 f "W1 F. DN HEF+8" "W1 Lower turbo floor to HEF + 8"
ldt 37 f "W1 F. dn LEF NXP" "W1 Lower floor to LEF (NXP)"
ldt 38 f "W1 Floor dn LEF" "W1 Lower floor to LEF"
ldt 39 t "W1 Teleport" "W1 Teleport to another sector"
@@ -121,10 +121,10 @@
ldt 65 F "SR F. up LIC-8" "SR Raise floor to LIC - 8, crush"
ldt 66 F "SR& F. up 24 TX" "SR& Raise floor by 24 (TX)"
ldt 67 F "SR& F. up 32 TX" "SR& Raise floor by 32 (TX)"
-ldt 68 f "SR& F dn nhEF TX" "SR& Lower floor to nhEF (TX)"
+ldt 68 f "SR& F up nhEF TX" "SR& Raise floor to nhEF (TX)"
ldt 69 F "SR F. up nhEF" "SR Raise floor to nhEF"
-ldt 70 f "SR F. dn HEF+8" "SR Lower floor to HEF + 8"
-ldt 71 f "S1 F. dn HEF+8" "S1 Lower floor to HEF + 8"
+ldt 70 f "SR F. DN HEF+8" "SR Lower turbo floor to HEF + 8"
+ldt 71 f "S1 F. DN HEF+8" "S1 Lower turbo floor to HEF + 8"
ldt 72 c "WR Ceil dn flr+8" "WR Lower ceiling to floor + 8"
ldt 73 C "WR& Crush SS" "WR& Start slow crushing, slow hurt"
ldt 74 C "WR& Stop crush" "WR& Stop crushing"
@@ -132,12 +132,12 @@
ldt 76 d "WR Close for 30s" "WR Close door for 30 seconds"
ldt 77 C "WR& Crush FF" "WR& Start fast crushing, fast hurt"
#ldt 78 x "-- Unimplemented" "-- Unimplemented"
-ldt 79 L "WR Light to 0" "WR Light level goes to 0"
+ldt 79 L "WR Light to 35" "WR Light level goes to 35"
ldt 80 L "WR Light to HE" "WR Light level goes to HE"
ldt 81 L "WR Light to 255" "WR Light level goes to 255"
ldt 82 f "WR Floor dn LEF" "WR Lower floor to LEF"
ldt 83 f "WR Floor dn HEF" "WR Lower floor to HEF"
-ldt 84 f "WR F. dn LEF NX)" "WR Lower floor to LEF (NXP)"
+ldt 84 f "WR F. dn LEF NXP" "WR Lower floor to LEF (NXP)"
#ldt 85 x "-- Unimplemented" "-- Unimplemented"
ldt 86 d "WR Open door (O)" "WR Open door (stays open)"
ldt 87 m "WR& Start moving" "WR& Start moving floor"
@@ -151,7 +151,7 @@
ldt 95 F "WR F. up nhEF TX" "WR Raise floor to nhEF (TX)"
ldt 96 F "WR Floor up SLT" "WR Raise floor by ShortestLowerTexture"
ldt 97 t "WR Teleport" "WR Teleport to another sector"
-ldt 98 f "WR F. Dn HEF+8" "WR Lower floor fast to HEF + 8"
+ldt 98 f "WR F. DN HEF+8" "WR Lower turbo floor to HEF + 8"
ldt 99 b "SR OPEN blu door" "SR Open turbo door, blue key [v1.6]"
ldt 100 s "W1 RaiseStairs16" "W1 Raise stairs (step=16), crush [v1.6]"
ldt 101 F "S1 Floor up LIC" "S1 Raise floor to LIC"