Mercurial > hg > forks > yadex
view CHANGES @ 91:c9a76fd021bf
Slightly update Changelog.
author | Matti Hamalainen <ccr@tnsp.org> |
---|---|
date | Mon, 06 Oct 2014 00:27:00 +0300 |
parents | e74736fa160d |
children | edd7a18b71a2 |
line wrap: on
line source
Changes Yadex 1.7.2-GZ (2014-10-??) * More warning fixes. * Fixed a NASTY bug in TEXTURE2 lump directory reading of textures.cc. This sometimes/often caused many operations (such as texture aligning) to fail in mysterious ways. * Improved error reporting for some operations. * Improved texture alignment functionality. * Various code cleanups, cosmetic and Valgrind warnings fixed. Yadex 1.7.1-GZ (2011-09-24) * Added error resiliency option (commandline and configuration file) for blatantly ignoring some or almost all errors during WAD/map loading. May be useful when trying to rescue data from corrupted WADs. Will also most likely lead to crashes, though. * Cleaned out DOS-related mouse and BGI code, or at least most of it. Also got rid of far memory routines and swapping, etc. cruft. * Included few of the patches from Yadex Patch Page at http://glbsp.sourceforge.net/yadex/ , with fixes and modifications. Included are: - 3D preview patch by Andrew Apted. - Find patch by Barry Mead. * Added in "panning" in the editor via middle/third mouse button. * Added in incremental selection via secondary mouse button, same se ctrl + first mouse button (usually left mouse button.) * Build system fixes and other smaller fixes. Yadex 1.7.0 (2003-12-28) * Build: The configure script autodetects the C and C++ compiler (cc, c89 or gcc and c++, cxx or g++). To skip the detection and force a particular value, use the --cc and --cxx options. * Code: Minor warningectomy. Fixed potential uses of uninitialised pointers if wad I/O errors occurred while reading the texture list. * Editing: Improved the handling of superimposed objects. + The linedef object info box now lists any superimposed linedefs (up to seven). No such feature for vertices, sectors and things, mainly because it doesn't seem to be as big an issue and I'm lazy. + When the pointer is over more than one object, it's now the highest-numbered one that's highlighted and not the lowest-numbered as it used to be. Thus the highlight and the info box match the display (that shows the highest-numbered object and always has), which should be less confusing. Highlighting the highest-numbered object seems to be the right thing too, since the object you created last is the one you're most likely to want to edit or delete. This change only affects vertices, linedefs and things. For sectors, the code hasn't changed. * Game/wad: Heretic: correct definitions for linedef types 28, 33, 99, 105, 107-141 and sector types 4, 21-51, courtesy of Barry Mead. Correct definitions for linedef types 35, 40, 100 and 106 and sector type 11. * Game/wad: Doom (all versions), Heretic and Strife: + Linedef type 68 is now described as "raise floor" and not "lower floor". This error can be traced back to... DEU 5.21. + Linedef types 36 and 98 are now described as "lower turbo floor" instead of "lower floor fast". The UDS inaccurately list these types (as well as 70 and 71) as "fast", even though they're "turbo" (4 × FLOORSPEED). + Linedef types 70 and 71 are now described as "lower turbo floor" instead of just "lower floor". This one is all mine. + Linedef types 35 and 79 are now described as "light level goes to 35", not "light level goes to 0". The UDS needs a correction. Thanks to Barry Mead for pointing out these errors. * Misc: Finished the alternative (black-on-white) colour scheme. To use it, compile with CXXFLAGS=-DWHITE_BACKGROUND. There are a few remaining problems in view*. * Misc: Fixed geometry problems in Input2Numbers() (as used in Rotate And Scale Objects, Insert Rectangle, etc.). Yadex 1.6.0 (2003-04-01) * BSP: Removed the old buggy patched up BSP 2.3. People should download BSP 5 from http://doombsp.sourceforge.net/, which is a much better nodes builder. * Build: Changed the "! grep" command in the makefile so that it does not match itself. Also added a dummy "true;" in front of it because GNU make 3.76.1 does not seem to like commands that begin with "!" (says "Error 1" and bails out). * Build: Removed the empty lines in the makefile's output. Small fixes w.r.t. $(HAVE_GCC), "make showconf" and elsewhere. * Build: As scripts/ftime can't be shared across builds, it's now put in obj/0/, making it possible to build for different architectures from the same tree without having to type "make clean" between the builds. * Build: Not using "test -e" anymore in the makefile. This should fix build problems on OpenServer, UnixWare, Solaris and other unices with a non-POSIX /bin/sh. Thanks to Udo Munk and Oliver Kraus for telling me about it. * Build: "make clean" and "make dclean" now remove obj and dobj respectively. This is for UnixWare where reportedly "ln -sf" does not overwrite dangling symlinks. Thanks to Udo Munk for warning me about it. * Build: "make clean" now removes the doc directory as suggested by Udo Munk. * Build: The man page is now named yadex-VERSION. "yadex" is a symlink to the above. This means that the day you install version 1.7, you will still have access to the man page of version 1.6 by typing "man yadex-1.6.0". * Build: The system fingerprint is now much shorter to avoid build errors on QNX where the native fs limits file names to 48 characters. * Build: Files installed by "make install" are now owned by the user who ran "make install", instead of the user who ran "make". Typically, when installing in /usr/local, files are now owned by something like root:root instead of user:user. * Build: Files installed by "make install" now have their mode forced to something sensible (i.e. 755 or 644), regardless of whatever umask the users who built and installed happen to have. * Build: Use "rm -f new && ln -s old new" instead of "ln -sf old new" for compatibility with Solaris 2.6 where reportedly "ln -sf" does not overwrite the destination. * Build: New configure script. "Not the famous GNU autoconf, but an incredible simulation". Installing in an other directory than /usr/local is now done by giving ./configure the --prefix option. The old method (overriding the PREFIX makefile variable) is not supported anymore. Some configuration variables (whether gettimeofday(), nanosleep(), snprintf() and usleep() are present) are now detected automatically by configure. Others (CFLAGS, CXXFLAGS, LDFLAGS, X11LIBDIR and X11INCLUDEDIR) are still set in the Makefile. * Build: Removed the merging of stderr with stdout from the makefile recipes. It was just a commodity and nobody else does that. * Build: The compilation and linking recipes in the makefile now print the actual commands being run. Now that the defines are passed via config.h and not on the command line, command length is not as big an issue as it used to be. * Code: Changed the input event type from int to unsigned short to avoid wasting too much space in the menus. * Code: Fixed bug in hextoi() : due to a typo, upper case letters in hexadecimal numbers were evaluated to 75 instead of 10 through 15. * Code: Used mkstemp() instead of tempnam() to shut warning on FreeBSD (thanks to Colin Phipps for the report) and with recent versions of Glibc. While I was at it, changed the temporary file name prefix from "{DEU}" to "$TMPDIR/yadexswp??????" (or "/tmp/ yadexswp??????" if $TMPDIR is not set). * Code: Certain variables have been changed from integer to unsigned integer. Better syntax checking for unsigned integers. Trailing spaces no longer cause syntax errors. * Code: The diff distribution is now made with "diff -a" to cope with binary files that change between versions. Thanks to Ouafae Kotby and Benjamin Bayart for telling me about this flag. * Code: The diff distribution is now a single gzipped file instead of a tarball (the README has been inlined). * Code: Changed all occurrences of "gray" to "grey" since apparently "gray" is an americanism. * Code: Fixed bug in Img::resize() when new width × height was the same as old width × height. Spotted by IvL. * Code: Fixed x/y mix-up in DrawScreenText(). Spotted by IvL. * Code: Protected against inadvertent assignment or copy-construction of classes for which those actions are not implemented by declaring the corresponding methods private and not defining them. * Code: Removed non-portable "t" fopen() mode qualifiers. * Command-line: Options --help and --version now check for write errors and exit with a non zero status should the occasion arise. * Doc: FAQ fixes. Updated the "supported games" section. Clarifications, additions and corrections in the misc. op. sections. * Doc: The welcome banner suggests "c" (instead of "c levelname" which is not implemented). * Doc: Added complete copyright information to the man page and "about" box. Author section in man page now gives proper credit to contributors. * Doc: Updates to the hacker's guide. * Doc: s/ftp.cdrom.com/3darchives.in-span.net/g * Doc: users_guide.html has numbered heading and working links in the TOC. Overhauled the sections about configuration and game definition files. * Editing: Make linedef single-sided: the lower and upper texture are cleared. The middle texture is set to the default. * Editing: Found a funny bug; if you tried to highlight a way-off-screen sector at a high (> 3) zoom factor, sometimes the sector actually appeared on the window, even though it was supposed to be a few thousand pixels off-screen. I don't know if the "oddity" is in Xlib, in the X server or in my video card but, 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. Since it's an experimental feature, it comes with a big fat 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 to start the number with an explicit plus sign ("+"). The lower limit has been pushed from -32,749 to -32,768. The upper limit has been pushed from +32,749 to +32,767. For consistency with the rest of the interface, if the current entry is invalid, it is shown in red instead of dim grey. You are allowed to type more characters, 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 framed with dimmer square brackets, instead of parentheses. 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/ something", the path is now "/etc/opt/something" instead of "/opt/ 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 only in the places corresponding to the prefix it was compiled for. This makes it possible to have several builds of the same version of Yadex on the same machine without unwanted interactions, as long 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 the same code that was, guess what, an fd leak. For the historically minded, that fd leak goes back to at least DEU 5.21. 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 is to walk the path back to front and use all the matches. Thus 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 minimum, i.e. just those settings you want to override. This way of doing has several advantages over the previous all-or-nothing system. Obviously, you can now change a setting globally by editing just one file, even if you have many local config files. Upgrades are also smoother because any new variable definitions appearing in 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. Yadex 1.5.2 (2001-06-30) * Platform: Compiles with GCC 3.0 (added std:: qualifiers where they were missing and removed #ifdef inside printf()). Yadex 1.5.1 (2000-12-12) * Platform: One-line fix in menu.cc to please GCC 2.96 (of Red Hat 7 fame). Thanks to Zebediah C. McClure for reporting the problem. Yadex 1.5.0 (2000-08-27) * 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 of more than 1/1. When opening a new window, Yadex now adjusts the 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 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 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 when you add the same pwad more than once. It also accepts to add 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. Yadex 1.4.0 (2000-04-01) * 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). Yadex 1.3.2 (2000-01-14) * 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, from /usr/include/g++-2.7/map:6, from src/patchdir.h:35, from src/disppic.cc:33: /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 <stddef.h>" 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. Replacement patches in pwads not between P_START/P_END or PP_START/ 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/$ (VERSION)/ + $(PREFIX)/etc/yadex.cfg is now $(PREFIX)/etc/yadex/$(VERSION)/ yadex.cfg + ~/yadex.cfg is now ~/.yadex/$(VERSION)/yadex.cfg + $(PREFIX)/bin/yadex changed to $(PREFIX)/bin/yadex-$(VERSION) + $(PREFIX)/bin/ybsp changed to $(PREFIX)/bin/ybsp-$(VERSION) + $(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/. I extended it to configuration files because it I thought it was a 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 00005820h (BadAccess (attempt to access private resource denied))". I hope this fixes the related item in TODO. 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 "doom02", "doom04" and "doom05" respectively instead of "alpha02", "alpha04" and "alpha05". It follows that some command-line options have changed : + "-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/, + /usr/local/share/games/alpha04/ is now /usr/local/share/games/ doom04/, + /usr/local/share/games/alpha05/ is now /usr/local/share/games/ doom05/, + /usr/local/share/games/alpha02.ygd is now /usr/local/share/ games/doom02.ygd, + /usr/local/share/games/alpha04.ygd is now /usr/local/share/ 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 (Strife 1.0 uses the same format as Doom). New game definition file directive "texture_format strife11" to support that format. 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. 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 linedefs that use it), save the level, make a change that does not call for a rebuilding of the nodes (for example, moving a thing or changing an attribute of a sector), save the level, quit and load again. At that point, a nice surprise awaits you: the linedefs are 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. Yadex 1.0.1 (1999-01-02) * 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. 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. Yadex 1.0.0_alpha1 (1998-12-17) * 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.