@database VisageHistory.guide @$VER: VisageHistory.guide 39.18 (14.12.97) @(c) Copyright 1995-97 by Magnus Holmgren @author Magnus Holmgren @index MAIN @smartwrap @tab 8 @rem These macros are for V40 attributes only. @macro _ipar "@{lindent 4}@{par}" @macro _opar "@{lindent 0}@{par}" @macro _vertabs "@{settabs 12}" @node MAIN "Visage.guide/Program history" @{_ipar} @{u}@{b}Program history@{ub}@{uu}@{par} @{" Version 39.0 " link V39_0}@{line} @{" Version 39.1 " link V39_1}@{line} @{" Version 39.2 " link V39_2}@{line} @{" Version 39.3 " link V39_3}@{line} @{" Version 39.4 " link V39_4}@{line} @{" Version 39.5 " link V39_5}@{line} @{" Version 39.6 " link V39_6}@{line} @{" Version 39.7 " link V39_7}@{line} @{" Version 39.8 " link V39_8}@{line} @{" Version 39.9 " link V39_9}@{line} @{" Version 39.10 " link V39_10}@{line} @{" Version 39.11 " link V39_11}@{line} @{" Version 39.12 " link V39_12}@{line} @{" Version 39.14 " link V39_14}@{line} @{" Version 39.15 " link V39_15}@{line} @{" Version 39.16 " link V39_16}@{line} @{" Version 39.17 " link V39_17}@{line} @{" Version 39.18 " link V39_18}@{_opar} @endnode @node V39_0 "VisageHistory.Guide/Version 39.0" @{_ipar} @{u}@{b}Version 39.0@{ub}@{uu}@{_opar} Initial release.@{par} @endnode @node V39_1 "VisageHistory.Guide/Version 39.1" @{_ipar} @{u}@{b}Version 39.1@{ub}@{uu}@{_opar} Various bug fixes to the Xpk support code (it was a last minute addition. The beta testers never saw it ;):@{_ipar} Certain seeks did not work. Usually caused crashes if the unpacking was breaked.@{par} After a break, the next picture will be started faster (never noticed, due to the bug above ;).@{par} Errors (during read) was not quite properly handled.@{_opar} Fixed a bug that caused MungWall hits, but usually nothing else. ;)@{par} Tried to remove the "odd" error requesters some users got after cancelling the file requester. I am not sure why this happened, but hopefully the changes will help. If not, I guess I will have to remove it, although this must be due to some "bad" Asl patcher or something similarly buggy. ;)@{par} Corrected the version string. The last part of the version number should never have been there.@{par} The working name of the program (PicView) was left in a few places. Funny, I thought I had searched through the relevant files.. ;)@{par} Please note that my Fidonet address changed to 2:204/204.6 on the 13th of August ('95)!@{par} Added support for color rendering of pictures, based on code from the Independent JPEG Group. The quality is not great perhaps (largely based on the fact that the palette is fixed), but on a 256 color screen the result is fairly good, at least with dithering.@{par} Now (optionally) @{" dithers " link Visage.guide/DITHER} grayscale @{" rendered " link Visage.guide/RENDERED} pictures on ECS Amigas. Improved the quality quite noticably.@{par} Made various minor cleanups to the program. Hopefully made it a bit smaller. ;) (Eaten up by all additions..)@{par} Updated the installer script a bit.@{par} Norwegian translation by Jan-Tore Eliassen included.@{par} Included a simple ARexx script written by Leo Davidson. Its purpose is to use Visage for a slideshow in DirOpus5.@{par} Removed an Enforcer hit. Only occurred when Visage encountered a file it could not display, and no other picture was displayed.@{par} Added support for soft file links (the OS handles soft dir links by itself).@{par} Included a @{" MakeLink " link Visage.guide/MAKELINK} clone I wrote quite a while ago, but never released, so that you can make soft links yourself. Note: This clone has the same size as the original (MakeLink 37.4)! ;)@{par} Fixed a bug that (probably) could cause the wrong filename to be displayed sometimes. I never noticed it... ;)@{par} Included DoIconLite by Lars Eilebrecht, to allow easy and flexible update of the tooltypes in the icon (in the installation script).@{par} Added the @{" TIME " link Visage.guide/TIME} tooltype. So now you can see how long it took to load each picture. Note: This is another "last minute addition", so do not be surprised if things does not quite work as expected. ;)@{par} Added @{" COMPACT " link Visage.guide/COMPACT} switch. By default, Visage is now displaying verbose output on a separate line, to make it look better on consoles with a "limited" width. Using this switch will revert to the old one-line format.@{par} If an error occurred when using the @{" RANDOM " link Visage.guide/ORDER} option, some memory (and locks on drawers) was not always freed.@{par} Updated the asynchronous IO code, to work around a problem when using SnoopDos with "ShowRexx" active. Caused enforcer hits if Enfocer and Mungwall was running.@{par} @endnode @node V39_2 "VisageHistory.Guide/Version 39.2" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.2@{ub}@{uu}@{par} Compile date: November 7, 1995@{line} Program size: 46312 bytes@{_opar} Finnish translation by Osma Ahvenlampi included.@{par} The GIF reader sometimes reported odd errors if there was an error in the picture.@{par} If there was an error in a picture, the error message was printed before the picture information.@{par} No newline was printed after the error message.@{par} Timing information output was not quite right (leading parenthese was shown when it should not, and vice versa).@{par} Empty files now get a meaningful error message.@{par} Did some changes to improve RTG support (i.e. an attempt to make it actually work ;).@{par} Removed an Enforcer hit when using @{" GRAY " link Visage.guide/COLOR} output and @{" DITHER " link Visage.guide/DITHER} NONE.@{par} Added the @{" NORMALNAMES " link Visage.guide/NORMALNAMES} switch, in case you prefer the normal display mode names (and sizes plus modes for those without a name), or you have a graphics card.@{par} Fixed a typo in this manual, so that one link to the man page for DoIconLite works.@{par} Certain constructed mode names were not correct. Could only happen for "foreign" (normally graphics card) modes without a name. Made a couple of other changes to the related code.@{par} Implemented color cycling. Added the @{" CYCLE " link Visage.guide/CYCLE} argument, to automatically start the cycling when needed. This cycling only supports "simple" (CRNG) cycling at the moment.@{par} @{" SORT " link Visage.guide/ORDER} argument added. If specified, then the pictures will be displayed in alphabetical order. Behaves otherwise as @{" RANDOM " link Visage.guide/ORDER}.@{par} @{" NOCLICK " link Visage.guide/NOCLICK} argument added. If specified, then Visage will ignore any mouse clicks on the pictures. To view the next picture or exit, the keyboard need to be used.@{par} @{" COMMAND " link Visage.guide/COMMAND} argument added. Here a command can be specified, that is executed when `e' is pressed.@{par} VisageOpts may now contain comments. Comments starts with a `#' or `;' on the beginning of a line, and ends with the end of that line.@{par} Visage now looks for the file @{i}VisageOpts @{ui}in the drawer specified in the environment variable @{b}ConfigPath, @{ub}before looking for the environment variable @{i}VisageOpts. @{ui}@{par} @{" TEST " link Visage.guide/TEST} argument added. Causes pictures to be loaded, but not displayed. If a picture fails, the @{" COMMAND " link Visage.guide/COMMAND} is executed, if specified.@{par} Fixed a few problems in the installer script.@{par} Cleaned up the output code. The WShell scrollback looks much better now.@{par} If you specify a file in the file requester that refers to a file that does not exist, then Visage will interpret it as a pattern. This allows you to select a drawer, and then specify a pattern in a very easy way. ;)@{par} Replaced some catalogs strings.@{par} Rewrote dithering functions into assembler. Overall render speed increased some 13-18 percent (depending on dither mode) on a rather large (scaled) JPEG on my system (A4000/040).@{par} Added the @{" RTG " link Visage.guide/RTG} switch. Forced by the fact that Visage assumed a certain flags in the display database would be set for foreign screen modes, but due to bugs in some system software, this was not the case. This switch will make Visage slower on rendering some pictures, and/or use more memory for datatype pictures, when displayed in native Amiga modes. Thus, it should only be used when needed; i.e., when a graphics card is installed.@{par} Visage will now always try to use the aspect of the screen mode stored in an IFF ILBM picture. This did not always happen earlier.@{par} Visage did not render dithered grayscale images properly (the picture was almost completely black).@{par} Added some simple CyberGraphX support. Visage is now able to properly recognize a CyberGraphX mode, and will behave accordingly. Thus, the @{" RTG " link Visage.guide/RTG} switch is not needed if you have CyberGraphX installed.@{par} Replaced the NewIcon image with one drawn by Phil Vedovatti.@{par} Visage sometimes exited without reason when a bad file was found.@{par} Changed to chunky <-> planar conversion code written by John Hendrikx (except for chunky to planar for 8-bit screens). Shaved some 700 bytes from the program, and made it a tad faster.@{par} If no password was specified, but one is needed, Visage will now prompt for one, if ReqTools is available.@{par} Added GRAPHICS as a synonym to STANDARD, for the @{" OVERSCAN " link Visage.guide/OVERSCAN} argument.@{par} Added some safety checks.@{par} Cleaned up some parts of this manual. Also changed the layout a little.@{par} Reduced memory usage during dither and/or color render (at most a couple of KBs).@{par} Added vertical centering (@{" VCENTER " link Visage.guide/VCENTER}). Note that this looks best if border blanking is off, due to how it is implemented. It also makes the picture use more graphics memory.@{par} Fixed a bug that could make gray scale rendering a tiny bit slower than needed. ;)@{par} Added support for background color in GIFs (of version 89a). Nice when the border blanking is not on, and/or vertican screen centering is used. Note that not all GIFs use this feature.@{par} Localized date in "initial about string". ;)@{par} Changed way of rendering interlaced GIFs. Looks much better, but is slightly slower. This method is not used if the picture is scaled (it will not look good.. ;).@{par} Changed way of detecting foreign modes. Not as flexible as the old one, but should work much better. And even if it should become "out of date", the only drawback will be that Visage sometimes will be a bit slower than needed. ;) Should hopefully remove the need for the @{" RTG " link Visage.guide/RTG} switch.@{par} Made some more changes for improved RTG support.@{par} Fixed a bug that could cause crashes when started from Workbench via a project icon.@{par} @endnode @node V39_3 "VisageHistory.Guide/Version 39.3" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.3@{ub}@{uu}@{par} Compile date: December 12, 1995@{line} Program size: 95152 bytes@{_opar} @{" TEST " link Visage.guide/TEST} option did not work properly. It said "Not enough memory" for all non-datatype pictures, and did not display picture information for datatype pictures. Note that it seems like most datatypes doesn't report any error, even if the picture did contain detectable errors.@{par} Rewrote the scaling functions. The new ones have much higher precision (and are smaller and simpler, without loss of speed). The scaling should always make a perfect screen fit now! ;)@{par} Made some other scaling related changes, so that Visage (hopefully) will make the picture completely visible at all times.@{par} Visage did not properly parse the density (i.e. "reversed" aspect) information in JPEG pictures.@{par} Tried to remove the trashed graphics that sometimes can be seen to the right of a picture, when diplayed on a Picasso emulation screen.@{par} Made some further optimizations on the dithering functions (cases @{b}DITHER NONE@{ub} and @{b}DITHER ORDERED@{ub}). Overall speed increase at most some 6%.@{par} GIF pictures that were larger than specified (in the header) caused problems for Visage.@{par} Fixed a bug in the @{" SORT " link Visage.guide/ORDER} option, that could cause crashes and similar.@{par} Added nifty @{" SHOWINFO " link Visage.guide/SHOWINFO} switch. Displays picture information above the acutal picture.@{par} Added @{" INFO " link Visage.guide/INFO} switch. Makes Visage display information about the picture, but not load it.@{par} Cleaned up the datatype reader a bit. Did not improve behavior as I had hoped (found the reason for it after I hade made the change ;).@{par} Replaced DoIconLite with @{" UpdateTT " link Visage.guide/UPDATETT}. I wrote UpdateTT since DoIconLite did not quite behave the way I wanted. UpdateTT is also much smaller. ;)@{par} Tried to fix the crashes when promoting IFF ILBM pictures to CyberGraphX modes.@{par} Improved the @{" TOFRONT " link Visage.guide/TOFRONT} behavior a little.@{par} French translation by Georges Goncalves included.@{par} @endnode @node V39_4 "VisageHistory.Guide/Version 39.4" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.4@{ub}@{uu}@{par} Compile date: December 22, 1995@{line} Program size: 47692 bytes@{_opar} Fixed a problem that trashed memory when displaying (non-scaled) interlaced GIFs.@{par} Missing/incorrect password got no error message. I knew about the problem before I released version 39.3, but I forgot to fix it! ;)@{par} The "Program size:" field in the version 39.3 information was with all debug info (it is quite much ;).@{par} Special screen modes (HAM, EHB and similar) was not properly handled when a @{b}MODE@{ub} argument was specified, possibly causing pictures to be displayed in the wrong special mode.@{par} The @{" LOWMEM " link Visage.guide/LOWMEM} option caused crashes if "show next picture" was requested while loading the current picture.@{par} @endnode @node V39_5 "VisageHistory.Guide/Version 39.5" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.5@{ub}@{uu}@{par} Compile date: January 21, 1996@{line} Program size: 43832 bytes@{_opar} Fixed a bug that caused Visage to not work on CyberGraphX screens (and quite likely other intuition emulators as well). Introduced in version 39.3 or 39.4.@{par} Recompiled with SAS/C 6.56. Reduced size with almost 4 KB.@{par} Fixed an Enforcer hit that occurred when starting Visage from a shell with the @{" QUIET " link Visage.guide/QUIET} option.@{par} Visage did not always close datatypes.library as needed, when viewing datatype pictures.@{par} German translation by Lars Eilebrecht included (I got one from Christian Kemp first, but his translation was not quite complete ;).@{par} Added some more error checking in the GIF unpacker.@{par} When breaking the current picture to view the next, Visage behaved as if the @{" LOWMEM " link Visage.guide/LOWMEM} switch had been specified.@{par} Visage did not propagate break signals that were recieved during a fade. Now the fading code simply peeks on the received signals and does not process them (leaving that for later). This means that Visage will not react immediately to break signals during the fade, but to fix that would cost more work than I would like to spend right now. ;)@{par} Argh! Catalog generation went haywire in version 39.3. :/ Why did not anyone notice this eariler? ;)@{par} If @{" SHOWINFO " link Visage.guide/SHOWINFO} was specified, but there were no @{" vertical centering " link Visage.guide/VCENTER} or @{" scaling " link Visage.guide/SCALE}, then Visage could calculate the wrong screen height, and would quite likely trash some graphics memory.@{par} Visage would quit on certain errors (such as file did not exist).@{par} Switched on invisible typing in the password requester.@{par} Visage sometimes ignored "show next picture" requests.@{par} Misc cleanups and optimizations. I hope I did not break anything fixed above. ;)@{par} Changed so that @{" UpdateTT " link Visage.guide/UPDATETT} only requires OS 2.04+. I made it require OS 3.0 for no real reason. ;) Added a proper version string. Recompiled with SAS/C.@{par} @endnode @node V39_6 "VisageHistory.Guide/Version 39.6" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.6@{ub}@{uu}@{par} Compile date: 23-Mar-96@{line} Program size: 45204 bytes@{_opar} Removed some debug output in a BestMode related function (forgot to do it in 39.5 ;).@{par} Some errors in the GIF reader wasn't properly reported.@{par} Certain "early" picture errors caused Visage to crash.@{par} The IFF reader would crash when rendering to foreign screen modes (including when the @{" RTG " link Visage.guide/RTG} switch had been used, since it makes Visage assume all modes are foreign).@{par} Interlaced GIF pictures weren't alway rendered properly. It seems like it didn't always render the final pixel line. While at it, I cleaned up the responsible code.@{par} Fixed a quirk in the Installer script (selecting English catalog for installation didn't work).@{par} The color selection for the @{" SHOWINFO " link Visage.guide/SHOWINFO} text didn't always produce the correct result, possibly making the text invisible.@{par} Added pattern support for the @{" MONITOR " link Visage.guide/MONITOR} argument.@{par} Added the @{" NOICON " link Visage.guide/NOICON} switch. Makes Visage ignore any `#?.info' files enountered.@{par} Increased the date buffer, when displaying the about message. This to solve the problem for an Italian user, with a buggy Italian locale. Since I assume other users (mostly Italian, I guess ;) can have this problem as well (i.e. Visage crashes when right after displaying the about message), I made this simple workaround.@{par} Changed the @{" NORMALNAMES " link Visage.guide/NORMALNAMES} behaviour a little. When specified, then the display database names will be checked first, when using the @{" MODE " link Visage.guide/MODE} argument. The behaviour here was not clearly defined earlier.@{par} Visage will now remap datatype pictures the system can't display. This is needed for proper behaviour on ECS Amigas. This forced me to change back to the old (and somewhat slower) planar to chunky converting code, as it is more generic. It is still much faster than the ROM code. ;)@{par} Added the @{" NOFOREIGN " link Visage.guide/NOFOREIGN} switch, to make Visage work better with certain Intuition emulators (most notably the PicassoII). If Visage tended to crash for you - especially when you didn't specify a display mode yourself - then you should try this switch.@{par} Some minor internal improvements...@{par} Improved argument handling for tooltypes. Strings with quotation characters were not properly handled. The main candidate for this problem was the @{" COMMAND " link Visage.guide/COMMAND} argument.@{par} Improved mode selection for PCHG pictures (so that modes that do not support such pictures are avoided).@{par} French and Italian catalogs updated.@{par} @endnode @node V39_7 "VisageHistory.Guide/Version 39.7" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.7@{ub}@{uu}@{par} Compile date: 12-Apr-96@{line} Program size: 45168 bytes@{_opar} Note: Version 39.6 was only available from my home page. For reasons unknown to me, I was unable to upload it to Aminet. I only got messages about corrupt archives, while the archive was ok when I tested it.@{par} Workbench argument parsing didn't work properly. Sorry, I hardly ever start Visage from the Workbench! ;)@{par} The bottom of interlaced GIFs still didn't look quite right. I think I've got it right now.@{par} Errors that occured during the internal IFF ILBM or GIF unpacking got the wrong error message.@{par} @endnode @node V39_8 "VisageHistory.Guide/Version 39.8" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.8@{ub}@{uu}@{par} Compile date: 96-05-06@{line} Program size: 45232 bytes@{_opar} Finally found and fixed the bug that caused crashes when the system ran low on chip memory.@{par} Updated the installer scrip to really work when english language was selected during install (an updated 39.7 archive with this fix has been available on my home page).@{par} Updated the installation script: Made changes for better V43 conformance, and added some other things.@{par} Finally updated the Swedish translation. ;)@{par} @endnode @node V39_9 "VisageHistory.Guide/Version 39.9" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.9@{ub}@{uu}@{par} Compile date: 96-07-02@{line} Program size: 45040 bytes@{_opar} Visage should now work better with the V43 picture.datatype and truecolor (24-bit) images.@{par} Datatype re-rendering was not correctly done for HAM8 pictures.@{par} Made some other minor changes and cleanups to the datatype reader.@{par} The text displayed by the @{" SHOWINFO " link Visage.guide/SHOWINFO} switch was not displayed on the right position, sometimes making text clipped (due to the font I normally use, I did not notice the problem. I know; should have tested with some other fonts ;).@{par} The task creation code were doing somewhat naughty things, causing Mungwall hits (however, this did work with the current OS versions). Changed to more proper behaviour.@{par} Russian and Spanish translations included.@{par} Clearified the behaviour of the @{" VisageOpts " link Visage.guide/VISAGEOPTS} configuration.@{par} Visage did not always clean up properly when aborted. This would usually only happen for datatype pictures.@{par} Visage did not behave consistently if @{" WAITFORPIC " link Visage.guide/WAITFORPIC} was specified, and you asked Visage to view the next picture. Now Visage will never wait in this particular case. Cleared up the manual on this part as well.@{par} Tweaked the startup code a little.@{par} Funny... I just found out that (most) DOS function indeed does support soft links, at least in OS 3.1. How come I did not notice this before, when I added the "soft link support" code in Visage in the first place? As I think of it, the error code was a bit odd. ;) Anyway, that code have now been removed, saving a few bytes.@{par} Upcoded @{" MakeLink " link Visage.guide/MAKELINK} to C and added soft link detection. It will now state that links between volumes needs the SOFT keyword, rather than saying something like "object not of require type".@{par} @endnode @node V39_10 "VisageHistory.Guide/Version 39.10" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.10@{ub}@{uu}@{par} Compile date: 96-09-26@{line} Program size: 45088 bytes@{_opar} Increased miminal bitmap width from 16 to 80, when running under OS 3.0. This should fix the improperly displayed narrow pictures (i.e. those less than 80 pixels wide).@{par} When specifying the @{" NOICON " link Visage.guide/NOICON} switch, then the file requester will not include any icons either.@{par} Visage now sanity checks some picture parameters to prevent problems. Earlier, pictures with e.g. a depth of zero would cause crashes.@{par} Rendering deep grayscale (more than 16 shades) pictures on ECS Amigas with dithering turned off didn't look very well. Fixed.@{par} Visage always (?) treated files selected in a file requester as having patterns, when MuFS was installed, due to a bug in Visage. As a result, files containg pattern characters couldn't be selected (without some extra work).@{par} Added spanish translation of the installer script.@{par} @endnode @node V39_11 "VisageHistory.Guide/Version 39.11" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.11@{ub}@{uu}@{par} Compile date: 96-12-08@{line} Program size: 45148 bytes@{_opar} Norwegian translation updated. Added translations for Dutch (I've had the actual translation since 39.8, but no catalog was made for it, nor was the install script updated ;) and Serbian (at least I assume that is what Srpski stands for ;). Updated the installer script to install Russian catalogs as well.@{par} Added the @{" NOFILECHECK " link Visage.guide/NOFILECHECK} switch, and changed the behaviour in the file requester a bit. If the switch is not specified, then Visage will always check if a specified file exists, rather than process it as a pattern. This solves the problem with failing to display pictures with pattern characters in the name or the path, especially when Visage is started from the Workbench. The drawback is that patterns might not always be treated as you like. Hence the switch.@{par} The release archive is now created a bit differently. Should hopefully fix the uploading problems I've experienced (most likely caused by Unix LhA failing on the Visage archive. I've removed some archiving options likely to cause problems according to Stefan Boberg). The 39.10 release didn't make it either... :)@{par} Added the @{" BORDERBLANK " link Visage.guide/BORDERBLANK} option.@{par} Recompiled with SAS/C 6.57.@{par} Wrote the @{" DeleteLink " link Visage.guide/DELETELINK} command.@{par} Added version string to @{" MakeLink " link Visage.guide/MAKELINK}, and recompiled it with SAS/C 6.57.@{par} @endnode @node V39_12 "VisageHistory.Guide/Version 39.12" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.12@{ub}@{uu}@{par} Compile date: 97-04-27 Program size: 116776 bytes@{par} Hey, this was originally meant to be a minor update! ;)@{_opar} The @{" NOFILECHECK " link Visage.guide/NOFILECHECK} option in 39.11 had the side effect of making Visage complain about lack of memory when started from the Workbench, and the @{" COMMAND " link Visage.guide/COMMAND} being executed in the wrong drawer sometimes.@{par} Added the @{" PATTERN " link Visage.guide/PATTERN} argument, where a pattern for the file requester can be specified.@{par} Increased the minimal screen width under OS 3.0 to 128 pixels.@{par} Fixed a few quirks in the installer script.@{par} PNG support added, using libpng and zlib. Note that libpng is on the large side... ;)@{par} Added the @{" NOPNG " link Visage.guide/NOPNG} switch because of the PNG support.@{par} Rewrote the JPEG loader, to use the IJG code directly rather than the jpeg.codec, in order to make Visage support progressive JPEG pictures. It also makes Visage a bit larger, but on the other hand, the total memory usage when displaying JPEGs will be lower (the jpeg.codec contains a lot of code not used by Visage). JPEG reading should also be somewhat faster.@{par} Asyncio library release 9 used.@{par} Removed bad graphics that could be seen on the right hand side of (some) very narrow truecolor pictures, when not displayed on a truecolor screen.@{par} Soft links where not properly handled in the pattern matching loop.@{par} Reworked the internal readers to be more pipe friendly, when possible. Only datatype pictures can not be read from a pipe now. Please note that even if the asyncronous IO buffers are not used by datatype pictures, they will be allocated anyway. Just a word of warning for you with large buffers (set via @{" BUFSIZE " link Visage.guide/BUFSIZE}). ;)@{par} If xpkmaster.library version 3 or higher is used, then XPK-compressed (IFF ILBM) pictures are read using a custom IO hook. This should enable reading such pictures from a named pipe, as long as the file is not PowerPacked (Xpk does "limited" seeks for normal Xpk-files (but seeks to the end of PowerPacked files), so the buffers should be able to "catch" the seeks). Note also that this is somewhat experimental, as the IO hook part of Xpk is not that well documented yet.@{par} Reduced the default value for @{" BUFSIZE " link Visage.guide/BUFSIZE} to 8 KB.@{par} Specifying "Visage FileThatDoesNotExist FOREVER" would place Visage in an endless loop. Now you can break it (with CTRL-C).@{par} Due to the Unisys LZW patent, and the conditions for using LZW for GIFs in freely distributable programs, the GIF support has been removed. The NOGIF argument is still in the template (for now) for backwards compatibility.@{par} Improved the datatype reader, to check if the returned bitmap is displayable. If not, the bitmap is copied to a proper screen. This will increase the memory usage, but will ensure that the picture is displayed as intended.@{par} CyberGraphX support added! Was rather easy actually. An hour work or two did the trick. Ok, the RTG support code did make things rather easy. ;)@{par} Changed the @{" COLOR " link Visage.guide/COLOR} switch to a keyword with various options, for the CyberGraphX support.@{par} Improved support for picture.datatype version 43.@{par} The first loaded picture was not always brought to the front. Mostly noticed for datatype pictures when displayed on a graphics card screen.@{par} Algorithmic mode names are now used by default for CyberGraphX modes, and they look like this: ":xx". Similar to the normal names, but now you do not need to worry about the number of spaces in the string. ;)@{par} String arguments in @{" VisageOpts " link Visage.guide/VISAGEOPTS} can now be reverted to the default by specifying "".@{par} @{" DRAWER " link Visage.guide/DRAWER} argument added.@{par} On ECS Amigas, Visage would sometimes fail to find a suitable mode for IFF ILBM pictures using extra halfbrite.@{par} Seems like the reading of Xpk encrypted pictures has not been working for a while, due to unexpected behaviour in Xpk.@{par} Changed file list handling code (responsible for the @{" RANDOM " link Visage.guide/ORDER} and @{" SORT " link Visage.guide/ORDER} arguments), to use less memory, and be faster during program exit (though possibly a bit slower during drawer scanning, at least if many drawers are scanned). Also changed to a sorting function posted by (and, I presume, written by) Wessel Dankers, in the news group comp.sys.amiga.programmer.@{par} Plugged a few memory leaks.@{par} Changed the layout of this manual quite a bit (as may have noticed by now). You need AmigaGuide version 40 or better for it to be displayed properly. As a result of these changes, the FixAG program is no longer needed, nor included.@{par} Translations updated by ATO.@{par} Changed random function, to something that hopefully is better. Not that the old one was bad really, but... ;)@{par} @endnode @node V39_14 "VisageHistory.Guide/Version 39.14" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.14@{ub}@{uu}@{par} Compile date: 97-05-09@{line} Program size: 116876 bytes@{par} Version 39.13 skipped to avoid bad luck. ;)@{_opar} Viewing a GIF picture (via datatypes) could be very slow, due to a silly bug.@{par} Made some minor tweaks on the datatype reader.@{par} Floyd-Steiberg dithering usually caused some trashed graphics on the right hand side of the picture.@{par} Errors within JPEG pictures (that still are displayable) would cause "go to next picture" requests to be ignored. This required quite a few small fixes here and there, so I hope I did not break anything in the process. ;)@{par} The PNG reader would crash on 68000 CPUs.@{par} WBMONITOR did not work.@{par} '*'-chars in tooltypes caused memory trashing.@{par} The PNG reader code (libpng) updated to 0.95.@{par} CLIPBOARD reading did not work.@{par} Removed some debug output in the XPK read hook (usually not printed).@{par} Disabled the internal password requester in XPK version 4 and higher.@{par} @endnode @node V39_15 "VisageHistory.Guide/Version 39.15" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.15@{ub}@{uu}@{par} Compile date: 97-08-24@{line} Program size: 119108 bytes@{par} @{u}Note@{uu}: This version includes several changes to the template. Please read the following carefully, and change your configuration as needed.@{_opar} High color rendering did not work for systems that had high color (15 or 16 bits) modes, but no true color (24 bit) modes.@{par} Changed the behaviour of the @{" COLOR " link Visage.guide/COLOR} argument, to use the best mode available by default (and @{b}BEST@{ub} is a new color mode). In this mode, high color and true color screens are considered to be almost equal (though true color modes are preferred).@{par} A part of this manual contained trash making certain parts unavailable.@{par} Visage is now be able to recognize PowerPacked files, and read them via XPK.@{par} Updated the PNG reader code (libpng) to version 0.96.@{par} Included a version of Visage compiled for a 68020 or better. JPEG and PNG loading is about five percent faster on my system (Amiga 4000/040 with a graphic card) with this version. The 68020 version is included as a patch, to keep the size of the release archive down.@{par} The PNG reader now uses the (first) transparant color for pictures with transparancy and no specific background color.@{par} Did some more fixes to the datatypes reader. Listens more to the @{" COLOR " link Visage.guide/COLOR} argument and some other minor changes.@{par} Visage now uses AsyncIO version 39.1.@{par} Added the @{" LIST " link Visage.guide/LIST} argument. Side note: I decided to not let Visage recognize list files automatically (e.g. by a special first line), since that implementation would not be quite that simple...@{par} Included the @{" ShowVisage.dopus5 " link Visage.guide/PROGRAMS} ARexx-script, to show how the @{" LIST " link Visage.guide/LIST} argument can be used with Directory Opus 5.@{par} The @{" NOFILECHECK " link Visage.guide/NOFILECHECK} fix in 39.12 did not work that well for (soft) file links.@{par} Made it possible to loclize the JPEG error messages. These are stored in a separate catalog, so that it should be possible to use the same catalog in other programs using the IJG library. No translations included yet...@{par} Merged the switches @{b}RANDOM@{ub} and @{b}SORT@{ub} into a more generic @{" ORDER " link Visage.guide/ORDER} argument.@{par} Added the @{" FONT " link Visage.guide/FONT} argument.@{par} Visage would not always use the localized strings as it should.@{par} Moved the @{b}GRAY@{ub} switch to the @{" COLOR " link Visage.guide/COLOR} argument.@{par} Updated the manual a bit...@{par} Finally removed the NOGIF switch from the template.@{par} Changed most memory allocations to use memory pools (except those in the IJG code, which has its own pool system), in order to make things slightly faster (hopefully), and to work around a possible memory leak in libpng. If there are any leaks, lost memory will be reclamied when Visage exits, thanks to the memory pools.@{par} Recompiled with SAS/C 6.58.@{par} Danish translation included.@{par} Fixed a quirk in the installer script.@{par} @endnode @node V39_16 "VisageHistory.Guide/Version 39.16" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.16@{ub}@{uu}@{par} Compile date: 97-09-13@{line} Program size: 121252 bytes@{_opar} @{" COLOR=16 " link Visage.guide/COLOR} will now explicitly require a mode with 16 or more bits. Previously 15 was enough. Also improved the related documentation a bit.@{par} The PNG reader would not always use the first transparant color as background color.@{par} If @{" INFO " link Visage.guide/INFO} and @{" QUIET " link Visage.guide/QUIET} were specified, then line feeds would not be printed.@{par} @{" TEST " link Visage.guide/TEST} mode could cause some Enforcer hits.@{par} Forgot to mention: In version 39.15 the @{" viewing key " link Visage.guide/KEYS} 'W' was added. It will disable any @{" DELAY " link Visage.guide/DELAY} for the current picture.@{par} Danish, Finnish, French, German, Serbian and Swedish translations updated (forgot to do the Swedish one ;). Danish and Serbian translations of the installer script updated.@{par} Changed some memory allocation to not use pools, as they otherwise would make Visage crash on exit. Strangely enough, it seems like the Asl screen mode requester does not like pool allocated nodes in a custom mode list. MungWall/PoolWatch did not report any problems, so I wonder what Asl does...@{par} The Asl requesters were not sized correctly if a valid @{" FONT " link Visage.guide/FONT} was specified.@{par} Moved this history section to a separate file.@{par} Some PNG-related and error messages would contain incorrect values. Same would happen for JPEG-related messages in some versions of Visage.@{par} Removed some debug output I had forgot about. For example, it would always appear if @{" COLOR BEST " link Visage.guide/COLOR} was used and a true color modes was requested and found.@{par} Recompiled libjpeg and libpng (and some other parts) with SAS/C 6.58.@{par} Visage now uses AsyncIO version 39.2.@{par} The manual stated that the @{" ORDER " link Visage.guide/ORDER} mode SORT would display the files in sorted order. The correct name for this mode was SORTED. However, SORT has been added as a synonym, and the manual has been updated.@{par} Added the @{" ORDER " link Visage.guide/ORDER} mode RANDOMONE, which selects only one picture randomly. Any other files will be ignored.@{par} @endnode @node V39_17 "VisageHistory.Guide/Version 39.17" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.17@{ub}@{uu}@{par} Compile date: 97-09-16@{line} Program size: 121256 bytes@{_opar} Errors from JPEG and PNG pictures were not noticed by the @{" TEST " link Visage.guide/TEST} argument. Note that in order to fix this, all errors returned by libjpeg and libpng must be treated as data errors.@{par} The fix to the @{" TEST " link Visage.guide/TEST} argument in the last release was not so well done. It caused out of memory errors to be reported instead.@{par} Executing the command for picture errors (in @{" TEST " link Visage.guide/TEST} mode) could cause problems.@{par} Oops. VisageHistory.guide was missing in the last release. ;)@{par} @endnode @node V39_18 "VisageHistory.Guide/Version 39.18" @{_VerTabs}@{_ipar} @{u}@{b}Version 39.18@{ub}@{uu}@{par} Compile date: 97-12-14@{line} Program size: 122000 bytes@{_opar} An unecessary function call made the datatype loader a tad slower than needed...@{par} Russian translation updated.@{par} Added some missing paragraph breaks in the version history.@{par} The datatype reader did not correctly handle small pictures on OS 3.0 systems (had forgot to add some code used by the other picture loaders).@{par} Changed the compiler options for the 68020 version of Visage, based on a recommendation from Steve Kruger (from SAS Institude, makers of SAS/C), to "get the most bang for the buck". As a result, the 68020 version is now targeted for a 68040, but will still run fine on all Amigas with a 68020 or better, with a working FPU. Requiring an FPU makes Visage a few kB smaller and slightly faster for most PNG files.@{par} Updated @{" GetModeID " link Visage.guide/GETMODEID}. Added the HEX switch, cleaned up the source, and made it try to report error message to the console window (so that errors are still visible when backticking is used).@{par} Tweaked most of the support programs a little. Only UnpackILBM is not pure now.@{par} Made some changes to the drawer scanning, done when @{" ORDER RANDOM " link Visage.guide/ORDER} or @{" ORDER SORTED " link Visage.guide/ORDER} has been specified, to make the scanning faster (many times faster in extreme cases).@{par} Visage could move on to the next file without being told to (and possibly ignore some pictures as well). This would typically happen when many files were viewed @{" randomly " link Visage.guide/RADNOM} (for some odd reason ;).@{par} File open errors where not reported.@{par} When using @{" LIST " link Visage.guide/LIST} together with @{" ORDER RANDOM " link Visage.guide/ORDER} or @{" ORDER SORTED " link Visage.guide/ORDER}, Visage would exit with an error message rather than show the pictures.@{par} The JPEG reader could cause crashes on 68000 CPUs.@{par} The @{" COMMAND " link Visage.guide/COMMAND} executed for error pictures in @{" TEST " link Visage.guide/TEST} mode did not get the correct arguments. Added the @{" viewing key " link Visage.guide/KEYS} 'O'. It will abort the currently selected pictures and open the file requester. @endnode