Hangar.La tienda de software del Amiga

PowerIconsSrc 1.06

PowerIcons source code, last 68k release

Short:        PowerIcons source code, last 68k release
Author:       elena@elenadomain.it
Uploader:     elena elenadomain it
Type:         util/wb
Version:      1.06
Requires:     AmigaOS 3.9, VBCC C Compiler, libz
Architecture: generic


 LICENSE
 -------
 -These sources have been released for free to the Amiga community but I still maintain
  the (c)opyright on them;
 -Anybody using them, entirely or partially, inside his own project must specify their
  original author in a note;
 -ANY USAGE OF THESE SOURCES OR PART(S) OF THEM FOR COMMERCIAL PURPOSES OR IN COMMERCIAL
  PROGRAMS IS STRICTLY FORBIDDEN!


 PLEASE READ
 -----------
 It's many years since I released PowerIcons to the Amiga community.
 At those early times, AmigaOS4 developers were still showing no intention to implement
 a 32-bit icon support in the new icon.library and Workbench.
 On MorphOS's side, Ambient was still a very poor, little useable and crashful
 desktop, even if first introducing a png-based 32-bit icon system.
 I had to chose an icon format for PowerIcons, and thus, just to avoid introducing
 a new, propertary one, I decided to follow the only one available, i.e the single
 image, png-based format used by Ambient.

 Many things changed or evolved since - but one thing apparently survived: an entire
 community of people, both users and developers, still stuck to the old, 68K-based
 AmigaOS 3.9, possibly running on emulators as UAE. And still going mad with
 patches over patches over patches in order to make their desktop and operating
 system looking a bit less obsolete.

 Since some years I abandoned definitely any developing activity finalized to improve
 my system in some way, or even just involving direct use of the AmigaOS. I'm still using
 an Amiga-based system for my works of graphician and researcher (along with PCs, of
 course) but I now limit to write C programs when I need them, and which do mainly
 calculus, using OS calls only where strictly needed. Read: I'm no longer an "Amiga
 developer" in the strict sense. All my previous public projects are abandoned.

 But recently I heard notice of some 68K fanatics out there still fighting with icons
 and conflicts between patches, and related projects. I also heard that somebody is
 seriously interested in gaining access to the sources of PowerIcons in order to update
 it, fix compatibility with other aggressive patches, maybe introducing support for the
 double-image icons, or even integrating the code in other bigger projects.

 So I decided to release them, finally. After all, if somebody is interested, I have
 nothing to gain or to loss. So enjoy them. And good work.


 ABOUT THE SOURCES
 -----------------

 First please don't blame me if you don't like my coding style. I kindly accepted to
 release them for free and in the state they originally were, so send your criticisms or
 insults to >NIL:
 The makefile also is a stupid mess, I never liked playing with makefiles, please accept.

 The sources compile with VBCC, but they can be easily adapted for any other C compiler.

 LibZ is required for linking because the uncompress() function is used by GetPNGPicture.c.

 The sources were conditionally valid for both 68K and MorphOS PPC. You simply
 drop all PPC stuff (#undef __MORPHOS__) (mainly entry points of the patched functions).
 Note that the PPC version was never really useful to anybody except me. Ambient now
 is mature enough. The special AmigaOS4 version is not included here, but the same thing
 applies: AmigaOS4 has its native 32-bit, double image icon support since times, PI for
 OS4 had (by luck) a very short useful life.

 Sorry, the code is not extensively commented, just because it wasn't initially
 intended for publication - only some comments useful to the developer, myself, were
 present. You need deep knowledge of AmigaOS, in particularly of icon.library, and
 some headaches, before you can understand many passages. Many tricks also were
 emploied to integrate the patch acceptably inside a system which was never designed
 to support 32-bit icons, and to work with DefIcons and RAWBInfo! And also, many tricks
 and data caches used to speed up icon loading, drawing and saving back were studied
 and implemented. Evil things... still using what I would call a very compact and essential
 code, when compared to the standards. So please put your hands and mind on at your own
 risk!

 Patched IconLibrary funcions are referenced as XYZ_New() with acronyms, eg. GIT_New is
 GetIconTagList, DIS_New is DrawIconState, GIR_New is GetIconRectangle, etc.

 The icon format, so all tags for tooltypes, etc. was deduced by reverse engineering
 the very first png icon format used by early verions of Ambient - and partially
 extended to cover specific Workbench options and needs.

 Please don't email me asking help because I honestly don't remember almost anything
 of what I wrote and so I would be of little or no help. I put my hand in that code
 last time at least seven years ago!

 Please also note that many portions of the code may look strange because they were
 source-level optimized, i.e written keeping in mind how the resulting ASM would look
 like, for speed purposes. I'm in no way an "academical" programmer.

 One thing I remember is the alpha-blitting functions, where I choose a very little
 compromise between mathematical correctness and speed (in the case somebody will notice
 something strange with the relative code).

 The code is assumed to be (empirically) bug-free - even if, as always stated, conflicts
 with other concurring patches could never be guaranted.

 For any other info and detail about PowerIcons, please refer to the documentation from
 the original PowerIcons package found on Aminet.


 Elena (elena@elenadomain.it)

 

Gratis

Descargar 97 KB

Desde el Amiga: abre Hangar y busca PowerIconsSrc.

Autorelena@elenadomain.it
Categoríautil/wb
Tamaño97 KB
Fecha2024-08-31
Parageneric
NecesitaAmigaOS 3.9, VBCC C Compiler, libz
OrigenAminet