Jump to content
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble
Strawberry Orange Banana Lime Leaf Slate Sky Blueberry Grape Watermelon Chocolate Marble

MSFN is made available via donations, subscriptions and advertising revenue. The use of ad-blocking software hurts the site. Please disable ad-blocking software or set an exception for MSFN. Alternatively, register and become a site sponsor/subscriber and ads will be disabled automatically. 


Sign in to follow this  
Tihiy

Icon Packs format

Recommended Posts

Because discussions in this subforum become quite pathetic to me, i bring here one matter to discuss.

-= Icons pack format =-

Since I therefore declare Reshack'ing obsolete and inconvenient, i'll make icon packs support alongside with 32-bit icon support soon [i hope].

With this update, you'll be able to apply icon packs to replace icons and bitmaps in the system the most convenient way.

The only problem is with format for the packs. There a 3 ways (or more, i would like to see your versions):

1.Every system file <you want> with icons is mirrorred with resource library you provide

For example, there'll be explorer.exe.images and shell32.dll.images, and so on.

+ Easy to make

- Hard to uninstall

2.One single file alongside with text settings file provides all system images

+ More effective

- A LOT of data to edit

[How should it look?]

3.One single file alongside with binary settings file provides all system images

+ Most effective

- Need for program to prepary binary data

Since i'm not the graphic creator, i want to hear you.

Share this post


Link to post
Share on other sites

I'd go for text config files, like INI/INF files. Would be the simplest solution. How they should look depends on what you want them to do. Though you'll still have to do some sort of binary reading to get to the icons if they'll all be stored in one file.

The easiest solution would be to just dump all the icons in a folder and make an INI with paths to the files so they are read into the skinning engine.

Edited by Th3_uN1Qu3

Share this post


Link to post
Share on other sites

Sure it's the simplest. But consider having 10 packs with 1000 files each. 10000 files will become a headache.

So think again.

Share this post


Link to post
Share on other sites
Sure it's the simplest. But consider having 10 packs with 1000 files each. 10000 files will become a headache.

So think again.

That was what i was about to say.

There is a program known as XP Icon Raider, which adds XP icons to any version of windoze. I use it and it works perfectly on my ME. What it does is add a DLL and hook the system's icons to it. Perhaps you could analyze this program and make something similar? Though if a DLL is added there will still be reshacking involved.

Share this post


Link to post
Share on other sites

I would have a folder called "Explorer.exe" and all the explorer icons in that. However, they are used dynamically, so there is no reshacking. For example: \explorer.exe\icon.3234.ico is the icon file, and it is used instead of icon rescourse 3234 in explorer.exe.

Is this possible?

Share this post


Link to post
Share on other sites
I would have a folder called "Explorer.exe" and all the explorer icons in that. However, they are used dynamically, so there is no reshacking. For example: \explorer.exe\icon.3234.ico is the icon file, and it is used instead of icon rescourse 3234 in explorer.exe.

Is this possible?

Of course it's possible, but see Tihiy's second post in this topic.

Share this post


Link to post
Share on other sites

I'm all for binary files, but I'm a bit partial to them. Text is easier for most to edit.

Why not mirror windows own solutions to it? Set a path to the file containing the icon, then have an optional second line for libraries/executables/etc:

IconIndex=#

Conversely you could always use the old trick "filepathname.ext,#" or something like that.

It'll get ugly quick though with long paths and a million entries. In the case of libraries it would be almost silly to have to give a full path each time you recall a single icon. Maybe use the last path listed and just change the index?

Share this post


Link to post
Share on other sites

A single library with an ini file listing the index nmberof the icons + the possibility of using other dll's or change de default dll.

Maybe the default dll could be edited by an apropriate software so that the user can add or remove icons so that only the useful icons will be there. Or have different libaries sorted by theme.

I don't like the idea of havin many subfolders with hundreds o separate icon files. (just my opinion)

Share this post


Link to post
Share on other sites
Sure it's the simplest. But consider having 10 packs with 1000 files each. 10000 files will become a headache.

So think again.

I think employing some sort of compression can easily overcome the pain of 10,000 files.

Of course, RP8/UberSkin will need to have extra code to decompress these files on the fly, and that seems to me a bit more than it's worth, both on Tihiy's time and on a user's system resources (though it WOULD be cool).

BTW, of Tihiy's 3 choices, I think the second one is the best. It seems a good compromise of the pros and cons offered by the other two choices.

Share this post


Link to post
Share on other sites

my opinion is for the use of the 3rd option.

Share this post


Link to post
Share on other sites
Sure it's the simplest. But consider having 10 packs with 1000 files each. 10000 files will become a headache.

So think again.

That was what i was about to say.

There is a program known as XP Icon Raider, which adds XP icons to any version of windoze. I use it and it works perfectly on my ME. What it does is add a DLL and hook the system's icons to it. Perhaps you could analyze this program and make something similar? Though if a DLL is added there will still be reshacking involved.

This would be the first thing that comes to my mind. adding a .dll file with the icons, similar to what windows does, but I'm not a particularly knowledgeable person on these sorts of things, so I don't know how well it'd work.

Share this post


Link to post
Share on other sites

Create an account or sign in to comment

You need to be a member in order to leave a comment

Create an account

Sign up for a new account in our community. It's easy!

Register a new account

Sign in

Already have an account? Sign in here.

Sign In Now
Sign in to follow this  

  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...