;----------------------------------------------------------------------------- Patcher Release Log ;----------------------------------------------------------------------------- Oct 19 1998 v4.98 VIEW Used node clipping boxes to not display parts of tree not in view during nodes display. NBLD Optimized it a bit for speed. MAK Error (non-fatal) now given for resource name longer than 8 SOURCE Inserted missing viewmain.c, button.c, button.h, nbldmain.c Oct 11 1998 v4.97 MAK Modified the paste algorithm so that if the selection rectangle exceeds the input BMP's edges, the BMP is tiled into the selection rectangle instead of leaving that portion transparent. Removed the syntax rule that a multipatch definition that is taller than 254 is composed into a single patch. Need to investigate further when a tall texture can be multipatched and still work well. PATCHER Changed option syntax. /a/b/c is no longer allowed, but you can now have options including /, -, and + chars. NBLD Added NBLD utility, builds nodes and blockmap (someday reject) VIEW Reinstituted VIEW utility and got the Nodes mode working in a primitive but useful fashion. Still needs a lot of work to handle BOOM types, more generality in things, etc. ;----------------------------------------------------------------------------- Sep 23 1998 v4.96 MAK Rewrote MAK parser. Allows aribtrary argument list to be passed from MAK line. Path can precede sign now, but this means ( and ) in older signs must be preceded by backslash now. INCLUDE is handled as a directive Added ability to cut and paste bitmaps in-line to MAK syntax. Lighting, colormap, and translucency selectable when overlaying a patch on another. For example: [FLATS] ; note this is FLATS MYFLAT 64 64 ; must specify output size * AG128_1 0 0 256 0 0 64 64 ; 64x64 piece of SHAWN2 * 3G_SHAWN 16 16 256 16 16 32 32 ; 32X32 centered gold square In general: [SECTION] ; any graphic section: FLATS,TEXTURES,GRAPHICS... RESNAME width height * BMPNAME xoff yoff [lite[:cmap[:tmap]] [xorg yorg xsiz ysiz] will put a piece of BMPNAME.BMP at xoff,yoff in the output, RESNAME.BMP, which is width X height, using light level lite thru colormap with name cmap and using translucency map with name tmap. The piece selected has offset xorg,yorg in BMPNAME and size xsiz X ysiz. If lite is 256 it specifies no colormap translation at all. COLORMAP and WATERMAP are always valid, if you want custom colormaps or translucency maps you need to load them with /i:reswad. If cmap is not given and lite is not 256, then COLORMAP is used. @ WADNAME xoff yoff lite[:cmap[:tmap]] xorg yorg xsiz ysiz will render Map01 in WADNAME.WAD to a bitmap and then insert it as described for the * form. The rendering occurs as follows. The extent of the map in map units is the size in pixels of the resulting BMP. Each sector in the level is filled with the pattern determined by the BMP selected by its floor texture name. The sector light level selects a colormap table for translation. If the ceiling texture name is a colormap name, that colormap is used. The tag is an x-offset into the BMP used to render the floor, and the type field is the y-offset. Use XPARENT as the floor name where you want transparent regions. The nodes must be built, as this speeds the rendering process significantly. Also: If a missing patch is supplied by the texture extension wad named by /X: then no warning is given. Converted discrete byte arrays and height and width variables to Bitmap types everywhere. Added default sprite, graphic, and patch offsets BRK Fixed bug in Flat output - harmless but time consuming STAT Added nodes, segs, and subsector counts, plus blockmap size CP Removed this utility. Its function has been incorporated into MAK. FLTUSE Added detailed help (PATCHER HELP FLTUSE /R mywad /I, e.g.) MOVEIT PATCHER Examined and rewrote portions of the DOOM picture and BMP support library, with especial attention to tall lumps and the new MAK status fields. ;----------------------------------------------------------------------------- Sep 20 1998 v4.95 TXTUSE Fixed requirement that COLMAPS and TRANMAPS be in a wad with a TEXTURE1 and PNAMES. Now they can be in any resource wad. Updated TXTUSE.TXT. SOURCE Fixed missing FLTUSE.H ;----------------------------------------------------------------------------- Sep 19 1998 v4.94 TXTUSE ANIMATIONS is now evaluated after all textures & lumps from FLTUSE resource wads have been loaded so intermediate frames can occur in any wad, and are defined by the last loaded wad that defines both start and end. Both /W and /R are provided to load resource wads. The resource wads are checked for missing textures/flats if at least one /R switch occurs, otherwise the usual analysis is output. When missing textures/flats are checked, only the missing textures/flats are analyzed. SWITCHES, ANIMATIONS, and single textures no longer override /R. Output formatting cleaned up slightly CP A bug that caused the .OPTION directive to fail has been fixed. ;----------------------------------------------------------------------------- Sep 18 1998 v4.93 BRK A bug in BRK for tall patches was fixed. Use of a local byte variable was overflowing leading to erratic behavior. TXTUSE SWITCHES and ANIMATIONS now call up lists from the BOOM lumps if they are found in a resource wad. The animation texture definitions should be in the same resource wad that the SWITCHES and ANIMATED lumps occur in. Otherwise just the starting and ending animation names may be analyzed. The /M[:subsname] switch has been added. It only matters when /R has been invoked to find missing textures. It replaces all missing textures in the levelwad with "subsname", or with "-" if subsname is not specified. A texture analysis on just "subsname" is performed. if SWITCHES or ANIMATIONS or listed TEXTURES occur on the commandline they overide the check function of /R:. Missing textures and patches are not reported or substituted then. /R: can be used to load the SWITCHES and ANIMATED lumps. The /C option has been added to clear all textures from the lower and upper fields of sidedefs on one-sided lines in the levelwad. This can clarify which missing textures matter, or which textures have really been used. FLTUSE Added companion utility to TXTUSE called FLTUSE that is analogous but analyzes flats not textures. MOVEIT Added utility to move both vertices and things and change floor/ceiling heights, globally. Motion in each or any of x, y, z directions can be specified or the axis can be centered by using C in place of a number. Supports preservation of orientation to 64X64 grid thru /G. CP Added cutpaste utility that builds list of BMPs from .CP files. .CP files have a MAK texture section-like syntax but allow 5 more parameters to set lighting and select subrectangles of the source BMP. It also supports rendering a .WAD file as .BMP file. See CP.TXT for details and examples. ;----------------------------------------------------------------------------- Sep 16 1998 v4.92 MAK Allow (path) in resource line to be a directory, use resource name as filename in that directory. Fixed bug in (pathname) in section header of .SGN/.RES file. Actually works now . TXTUSE Improvements to missing resource check option, /R[:wad] Multiple /R: switches now supported. /R without parm adds the levelwad as a resource wad. If /R[:] is present only existence of textures and patches is checked. If none are missing, that is reported, else the textures missing are analyzed according to the d, s, and t options so you can see which levels they occur in. ;----------------------------------------------------------------------------- Sep 12 1998 v4.91 MAK Allow (pathname) in [section] header line to set the defaultdir for all resources within. ;----------------------------------------------------------------------------- Sep 10 1998 v4.90 MAK Fixed it so source BMPs for graphics are never modified, even if palette doesn't match. BRK Added ability to extract just the resources named on the command line after the wad. Resource selection and /J work as expected. /J:CON supported. VIEW This utility removed until it can be improved and brought up to date for BOOM. PATCHER Reversed the order in this file, RELEASE.NOT ;----------------------------------------------------------------------------- Sep 9 1998 v4.89 CMP These utils were not ready for patches of height>=254. Now DIF patches are read without use of pixcnt/rown bytes if height is 254 or larger, to comply with the tall 1S texture format. Also fixed a bug in comparison of textures that used a patch not defined in either wad, this now matches. DUP Added /X capability to cross check resources against each other for name conflicts, though BOOM generally handles this. Fixed inability of DUP to see some kinds of duplicates due to the way Patcher indexed them. Added detailed HELP command. MAK Made it impossible for MAK to generate duplicate resources in general, not just textures. Extended .SET syntax to allow a defined symbol as a value. Allow use of .INCLUDE to unify directive syntax. ;----------------------------------------------------------------------------- Sep 8 1998 v4.88 MAK Fixed a bug in the .SET directive that would seg violate. .ELSEIF was not not parsed correctly. This has been fixed. Error messages for directive syntax errors implemented ;----------------------------------------------------------------------------- Sep 5 1998 v4.87 MAK Made it impossible for MAK to create duplicate textures An ERROR is given if the RES/SGN file specifies duplicates MAK Sprites are now built with multiple posts if columns are taller than 255, allowing use of sprites up to 508 in height, as long as transparencies below row 255 extend to sprite bottom. MAK MAK now supports nested .IF x, .ELSEIF x, .ELSE, .ENDIF directives. x may be a numeric value or a symbol assigned a value thru the new .SET directive, for example, .SET x 0. Also supported is the .OPTION directive which allows any MAK command line options to be invoked within the MAK file. DUP Added a utility to check each resource type for duplicates PATCHER [XPARENT] section in the .DEF file has contents of the form: redval grnval bluval [slotno]. If slotno is present its the transparency slot number, and that slot uses the color value specified by the first three numbers on output. If only three numbers are present the color value represented is scanned for in the palette and the last occurrence sets the transparency slot. If less than three numbers are present or the section is missing, cyan is scanned for in the palette and if not found slot 247 is used. ;----------------------------------------------------------------------------- Jun 16 1998 v4.86 MAK Added more documentation to MAK for /X. Also documented the function of the PATCHES section. Added documentation for direct embedding of MIDI in the MUSICS section. Added ability to create patches broken into 254 long posts for use on 2S lines. Allows a patchname in a texture definition to use a leading + to signal posts should be broken. This was documented in MAK.TXT. Added /N switch to suppress missing resource warnings BRK Added [XPARENT] section to DEF files containing the RGB triplet for the color value of color 247, used to indicate transparency in a BMP. Documented in BRK.TXT. ;----------------------------------------------------------------------------- Mar 13 1998 v4.84 MUSPUT Fixed failure to close streams after internal spawning of MAK and MER. Dec 20 1997 v4.83 MAK Bug in WAV format fixed (at least partially). ;----------------------------------------------------------------------------- Dec 10 1997 v4.81 REPL Several small bugs fixed that would cause problems with very large sets of substitutions ;----------------------------------------------------------------------------- Nov 26 1997 v4.80 MER If empty marked sections, no directory tags inserted ;----------------------------------------------------------------------------- Nov 18 1997 v4.79 PATCHER Upgraded DJGPP v2 graphics libary to GRX22 from GRX20 ;----------------------------------------------------------------------------- Nov 8 1997 v4.72 PATCHER SIGINT handling removed until DOS incompatibilities resolved VIEW Provides key help on F1 ;----------------------------------------------------------------------------- Nov 2 1997 v4.70 PATCHER Malloc wrappers added and memory debugged. Many leaks found and fixed. Texture reading bug (not allowing gaps) fixed Ctrl-C handling added to preserve dynamic memory integrity KIL,DIF No longer output X_START/END markers around empty sections ;----------------------------------------------------------------------------- Oct 31 1997 v4.68 MAK Warning about missing resource file Doesn't insert both .MID and .MUS if both present PATCHER In MAK, MER, DIF, and KIL History was not output if a + resource selection option was used due to defaulting DoNonStandard (/U) to 0. This now defaults to 1 for these unless explicitly turned off. WARNING and ERROR in capitals in output now. CLED Output of line flags had reversed Lw and Up. ;----------------------------------------------------------------------------- Oct 22 1997 v4.65 MER Major bug dropping the PNAMES length was fixed CMP More conservative picture compare routine implemented DIF Error in indexing graphics during differencing repaired PATCHER Bug in MergeTextures fixed that allowed duplicate AADUMMY1s ;----------------------------------------------------------------------------- Oct 19 1997 v4.61 TXTUSE Fixed bug that only expanded wildcard texture once CLED Added == syntax to print list of objects with given value VIEW -small bug in fullscreen/windowed toggle fixed -ability to mark things, lines, sectors added ;----------------------------------------------------------------------------- Oct 18 1997 v4.60 PATCHER Added new VIEW utility that views maps in several modes ;----------------------------------------------------------------------------- Oct 5 1997 v4.52 PATCHER Added detailed command help for remaining utilities Finished .TXT documents for all utilities /1 is now default for PATCHER (and all utilities). MAK Fixed error in handling of /X for texture extension DIF Fixed missing line terminator in DIF history entry ;----------------------------------------------------------------------------- Oct 1 1997 v4.40 PATCHER Added utlities STAT, RENLIN, GAMMA, STUCK, MUSPUT, NOSECRET ;----------------------------------------------------------------------------- Sep 15 1997 v4.0 MER,,,, Now support DOOM, HERETIC, and HEXEN as well as DOOM II. MAK.... A resource definition file (.DEF) specifies the resources BRK,,,, that may be in an IWAD or PWAD, and some information needed to write and read them from disk in a usable form. Operation defaults to DOOM II. MER.... /z:levfile option was removed from MER for level remapping in output. Excessively complex and underused. MAK.... MAK now convert's BMPs if their internal palette differs from the palette of the wad being constructed. MAK now supports a /X:wad option to extend texture sets. CMP.... Added new CMP utility that compares resources in two wads and writes text messages to the screen. DIF.... Added new patchwad generator utility that creates a wad from two other wads consisting of everything in the first that is not in the second, or different from the second. CVT.... A program that bulk converts BMPs from their palette to another, specified in a WAD or resource definition file. HIST... A new utility that outputs tracking information on the Patcher command lines that were used to build a wad, and when applied . ;----------------------------------------------------------------------------- Sep 16 1997 v4.01 MAK.... A bug caused signs for GRAPHICS to not be emitted ;----------------------------------------------------------------------------- v4.10 PATCHER All exe's and some frequently used utilities are bundled into PATCHER.EXE which can be used as a shell or to run single Patcher commands. ;----------------------------------------------------------------------------- v4.20 PATCHER Stub producing installation files created, so standalone utility operation is still possible. Added utils CLED, DEMON, TXTUSE MAK Error in sign making caused letter outsides to look ragged ;----------------------------------------------------------------------------- Sep 28 1997 v4.31 BRK Fixed bug that caused some sections to be skipped when any resource selection option was used. Sep 27 1997 v4.30 PATCHER Patcher shell now provides full featured command line editing with history (use up or dn arrows). +I switch makes insert mode default -I makes overstrike mode editing default Size of .EXE stubs for individual commands reduced to 11k, and UTIL.EXE is still provided, for those that wish to create the individual command .EXE's. The regular install does not however. Copying UTIL.EXE to CMD.EXE will produce a program that runs PATCHER CMD with the same command line that CMD was run with. Any patcher command can be created as a DOS EXE in this way, by simply copying UTIL.EXE to its name. HIST Now supports /C to remove a wad's history entry in place PATCHER Bug in loading internal default resource definition fixed ;----------------------------------------------------------------------------- Sep 26 1997 v4.25 PATCHER REPL utility for substitution of walls, floors, things, and map names added. Online syntax-sensitive help now available in shell thru HELP CMD [options] [parameters]... HELP HELP from shell lists various ways to get HELP with Patcher, shown at shell log-on. BRK Now supports /J[:name[.RES]] option that will just write the .RES file, without extracting any resources, to the optionally specified name. ;----------------------------------------------------------------------------- Aug 7 1997 v3.11 MAK.... Fixed a bug that was not allowing resource names that started with a number. Now any char is accepted. Now when the (pathname) syntax is used with levels the .WAD extension is supplied if not present. ;----------------------------------------------------------------------------- Jul 29 1997 v3.0 PATCHER Conversion to DJGPP v2 - now uses DPMI for extended memory MER.... Now sorts the textures after merging to support extended animation sequences. AASHITTY still placed first regardless. MAK.... Moderate syntax changes. [LEVELS] MAP01=FIRST.WAD syntax is no longer supported [LEVELS] MAP01 (LEVELS\FIRST.WAD) is now used. An absolute or relative path to the resource can be specified in parentheses on any resource line. The = sign in a sign description MUST precede the sign now, though spaces around the sign text are trimmed. Use '\ ' to include leading or trailing space in a sign description. In-line comments now supported, first ; not preceeded by \ starts it. The new syntax INCLUDE (pathname) can be used to switch MAK input to the specified file. On exhaustion, input resumes after the INCLUDE line, up to 16 nesting levels supported. Lines may be block structured - leading whitespace is ignored. See example below. ;;;;;;;;;;; example mak file for v3.0 and higher ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; [LEVELS] MAP03 (levels\bigone.wad) ;1st level in bigone ;defines MAP03 [TEXTURES] INCLUDE (textures\oldtext) ;include older txtrs ANEWTXT 64 128 ;define new texture *ANEWPAT 0 0 (patches\anew.bmp) = \y01234567 ;a digit sign patch JUSTTXT 64 128 = HELLO ;a simple texture sign INCLUDE (textures\moretext) ;include more textures [GRAPHICS] ;include a graphic CWILV00 (patches\lvlg.bmp) = \g01234567 ;a digit sign graphic ;;;;;;;;;;; example mak file for v3.0 and higher ;;;;;;;;;;;;;;;;;;;;;;;;;;;;; v3.1 New switch /C that switches fonts between large and small automatically according to the use of upper and lower case in signs. Bug not allowing brightness variations in red signs fixed. ;----------------------------------------------------------------------------- Feb 01 1997 v2.1 Internal release only for changes necessary to build Eternal project. ;----------------------------------------------------------------------------- Jan 05 1997 v2.0 MER.... Now accepts .SGN extension for control files . Wad resource order made as close to DOOM2.WAD as possible . Resources with data and marker names are no longer treated as normal resources - but markers . Fixed bug in level merging that caused duplication rather than replacement in /zx:file mode. MAK.... Now accepts either .RES or .SGN extensions, prefers .SGN . Fixed strange bug that caused misdating of output file if a patchname was misspelled. BRK.... Still only writes ".RES" output, use ".SGN" for MAK files you wish to avoid clobbering with BRK. PATCHER Converted all to DOS4GW extender, after PMODEW showed a bug in being run as a DOS child process. Probably will switch again to another built-in extender soon. ;----------------------------------------------------------------------------- Nov 30 1996 v1.20 MAK.... Allow path in redirection line to TEXTURE1 (shared textures) . Fixed level map name overflow in remapped level syntax . Extended patch to next power of 2 > width of texture in signs . Added full horizontal alignment with \<, \|, and \> MER.... Fixed crash due to failure to allocate sign creation data when a RES file on the command line tried to create a sign . /Z:file now supports arbitrary level remapping from input wads ;----------------------------------------------------------------------------- Nov 15 1996 v1.10 - MAK.... fixed swapped \w \s color escape codes for signs . Added number/capital letter only large font for signs . Added \f0 \f1 \^ \- \v for font selection and vert alignment MER.... Fixed failure to expect .RES or .SGN on command line BRK.... Added /a option to allow markerless patch extraction for NWT . Fixed miscount of patches in /a mode . Fixed misplacement of [options] in online help Usage. PATCHER Added FLOW.TXT and PATCHER.BAT for added help. . Fixed PALETTE.BMP and PALETTE.RAW . References to brand X removed. ;----------------------------------------------------------------------------- Nov 2 1996 v1.00 - First release with BRK, MER, and MAK. Basic functionality. Sign creation and level mapping in MAK. ;-----------------------------------------------------------------------------