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. 


Squeeto

Icon Swap software

Recommended Posts

I know that one of the Holy Grails is to get 32-bit alpha-blended icons working in Win2k. I haven't achieved that yet, but I've got something working that might get us there in the future. I've been suspecting that we might have to override default behavior to get them working. I decided to try something similar that would also be of a benefit to Win2k users that could also serve as a pilot for overriding things, and it's almost ready. I have a program that overrides many of the text-drawing functions by attaching a global hook to all processes, and the result is that I have system-wide subpixel antialiasing working in Win2k. It's not perfect yet and there is one showstopper bug (when you close the program everything that is running crashes), but the text is absolutely gorgeous. It's not ClearType -- ClearType is much more sophisticated than the crude method I'm using, but the result is still pretty spectacular. It's also a very simple program, and with this technique it might be possible to override how icons are loaded in the future so that alpha blended icons might eventually be possible.

The way I override stuff is to load the GDI DLL into memory in each hooked process and call a Windows API function that lets me overwrite the code. My technique is really simple -- I change the first 5 bytes to jump to a custom drawing routine that draws the text to a buffer, calling the original Windows routine when I need the text drawn. This doesn't work on XP as XP has better memory protection to guard against trojans, but Win2k is just fine with it. It means that we can override the behavior of just about any DLL function without altering the DLL's at all.

If anyone is brave enough to want to try it I can post it, but beware -- when you close the program, be prepared to have everything crash. I run it before I run everything else (including TClock3) and it works well. It requires DirectX 7 or greater as it was the only way to get decent performance.

Edit: It looks like I've got the crash problem solved -- now the program only needs some polishing :thumbup

Edited by WildBill

Share this post


Link to post
Share on other sites

Nice to hear of you again WildBill.

Awesome news. And hopefully can be adapted for icons.

It's odd but I just posted your name, TClock3 and alpha channel this morning:

http://www.lunarsoft.net/forum/index.php?s...=1863&st=20

I will direct their attention here; you may get a volunteer. I spent a year trying to fix my computer to run W2k. Keyboard and touchpad needed to be reinstalled everytime I booted. I finally installed XP for good.

Share this post


Link to post
Share on other sites

I'd like to post the latest version of IconSwap but I am waiting to add in gif resources.

Anyone know how to do this:

ResHacker.exe -modify nusrmgr.cpl, nusrmgr.mod, my.gif, gif, USERS32.GIF,

or

ResHacker.exe -modify nusrmgr.cpl, nusrmgr.mod, my.gif, 23, USERS32.GIF,

These don't work. What is the fix?

Edited by Squeeto

Share this post


Link to post
Share on other sites

I have now found that:

ResHacker.exe -modify nusrmgr.cpl, nusrmgr.mod, my.gif, 23, USERS32,

and

ResHacker.exe -modify nusrmgr.cpl, nusrmgr.mod, my.gif, gif, USERS32,

seem to complete but nothing is written.

Share this post


Link to post
Share on other sites

I've posted version 0.1.5 of my text-smoothing program here:

Please try it out and send me as much feedback as you can. Something like this is really hard to get perfect since it means having to track down all the special cases. One known bug is that the "k" character shows up blank in Courier New (heck if i know why). I'm open to suggestions as to what to do about that one. This program isn't perfect and you should expect text glitches, but it's very stable and works well most of the time (it's only the first version, after all). If you dig though the code you should see that it's very simple to override a DLL routine, and so there are lots of possibilities with this technique. Don't expect results as good as ClearType, since that does some pretty advanced things (which is why it's patented). This uses only the most basic subpixel-antialiasing techniques (invented 25 years ago if you can believe it), but it's better than nothing.

Edit: Uploaded SmoothText 0.1.5 and edited the download link. Changes are:

1. Visual changes that should improve text positioning.

Edited by WildBill

Share this post


Link to post
Share on other sites

hi squeeto, i have the same problems man...

dont know how to fix so i just took it out!?

when you got the answer let me know!

@ wildbill, downloaded both the progs and going to test this weekend.

let you know as soon as possible.

btw, new update released today.

damian666

Share this post


Link to post
Share on other sites
hi squeeto, i have the same problems man...

dont know how to fix so i just took it out!?

when you got the answer let me know!

You will probably find out that the gifs didn't write in photowiz.dll either (still in your latest pack for XP). Oh, thanks btw for the latest.

It seems to be a problem with Reshacker and resources that have a '.' in their name.

Share this post


Link to post
Share on other sites

IconSwap version 1.03 should be available shortly at post #1.

The iconset.txt file (XP.txt) for an XP OS is available at post #28.

The resources are derived from Damian's (yet to be released) Vista pack for XP.

Testing so far seems good.

The magnitude of the resources being altered with this pack is huge. Changing every resource each time you want a new look is too extreme. I think that one would be wise to initially install XPize or Damian's Vista pack and then use IconSwap to change the most commonly seen resources (when you want that occasional different look).

Share this post


Link to post
Share on other sites

I will upload the file this weekend. Sorry but I do not have a proper internet connection right now. Thanks

Share this post


Link to post
Share on other sites
link on first page doesn't work
XPero is hosting the download and he will fix it this weekend.
I will upload the file this weekend. Sorry but I do not have a proper internet connection right now. Thanks

Share this post


Link to post
Share on other sites

Probably completely unneeded/unrelated,

but maybe this can be of some use:

http://www.zeraha.org/content/dload.php?ac...y&cat_id=11

http://www.zeraha.org/dload.php?action=file&file_id=27

IconInjector is a command-line program it replaces one icon in a executable or dll with another from exe,dll or ico.

(just found it on a rather old bookmarks list and thought I'd share it

jaclaz

Share this post


Link to post
Share on other sites

I'd be interested if IconInjector can inject a gif with a name like this - NAME.GIF.gif.

Thanks for the link. Everything helps someone.

Share this post


Link to post
Share on other sites

Join the conversation

You can post now and register later. If you have an account, sign in now to post with your account.

Guest
Reply to this topic...

×   Pasted as rich text.   Restore formatting

  Only 75 emoji are allowed.

×   Your link has been automatically embedded.   Display as a link instead

×   Your previous content has been restored.   Clear editor

×   You cannot paste images directly. Upload or insert images from URL.


  • Recently Browsing   0 members

    No registered users viewing this page.

×
×
  • Create New...