Latest changes:
~~~~~~~~~~~~~~
A new "Smart" palette based icon.library supporting
2 additional levels of alpha channel transparency for
the conversion of TrueColor icons into normal OS 3.5
ColorIcons, which allows a softer fading of borders
over the background and also some transparent shades
on Hi/TrueColor screens with just one byte per pixel.
In comparison to loading and rendering real TrueColor
icons like done by TC020 these converted "SmartIcons"
can be loaded and displayed really fast and with much
less memory consumption than real ARGB icons. "Smart"
icons have two alpha channel levels with 37.5 % and
62.5 % transparency which calculate their colors from
two virtual 6x6x6 and 3x3x3 color cubes and a simple
brightness checkerboard dithering for even more mixed
colors. On chunky and planar screens this alpha level
transparency is replaced by merging with gray instead.
This Smart color reduction is still compatible to the
OS 3.5 ColorIcon format and the new icons can also be
displayed by other icon.libraries, but will then only
fade a bit into gray at the borders, as this was done
already in the past by the 68020 library or with the
option ConvertTrueColor. Most of my libraries are now
also able to convert TrueColor icons into SmartIcons.
Only the 68000 version, Smurf and Base can't do this,
but a new packed "Cool" library is like Base + Smart.
When TrueColor icons are loaded by the OS 3.9 IconEdit
then you can click on the first color in the palette,
which is the more or less "yellow" transparent color.
This color0 should have a Red of 250 and Green of 222
plus a Blue, which shows the number of alpha colors.
In hexa-decimal this RGB value should contain $FADE..
The alpha channel colors are the last of the palette
until you are saving the converted icons. Then my own
palette optimization will remove gaps and doublets by
rewriting the palette with a new color order, but the
alpha transparency fading remains working just fine.
Unfortunately, the OS 3.2 IconEdit deletes color #0,
which means that it destroys the alpha transparency,
but this can still be repaired manually on 3.9 again.
The Aros libraries are now v51 too and include all of
the ARGB conversion routines with support for Scalos,
except for the packed Aroz, supporting Wanderer only.
A new ARGB icon dragging of Wanderer in the Aros 68k
Deadwood fork works now and old planar and MWB icons
are always converted into ARGB images with the 8 MWB
colors and are drawn by WritePixelArray() on Wanderer.
The icon.library of Aros 68k must be removed from the
list of resident modules by RemLib >NIL: icon.library
before SetPatch or replaced by tools like LoadModule.
To load Aros deficons from ENVARC:Sys instead of ENV:
you should make an Assign ENV: ENVARC: ADD somewhere.
Download (classic): https://github.com/deadwood2/AROS
The support for Scalos on Aros 68k has beeen improved
a lot. You have to remove all iconobject datatypes in
Scalos:icondatatypes/Datatypes out of this directory
except for the 2 files amigaiconobj35.datatype and
iconobject.datatype in order to get best results with
my icon.library, which will then do the decoding for
all icon formats. Scalos does most of the drawing and
can even scale the images up or down. Unfortunately,
only the scaled icons still get invisible on Aros 68k
when you are dragging them around. But you can switch
the icon label text ON for icon dragging to see their
position while you move scaled icons around. Scalos
can also be switched to chunky or native screen modes
and will update and remap the icons and their colors
automatically, if the wb39.plugin and wbrexx.plugin
are installed and the RexxMast, rexxsupport.library
and rexxsyslib.library of OS 3.1 exist (not the Aros
versions), C:RexxMast was started and the RX command
can be found in C: or maybe somwehere in your PATH.
Of course, Scalos needs to be started standalone as a
replacement for Wanderer in your startup-sequence, if
you really want to get most of Scalos' functionality.
If your Aros 68k causes some transparent holes in the
icons on Scalos after you've clicked on them and the
mouse pointer is moved then you can avoid this bug by
enabling the hardware sprite support in your emulator.
Some Scalos preferences which can cause other issues:
"Masked click area" for icons can make it impossible
to select scaled icons. Disable it if this happens.
"Mark icon under mouse" might also have side effects.
Keep Deficons opaque in case that they disappear when
you drag them around. This icon.library supports the
custom bob routines with "Real Transparent" dragging,
although the Scalos code seems to have a little bug,
because it uses the masks of the first images for the
dragged second images when this Truecolor mode is ON.
There is a newer scalosgfx.library from 1.4.2025 for
April fools which is buggy and crashes sometimes. You
better replace it by the older file from Scalos 41.8.
Download: https://sourceforge.net/projects/scalos
The usage of GetARGBImageData1/2 tags was probably a
bit limited, caused by of a restriction to Scalos RTG
screens, which now only exists for the Scalos tasks.
Some of the fixes in the palette based libraries:
The handling of mixed Aros icons with 1 palette based
image and 1 ARGB TrueColor image is the same as in my
v51 libraries now, which means that the poor looking
palette based image is replaced by a color reduction
and color mapping of the TrueColor image with better
quality.
The viewmodes and drawer flags of PNG icons are also
set correctly now. Don't know why they were set to 0?
Letzte Änderungen:
~~~~~~~~~~~~~~~~~
Es gibt jetzt eine neue palettenbasierte "Smart"
icon.library als besseren Ersatz für die 68020
Version, die es mittels zweier zusätzlicher Level
von Alpha-Kanal Transparenz erlaubt, die Ränder
der Icons auf Hi/Truecolor Bildschirmen etwas
weicher über dem Hintergrund auszublenden und
auch teil-transparente Schatten ermöglicht. Das
funktioniert jetzt mit nur einem Byte pro Pixel,
nachdem die TrueColor Icons konvertiert wurden.
Im Vergleich zum Laden und Anzeigen von echten
TrueColor Icons, zB. durch TC020, können diese
konvertierten "SmartIcons" sehr schnell geladen
und dargestellt werden und benötigen dabei viel
weniger Speicher als PNG, OS4 und Aros Icons.
"SmartIcons" besitzen zwei Alpha-Kanal Bereiche
mit 37.5% und 62.5% Transparenz und berechnen
die Farben dafür mittels zweier virtueller 3x3x3
und 6x6x6 Farbwürfel und einem einfachen Hellig-
keitsdithering per Schachbrettmuster, was noch
weitere Mischfarben ermöglicht. Auf Chunky und
planaren Bildschirmen wird die Alpha-Transparenz
durch ein Mischen der Farben mit Grau ersetzt.
Diese smarte Farbreduzierung ist trotzdem immer
noch kompatibel zum OS 3.5 ColorIcon Format und
die neuen Icons können auch mit allen anderen OS
v44+ icon.libraries angezeigt werden, allerdings
werden die transparenten Iconränder und Schatten
dann durch ein Mischen mit Grauanteilen ersetzt,
wie dies auch schon bisher bei der 68020 Version
oder mit der Option ConvertTruecolor passierte.
Die meisten meiner Libraries können jetzt auch
TrueColor Icons zu SmartIcons konvertieren. Nur
die 68000 Version, Smurf und Base tun es nicht.
Die gepackte "Cool" Library ist Base plus Smart.
Wenn man TrueColor Icons in den OS 3.9 IconEdit
lädt, kann man durch Anklicken der ersten Farbe
in der Palette, die mehr oder weniger als gelbe
transparente Farbe erscheint, Informationen zum
Alpha-Kanal erhalten. Der Rotanteil sollte 250,
der Grünanteil 222 betragen und Blau zeigt die
Anzahl der verwendeten Alphafarben an, die ganz
am Ende der Palette erscheinen. Der hexadezimale
RGB-Wert der Farbe #0 sollte also $FADE.. sein.
Wenn man diese konvertierten Icons abspeichert,
wird meine Palettenoptimierung allerdings Lücken
und doppelte Farben aus der Palette entfernen,
so dass sich deren Reihenfolge ändert, aber die
2 teil-transparenten Alpha-Kanal Level bleiben.
Leider löscht der OS 3.2.x IconEdit die Farbe 0
und zerstört dadurch die Alpha-Transparenz, was
man aber mit 3.9 wieder manuell reparieren kann.
Die Aros Libraries sind jetzt auch v51 inklusive
der ganzen ARGB Konvertierungsroutinen und dem
Support für Scalos, bis auf die gepackte "Aroz"
Version, die nur Wanderer unterstützt. Eine neue
ARGB Icon-Ziehroutine von Wanderer im Deadwood
Aros-Zweig funktioniert nun und alte sowie MWB
Icons werden immer in ARGB Bilder mit MWB-Farben
konvertiert und mit WritePixelArray() angezeigt.
Die icon.library von Aros 68k muss zunächst aus
der Liste der residenten Module entfernt werden,
was man mittels "RemLib >NIL: icon.library" oder
LoadModule tun kann. Um unter Aros DefIcons von
ENV:Sys zu laden anstelle von ENVARC:Sys, sollte
man auch ein "Assign ENV: ENVARC: ADD" benutzen.
Download (classic): https://github.com/deadwood2/AROS
Die Unterstützung für Scalos auf Aros 68k wurde
bei den Aros und ArosHB Libs deutlich verbessert.
Man muss dazu alle iconobject datatypes bis auf
die zwei Dateien amigaiconobj35.datatype und den
iconobject.datatype völlig aus dem Verzeichnis
Scalos:icondatatypes/Datatypes entfernen, damit
meine icon.library die Dekodierung aller Icons
übernimmt und Scalos sie nur skaliert und anzeigt.
Skalierte Icons werden unter Aros 68k beim Ziehen
leider unsichtbar, aber man kann Iconlabel-Text
für das Dragging aktivieren, um die Position zu
verfolgen. Mit meinen Libraries kann man Scalos
auch auf Chunky und native Bildschirme umschalten
und die Icons werden dann automatisch remapped,
wenn man auch das wb39.plugin und wbrexx.plugin
installiert hat und RexxMast, rexxsupport.library
sowie rexxsyslib.library von OS 3.1 benutzt. Mit
den Aros Dateien funktioniert es nicht. RexxMast
muss bereits laufen und der RX-Befehl sollte im
C: Verzeichnis liegen oder irgendwo unter PATH.
Um alle Eigenschaften von Scalos nutzen zu können,
muss man es als Ersatz für Wanderer starten.
Wenn Aros 68k transparente Löcher in den Icons
auf Scalos erzeugt, sobald man sie anklickt und
den Mauszeiger bewegt, kann man dies verhindern,
indem man im Emulator Hardware Sprites aktiviert,
um den Mauszeiger zu ersetzen.
Einige Scalos Einstellungen können noch weitere
Probleme bereiten: "Maskierte Klickbereiche" für
Icons können es verhindern, dass man skalierte
Icons selektieren kann. Man sollte es abschalten.
"Icons unter der Maus markieren oder hervorheben"
kann auch Nebeneffekte haben. Lasse DefIcons 100%
sichtbar, falls sie beim Ziehen verschwinden.
Eine neuere scalosgfx.library vom 1.4.2025 ist
instabil, crasht manchmal und sollte gegen die
alte aus Scalos v41.8 ersetzt werden.
Download: https://sourceforge.net/projects/scalos
Description:
~~~~~~~~~~~
This is an optimized replacement for the icon.library
of AmigaOS 3.0-3.9 or Aros 68k which can exist in the
Kickstart ROM or is loaded from the LIBS: directory.
This shared library offers several functions to load,
decode, display and save icon images and to configure
settings for the execution of the associated programs
by storing tooltypes, a default tool, stacksize, icon
position and drawer window data in the ".info" files.
Supported icon types are all old and MWB planar icons
as well as color-mapped NewIcons or OS 3.5 ColorIcons
and also OS4 and PNG TrueColor and merged Aros icons.
All icons can be displayed either with the blitter or
FBlit and the Amiga chipset or on a graphics card by
P96 or CGX in their best quality as fast as possible.
Beschreibung:
~~~~~~~~~~~~
Dies ist ein optimierter Ersatz für die icon.library
von AmigaOS 3.0-3.9 oder Aros 68k, die im Kickstart ROM
existiert oder aus dem LIBS: Verzeichnis geladen wird.
Diese Shared Library enthält die Funktionen zum Laden,
Dekodieren, Anzeigen und Speichern von Piktogrammen und
zum Verwalten von Einstellungen für die Ausführung der
zugehörigen Programme durch Erfassen von Tooltypes, dem
DefaultTool, der Stackgrösse, der Icon-Position und bei
Verzeichnissen von Fensterdaten in den ".info"-Dateien.
Unterstützt werden alle alten planaren und MWB-Icons,
sowie palettenbasierte NewIcons oder OS 3.5 ColorIcons,
als auch OS4 oder PNG TrueColor-Icons und Aros Icons.
Alle Icons werden entweder per Blitter oder FBlit vom
Amiga-Chipsatz oder mit P96 bzw CGX auf Grafikkarten in
ihrer besten Qualität so schnell wie möglich angezeigt.
Distribution:
~~~~~~~~~~~~
This program is freeware. I don't give any warranties.
You are using this program on your own risk and you
are responsible for any damage it could cause to your
system. This icon.library is completely independent
and free of the AmigaOS copyright. :)
Donations are welcome, if you like. (See IconLib.guide)
Verteilung:
~~~~~~~~~~
Dieses Programm ist Freeware. Ich gebe keine Garantien.
Die Benutzung erfolgt auf eigenes Risiko und der Nutzer
trägt für jegliche Schäden an seinem System selbst die
Verantwortung. Diese icon.library ist vollständig frei
und unabhängig vom AmigaOS Copyright. :)
Spenden sind willkommen, wenn's gefällt. (Siehe Guide)
Copyright 2007-2026:
~~~~~~~~~~~~~~~~~~~
Peter Keunecke
|