English Amiga Board

English Amiga Board (http://eab.abime.net/index.php)
-   Coders. System (http://eab.abime.net/forumdisplay.php?f=113)
-   -   icon.library 46.4 test versions (http://eab.abime.net/showthread.php?t=64079)

PeterK 27 April 2012 10:54

icon.library 46.4 test versions
15 Attachment(s)
Always download the latest full version from Aminet before you update:

Aminet - util/libs/IconLib_46.4.lha ... 46.4.536 is out now.

Update to icon.library 46.4.537:

This is a fix for a small gentle bug that was hiding in IconControlA(SetWidth/SetHeight) since build 484. It did probably never cause any harm yet by using the non-preserved scratch register D1 with a structure offset of zero for Width, because by coincidence AllocMem() uses D1=0 for clearing the structure too, and thus has always fixed this bug. But some "evil" debugging tools didn't like this trick. ;) These functions were called by Eastern, for example. Unfortunately, Eastern still doesn't work on Aros after fixing this bug, so don't install it there!

Update to icon.library 46.4.538:

Added some workarounds for using PNG icons with AsimCDFS, which only knows and expects the normal DiskObject structure without checking the file signature for it. Thus, PNG icons loaded by AsimCDFS_Prefs are automatically converted into OS 3.5 ColorIcons to avoid a later trashing of the virtual icons on the CD by AsimCDFS. If you would copy PNG icons directly into ENVARC:AsimCDFS they won't be loaded anymore after a trashing was detected, but you can still get the deficons instead by activating "Show All" on WB.

However, AsimCDFS_Prefs always causes corrupted memory lists (FreeVec in workbench.library without a corresponding AllocVec) and a lot of memory trashing when the size of the used icons is larger than ~5k, no matter which type of icon is loaded by AsimCDFS_Prefs. Your system may become instable until the next reboot. Mounting the CDs and displaying these larger icons is no problem.

This update brings also a small fix for the CRC calculation of the "icOn" chunks in PNG files, which was wrong but is quite meaningless anyway.

Announcement about Amikit X and XE:

Any support for my icon.library installed on Amikit X or Amikit XE ends now! Distributing or installing future versions or newer builds of my library on Amikit X/XE will be illegal, and it may also result in sudden unexpected behavior or failure. The next Aminet release will indicate appropriate restrictions in the list of changes and the copyright section. The source code won't be published anymore for a while. I regret that I have to react in this way to the barefaced price policy of these commercial products selling lots of freeware. Other free software distributions are not concerned.

Update to icon.library 46.4.540:

The TrueColor versions are now able to save the preview images of Eastern icons in the OS4 format if zlib.library v3.2 from Aminet is installed. Then it's also possible to convert PNG into OS4 icons with an optional command which makes the files about 15 % larger but loading 30 % faster.

Another option is "FakeIconSizeForAfA" that can be used as a fix to let AfA_OS display OS4 icons that were written by my icon.library. This should not be used if you don't need these icons for AfA, because the small planar images of OS4 icons will waste too much space on WB 3.1 which looks ugly. Both commands are On/Off switches. This option can replace "KeepPlanarImages" and should also work with "KillPlanarImages" to get smaller OS4 files for AfA_OS, too.

There is also a new feature for OS 3.2 already implemented, but not fully tested yet, because I don't have that.

540 removed: There was a bug report about crashes under Aros 68k with DOpus 5.82 on Vampire. I couldn't get any information yet on how to reproduce it, and it still works for me without problems.

This person who sent me the email and who sold his own Vampire v4 to Jan at the last Amiga fair just asked me pretty neat about the changes that I recently made in 540. Probably some assembler experts need some hints to crack my library for AmiKit. Since I have no intentions to play "Tom and Jerry" with this silly cat I think it's better to get to an end with my icon.library coding now. There is not much left to do anyway. So, be careful, you may soon find some fake versions of 540 in the web. If my library finally has some new authors they should take over the development, so that I can relax and watch the progress. Good luck! :D

The difference between icon.library_68020 and icon.library_TC020 (no, this is not a special CPU design):

The 68020 version always displays OS4 and PNG icons after a color reduction in the OS 3.5 format with maximal 255 colors and simple transparency, even on Hi/TrueColor screens. But if you save these converted icons in the OS 3.5 format, they will become smaller and can be loaded much faster than TrueColor icons. The 68020 version needs less memory for OS4 and PNG icons but has a little lower quality than TC020 on TrueColor screens, although it already uses direct drawing to the graphics card unlike the 68000 version which supports palette based color mapping only.

The TC020 version can display OS4 and PNG icons in best TrueColor quality and with alpha channel blending on graphic cards. This can happen very fast without the time consuming color reduction, but it needs more memory to hold the compressed ARGB images. The icons are also copied and saved in their original OS4 or PNG format. If, for some reason, you would like to save these icons in the OS 3.5 format, you could still use the command "ConvertTrueColor" before displaying them. This instruction works like a downgrade to the 68020 mode. "PreserveTrueColor" switches back to the TC020 mode. Furthermore, the TC020 version supports all other 8-bit and planar screenmodes in the same way as the 68020 version.

Btw, the FastWB, Aros, HAM6 (hm020), HAM8 (HM020) and LD020 versions have the same support for TrueColor screens as TC020.

IconDemoHAM6 and IconDemoHAM8 ADF images. (513)

All IconDemos need Kickstart 3.0 or better 3.1, but are not made for 3.1.4 or 3.x, because the workbench.library is missing and the WB 3.1.4+ also requires a different FBlit.cfg and DefIcons. Nevertheless, HAM screenmodes are possible with 3.1.4, 3.5 and 3.9, too, but I can not offer demo disks. A very fast CPU and the AGA chipset are recommended. HAM6 on OCS/ECS in LowRes makes no fun at all, and the default configuration for HAM6 is to use a HiRes (AGA) screen.

IconDemoA500 and IconDemoA1200 ADF files (486):

To make it easier to use my icon.library under OS 3.0/3.1, I've built two demo floppy images that should show you how to get things to work. Just copy one of these ADF files onto a floppy disk and then boot from it. These images are NO speed demos! If you have enough RAM you could also use the much faster RAD: disk. (Please, always install the latest icon.library on your harddisk)

These demos can display all types of icons: old icons, MWB-icons, NewIcons, GlowIcons, OS4-icons and PNG-icons. This does not need a workbench.library v44+. Only the old icon.library is removed from the resident list with Thomas Rapp's very nice RemLib tool and then the new icon.library is loaded from Libs: into the memory instead, without a reboot.

IconDemoA500.ADF is for low end systems with 68000+ CPUs, OCS/ECS with a fixed 16 color palette, minimal 512 kB ChipMem and 1 MB FastMem. I would recommend at least 40 MHz and more memory to enjoy it (e.g. a MiniMig). 68020+ systems are detected and supported by loading the 68020 version automatically.

IconDemoA1200.ADF is for better systems with 68020+ CPUs, AGA, minimal 1 MB ChipMem and 2 MB FastMem and uses FBlit. It needs no ChipMem for the icons and the NewIcons patch makes even transparent backgrounds possible.

In both configurations DefIcons, AutoUpdateWB and SwazInfo are also installed. These ADFs are working with Kick 3.0 already and are supporting PAL and NTSC screenmodes.

The excellent CopyIcon tool from Stephan Rupprecht makes it possible to replace the images on your existing icons with a simple drag&drop from all available icon sets, no matter which format the source icons have.

Of course, the icon loading from a floppy disk will always be very slow. Furthermore, OS4 and PNG icons can also be rendered much faster after converting them once into the OS 3.5 format, but on these ADFs they are still in their original file format in order to demonstrate the ability to decode them on any Amiga.

Thorham 27 April 2012 11:16

Cool :great But how do I use this (3.0)?

PeterK 27 April 2012 11:21

It works with ClassicWB (tested ADVSP), Scalos 1.2d and OS 3.0.
No need to get any OS 3.5+ files !



mfilos 27 April 2012 11:23

Will report back from home Peter mate :)
Cheers once more for these updates \o/

PeterK 29 April 2012 03:18

If you have SetPatch v44 then simply don't use LoadModule or LoadResident to load the icon.library or the workbench.library. SetPatch will do that.

SpeedGeek 29 April 2012 20:17

I thought you could just copy the latest version of icon.library to libs: and it would automatically be used if it's newer than the ROM based version?

I think I have 40.4.209 in ROM and I really don't want to burn a new ROM for every update. I don't like LoadResident any more than I like OSRomUpdate!

mfilos 29 April 2012 21:29

Tested it tonight and it works just fine (as the previous version did).
Haven't tested thoroughly all the new features but will report once I test them out

I agree SpeedGeek that is annoying burning new ROM for the new updates. I use ACATune's MapROM feature which rox, but it would be really awesome if we could make something like ROMflash at some point to get over with all this stuff :(

PeterK 29 April 2012 21:42

I would agree to that it doesn't make much sense to put the icon.library into an eprom and burn a new one for every update. Maybe, if it were a flash rom. Nevertheless, it has a lot of advantages to use custom ROMs with WinUAE or BlizKick or other ROM emulaters. You have shorter boot times and building a new ROM image is quite easy with Remus.

But many people are using LoadResident or LoadModule to make these libraries reset proof. This needs an extra reset only for the cold start which is neccessary for SetPatch in any case, but it speeds up all further reboots later.

If you don't use it then SetPatch will always try to replace the resident icon.library and workbench.library with those that can be found in the LIBS: drawer, exactly as you said (but maybe without checking the version). As a result, LoadResident calls will get useless and fail and for LoadModule calls SetPatch will just waste memory by loading these two libraries again.

To avoid this rename these libraries to prevent SetPatch from finding them in LIBS:.

ok, mfilos was a little faster ;)
Thanks for testing, mfilos !

_mandark_ 01 May 2012 17:42

icon.library 46.4.230 running fine so far on my system (A1200, ACA1230-56, OS 3.9 on 4 GB CF-card).

clauddio 04 May 2012 00:52


Originally Posted by PeterK (Post 815289)

Something else: Important for users of DOpus Magellan II:

Make sure that the newicon.library V44 is installed in your LIBS: drawer.
And activate "Alternative Icon Copying" in the DOpus settings.

I'm using dopus 5.82 ( last version)
where is the option "alternative icon copyng" ? I can't found it

PeterK 04 May 2012 07:31

Sorry clauddio, I was using DOpus Magellan II with German localization and the options name was "Alternatives Piktogramm Kopieren", so I thought that the translation should be "Alternative Icon Copying". But now I've changed the localization to English and that shows me under "Icon Settings" that the option is called "Smart Icon Copying" instead. ;)

Thank you for your report :great

PeterK 19 May 2012 11:07

Updated to icon.library 46.4.231 :)

NovaCoder 23 May 2012 06:48

Cool I will get around to installing this soon, thanks for your work :)

I'm running an AGA WB OS 3.9 BB2 and RemapApollo (works like BlizKick).

I assume I can just give this icon.library to RemapApollo and it will be all good?

This library will be faster/better than the BB2 version for an AGA user?

daxb 23 May 2012 10:47

You can load the icon.library with RemApollo as a module. I tested that on a A1200 Apollo 1240 OS3.1 system. ...and additional what PeterK wrote. You can check with e.g. Scout if resident loading worked.

NovaCoder 23 May 2012 13:26

I just use NOROMUPDATE for SetPatch and then pass in all the updated modules separately to RemapApollo :)

PeterK 23 May 2012 14:58


Originally Posted by daxb (Post 819722)
You can load the icon.library with RemApollo as a module. I tested that on a A1200 Apollo 1240 OS3.1 system. ...and additional what PeterK wrote. You can check with e.g. Scout if resident loading worked.

Better check with "Avail FLUSH" directly after booting has finished.
And compare it once with SetPatch DISABLEROMMODULES ""
and another time without this option.

I would predict and could bet that NOROMUPDATE will not prevent SetPatch from disabling these two resident libraries and loading them from LIBS: again. They may still appear in the resident list, but they are disabled there. Only Avail FLUSH can show the difference.

_mandark_ 24 May 2012 16:16

Was testing the new version on my A1200 and WinUAE (A1200-clone, Picasso96, uaegfx) yesterday. No big problems whatsoever, but I encountered a freeze on WinUAE when saving all drawer icons in a drawer (about 160 blue and green colored drawer icons). But I was not able to reproduce the crash...

PeterK 24 May 2012 23:11

Hmm ? I never encountered such a problem yet.
Please, give me some more details in case it occurs again. (example drawer icons or the name of the icon collection they belong to)

Maybe this could also be an issue of the new dos.library ?
I guess, you are using it, but I didn't try it out yet.

PeterK 29 May 2012 17:31

Updated to icon.library 46.4.235

_mandark_ 01 June 2012 12:58


Originally Posted by PeterK (Post 819968)
Hmm ? I never encountered such a problem yet.
Please, give me some more details in case it occurs again. (example drawer icons or the name of the icon collection they belong to)

Maybe this could also be an issue of the new dos.library ?
I guess, you are using it, but I didn't try it out yet.

Your guess was right, I am using the new dos.library ;) But I also have not encountered this problem again. Your latest icon.library is running fine on my systems.

All times are GMT +2. The time now is 19:51.

Powered by vBulletin® Version 3.8.11
Copyright ©2000 - 2020, vBulletin Solutions Inc.

Page generated in 0.16052 seconds with 11 queries