Short: icon.library patch in optimized ASM code Author: Peter Keunecke Uploader: pkeunecke alice-dsl net Type: util/libs Version: 46.4.225 Requires: 68020+, SetPatch and wb.lib v44+ for GlowIcons Architecture: m68k-amigaos >= 3.1.0 Latest changes: ~~~~~~~~~~~~~~ Reintroducing support for the WarpPNG.datatype v45.15+ again. This is aimed at the PPC card owners for faster PNG decoding. If you want to use the WarpPNG.datatype with a PPC then please uninstall the png.datatype and the PNG file from Gunther Nikl. All other users shouldn't do this, because the png.datatype is still faster than WarpPNG on 68k CPUs and thus it's preferred. The color reduction of truecolor icons into the 255 colors and the transparency mask of the OS 3.5 format has been improved a little more by adding a simple colorscan over the whole image. The default Workbench preferences have been changed for OS 3.1 systems. The icons have no frame anymore and the frame size is set to just one pixel (for less space used by icon alignment). The type of allocated icon memory can be any public (Fast)Mem. Of course, these settings are overridden by IPrefs on OS 3.5+. Description: ~~~~~~~~~~~ This is a patch for the icon.library written in optimized ASM code with IconBeFast 2 already built in. Although this version of the icon.library has not been completely rewritten yet and has only a few new features it works much faster now and it's also a lot smaller than the original library of Amiga OS 3.9. This library can now display the 32 bit ARGB icons of OS4 on any AGA screen with the normal 8 bit color mapping of OS 3.5+. This new feature needs zlib-library 3.2 from Aminet to work. WB:icon->info will convert these icons into the OS 3.5 format! The old style planar images of the OS4 icons are replaced now by the smaller internal default images since many were broken. Added support for displaying Dual-PNG icons on any AGA screen. This new feature needs png.datatype v44.6 or WarpPNG.datatype v45.15+ (for PPCs) installed. An automatical configuration for the PNG datatype lets it run through two passes with different background colors to make the alpha channel information usable for transparency. The new datatype descriptor "infoPNG" will be copied into the DEVS:datatypes directory for the PNG icons. The pngalpha.library will now be used optional by the IconLib for a few icons with a predefined internal background color if it is installed and as long as it was not disabled by the key- word "NoAlpha" in the new config file ENVARC:IconLib46.prefs. When you're fixing the position of PNG-icons with snapshot you will see a requester asking if you would like to convert the icons into the OS 3.5 format. This format has the advantage of getting small files and a much faster icon loading as for PNG. There's hardly any quality loss visible in truecolor modes. The viewmodes for PNG drawer icons are now always set to their defaults: displaying only real icons and NO text-mode listings. The library has a color reduction routine for PNG and OS4 ARGB icons which is based on 15 bits for the first 100 colors now. The comparison is done with less bits step by step when more colors are required. The resulting quality is close to HiColor. The new generated icon.library 46.4 will automatically detect if the PowerIcons patch has been installed on your system. You should make use of it when your Workbench is in truecolor mode. The new PowerIcons patch will display all your icons perfectly. I made a simple patch for the PowerIcons program disabling its PNG icon detection in order to pass on the PNG decoding to the icon.library. The PowerIcons program is still very usefull for drawing the images then directly in high quality to the screen. With this little trick it's even possible to display Dual-PNG. However, the PNG decoding by using datatypes is very slow now. But you can always convert truecolor icons into OS 3.5 icons for a much faster loading. Internal PNG decoding may come next? This icon.library can also be used without conflicts on AfA_OS since release 4.7 (but not with the PowerIcons patch together). Please, remember that AfA has its own Icon_Lib.exe and will do most of the icon drawing itself if loaded from AfA_OS_LIBS:. The library sources are supplied, except for PutIconTagList(). Only the PutIconTagList() function still has to be rewritten. The incomplete sources can even be compiled and will work with just one limitation: Trying to create icons shows an alert ;-) Thanks to all users who've sent bugreports or made suggestions. Downloads: ~~~~~~~~~ http://aminet.net/package/util/libs/IconLib_46.4 for max speed http://aminet.net/package/util/dtype/PNGdt44 for 68k users http://aminet.net/package/util/dtype/WarpPNGdt for PPC cards http://aminet.net/package/util/libs/pngalpha_lib for few icons http://aminet.net/package/util/libs/zlib-library for OS4 icons http://aminet.net/package/util/wb/PowerIcons for truecolor Installation: ~~~~~~~~~~~~ Always have a look into the supplied readme or guide files of all additional packages and read the installation instructions. Please, copy only the png.datatype into the Classes/Datatypes drawer if you prefer to use another datatype for PNG pictures. If you don't have a FPU then use the 68000 version of PNGdt 44. The datatype for your pictures depends on the descriptor file in DEVS:Datatypes. Use only one file of akPNG, PNG or WarpPNG! The PowerIcons program is for gfx-card users only and should not be used together with DOpus MagellanII. That will not work. PowerIcons has to be run from the startup-sequence but it can also be stopped and re-started again from a Workbench icon. It seems that PowerIcons has a problem with some HiColor screens. Please, just click on the supplied script to generate the new icon.library. You will be asked to copy one of the following icon.libraries into the LIBS: directory if the script couldn't find it. Supported versions are 40.1, 44.543, 45.1 and 45.4.6. Btw, the script will only work if you unpack all subdirs, too. For a minimal system with GlowIcon support you will need only the AmigaOS 3.1 plus SetPatch V44+ and workbench.library V44+. Distribution: ~~~~~~~~~~~~ This patch is freeware. I don't give any warranties. You are using this patch on your own risk and you are responsible for any damage it could cause to your system. It's not allowed to distribute the new generated icon.library instead of the patch. Copyright 2007-2012: ~~~~~~~~~~~~~~~~~~~ Peter Keunecke