Short: IFF ILBM picture datatype 47.6 Author: Henryk Richter Uploader: henryk richter gmx net (Henryk Richter) Type: util/dtype Version: 47.6 Architecture: m68k-amigaos >= 3.0.0 Distribution: NoCD Introduction This is yet another datatype for IFF ILBM pictures. My primary motivatior for this datatype is that I ran into some issues loading a number of IFF pictures by my favorite datatypes based viewer and decided to find a solution for these pictures. This ILBM datatype supports 1-8 bitplanes including EHB and HAM in V42 (non RTG) mode. In presence of RTG and/or picture.datatype V43 or later, 24 Bit images are supported as well. In addition, planar color mapped data and HAM images are loaded into FastRAM and internally promoted to chunky representation with active RTG in order to conserve ChipRAM. Some routines are implemented in Assembler to provide a good loading speed. This datatype also handles some of the known issues with ILBM images generated by certain software like Adobe Photoshop. In addition to regular ILBM images, this datatype also provides support for dynamic palettes which are generated by tools like HAMLab or HAM_convert into PCHG or SHAM chunks. Installation At most two files need to be copied for installation: the datatypes descriptor (ILBM) and the datatype class (ilbm.datatype). You might want move the existing files to a safekeeping place (e.g. SYS:Storage/Datatypes/). A reboot is usually required to enable the new datatype. From CLI: Copy Classes/Datatypes/ilbm.datatype Sys:Classes/Datatypes/ Copy Devs/Datatypes/ILBM Devs:Datatypes/ From WB: Drag the ILBM icon from Devs/Datatypes of this distribution to SYS:Devs/Datatypes and drag Classes/Datatypes/ilbm.datatype to SYS:Classes/Datatypes. Troubleshooting Malformed IFF ILBM files Some slightly malformed IFF ILBM files are known that they can be loaded in popular imaging programs but sometimes fail to be recognised by datatypes. In such cases, stringent checks in Datatypes.library and IFFParse.library alongside the requirement to actually rely on these two libraries prevent the invocation of ilbm.datatype. This package contains a commandline tool called "fixiff" which is able to fix some commonly encountered problems with IFF ILBM files. It takes two arguments. The first argument is the input file and the second argument is the resulting copy. Example: fixiff Workbench:broken_iff.iff ram:fixed_iff.iff The fixiff tool will correct incorrect IFF FORM header sizes, convert out-of-spec run-length encoding to valid encoding, trim extra data and fill up incomplete BODY data with zeros. The latest fixiff got two additional switches: NOMASK will omit the mask in the output ADDGRAB converts a masked picture into a brush. CPU compatibility The datatype is an all-in-one binary for any 68k Amiga. Some 68020+ optimizations are enabled at runtime, if applicable. History 47.6 - dynamic HiRes and dynamic HAM support (PCHG,SHAM) by promoting such images to 24 bit (V43 picture.datatype) 47.5 - Mask support in 24 Bit mode - Transparency masks will only be handed to picture.datatype for brush type IFFs (i.e. some pictures contain a mask plane that is actually a drawing stencil) 47.4 - Replaced Datatypes descriptor (DEVS:Datatypes/ILBM) by a different variant that relies on pattern matching instead of detection code. This fixes issues with clipboard operations. Datatypes.library 45.4 now likes the new descriptor, too. 47.3 - first Aminet release