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