1Changes
2
3Yadex 1.7.0 (2003-12-28)
4
5  * Build: The configure script autodetects the C and C++ compiler (cc,
6    c89 or gcc and c++, cxx or g++). To skip the detection and force a
7    particular value, use the --cc and --cxx options.
8
9  * Code: Minor warningectomy. Fixed potential uses of uninitialised
10    pointers if wad I/O errors occurred while reading the texture list.
11
12  * Editing: Improved the handling of superimposed objects.
13      + The linedef object info box now lists any superimposed linedefs
14        (up to seven). No such feature for vertices, sectors and
15        things, mainly because it doesn't seem to be as big an issue
16        and I'm lazy.
17      + When the pointer is over more than one object, it's now the
18        highest-numbered one that's highlighted and not the
19        lowest-numbered as it used to be. Thus the highlight and the
20        info box match the display (that shows the highest-numbered
21        object and always has), which should be less confusing.
22        Highlighting the highest-numbered object seems to be the right
23        thing too, since the object you created last is the one you're
24        most likely to want to edit or delete. This change only affects
25        vertices, linedefs and things. For sectors, the code hasn't
26        changed.
27
28  * Game/wad: Heretic: correct definitions for linedef types 28, 33,
29    99, 105, 107-141 and sector types 4, 21-51, courtesy of Barry Mead.
30    Correct definitions for linedef types 35, 40, 100 and 106 and
31    sector type 11.
32
33  * Game/wad: Doom (all versions), Heretic and Strife:
34      + Linedef type 68 is now described as "raise floor" and not
35        "lower floor". This error can be traced back to... DEU 5.21.
36      + Linedef types 36 and 98 are now described as "lower turbo
37        floor" instead of "lower floor fast". The UDS inaccurately list
38        these types (as well as 70 and 71) as "fast", even though
39        they're "turbo" (4 � FLOORSPEED).
40      + Linedef types 70 and 71 are now described as "lower turbo
41        floor" instead of just "lower floor". This one is all mine.
42      + Linedef types 35 and 79 are now described as "light level goes
43        to 35", not "light level goes to 0". The UDS needs a
44        correction.
45
46    Thanks to Barry Mead for pointing out these errors.
47
48  * Misc: Finished the alternative (black-on-white) colour scheme. To
49    use it, compile with CXXFLAGS=-DWHITE_BACKGROUND. There are a few
50    remaining problems in view*.
51
52  * Misc: Fixed geometry problems in Input2Numbers() (as used in Rotate
53    And Scale Objects, Insert Rectangle, etc.).
54
55Yadex 1.6.0 (2003-04-01)
56
57  * BSP: Removed the old buggy patched up BSP 2.3. People should
58    download BSP 5 from http://doombsp.sourceforge.net/, which is a
59    much better nodes builder.
60
61  * Build: Changed the "! grep" command in the makefile so that it does
62    not match itself. Also added a dummy "true;" in front of it because
63    GNU make 3.76.1 does not seem to like commands that begin with "!"
64    (says "Error 1" and bails out).
65
66  * Build: Removed the empty lines in the makefile's output. Small
67    fixes w.r.t. $(HAVE_GCC), "make showconf" and elsewhere.
68
69  * Build: As scripts/ftime can't be shared across builds, it's now put
70    in obj/0/, making it possible to build for different architectures
71    from the same tree without having to type "make clean" between the
72    builds.
73
74  * Build: Not using "test -e" anymore in the makefile. This should fix
75    build problems on OpenServer, UnixWare, Solaris and other unices
76    with a non-POSIX /bin/sh. Thanks to Udo Munk and Oliver Kraus for
77    telling me about it.
78
79  * Build: "make clean" and "make dclean" now remove obj and dobj
80    respectively. This is for UnixWare where reportedly "ln -sf" does
81    not overwrite dangling symlinks. Thanks to Udo Munk for warning me
82    about it.
83
84  * Build: "make clean" now removes the doc directory as suggested by
85    Udo Munk.
86
87  * Build: The man page is now named yadex-VERSION. "yadex" is a
88    symlink to the above. This means that the day you install version
89    1.7, you will still have access to the man page of version 1.6 by
90    typing "man yadex-1.6.0".
91
92  * Build: The system fingerprint is now much shorter to avoid build
93    errors on QNX where the native fs limits file names to 48
94    characters.
95
96  * Build: Files installed by "make install" are now owned by the user
97    who ran "make install", instead of the user who ran "make".
98    Typically, when installing in /usr/local, files are now owned by
99    something like root:root instead of user:user.
100
101  * Build: Files installed by "make install" now have their mode forced
102    to something sensible (i.e. 755 or 644), regardless of whatever
103    umask the users who built and installed happen to have.
104
105  * Build: Use "rm -f new && ln -s old new" instead of "ln -sf old new"
106    for compatibility with Solaris 2.6 where reportedly "ln -sf" does
107    not overwrite the destination.
108
109  * Build: New configure script. "Not the famous GNU autoconf, but an
110    incredible simulation".
111
112    Installing in an other directory than /usr/local is now done by
113    giving ./configure the --prefix option. The old method (overriding
114    the PREFIX makefile variable) is not supported anymore.
115
116    Some configuration variables (whether gettimeofday(), nanosleep(),
117    snprintf() and usleep() are present) are now detected automatically
118    by configure.
119
120    Others (CFLAGS, CXXFLAGS, LDFLAGS, X11LIBDIR and X11INCLUDEDIR) are
121    still set in the Makefile.
122
123  * Build: Removed the merging of stderr with stdout from the makefile
124    recipes. It was just a commodity and nobody else does that.
125
126  * Build: The compilation and linking recipes in the makefile now
127    print the actual commands being run. Now that the defines are
128    passed via config.h and not on the command line, command length is
129    not as big an issue as it used to be.
130
131  * Code: Changed the input event type from int to unsigned short to
132    avoid wasting too much space in the menus.
133
134  * Code: Fixed bug in hextoi() : due to a typo, upper case letters in
135    hexadecimal numbers were evaluated to 75 instead of 10 through 15.
136
137  * Code: Used mkstemp() instead of tempnam() to shut warning on
138    FreeBSD (thanks to Colin Phipps for the report) and with recent
139    versions of Glibc. While I was at it, changed the temporary file
140    name prefix from "{DEU}" to "$TMPDIR/yadexswp??????" (or "/tmp/
141    yadexswp??????" if $TMPDIR is not set).
142
143  * Code: Certain variables have been changed from integer to unsigned
144    integer. Better syntax checking for unsigned integers. Trailing
145    spaces no longer cause syntax errors.
146
147  * Code: The diff distribution is now made with "diff -a" to cope with
148    binary files that change between versions. Thanks to Ouafae Kotby
149    and Benjamin Bayart for telling me about this flag.
150
151  * Code: The diff distribution is now a single gzipped file instead of
152    a tarball (the README has been inlined).
153
154  * Code: Changed all occurrences of "gray" to "grey" since apparently
155    "gray" is an americanism.
156
157  * Code: Fixed bug in Img::resize() when new width � height was the
158    same as old width � height. Spotted by IvL.
159
160  * Code: Fixed x/y mix-up in DrawScreenText(). Spotted by IvL.
161
162  * Code: Protected against inadvertent assignment or copy-construction
163    of classes for which those actions are not implemented by declaring
164    the corresponding methods private and not defining them.
165
166  * Code: Removed non-portable "t" fopen() mode qualifiers.
167
168  * Command-line: Options --help and --version now check for write
169    errors and exit with a non zero status should the occasion arise.
170
171  * Doc: FAQ fixes. Updated the "supported games" section.
172    Clarifications, additions and corrections in the misc. op.
173    sections.
174
175  * Doc: The welcome banner suggests "c" (instead of "c levelname"
176    which is not implemented).
177
178  * Doc: Added complete copyright information to the man page and
179    "about" box. Author section in man page now gives proper credit to
180    contributors.
181
182  * Doc: Updates to the hacker's guide.
183
184  * Doc: s/ftp.cdrom.com/3darchives.in-span.net/g
185
186  * Doc: users_guide.html has numbered heading and working links in the
187    TOC. Overhauled the sections about configuration and game
188    definition files.
189
190  * Editing: Make linedef single-sided: the lower and upper texture are
191    cleared. The middle texture is set to the default.
192
193  * Editing: Found a funny bug; if you tried to highlight a
194    way-off-screen sector at a high (> 3) zoom factor, sometimes the
195    sector actually appeared on the window, even though it was supposed
196    to be a few thousand pixels off-screen. I don't know if the
197    "oddity" is in Xlib, in the X server or in my video card but,
198    interestingly, the symptoms show up only when drawing horizontal or
199    vertical lines on the window, not when drawing oblique lines or on
200    the pixmap.
201
202    Since it only occurs at high zoom factors, it must be some sort of
203    overflow error though it doesn't look like a 32-bit value being
204    truncated to 16 bits because the values are too small. Strange. I
205    dumbly worked around it by skipping off-screen objects.
206
207  * Editing: A linedef, thing or vertex is highlighted if the pointer
208    is within 15 pixels of it. Previously, the threshold was 20 map
209    units which was too narrow at low zoom factors and too broad at
210    high zoom factors. This change makes drawing selection boxes in
211    crowded areas much easier than before.
212
213  * Editing: Configuration variables thing_fudge and vertex_fudge are
214    gone, since they've been made irrelevant by changes in the
215    highlighting code.
216
217  * Editing: If the pointer is within highlighting distance of more
218    than one thing, the one that is highlighted is the one in which the
219    pointer is, or the one that has the smallest radius, or the one
220    whose centre is nearest. Previously, the lowest-numbered one was
221    highlighted, making it impossible to select, say, a high numbered
222    baron standing in the same spot as an arachnotron.
223
224  * Editing: Restored [Shift][Ins] that was inadvertently disabled
225    during the port to X. Thanks to Ingo van Lil for reporting this
226    bug.
227
228  * Editing: If a linedef has a negative tag, tagged sectors are now
229    shown.
230
231  * Editing: As per Ingo van Lil's suggestion, if a linedef is tagged
232    to more than one sector, a "+" is appended to the sector number in
233    the object info window. Similarly, if a sector is tagged to more
234    than one linedef, a "+" is appended to the linedef number in the
235    object info window.
236
237  * Editing: In the object info window, tag 667 is now marked as
238    special. Yadex catches up with that newfangled Doom II thing.
239
240  * Editing: The static text in the object info boxes is now a bit
241    dimmer to make the important information stand out.
242
243  * Editing: Started working on a global mode, where you can work with
244    all types of objects at once, vertices, linedefs, sectors and
245    things. It's toggled by pressing [Ctrl][g] in the editing window.
246    Since it's an experimental feature, it comes with a big fat
247    warning, that you should take seriously. One known bug is that
248    selection is broken is this mode. Overhauled GetCurObject() to make
249    it able to cope with global mode.
250
251  * Editing: [1] through [9] and [0] are now configurable through the
252    new variables "digit_zoom_base" and "digit_zoom_step". The default
253    values are set to roughly emulate the old behaviour but it's now
254    possible to have the zoom factor increase across the keyboard, for
255    instance. Patch by AJA.
256
257  * Editing: New variable "blindly_swap_sidedefs" to prevent Yadex from
258    asking for confirmation when swapping sidedefs. Patch by AJA.
259
260  * Editing: Placeat AJA, it's now possible to toggle the object info
261    boxes with [i]. Toggling the info bar is now bound to [Alt][i].
262
263  * Editing: The "Info bar" item has been moved from the "Help" menu to
264    the "View" menu. Fixed misplaced underscore in linedef "Misc" menu.
265    Fixed misplaced tick marks (thanks to Ingo van Lil) and added
266    separations in the "View" menu. Added missing ellipses here and
267    there.
268
269  * Editing: Removed the sudden jump (down) in the size of the vertices
270    when zooming in.
271
272  * Editing: Sectors are now shown in one of three colours : green for
273    sectors that have a tag, blue for sectors that have a type and cyan
274    for sectors that have both. Previously, all tagged sectors looked
275    the same, whether they had a type or not.
276
277  * Editing: Integer entry: you can now enter hexadecimal or octal
278    numbers by prefixing them with "0x" or "0", as in C. This should
279    make it easier to enter Boom generalized types. You are now allowed
280    to start the number with an explicit plus sign ("+"). The lower
281    limit has been pushed from -32,749 to -32,768. The upper limit has
282    been pushed from +32,749 to +32,767. For consistency with the rest
283    of the interface, if the current entry is invalid, it is shown in
284    red instead of dim grey. You are allowed to type more characters,
285    even if the current entry is invalid ([Return] is still disabled,
286    however). The message in InputIntegerValue() has been changed from
287    "Enter a decimal number" to "Enter a number".
288
289  * Editing: Fixed segfault on "Save as..." on a new level (i.e. opened
290    with the "create" command). This bug was there ever since 1.1.
291
292  * Editing: On a new level (opened with the "create" command), the
293    level name and file name are now remembered so you don't have to
294    enter them again every time you save.
295
296  * Editing: New function "cut a slice out of a sector" to easily split
297    doughnut-shaped sectors. Shortcut is [Ctrl][k]. See
298    users_guide.html for details. Thanks to Jim Flynn for writing a
299    similar function in DETH, which I used as a reference.
300
301  * Editing: Setting things flags by value now allows any value between
302    0 and 65,535 (instead of 1 through 31). The word "decimal" has been
303    removed from the menu item since you can now enter hexadecimal as
304    well.
305
306  * Editing: [n], [p], [<] and [>] work properly even if no object was
307    highlighted.
308
309  * Editing: In linedef mode, linedefs that have no first sidedef, or a
310    bad sidedef number are drawn in red.
311
312  * Game/wad: MBF: changed the radius of the dog from 16 to 12. Thanks
313    to AJA for pointing it out.
314
315  * Game/wad: Boom: added all of Boom's 130 non-generalized linedef
316    types to doom.ygd and doom2.ygd. New "elevator" linedef type group.
317    Many thanks to AJA for typing in the ygd data.
318
319  * Game/wad: Linedef types 33 and 34 were incorrectly labelled "yel"
320    and "red" instead of the other way around. Thanks to Ingo van Lil
321    for pointing this out.
322
323  * Game/wad: Linedef type 96 was incorrectly marked "W1" instead of
324    "WR". Spotted by IvL.
325
326  * Game/wad: Hexen: added to hexen.ygd a couple of things types and
327    most sector and linedef types. Linedefs now have their tag set to
328    arg1. It used to be left uninitialized, which is why so many
329    linedefs were shown in red on the map.
330
331  * Game/wad: Linedef types 105 and 111 had their descriptions
332    reversed. Don't blindly trust the UDS. Spotted by AJA.
333
334  * Game/wad: Gave a sprite to Doom thing type 23 (dead lost soul),
335    SKULK.
336
337  * Game/wad: Strife: definitions for thing types 10, 27, 46, 50, 81,
338    137, 138, 2018, 2019 and 2026.
339
340  * Game/wad: Hexen: definitions for things 122, 124 and 8004.
341
342  * Misc: Flat/patch/sprite/texture viewer: restored ability to save to
343    file by pressing [Shift][F1].
344
345  * Misc: Flat/patch/sprite/texture viewer: not unnecessarily
346    refreshing the whole image window anymore when browsing patches or
347    sprites.
348
349  * Misc: Texture viewer: new bindings [Ctrl][a] [Ctrl][x] to change
350    the number of patches shown.
351
352  * Misc: Most I/O errors occurring while reading wads are now handled
353    gracefully (fewer gratuitous calls to fatal_error()).
354
355  * Misc: The menu code (menu.cc and oldmenus.cc) has been partly
356    rewritten. Made the automatic shortcuts case-sensitive to allow up
357    to 61 entries instead of just 35. Option numbers shortcuts are
358    framed with dimmer square brackets, instead of parentheses.
359    Implemented separations. Two extra pixels of space between lines.
360    Tick marks now look like tick marks, not asterisks. Unticked
361    entries now have a dash in front of them.
362
363  * Misc: The search paths for game definition files and configuration
364    files have changed in several ways.
365
366    Some config file search directories have changed for conformance to
367    the FHS. If the prefix is "/usr/local", the path is now "/etc/
368    yadex" instead of "/usr/local/etc/yadex". If the prefix is "/opt/
369    something", the path is now "/etc/opt/something" instead of "/opt/
370    something/etc/yadex". The practical consequence for the 90% of you
371    who install in /usr/local is that the system-wide config file has
372    moved from /usr/local/etc to /etc.
373
374    Overriding the prefix now actually works for other prefixes than /
375    usr and /usr/local. The problem was that, even though the makefile
376    installed the files in the proper directories, the yadex binary
377    looked for them in /etc, /usr and /usr/local, regardless of the
378    prefix. Thanks to Oliver Kraus and Udo Munk for clueing me in.
379
380    Yadex used to look for files in places where it shouldn't have. For
381    example, it looked for game definition files in /usr even if
382    compiled for /usr/local and vice-versa. Yadex now looks for files
383    only in the places corresponding to the prefix it was compiled for.
384    This makes it possible to have several builds of the same version
385    of Yadex on the same machine without unwanted interactions, as long
386    as they're compiled for different prefixes. Note, however, that /
387    etc/yadex is used by both /usr and /usr/local but that is mandated
388    by the FHS and there's nothing I can do.
389
390    The search directories relative to $YADEX_DIR have been removed
391    from the Unix version (they were intended for DOS).
392
393    See users_guide.html for the exact contents of the new search
394    paths.
395
396  * Misc: Config file: bumped the config file version# from 3 to 4.
397
398  * Misc: Fixed strange reactions to percent character ("%") in the
399    file name entry box.
400
401  * Misc: Slightly less chaotic output in verbose mode.
402
403  * Misc: Fixed a memory leak that occurred when repeatedly reloading a
404    wad. This log entry is particularly delightful because that leak
405    was introduced by me in version 1.5.0 while trying to fix a bug in
406    the same code that was, guess what, an fd leak. For the
407    historically minded, that fd leak goes back to at least DEU 5.21.
408    Try it. It's easily exercised by loading the same wad over and
409    over. After about 20 iterations, you are rewarded with "patch wad
410    file xxx doesn't exist. Ignored.".
411
412  * Misc: Removed from the makefile unflattering comments on bzip2's
413    celerity that came from using an old version.
414
415  * Misc: Decapitalised object type names (GetObjectTypeName()).
416
417  * Misc: Fixed display bug in sector# and sidedef# entry box
418    (InputObjectXref()).
419
420  * Misc: The config file search algorithm has been modified to support
421    multiple config files. The old algorithm was to walk the search
422    path front to back and stop at the first match. The new algorithm
423    is to walk the path back to front and use all the matches. Thus
424    local files inherit parameter settings from global files and still
425    have the possibility to selectively override them (i.e. you can
426    override some parameters and inherit the others).
427
428    For example, assuming /etc/yadex/1.6.0/yadex.cfg contains :
429
430        a = old
431        b = old
432
433    and ./yadex.cfg contains :
434
435        a = new
436        c = new
437
438    the net effect is :
439
440        a = new
441        b = old
442        c = new
443
444    The motivation for the change was to allow users to put most of
445    their settings in global config files, either system wide or
446    per-user. When local files exist, they should contain only the
447    minimum, i.e. just those settings you want to override. This way of
448    doing has several advantages over the previous all-or-nothing
449    system. Obviously, you can now change a setting globally by editing
450    just one file, even if you have many local config files. Upgrades
451    are also smoother because any new variable definitions appearing in
452    global config files propagate even if local config files exist.
453    Finally, it's much easier to figure what local files are meant to
454    do because everything they contain is meaningful.
455
456  * Misc: Removed the start-up message stating that "this program is
457    derived from DEU 5.21 by Rapha�l Quinet and Brendon Wyber" (for
458    clarity, not because I'm in denial).
459
460  * Platform: On DOS, the PPM files created by "make_palette_ppm" and
461    "mp2" now have correct CRLF line terminators instead of LFCR.
462
463  * Platform: Wart in gfx.cc to cope with QNX where DisplayWidth() and
464    DisplayHeight() return silly values.
465
466  * Platform: Added support for 16-colour displays. Tested with the
467    XFree86 VGA16 server which, when running in 640x480x16 (VGA mode
468    12h), provides a PseudoColor or StaticColor visual with an 8 bits
469    per pixel pixmap format. If there are any servers that expect a
470    pixmap format with a number of bits per pixel that is not a
471    multiple of 8, they're still unsupported.
472
473  * Platform: Reworked the pixmap format selection code. Should not
474    change anything for most people.
475
476  * Platform: Compiles and runs on HP-UX 10.0 (with GCC 3.0.1).
477
478  * Platform: Compiles on Linux PPC (with GCC 3.1). Thanks to Mark
479    Brown for the patch.
480
481Yadex 1.5.2 (2001-06-30)
482
483  * Platform: Compiles with GCC 3.0 (added std:: qualifiers where they
484    were missing and removed #ifdef inside printf()).
485
486Yadex 1.5.1 (2000-12-12)
487
488  * Platform: One-line fix in menu.cc to please GCC 2.96 (of Red Hat 7
489    fame). Thanks to Zebediah C. McClure for reporting the problem.
490
491Yadex 1.5.0 (2000-08-27)
492
493  * Build: Changed the way the diffs are generated after reading more
494    carefully the patch(1) man page and learning the hard way that it's
495    a very bad idea to put absolute paths in patches.
496
497  * Build: Made it easier to add or remove individual options in CFLAGS
498    and friends.
499
500  * Command-line: New option -b to benchmark parts of Yadex. For
501    hackers only.
502
503  * Command-line: Removed option -e in prevision of reuse for another
504    function.
505
506  * Doc: Completed ygd.html.
507
508  * Doc: Documented the usage of the LINES and YADEX_DIR environment
509    variables.
510
511  * Editing: Things that have an illegal angle are now shown with the
512    angle Doom would see, instead of just a dot in the middle. The
513    emulation is believed to be accurate for angles comprised between 0
514    and 359. Values outside that range have not been tested.
515
516  * Editing: Things flags and linedefs flags now grouped by 4 for
517    readability. For linedefs, the decimal value of the flags field is
518    not shown anymore.
519
520  * Editing: In the object info box, the type and description of the
521    current thing are now display in red if the type is invalid (i.e.
522    not defined in the .ygd).
523
524  * Editing: The things and linedefs flags operations ([a], [b], [c])
525    now set MadeChanges as they should have from the start.
526
527  * Editing: The View menu now contains entries for "Show object
528    numbers" [&] and "Show grid" [h].
529
530  * Editing: The Edit menu now contains entries for "Snap to grid" [y]
531    and "Loc grid step" [z].
532
533  * Editing: Rearranged the sidedef object info windows so that the
534    textures are listed in a more intuitive order (upper, middle, lower
535    instead of middle, upper, lower). Made labels shorter in
536    preparation of the hypothetical inclusion of texture swatches in
537    the future.
538
539  * Editing: Fixed long-standing buglet with the sidedef info saying
540    there are missing upper/lower textures even though both sectors
541    have a "sky" ceiling/floor.
542
543  * Editing: Implemented showing object numbers for linedefs and
544    sectors. The placement of sector numbers is naive and inadequate
545    for sectors that don't have a simple convex shape, but it's still
546    better than nothing. Picked a somewhat brighter colour for object
547    numbers.
548
549  * Editing: Linedef object info box: if the first sidedef is missing,
550    the message "(no first sidedef)" is printed in red instead of dim
551    gray. Same thing for the second sidedef if the "2" flag is set.
552
553  * Editing: Removed careless dereferencing of SideDefs[] for bad
554    sidedef numbers in the sector selection code. I don't think this is
555    what caused the mysterious unreproducible segfault James Caldwell
556    reported, though. Made the object deletion function paranoid
557    (checks that the objects to delete actually exist).
558
559  * Editing: When found superimposed linedefs after merging vertices,
560    the dialog box that asks whether they should be merged now mentions
561    the numbers of the first two superimposed linedefs found instead of
562    a laconic "Some linedefs are superimposed".
563
564  * Editing: Zooming: the zoom factor is now displayed in percent, 100%
565    being 1/1.
566
567  * Editing: Zooming: the zoom factors are now regularly spaced, with a
568    ratio of 1.414 between them. This removes the annoying "jump"
569    between the zoom factors greater than 1/2. It also fixes the
570    oddities that happened when zooming in after [`]. The ratio between
571    zoom factors can be controlled through the new parameter
572    "zoom_step".
573
574  * Editing: Zooming: the "zoom" parameter has been replaced by the new
575    parameter "zoom_default". The latter is expressed in percent, not
576    in 1/n units. It's now possible to specify an initial zoom factor
577    of more than 1/1. When opening a new window, Yadex now adjusts the
578    zoom factor so that the level fills the window. Should you want to
579    revert to the old behaviour, you can do it by setting zoom_default
580    to 12.
581
582  * Editing: ['] and [`] now go to the current centre of the level
583    (they used to go to where the centre was when the level was opened
584    or created).
585
586  * Editing: [`] now has a menu item (View -> Whole level).
587
588  * Editing: The grid has changed. There are now dots every step map
589    units, dim lines every 4�step units, normal lines every 16�step
590    units and bold lines every 64�step units. The new grid is supposed
591    to be less obtrusive visually, faster to display and more distinct
592    when scrolling.
593
594  * Editing: New function to swap floor and ceiling flats of selected
595    sectors (Misc. operations -> Swap flats).
596
597  * Editing: When not in things mode, things are drawn in a dimmer
598    shade of gray and do not hide the linedefs anymore.
599
600  * Game/wad: Removed the "-g wolf" bit. [For those who still haven't
601    got it : the support for Wolfenstein 3D announced in the CHANGES
602    for version 1.4.0 was of course a hoax, 1.4.0 having been released
603    on April 1st.] Hope you've been having as much fun as I have. :-)
604
605  * Game/wad: Heretic: made the golem leader ghost, undead warrior
606    ghost and golem ghost look a little more ghostly. Made the gargoyle
607    leader, golem leader and golem leader ghost look different from
608    their vanilla counterparts by using sprites IMPXD and MUMMY.
609    Assigned a sprite to things 31 and 32 (enchanted shield, SHD2 and
610    mystic urn, SPHL).
611
612  * Game/wad: Heretic: corrected things radii in heretic.ygd, using
613    info2ygd and the Heretic source as a reference. Almost all radii
614    were wrong, a few grossly so (maulotaur, ironlich and gargoyle).
615
616  * Game/wad: Strife: many new things and linedef types thanks to Matt
617    Miller.
618
619  * Game/wad: Doom alpha 0.4: definitions for thing types 2020, 2036,
620    2038 and 2046.
621
622  * Game/wad: Updated format comments in *.ygd.
623
624  * Game/wad: Sprites in pwads now supported (between S_START/S_END or
625    SS_START/SS_END or SS_START/S_END). This fixes Yadex's failure to
626    show redefined sprites in alitcsf.wad, basilica.wad and
627    strifed1.wad. A few Aliens TC sprites don't work yet but it's for a
628    different reason (DEH).
629
630  * Game/wad: Sprites now shown on the map when in things mode. You can
631    switch between sprites and squares with View -> Show sprites [%].
632    New config file parameter "sprite_scale" to adjust the scale at
633    which sprites are displayed (default 100%).
634
635  * Game/wad: The right sprite is shown, even if the sprites are not in
636    alphabetical order in the wad (cf BARWA0 in Strife).
637
638  * Game/wad: The function to add pwads (be it from the command line or
639    with the "r" command) has been heavily reworked. It's more robust
640    and handles errors better. It does not leak file handles anymore
641    when you add the same pwad more than once. It also accepts to add
642    iwads, modulo a warning (though you should expect problems later if
643    you do that). The merging of the pwad directory into the master
644    directory is still lousy.
645
646  * Game/wad: Fixed duplicate entries in the flat selector. This bug
647    was found by "Ras2". It happened whenever you added the same flat
648    thrice or more.
649
650  * Game/wad: EDGE: added definitions for EDGE linedef types and things
651    types to doom.ygd and doom2.ygd. Thanks to Andrew Apted for
652    providing the ygd data.
653
654  * Game/wad: EDGE: in sector mode, show information for EDGE
655    extrafloors if there are any.
656
657  * Misc: A couple of calls to fatal_error() were turned into calls to
658    report_error() (don't abort).
659
660  * Misc: New game definition file directive "sky_flat" to specify the
661    name of the "sky" flat. Replaced all occurrences of F_SKY1 by
662    references to this parameter. Fixes Check -> Check for missing
663    textures for Hexen and Strife. Bumped game definition file version#
664    to 4.
665
666  * Misc: Because it seems to disturb people (and for the pleasure of
667    proving Matt wrong), I've made the texture selector clip textures
668    to size. Since there's no scrolling/zooming system yet, I also
669    enlarged the viewing area from 256�128 to 512�256 to alleviate the
670    lossage on large textures.
671
672  * Misc: Removed the "Press Shift-F1 to save image to file" text in
673    the selector. It's been a no-op ever since 1.0, anyway.
674
675  * Misc: In the selectors, pressing [F1] prints the location of the
676    current item to stdout (file name and offset). Works with flats,
677    patches and sprites but not textures. It's there to help trace Ras'
678    bug.
679
680  * Misc: Made LoadPicture() nicer and safer. It gracefully bails out
681    if there are more than 20 errors on a single picture. It does not
682    make Yadex abort anymore on read errors in the header or column
683    offset table. I've done this by modifying wad_read_i16() and
684    wad_read_i32() so other functions might have been impacted.
685
686  * Misc: Config file: commented out most settings (this has no visible
687    effect since those settings were just reiterations of the default
688    values built into the executable). Also changed the initialization
689    code so that Yadex can run without a config file.
690
691  * Misc: Config file: unknown variables are ignored with a warning
692    instead of triggering a fatal error. The intent is to facilitate
693    sharing config files between versions.
694
695  * Misc: Config file: bumped version# to 3.
696
697  * Misc: Made Yadex use YADEX_GAME as documented and not Y_GAME.
698    Oops !
699
700  * Misc: New feature in the flat/picture/sprite selector to show where
701    the current image comes from (file name and file offset). For
702    debugging.
703
704  * Misc: The window size (width/height and -w/-h) can now be expressed
705    in percent of the screen size, by appending a "%" to the value. The
706    default size, instead of being 640�480 in the executable and 900�
707    600 in the config file is now 90%�90%. It's still possible to give
708    absolute width and heights, of course.
709
710  * Misc: No tantrum thrown if the game definition file contains no
711    thing directive.
712
713  * Misc: Removed the check for sector headroom being < 1024 in Checks
714    -> Check for missing textures. It was sometimes annoying and
715    inaccurate anyway.
716
717  * Platform: Images display correctly on packed 24-bit X servers (i.e.
718    bits_per_pixel actually is 24 and not 32). The scanline_pad member
719    of the ScreenFormat structure is now honoured (not that XFree86
720    seemed to mind much when it wasn't).
721
722  * Platform: Began to clean the code up to make porting less
723    difficult.
724
725  * Platform: Added patch to get Yadex to compile with GCC 2.7 (patch/
726    gcc-2.7.diff). GCC 2.7 is officially considered unsupported,
727    though. You're on your own.
728
729Yadex 1.4.0 (2000-04-01)
730
731  * Command-line: The parsing of the command line arguments is now
732    case-sensitive. Yes, that's right, it used to be case-insensitive.
733    I never knew. I just realized it by accident. DOS is not dead.
734
735  * Doc: The man page now has an "OPTIONS" section.
736
737  * Doc: Three new makefile targets, man, dvi and ps, for people who
738    hack the doc.
739
740  * Editing: Made object numbers slightly more legible in crowded
741    areas.
742
743  * Game/wad: Added support for Wolfenstein 3D (-g wolf).
744
745  * Misc: The code that parses the configuration file is smarter and
746    its error messages are more informative. Doesn't choke anymore on a
747    line containing just spaces or on comments not starting on
748    column 1. Thanks to "Ras2" for reporting the bug.
749
750  * Misc: New commands "viewtex" and "viewflat" so that you can browse
751    textures and flats without having to open a level. This is
752    primarily useful to me, for testing purposes.
753
754  * Misc: More sanitization : the parsing of the configuration file is
755    now case-sensitive when matching option names and values ("yes"/
756    "no", "true"/"false", "on"/"off").
757
758  * Misc: The flat/patch/sprite/texture viewer does not flicker
759    anymore, and is somewhat faster when viewing textures. The list of
760    names in the flat viewer has grown from 3 to 5 lines.
761
762  * Misc: The diffs are now in unified format (supposedly just as good
763    and IMHO clearer).
764
765Yadex 1.3.2 (2000-01-14)
766
767  * Build: Oops ! I had forgotten to set CC and CXX back to their
768    "sane" values before cutting the 1.3.1 tarball.
769
770  * Code: "make dist" now also generates a diff.
771
772Yadex 1.3.1 (2000-01-12)
773
774  * Build: Fix for "Ras2"'s compile error with g++ 2.7.2.3 :
775
776      c++ src/disppic.cc
777      In file included from /usr/include/g++-2.7/defalloc.h:24,
778                       from /usr/include/g++-2.7/map.h:21,
779                       from /usr/include/g++-2.7/map:6,
780                       from src/patchdir.h:35,
781                       from src/disppic.cc:33:
782      /usr/include/g++-2.7/algobase.h:47: macro `min' used with too many (3) args
783      /usr/include/g++-2.7/algobase.h:57: macro `max' used with too many (3) args
784      make: *** [obj/0/disppic.o] Error 1
785
786  * Build: Fix for HAVE_NANOSLEEP being always false. Thanks to "Ras2"
787    for pointing it out.
788
789Yadex 1.3.0 (2000-01-11)
790
791  * Build: The makefile now honours the dependencies in yadex.dep.
792
793  * Build: Support for FHS-compliant systems: "make install" now copies
794    the man pages into /usr/local/share/man/man6/ if /usr/local/share/
795    man/ exists. If not, it still uses /usr/local/man/man6/ (requested
796    by Joseph Carter).
797
798  * Build: Added "#include <stddef.h>" to fix compilation error on
799    wads.cc under Solaris.
800
801  * Build: Downgraded the makefile and scripts to use the old backquote
802    syntax for command substitution, because Oliver Kraus' reports
803    suggest that the Solaris sh does not understand the "$()" syntax.
804    Barfulation !
805
806  * Build: New makefile target showconf that shows the value of all the
807    important macros as well as the output of certain commands. If you
808    have trouble compiling Yadex, mail me the output of "make
809    showconf".
810
811  * Build: A bunch of little changes in the makefile to try to make
812    build problems on Solaris go away.
813
814  * Doc: Fixed several discrepancies in README.
815
816  * Game/wad: Support for the german edition of Doom II (as the iwad
817    has no MAP31 and MAP32, Yadex 1.1.0 and 1.2.0 used to say "this is
818    the shareware version of the game").
819
820  * Game/wad: Replacement patches in pwads are now supported, even if
821    between PP_START and PP_END. Fixes failure to see redefined
822    textures with mbfedit!.wad, alitcwad.wad and certainly many others.
823    Replacement patches in pwads not between P_START/P_END or PP_START/
824    PP_END are not recognized anymore. Many PNAMES errors that would
825    have made previous versions of Yadex abort now just make it print
826    warnings.
827
828  * Misc: Cleaned up the web page source and makefile. Added
829    documentation, should someone else take over maintainership. No
830    harm in dreaming.
831
832  * Misc: New command viewpat to browse through the patches.
833
834  * Misc: It's now possible to have several different versions of Yadex
835    installed simultaneously. Some paths have changed :
836      + $(PREFIX)/share/games/ is now $(PREFIX)/share/games/yadex/$
837        (VERSION)/
838      + $(PREFIX)/etc/yadex.cfg is now $(PREFIX)/etc/yadex/$(VERSION)/
839        yadex.cfg
840      + ~/yadex.cfg is now ~/.yadex/$(VERSION)/yadex.cfg
841      + $(PREFIX)/bin/yadex changed to $(PREFIX)/bin/yadex-$(VERSION)
842      + $(PREFIX)/bin/ybsp changed to $(PREFIX)/bin/ybsp-$(VERSION)
843      + $(PREFIX)/bin/yadex is now a symlink pointing to yadex-$
844        (VERSION)
845      + $(PREFIX)/bin/ybsp is now a symlink pointing to ybsp-$(VERSION)
846
847    The insertion of a yadex/ component in the paths was done for two
848    reasons. In the first place, it was requested by Joseph Carter for
849    game definition files, to reduce clutter in $(PREFIX)/share/games/.
850    I extended it to configuration files because it I thought it was a
851    nice way not to clutter $(PREFIX)/etc/. On the other hand, it was
852    not done for man pages and executables because it would have
853    interfered.
854
855  * Misc: Fixed bug where if you typed "yadex: c level", then created
856    or edited a level and then closed the editing window, you got a
857    dozen of messages like this one : "Warning: error freeing colour
858    00005820h (BadAccess (attempt to access private resource denied))".
859    I hope this fixes the related item in TODO.
860
861Yadex 1.2.0 (1999-11-23)
862
863  * BSP: Added missing newline in banner.
864
865  * BSP: Silenced GCC 2.95.2 warnings about implicit braces.
866
867  * Build: The makefile doesn't rebuild doc/ every time a source file
868    is changed anymore.
869
870  * Build: Can now be built on machines where Perl is not installed.
871
872  * Build: The doc can now be built on machines with a non-GNU find.
873
874  * Build: Fixed compilation errors with GCC 2.95.2 in src/infobar.cc.
875
876  * Build: Silenced most GCC warnings.
877
878  * Code: Fixed a typo in the legal notices at the beginning of the
879    source files.
880
881  * Doc: HISTORY renamed as CHANGES, since that seems to be a more
882    widespread convention.
883
884  * Editing: The checks don't beep for every error anymore, just the
885    first one.
886
887  * Editing: Object info window: the sprite and flats graphics don't
888    flicker anymore when the pointer moves from one object to another.
889    Besides, if the sprite is not found, displays the message
890    "sprite_name not found" instead of just a blank area.
891
892  * Game/wad: Doom alpha & press release versions: it's now possible to
893    save levels. Note: they're saved to regular Doom format, not Doom
894    alpha format.
895
896  * Game/wad: Doom II: The boss shooter thing now has a sprite
897    (BOSFB0).
898
899  * Game/wad: Hacx and Aliens TC: fixed a bug that made Yadex segfault
900    when trying to edit a Hacx level (or alitcsf.wad from alntc19
901    {a,b}.zip).
902
903  * Game/wad: For homogeneity with DeuTex, less confusion and to reduce
904    the risk of conflicts with other applications, the game names for
905    Doom alpha 0.2, Doom alpha 0.4, and Doom alpha 0.5 are now
906    "doom02", "doom04" and "doom05" respectively instead of "alpha02",
907    "alpha04" and "alpha05". It follows that some command-line options
908    have changed :
909      + "-g alpha02" is now "-g doom02",
910      + "-g alpha04" is now "-g doom04",
911      + "-g alpha05" is now "-g doom05".
912
913    Configuration file directives :
914      + "game = alpha02" is now "game = doom02",
915      + "game = alpha04" is now "game = doom04",
916      + "game = alpha05" is now "game = doom05".
917
918    Paths :
919      + /usr/local/share/games/alpha02/ is now /usr/local/share/games/
920        doom02/,
921      + /usr/local/share/games/alpha04/ is now /usr/local/share/games/
922        doom04/,
923      + /usr/local/share/games/alpha05/ is now /usr/local/share/games/
924        doom05/,
925      + /usr/local/share/games/alpha02.ygd is now /usr/local/share/
926        games/doom02.ygd,
927      + /usr/local/share/games/alpha04.ygd is now /usr/local/share/
928        games/doom04.ygd,
929      + /usr/local/share/games/alpha05.ygd is now /usr/local/share/
930        games/doom05.ygd.
931
932  * Game/wad: Fixed Yadex aborting when trying to view textures for
933    versions of Strife >= 1.1. The problem was that Strife 1.1 and
934    above use a different format for the TEXTURE1 and TEXTURE2 lumps
935    (Strife 1.0 uses the same format as Doom). New game definition file
936    directive "texture_format strife11" to support that format.
937    strife.ygd now contains "texture_format strife11". Added
938    strife10.ygd that is identical to strife.ygd except that it
939    contains "texture_format normal". Summary :
940
941      + if you have the Strife 1.0 iwad, use "-g strife10" or "game =
942        strife10",
943      + if you have Strife 1.1 or above, use "-g strife" or "game =
944        strife".
945
946    Thanks to Kim Parrott for reporting the bug and Len Pitre for
947    pointing me in the right direction.
948
949  * Misc: The "dump" command now prints correctly the last line even if
950    the length of the lump is not a multiple of 16.
951
952  * Misc: For homogeneity with DeuTex, the following game definition
953    file directives have changed :
954      + "texture_format alpha04" is now "texture_format nameless",
955      + "texture_lump texture1" is now "texture_lump normal",
956      + new choice "texture_lump none".
957
958  * Misc: For homogeneity with DeuTex, automatic texture names for Doom
959    alpha 0.4 are now "TEXnnnn" where nnnn is zero-based.
960
961  * Misc: Bumped game definition file version# to 3.
962
963  * Misc: When trying to use a pwad as iwad, emit a warning instead of
964    seeing this as a fatal error.
965
966  * Misc: Added a palette viewer (PLAYPAL and COLORMAP). Can be run
967    from the prompt with the viewpal command or from the level editing
968    window with [Ctrl][P].
969
970  * Misc: The sometimes tedious pwad loading messages are not displayed
971    anymore, unless in verbose mode. By default, Yadex now just prints
972    which levels the pwad contains.
973
974Yadex 1.1.0 (1999-08-22)
975
976  * BSP: Included Colin Phipps' fix for the bugs in bsp23bug.zip.
977
978  * BSP: Renamed the executable and the man page as ybsp, to avoid
979    having Yadex and Xwadtools overwrite each other's BSP.
980
981  * BSP: The whirling baton is now disabled if stderr is not a TTY.
982    This is the same thing Udo Munk did for Xwadtools' BSP with the
983    -noprog option except that here it's automatic.
984
985  * BSP: Made the man page spell out exactly which version of BSP this
986    is.
987
988  * BSP: Inserted notice in the banner that this is the version that
989    comes with Yadex. In the online help, replaced "TMP.WAD" by the
990    correct "tmp.wad".
991
992  * Building: Fixed compilation error on line 44 of bitvec.h.
993
994  * Code: Removed CR characters that remained in some of the source
995    files.
996
997  * Code: New function DrawScreenString(). Began to use it instead of
998    DrawScreenText(). This should squash some latent bugs, for example
999    regarding flat and texture names containing percent signs (%).
1000
1001  * Code: Fixed constness warnings in cfgfile.cc.
1002
1003  * Code: Replaced most occurrences of hard-coded 8 by one of WAD_NAME,
1004    WAD_FLAT_NAME, WAD_PIC_NAME and WAD_TEX_NAME.
1005
1006  * Code: New directives level_format and level_name in the YGD files.
1007    As a result, been able to remove most tests on specific values of
1008    the game parameter.
1009
1010  * Doc: Too many changes and additions to list. Since the last
1011    release, the HTML doc has doubled in size (from 80 kB to 160 kB).
1012    Added a dozen of screenshots.
1013
1014  * Doc: In an attempt to make it easier to find what you're looking
1015    for, I've split the doc in a larger number of files, referred to by
1016    a top level index.html.
1017
1018  * Doc: Moved the HTML doc and the man pages to the doc/ directory, so
1019    as not to clutter the base directory too much.
1020
1021  * Doc: Man pages: the first argument of the .TH macro (the name) is
1022    now all caps since that's what (almost) everybody else does.
1023
1024  * Editing: Autoscroll is now off by default -- use "autoscroll =
1025    true" in yadex.cfg if you want it back.
1026
1027  * Editing: New bindings [e] and [Ctrl][e] to select all linedefs that
1028    belong to the same non-forked path.
1029
1030  * Editing: New bindings [E] and [Ctrl][Shift][e] to select all
1031    single-sided linedefs that belong to the same non-forked path.
1032
1033  * Editing: New functions to flip and mirror linedefs, sectors, things
1034    and vertices.
1035
1036  * Editing: Fixed the "string art" bug. That was a subtle bug that
1037    happened only as a result of a rare chain of events. The recipe to
1038    it is to render a vertex unused (for example by deleting all the
1039    linedefs that use it), save the level, make a change that does not
1040    call for a rebuilding of the nodes (for example, moving a thing or
1041    changing an attribute of a sector), save the level, quit and load
1042    again. At that point, a nice surprise awaits you: the linedefs are
1043    all entangled (hence the name). Spectacular, and even beautiful,
1044    but also very annoying if you don't have a backup copy of your
1045    level.
1046
1047    This is the same bug I thought I had fixed in Yadex 1.0.0_alpha3.
1048    In fact, I had cut one of the paths that led to it but the bug
1049    itself was still there. It reappeared in february 1999.
1050
1051  * Editing: Fixed an old DEU bug where you sometimes couldn't select a
1052    newly created sector to the west of the level until you saved.
1053
1054  * Editing: It's now possible to toggle linedef flags 8-15 and to
1055    specify linedef flags field values greater than 511.
1056
1057  * Editing: It's now possible to set/clear/toggle things flags 7-15.
1058
1059  * Editing: Made the Not-enough-player-starts and
1060    Not-enough-deathmatch-start dialogs on saving more intuitive (it
1061    was about time).
1062
1063  * Editing: New function "Exchange objects numbers".
1064
1065  * Editing: Things types are now displayed in decimal, not in
1066    hexadecimal. Other minor cosmetic changes.
1067
1068  * Editing: The focus-on-object function now works much better. It
1069    does not land off-target or zoom in excessively anymore.
1070    Superimposed things and sectors containing other sectors or not
1071    containing their own centre don't confuse it anymore. It's still
1072    fooled by unclosed sectors, though.
1073
1074  * Editing: Changed the meaning of [q]. It used to save and quit. Now
1075    it just quits (same thing as [Esc]).
1076
1077  * Editing: The edit command can now edit levels of any name. If you
1078    had a wad with a level named "FOO" in it, you could edit that level
1079    by typing "edit foo". In case you're wondering, no there's no
1080    practical application to this (beyond experimenting).
1081
1082  * Editing: Reminder to build nodes: the message is now more specific.
1083
1084  * Editing: Command mode: typing ^D at the prompt now works.
1085
1086  * Editing: Insert linedef and split sector: the new linedef now goes
1087    from the first selected vertex to the second and not the other way
1088    around.
1089
1090  * Editing: Insert linedef and split sector: does not loop forever
1091    anymore if there are forks in the edge of the sector (for example
1092    like when trying to split between vertices 283 and 278 of MAP01 of
1093    Doom II).
1094
1095  * Editing: [n], [p], [>] and [<] now move the view so that the object
1096    to highlight is under the pointer.
1097
1098  * Editing: The messages displayed when loading pwads are more compact
1099    (several lumps are printed on the same line and groups of sprites
1100    are collapsed). The end marker for groups of flats, patches and
1101    sprites is now printed.
1102
1103  * Editing: Flat/sprite/texture viewer : added bindings [Ctrl][u] and
1104    [Ctrl][w] to erase to start of line, [Ctrl][f] and [Ctrl][v] to
1105    page down and [Ctrl][b] to page up.
1106
1107  * Editing: Flat/sprite/texture viewer : added bindings [Ctrl][PgUp]
1108    and [Ctrl][PgDn] to move to top and bottom of list, because [Home]
1109    and [End] will eventually cease to be available for that (they will
1110    be bound to SOL and EOL).
1111
1112  * Editing: Flat/sprite/texture viewer : made [Up] and [Down] work
1113    even when there are duplicate names.
1114
1115  * Editing: Flat/sprite/texture viewer : InputNameFromListWithFunc()
1116    is now genuinely case insensitive. The positioning in the list of
1117    names is now correct, even if the name given is lower-case.
1118
1119  * Editing: Flat/sprite/texture viewer : reduced flickering (still
1120    room for improvement, though).
1121
1122  * Editing: Flat/sprite/texture viewer : the current name was way too
1123    dim if not in the list. Fixed.
1124
1125  * Editing: Flat/sprite/texture viewer : made image window 320x200
1126    instead of 256x128.
1127
1128  * Editing: Sprite viewer : new bindings [Ctrl][n] and [Ctrl][p] to go
1129    to start of next/previous group of sprites.
1130
1131  * Editing: Sprite viewer : fixed display bug.
1132
1133  * Editing: Spectres now look more like spectres.
1134
1135  * Editing: Confirm-or-cancel dialogs: more intuitive. You can now
1136    confirm with [y] or [Return] and cancel with [n] or [Esc]. All
1137    other keys are ignored (previously, [y] confirmed and all other
1138    keys cancelled). Expose events are now handled (previously they
1139    were ignored).
1140
1141  * Editing: Some abnormal conditions that used to trigger fatal errors
1142    now just cause a message error to be printed. The current operation
1143    is aborted but not the whole program anymore.
1144
1145  * Game/wad: Fixed segfault on levels containing a thing of type 0
1146    (like Eternal MAP25 and some Final Doom maps).
1147
1148  * Game/wad: When reading a level from a wad, now verifies that the
1149    SECTORS, THINGS, VERTEXES, LINEDEFS and SIDEDEFS lumps have correct
1150    sizes and that sidedefs, sectors and vertices references are
1151    correct.
1152
1153  * Game/wad: Final Doom : should be supported now. Yadex does not
1154    assume anymore that F1_START is always present, which caused it to
1155    segfault on either or both Final Doom iwads.
1156
1157  * Game/wad: Heretic : added sprite names for 58 thing types.
1158
1159  * Game/wad: Hexen : added very partial support (-g hexen). You can
1160    edit levels but not save them. Hexen-specific linedef and things
1161    fields are ignored, and so is the BEHAVIOR lump. Most definitions
1162    are missing.
1163
1164  * Game/wad: Strife : added partial support (-g strife). Yadex now
1165    knows about the translucent linedef flag and the new sector types.
1166    Thanks to Len Pitre for the help. Still missing : the new things
1167    flags, most things types and linedefs types. Anybody wants to work
1168    on strife.ygd ?
1169
1170  * Game/wad: MBF : supported. Yadex now knows about the friendly thing
1171    flag, thing type 888 (Dog) and linedef types 271 and 272 (transfer
1172    sky texture).
1173
1174  * Game/wad: Doom press release pre-beta : supported (-g doompr).
1175    Added support for the PR picture format and the definitions for
1176    things 2016 (evil sceptre) and 2017 (unholy bible).
1177
1178  * Game/wad: Doom alpha : read-only support (-g alpha02|alpha04|
1179    alpha05). Added support for the alpha picture format, the TEXTURES
1180    lump, the different level format and the incompatible level names
1181    (E1M10 through E1M13).
1182
1183  * Game/wad: Added support for FF_START/FF_END in addition of FF_START
1184    /F_END. As a result, Yadex does not barf anymore on basilica.wad
1185    (but issue a warning). F?_START is not supported anymore ; it has
1186    to be FF_START.
1187
1188  * Game/wad: Made "Post too long. Wad file might be corrupt" a
1189    warning, not a fatal error anymore.
1190
1191  * Game/wad: New directives picture_format, texture_format and
1192    texture_lump in the YGD files, to support Doom alpha and Doom PR.
1193
1194  * Misc: New command make_palette_ppm to generate a raw PPM file
1195    containing all the colours of the palette.
1196
1197  * Misc: Cosmetic changes in the prompt and character mode interface.
1198
1199  * Misc: make_gimp_palette : the generated palette files now include
1200    RGB values in the comments.
1201
1202  * Misc: Removed from the menus the functions that were not
1203    implemented (File->Print, Edit->Find, View->3D preview).
1204
1205  * Misc: Failure to load the specified X font is not a fatal error
1206    anymore.
1207
1208  * Misc: New command line options --help and --version.
1209
1210  * Misc: Bumped game definition file version# to 2.
1211
1212  * Platform: Removed dependency on nanosleep(), strcasecmp() and
1213    strncasecmp(). Thanks to Udo Munk for pointing out that nanosleep()
1214    is not always available.
1215
1216  * Platform: Now compiles with other compilers than GCC/EGCS without
1217    modifying the makefile.
1218
1219  * Platform: New parameter idle_sleep_ms to set the time in ms between
1220    polls of the X server when the input queue is empty.
1221
1222  * Platform: Previously, if the CPU and the X server had different
1223    endiannesses and the screen depth was more than 8 bits, sprites,
1224    flats and textures were displayed with wrong colours. This is now
1225    fixed.
1226
1227  * Platform: The build, group, insert and save commands should now
1228    work correctly on big-endian machines.
1229
1230  * Platform: The bell has been resurrected on X.
1231
1232  * Platform: Should now compile on X11R5 systems (to be verified).
1233    Thanks to Udo Munk for the fix.
1234
1235Yadex 1.0.1 (1999-01-02)
1236
1237  * Doc: New sections "Moving around" and "Other credits" in the user's
1238    guide.
1239
1240  * Editing: Split linedefs and sector: new linedef now goes from 1 to
1241    2 and not the other way around.
1242
1243  * Editing: Added scrolling with the arrow keys.
1244
1245  * Editing: [Pgup], [Pgdn], [Home] and [End] now scroll one page at a
1246    time.
1247
1248  * Editing: New variable autoscroll to disable autoscrolling.
1249
1250  * Editing: New variables autoscroll_amp and autoscroll_edge to tweak
1251    autoscrolling.
1252
1253  * Editing: New shortcut [x] to "Split linedef (insert new vertex)".
1254
1255  * Editing: New shortcut [w] to "Split linedefs and sector".
1256
1257  * Misc: Fixed segfault on trying to edit MAPnm in Doom/Heretic mode
1258    or EnMm in Doom II mode.
1259
1260  * Misc: New prompt command make_gimp_palette to generate a gimp
1261    palette file from PLAYPAL.
1262
1263  * Misc: Bumped configuration file version# to 2.
1264
1265Yadex 1.0.0 (1998-12-26)
1266
1267  * Code: Moved the source files to a subdirectory.
1268
1269  * Doc: A few additions in the user's guide
1270
1271  * Editing: Fixed buglet in positioning of newly copied objects.
1272
1273  * Game/wad: Game support: added definitions for Boom's things 5001
1274    and 5002 (point pusher and puller).
1275
1276  * Misc: Added reminder to build nodes after making changes.
1277
1278  * Misc: Added magic string to configuration file.
1279
1280  * Misc: Added magic string to game definition file.
1281
1282Yadex 1.0.0_alpha3 (1998-12-23)
1283
1284  * Doc: A few additions/corrections in the hacker's guide.
1285
1286  * Editing: Fixed spectacular corruption of linedefs (string art bug)
1287    that occurred if all you did during a given session was deleting
1288    vertices.
1289
1290Yadex 1.0.0_alpha2 (1998-12-22)
1291
1292  * BSP: Included BSP 2.3 (thanks to Lee Killough).
1293
1294  * Doc: Improved user's guide.
1295
1296  * Editing: Added new commands [a], [b] and [c] to set, toggle and
1297    clear things and linedefs flags.
1298
1299Yadex 1.0.0_alpha1 (1998-12-17)
1300
1301  * Code: Removed dereferencing of NULL pointer in
1302    ParseCommandLineOptions() (DEU).
1303
1304  * Code: Replaced occurrences of "x==TRUE" and "x==FALSE" by "x" and
1305    "!x".
1306
1307  * Code: Replaced occurrences of "x=TRUE" and "x=FALSE" by "x=1" and
1308    "x=0".
1309
1310  * Command-line: You don't have anymore to put "-file" or "-pwad" in
1311    front of pwads names on the command line. E.G. you can type "yadex
1312    foo.wad".
1313
1314  * Command-line: Deleted a few little-used or DOS-specific options.
1315
1316  * Editing: Menu bar and pop-up menus much improved.
1317
1318  * Editing: Info bar reworked.
1319
1320  * Editing: When prompted to "Press a key to continue", you can now
1321    also press the left mouse button.
1322
1323  * Editing: Grid: the grid step can now adapt automatically as you
1324    zoom in/out.
1325
1326  * Editing: Grid: whether dragging is snapped to grid is now
1327    independent of whether the grid is shown or not (added flags
1328    grid_snap and grid_shown).
1329
1330  * Editing: Added finer-grained confirmation options.
1331
1332  * Editing: General editing: you can now scroll the map further from
1333    the centre of the level.
1334
1335  * Editing: Added ['] to re-centre the window around the centre of the
1336    map.
1337
1338  * Editing: Added [`] to re-centre the window around the centre of the
1339    map and adjust the zoom so that the map fills the screen.
1340
1341  * Editing: Added [&] to show things and vertices numbers.
1342
1343  * Editing: Autoscroll: scroll speed is now progressive.
1344
1345  * Editing: Autoscroll: easier to use near the top of the window.
1346
1347  * Editing: [Left], [Right], [Up], [Down] do nothing.
1348
1349  * Editing: [Space] does not toggle move fast/slow anymore; it toggles
1350    between nominal zoom and x 4.
1351
1352  * Editing: Highlighting of things, vertices and linedefs much
1353    improved.
1354
1355  * Editing: Dragging objects is now done with the left mouse button
1356    instead of the right button.
1357
1358  * Editing: Editing object properties is now done by double-clicking
1359    on the object.
1360
1361  * Editing: Selection and drag-and-drop have changed a lot.
1362
1363  * Editing: Selection box: removed the -a option and the addselbox
1364    parameter. Whether the selection box is additive or not is now
1365    controlled dynamically by the user (with [Ctrl]).
1366
1367  * Editing: Sprite viewer: sprites are now centred.
1368
1369  * Editing: Linedef info: shortened flags names to one character.
1370
1371  * Editing: Linedef info: a missing normal texture on a 1-sided
1372    linedef is now flagged in red.
1373
1374  * Editing: Linedefs copy: you now have the choice between duplicating
1375    the sidedefs too and reusing the same sidedefs. DEU left the new
1376    linedefs sidedef-less and, so far, Yadex used to reuse the same
1377    sidedefs.
1378
1379  * Editing: Linedefs: added function to "unlink" sidedefs.
1380
1381  * Editing: Linedefs: dragging linedefs is much faster than before.
1382
1383  * Editing: Sectors: in the object info window, added display of floor
1384    and ceiling height delta with respect to previous sector.
1385
1386  * Editing: Sectors: in the object info window, added display of floor
1387    and ceiling texture.
1388
1389  * Editing: Sectors: dragging sectors is much faster than before.
1390
1391  * Editing: Things: now drawn as squares so that it's easier to see
1392    whether they are stuck in a wall or another thing. And you don't
1393    have to highlight them to see their angle. Note: the old shape is
1394    still available by defining ROUND_THINGS at compile-time.
1395
1396  * Editing: Things: changed the colours again. Tried to make important
1397    things stand out and conversely. Bonuses are now dark green and
1398    player/ deathmatch starts bright green. Keys are magenta.
1399    Decoration is dim blue instead of white. Unknown objects are cyan
1400    instead of white. Weapons are orange instead of brownish. Heretic
1401    sound source things and Boom point pushers are dim turquoise-ish.
1402
1403  * Editing: Things: the sprite is now shown in the object info window.
1404
1405  * Editing: Vertices: deciding whether a vertex is on a linedef is now
1406    done on the distance in pixels, not in map units. So you can now
1407    work on very fine details (E.G. vertices only 2 map units away)
1408    provided that the zoom factor is high enough.
1409
1410  * Editing: Fixed minor glitch in texture viewer that showed with
1411    BIGDOOR7, SKY1, TEKWALL1, TEKWALL5 and others (DEU).
1412
1413  * Editing: When highlighting a sector, compared SideDefs[LineDef
1414    [n].sidedef1].sector with ObjNum even though .sector was -1.
1415    Somehow it always tested false (DEU).
1416
1417  * Editing: "Check textures names": the name of the offending texture
1418    is now printed correctly even if it is 8 characters long (DEU).
1419
1420  * Editing: "Check textures names": if you fixed a missing texture,
1421    the editor was not made aware that you had made changes to the
1422    level (DEU).
1423
1424  * Editing: Unused sectors are not selected anymore (DEU).
1425
1426  * Editing: Changing the preferences could overwrite other variables
1427    (DEU).
1428
1429  * Editing: InputNameFromListWithFunc() used to segfault if you
1430    pressed [Pgdn] on a list shorter than (listdisp + 1) elements
1431    (DEU).
1432
1433  * Editing: Removed segfault in AlignTexturesX() (DEU).
1434
1435  * Game/wad: Heretic is now supported.
1436
1437  * Game/wad: Added support for Boom's new thing flags
1438    not-in-deathmatch and not-in-coop.
1439
1440  * Game/wad: Added support for Boom's new linedef flag pass-through.
1441
1442  * Misc: Renamed as Yadex to avoid confusion with Yet Another Diagram
1443    Editor.
1444
1445  * Misc: Loading pwads: implemented standard directories. If the pwad
1446    to load is in one of the standard directories (or a subdirectory)
1447    you don't have to type the whole name.
1448
1449  * Misc: Loading pwads: added standard directories and made the
1450    messages less verbose for pwads that contain patches (PP_START/
1451    PP_END).
1452
1453  * Misc: Removed segfault during fatal_error() on failure to open the
1454    iwad (DEU).
1455
1456  * Misc: The prompt now groks TTYs with a number of lines other than
1457    25.
1458
1459  * Misc: Changed the welcome message (a.k.a. "reminder").
1460
1461  * Misc: Added an "About Yadex..." window.
1462
1463  * Misc: Don't copy SEGS, SSECTORS, NODES, REJECT and BLOCKMAP from
1464    the original file anymore when the map has changed. Makes smaller
1465    wad files. Nice for archival.
1466
1467  * Misc: Added environment variable YADEX_GAME.
1468
1469  * Platform: Ported to X (plain Xlib). This version is not available
1470    for DOS.
1471
1472  * Platform: Now works on big-endian machines.
1473
1474  * Platform: Removed several DOS-isms from file name handling code.
1475
1476