YesNoOk
avatar

Icon pack development (Read 3640 times)

Started by Nightwish, March 10, 2005, 23:35:09

0 Members and 1 Guest are viewing this.
#1
Icon pack development |
March 10, 2005, 23:35:09
This is a list of icon IDs for the current icon pack format. The list is taken directly from the source code.

The numbers are corresponding to the ordinal numbers in the resource DLL.

Code:
#define IDI_HISTORY 1           /* history button */
#define IDI_TIMESTAMP 2         /* message log options */
#define IDI_ADDCONTACT 3        /* add contact symbol (not a button anymore) */
#define IDI_MULTISEND 4         /* multisend (not a button anymore, symbol still needed) */
#define IDI_TYPING 5            /* typing notify icon in the statusbar */
#define IDI_QUOTE 6             /* quote button */
#define IDI_SAVE 7              /* close tab (with non-empty message area) */
#define IDI_CHECK 8             /* send button */
#define IDI_CONTACTPIC 9        /* avatar button */
#define IDI_CLOSEMSGDLG 10      /* close tab (when message area is empty) */
#define IDI_USERMENU 11         /* user menu pulldown */
#define IDI_MSGERROR 12         /* error (for the message log and tab image) */
#define IDI_ICONIN 13           /* incoming msg icon (log) */
#define IDI_ICONOUT 14          /* outgoing msg icon (log) */
#define IDI_SMILEYICON 15       /* smiley button fallback */
#define IDI_SELFTYPING_ON 16    /* sending typing notify is on */
#define IDI_SELFTYPING_OFF 17   /* sending typing notify is off */
#define IDI_CONTAINER 18        /* static container icon */
#define IDI_SECUREIM_ENABLED 20 /* connection is secured via secureim */
#define IDI_SECUREIM_DISABLED 19    /* connection is not secured */
#define IDI_STATUSCHANGE 21     /* status change events (message log) */
#define IDI_FONTBOLD 22         /* bold */
#define IDI_FONTITALIC 23       /* italic */
#define IDI_FONTUNDERLINE 24    /* underline */
#define IDI_FONTFACE 25         /* font face (currently not in use) */
#define IDI_FONTCOLOR 26        /* font color (not in use yet) */
#define IDI_RESERVED7 27
#define IDI_RESERVED8 28
#define IDI_RESERVED9 29
#define IDI_RESERVED10 30

#define IDB_UNKNOWNAVATAR 100   /* fallback image for non-existing avatars (BITMAP) */
#define IDS_IDENTIFY 101        /* string resource to identify icon pack */

As of 0.9.9.8 (not yet released) icon packs should have a version identifier. This is a simple string resource which currently has the value:

__tabSRMM_ICONPACK 1.0__

When loading an Icon pack, tabSRMM checks for this string and outputs an error message if it cannot be found in the resource DLL (you can still load the DLL, if you click OK then, and it is possible to disable the ID check).

The reason for adding this is simple: In theory, you could select *any* DLL as an icon pack, but when you do so, very strange things (including hard to find crashes) may happen, when the plugin tries to load icons from a DLL which, in fact, does not contain any.

Also, if the format of the icon pack will ever change (by adding more icons, for example), it will be possible to use old iconpacks, because they can then be identified properly.
__
Every program has at least one bug and can be shortened by at least one instruction -- from which, by induction, one can deduce that every program can be reduced to a single instruction that doesn't work.
My SMF-based forum fork
#2
Re: Icon pack development |
March 11, 2005, 08:50:22
Thanks! Been waiting for a list like this some time now! Great work Nightwish!