The Save_Amiga_Icon functions are coming along nicely! For the sub-functions other than Write_OS35data the second most difficult for me was the Write_Image function which writes planar data to file. There are just a few functions left to do till Save_Amiga_Icon is done. I've been working on Save_Amiga_Icon for 6 months.
Why is it so important to save an Amiga Icon? The Classic Icon is the basis for three of the Icon styles supported by AROS. The Amiga Glow Icon is a Classic Icon (Old Icon Format) with OS 3.5 IFF Icon Data attached at the end. The IFF data contains the images that AROS displays. An OS4 icon is a Classic Icon with OS 3.5 Data attached. But unlike a Glow Icon it only has a 'FACE' chunk with no 'IMAG' chunks. It has 2 'ARGB' chunks at the end of the Icon file that are used to display. The AROS Hybrid Icon or ARGB Icon is similar to the OS4 Icon but it has a complete Glow Icon that 2 ARGB chunks are attached to at the end.
Write_Image is now working. Save_Amiga_Icon loads an ILBM file to get the chunky image data which consists of index values. The image data is processed by RemapIconImage which maps the index values to a standard 4-color palette. Write_Image then writes the planar data to file.
In the screenshot on the lower right side there are 2 small Windows displaying icons. I used the VIEW option for modifyicon to display the Old Icon Images & Glow Icon Images to make sure Write_Image was working correctly. At first it wasn't. The first set of images shows distortion for the Old Icon Images, though the Glow Icon Images are shown correctly.
The distortion for the Gadget Images is caused by incorrectly handling the padding bytes at the end of each scanline for the planar data. I tried to go the easy route by writing the entire planar buffer to file in one go. This is the result.
In the second set of images you see that the Gadget Images & Glow Icon Images are shown correctly. I had to revise Write_Image to write each scanline separately with padding bytes.
Edited by miker1264 on 09-01-2025 14:17,
1 month ago
miker1264 attached the following image:
Happy New Year!
Just a small update. I'm still working on Icon Press to Save A Classic Icon (Amiga Icon).
I'm still working on revising & testing Icon Press to Save Amiga Icons, as well as a user interface for Icon Split that will be Amiga 68k compatible.
Now that I'm fixing up my testing environments including AROS One x86 & Tiny AROS & my new version of a minimalist AROS Distro. I'm still working on improving it & updating the icons & making new window themes. You have already seen a sample screenshot. Here it is again...
I need some new & updated colored icons so now I also need new icon tools. These will be Icon Mask, Icon List, Icon Tint & Icon Batch. Icon List builds a list of all the icons on the system.
Icon Mask & Icon Batch are related. Icon Mask uses an original icon image, icon image mask & icon base image to make a new icon image. Icon Batch does the same but it makes & builds all the icon images in the list & it assembled icons. Icon Batch can make & assemble 400 images to make 200 new icons in less than one minute!
miker1264 attached the following image:
Now that another project using Datatypes has been completed I can focus again on Icon Press to attempt to save an Amiga Glow Icon from two input ILBM images. It's coming along nicely, but it's a slow iterative process. It takes some time!
miker1264 attached the following image:
AMIGASYSTEMDistro MaintainerPosted
3 months agoOK thanks, I'll create the icons for AROS One in the meantime!
AMIGASYSTEM
The PixieView program has been updated. But I need to add the HAM conversion code to save 24bit images as HAM6 or HAM8. The code is working I just need to add it to the new version.
Edited by miker1264 on 23-11-2024 15:50,
3 months agoAMIGASYSTEM
Maybe there is a glitch in the VMWare Graphics display driver. But you do more testing if that helps. I wonder what Icon Editor for OS3 does to the PNG images that makes them correct?
Feel free to include PixieView if you want to. It's a simple and easy to use image viewer using picture Datatypes. Test out PixieView and let me know if there are any issues that I need to correct.
I should probably remove the first two messages when opening a picture file "success" & the picture dimensions. That could be annoying. It was just for testing purposes on my end. Let me make a few changes then I will post a new version of PixieView tomorrow that you can include.
Edited by miker1264 on 22-11-2024 19:50,
3 months ago
AMIGASYSTEMDistro MaintainerPosted
3 months agoThanks miker, this is getting more and more interesting!
Even the Pointer saved by your pixieview program shows the white shadow when used with VMware "Native Mode".
I create my Pointers with PhotoFiltre, but I have the same result if I create them in PhotoShop and other PC Paints
And also the Pointer saved with pixieview I can remove the white shadow with Icon Editor on my AfA One (only on OS3), basically IconEditor allows me to save a part of the image see screenshot !
The curiosity remains to find out with which programme they create the Pointers on the AROS Build!
I like your pixieview, I will insert it on AROS One if you like!
Probably VMware's Native mode has some graphical problems, but it helped me to discover the difference between my Pointers and those of the Builder
I have not tested Native mode on VirtualBox !
On Native PC no problem, Azure-No trasparent.png works perfectly, no White shadows, and no user has ever complained as all AROS One Pointers were like that (Now all corrected on AROS One 2.7)
AMIGASYSTEM attached the following image:
AMIGASYSTEM
Here are the files. I used my PixieView Picture Viewer to open both test images Azure-Not Transparent.png and Azure-Ok Transparent.png then I used from the Picture menu Save Picture which uses picture Datatypes to save as PNG.
For both images this puts them through the Datatypes system and it removes any extra chunks and corrects any errors in the files.
Azure-Not Transparent.png originally had 619 bytes. After saving it with PixieView it had 710 bytes. Azure-Ok Transparent.png had 672 bytes and after saving it still had 672 bytes.
The IHDR data in both files were identical. They are both 32bit PNG images. The Non-transparent image (619 bytes) had an extra pHYs chunk. The images saved from it had only the IHDR, IDAT & IEND chunks. It seems the Transparent image (672 bytes) was previously saved using picture Datatypes or PNG library with the same compression scheme and degree of compression. The before and after files are the same.
I also included PixieView for AROS x86 so you can try it for yourself to open and save problem pointer images. Again, open the pointer file then use the Picture Menu, Save Picture to save a new PNG file. Have fun!
Where did the Azure-Not Transparent.png image come from? Which application saved the file?
Edited by miker1264 on 22-11-2024 16:19,
3 months ago
miker1264 attached the following file:
AMIGASYSTEM
I watched the video about the non-transparent pointer. It was interesting and informative.
I tested the pointer images you provided. It seems to be a PNG file format issue. I will explain more in a bit. I converted them using Datatypes and re-saved as PNG images.
I will post the files in about an hour.
AMIGASYSTEMDistro MaintainerPosted
3 months agoI enclose a video to see the differences on WMware Native Vs VESA, I also enclose the two Images of the Pointers, one No Transparent and the other Fixed
AMIGASYSTEM attached the following file:
Send me an archive of a pointer with transparency issues on VMWare and one that you fixed with OS3 Icon Editor. I will find the difference.
AMIGASYSTEMDistro MaintainerPosted
3 months agoMy Pointers are PNG images with transparency, but even if I restore them from Zune Paint nothing changes.
But mind you, as I said on PC Native and on VMware VESA no problem the pointers are perfect and the transparency is perfect, the white shadow instead of transparency happens "only" if I use the native mode on VMVare.
Another strange thing, I can only get rid of the problem if I use Icon Editor OS3 version, but it doesn't work if I use Icon Editor on AROS, it's the same program.
I'll make an exhaustive video to show you what happens!
AMIGASYSTEM
That's the yet unfinished Mahogany Window Theme. The rounded corners are an illusion. It's the shape of the window Titlebar Image itself that provides that. It isn't transparency but rather the corner pixels are missing in the Titlebar. But I could be wrong. Maybe it is transparent. I'll send you the Mahogany Theme to compare. Maybe some day I will finish the Mahogany and Hickory Window Themes. :-)
As far as how to produce Mouse Pointers on AROS I would think ZunePaint or LunaPaint would work. I haven't made Pointers before but it would depend if the Pointer Image is 24bit or 32bit and the image format. Is it PNG? Judging by the window theme layout which is PNG I would guess it is the same format - 32bit ? That should allow for transparency on 15/16bit, 24bit and 32bit screens. But it may not work on less.
As for the black areas of your Pointers that should be transparent if it expects 32bit images and it is only a 24bit image that would account for that happening. Try a 32bit image instead.
I'll look at some AROS Pointers to see if I can give a better answer. Maybe you can post an archive of a few of your good Pointers and the others with black or white background issues so I can compare?
Edited by miker1264 on 21-11-2024 14:34,
3 months ago
AMIGASYSTEMDistro MaintainerPosted
3 months agomiker in your screenshot I noticed the slightly rounded window, how did you create the transparency in the cut corner ? if I leave the corner transparent Wanderer adds a small black background ?
For example on the many Pointers I have created, the transparencies work perfectly both on AROS Native Video Card and in VESA mode.
However, unintentionally when testing VMWare in "Native Mode" the transparency in the Pointer was replaced by a black or White background.
Strangely, however, I noticed that the native AROS Pointers (those included in the Build) did not have this problem in "VMware Native Mode".
I tried to understand the difference without finding anything, the AROS Native Pointer loaded on any Paint including Photoshop once saved even without making any changes became like my Pointers with the same black shadow problem.
After much testing I finally managed to eliminate the problem by using the IconEditor program which allowed me to save a Pointer image with compatible transparency.
Question, do you know what software they use on AROS to create Pointers ?