Help - Search - Members - Calendar
Full Version: Windows 2000 Revolutions Pack
MSFN Forums > Customizing Windows and Graphics > Customizing Windows
Pages: 1, 2, 3, 4

   
Google Internet Forums Unattended CD/DVD Guide
Tihiy
This program allows your Windows 2000 to display 32-bit icons.
32-bit icons were introduced in Windows XP. They're improving experience with high-color smooth images with alpha channel (i.e. shadow).
It wasn't possible to view them properly in previous Windows versions.
2 years ago, i've started Windows 98 Revolutions Pack project, which allowed Windows 98 to display those icons (and later visual themes, new system applets, improved shell experience and so on).

Now i'm presenting Windows 2000 Revolutions Pack.
I hope it isn't late and some people like&use Win2000.

So, it Requires:
- Windows 2000, SP4 & IE6 preffered (not tested with IE5)
- 32-bit video mode. If your videocard does not support it, you're out of luck.

Installing RP 2.01 [attached to this post]:
- Extract/Run setuprp.exe [safe mode recommended]
- Reboot

Uninstall:
- In Add/Remove programs

Pros:
- does not patch system files;
- consumes extremely little amounts of memory;
- easy to install/slipstream.

Example: (with Vista Icon Pack 3.0 applied)


How to force application to display 32-bit image lists:
This workaround cures black shadows or discolored images in programs which were written unaware of 32-bit icons with Windows 2000.
Create "your program.exe.32bitimgl" file for your program.exe in the folder this exe resides. Viola!
You can also use this trick instead of "256-color tray patch" for explorer.exe, however, this isn't the right way. I think.
chuckbourdeau
This is a really nice work, I don't know if i'm crazy but it seems that the alpha channel thing works better on Windows 2000.
mau-yong
Good work!

*rushes to download dll*

Now could someone start upgrading the kernel?
wilderer
nice tihy!
you impress me time and time again. many people thougt that 32bit icons in 2000 were impossilbe. is this the first step of a windows 2000 revolutions pack? are you going to release some other versions?
Targaff
Mostly working well here, Tihiy, though I should note that I registered it from a different directory at first and that didn't work - only when I did it from winnt/system32 as suggested.

I've found one small bug: if you look at the attached picture the icons appear correctly within the options window (see Bold, Italics, Underline top right) but are not displayed correctly in a toolbar (middle left), where the alpha does not appear to be applied. Is this something that can be fixed or a limitation on where it can be used?

Thanks!
Tihiy
I haven't used Miranda for a while. Can you please tell me which plug-ins/smilies i should install?
Targaff
The window where the problem occurs is chat.dll, it's used for multi-user stuff like IRC and MSN chatrooms.

In case you need it, the bit that's displayed correctly is a plugin called IcoLib (Icon Library Manager), though if you use a development version rather than the stable version you don't need a plugin because it's built in.

HTH!
Tihiy
Here's the problem:
http://miranda.svn.sourceforge.net/viewvc/...c?revision=4796
CODE
hImageList = ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),IsWinVerXPPlus()? ILC_COLOR32 | ILC_MASK : ILC_COLOR16 | ILC_MASK,0,3);
    hIconsList = ImageList_Create(GetSystemMetrics(SM_CXSMICON),GetSystemMetrics(SM_CYSMICON),IsWinVerXPPlus()? ILC_COLOR32 | ILC_MASK : ILC_COLOR16 | ILC_MASK,0,100);

This plug-in doesn't imagine itself Windows <XP with 32-bit icon support!
So, possible solutions:
* Ask author for change
- Lie to Miranda what we're running on Windows XP
- Force Miranda to get only 32-bit imagelists
Tihiy
Well, i've contacted author about that and managed to fix (workaround) this in version 1.1 (first post)
Create empty file programname.exe.32bitimgl (where programname.exe resides) to force your programname to work with 32-bit images.
With that (miranda32.exe.32bitimgl), Miranda displays 32-bit icons everywhere flawlessly! thumbup.gif

About upgrading: you should uninstall (unregister) rpl2k.dll first. Then reboot, replace dll with newer version, register new version, and reboot again (or logoff).
Drugwash
I suspect this would be the case with Miranda and Win98SE + Revolutions Pack too, as I got a similar behaviour when I had that combination installed on my old HDD. What should one do in that case, Tihiy?
I guess Miranda should be fixed to allow 32bit icons even on systems that wouldn't normally allow that, but there may be many other applications out there in the same situation.

Oh... congratulations, you did a great job! thumbup.gif
Dave.Net
Oh my God. This guy is making history.

I asked for this so many times over the years... I can't believe it's finally available!!!!!! woot.gif

THANK YOU TIHIY!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!!


Edit:

Doesn't work here. NVIDIA video card w/ 32-bit support. sad.gif
Squeeto
Dave.Net just showed me this thread.

Good work Tihiy. I think that if I had seen this 2 weeks ago, I wouldn't have ditched 2k for XP.
2k is a great OS; it is nice to finally see this needed improvement.
Tarun
Has this already been done years ago by Merijn and his Transicon program?
cluberti
I'm moving this to a more appropriate forum where more people interested in this will be exposed to it. Nice program, btw smile.gif.
Tihiy
QUOTE
Doesn't work here. NVIDIA video card w/ 32-bit support.

Does it work for anyone? I think it is blushing.gif
Well, in such cases:
1) Make sure you're running 32-bit video mode.
2) Rebuild icon cache. The easiest way to do this is to open Display->Effects->Check "Large Icons"->OK, Display->Effects->Uncheck "Large Icons"->OK.
3) NVIDIA drivers were crap in all Windows versions (especially now - poor Vista users). In Windows 98, driver bugs were cureable by rotating screen by some angle and rotating it back.
4) Un-register and register dll again.
5) If you still don't achieve anything, post screenshots and/or Dependancy Walker logs for program.
Targaff
QUOTE (Tarun @ Feb 19 2007, 07:17 PM) *
Has this already been done years ago by Merijn and his Transicon program?

No, that's something entirely different, not even close to what this does.
Targaff
Tihiy: 1.1 worked for Miranda as noted. I've found another example where it doesn't seem to work, however (even having created the relevant .32bitimgl file) - Rocketdock of course displays 32-bit icons correctly, since it's designed to do so, but something about its preview window stops it doing so; see "Icons" in the attached picture.

There's a similar problem in IconTweaker, though I'm not sure whether it's the same thing.

And be reassured, it works great here on my GeForce FX 5500 newwink.gif The one thing I would reiterate is that for me it didn't work if I registered the dll anywhere *other* than in winnt/system32.
Tomcat76
Not much success here either.

There were no changes to be noticed in the Administrator account. In the Power User account, I got black, toothy edges on quite a few icons.

I followed the directions a few posts above but to no avail. Looks like nVidia is a real show stopper, hehe... smile.gif
Tihiy
QUOTE
There were no changes to be noticed in the Administrator account. In the Power User account, I got black, toothy edges on quite a few icons.
Well. That's can also be because Shell Icon BPP not equals 32.
CODE
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"Shell Icon BPP"="32"
(you may need to relogin)
That entry is set when you register dll, but only for current user. Under other user, you must apply this registry change or re-register dll if possible.

QUOTE
Rocketdock... something about its preview window stops it doing so

Oh yes. I've found the problem.
The problem is that Rocketdock creates ILC_COLOR32 imagelist not ILC_COLOR32 | ILC_MASK. While this will work and display 32-bit icons under Windows XP (undocumented however), that will break any other icon that isn't 32-bit. But programmer was sure that there will be no such case? That's pretty bad!
There are several solutions to that problem; i'll choose one that works best. Wait for 1.2 whistling.gif
Tomcat76
QUOTE (Tihiy @ Feb 19 2007, 09:59 PM) *
Well. That's can also be because Shell Icon BPP not equals 32.
CODE
[HKEY_CURRENT_USER\Control Panel\Desktop\WindowMetrics]
"Shell Icon BPP"="32"
(you may need to relogin)
That entry is set when you register dll, but only for current user. Under other user, you must apply this registry change or re-register dll if possible.
That seems to have done the trick, at least for folder views and Quick Launch. But the big buttons in the taskbar still have those toothy edges on icons. I'll give the programname.exe.32bitimgl a try but I suppose it wasn't your intention to have it applied to so many programs (Opera, Firefox, Quicktime Settings,...)
Tihiy
QUOTE
That seems to have done the trick, at least for folder views and Quick Launch. But the big buttons in the taskbar still have those toothy edges on icons.

Well. Alpha-blended icons in taskbar, window captions and Alt-Tab dialog is not supported now because they're drawn at deeper system level.
note: you can workaround this now by using WindowBlinds, TClock3 and other skinning programs.
I think i can patch at that level as well, however, i need to know which user32.dll version is *latest* now and where can I download it now.
Edit: oh noes calls go to teh kernal

Version 1.2 with following improvements attached to first post:
- Shell icon cache is now rebuilt after installation
- Rocketdock images issue fixed
Dave.Net
Well, after reinstalling my nvidia drivers the patch is PARTIALY working.

Here is a screenshot (patch version is 1.1):






Sorry about the dark background. I forgot to change it.
Tihiy
Well, rebuild icon cache (or install 1.2 which will do this automatically)
Dave.Net
Thanks Tihiy!!! It worked.

Besides taskbar, titlebars and alt-tab dialog there's a bug when you bring up the properties dialog for any shortcut. The arrow overlay appears as a black square.
tommyp
I'm testing this out on a VM. I placed the dll file in the win\sys32 folder and typed in regsvr32 rpl2k.dll and I get an error window. I'm using a slim version of 2k with an IE6 core and dx9c slipstreamed.
DllRegisterServer in rpl2k.dll failed. Return code was 0xffffffff

Are there file dependencies for this DLL? Do I need to use a full blown installation of 2k to run this?
Dave.Net
It doesn't look like a proper testing scenario. But what do I know?
Tihiy
QUOTE
DllRegisterServer in rpl2k.dll failed. Return code was 0xffffffff

This means rpl2k.dll was already registered from this or another directory.
Try to unregister before registering. If it won't help, manually clean AppInit_DLLs.
nicke85
Tihiy RP for 2000 is great idea. thumbup.gif
Since I were bought new computer in my PC isn't 98SE.
Now I can use nLite to build new W2K0.
Thanks a lot for your work!
U are the best!!!!!!!!! ph34r.gif

I hope there will be the same skining engine like in 98SE...
Dave.Net
These are the 4 bugs i've found so far. I should say bugs #1-#3 don't happen all the time and they are not exclusive to any particular program. Bug #4, on the other hand, does happen all the time.

Bugs #1-#3:




Bug #4:

Tihiy
Bugs #1,2: known, random, weird, trying to fix.
#3: not explored & not known how to fix: Windows XP also doesn't display all 32-bit .ico files, only some of them.
#4: this bug happens because when 32-bit & non-32 bit image is composited, it is impossible to distinguish what result is. Render may be either with weird arrow or weird arrow and no image at all. Don't know what to do either.
Other than that, i'll try to fix #1-#2, and also add 32-bit icons in taskbar at least.
Dave.Net
So...you mean the shortcut overlay issue could be avoided by using a 32-bit arrow. Great.

Thanks.
Tomcat76
I don't know if it's coincidence or not, but my system became very unstable after installing RPL2K.DLL. I'd get an error message that explorer.exe has caused problems, and the shell restarted after I clicked OK. This happened opening random folders (just viewing them), very often. I deinstalled RPL2K.DLL about 7 hours ago and so far I didn't experience any crash. I haven't witnessed a shell restart for over two years on my computer (reinstalled a few times, of course, in those two years) so I'd exclude "bad system maintenance", but you never know, hehe... smile.gif

If it would help, I can install RPL2K.DLL again and provide you with some logs. I usually use Inspector IIXII but if you prefer something else let me know...
Tihiy
QUOTE
I'd get an error message that explorer.exe has caused problems, and the shell restarted after I clicked OK.

Believe or not, this bug is known. However, i though it to be extremely rare.
That's how reputation is lost, eh rolleyes.gif
Wait please for 1.5 where i'll fix it. I just need to find time for that.
Tihiy
Version 1.5 attached to the first post
- Fixed Explorer crash which can occur while image-lists are being refreshed
- Added 32-bit icon support into taskbar (Note: not every application will support it. Opera and applications compiled on Borland compilers may not show 32-bit icons on taskbar)
Dave.Net
Thanks for the update.
vnt87
Awesome work! Thanks.
XibaD
Great! Thaks Tihiy
Scramjet
Tihiy, the shell icons work fine. But what about explorer toolbar icons? I have the 32-bit toolbar bitmaps from Vista (Browseui.dll - bitmap#265, 266, 276, 277) but they're oversized ie. 384x24 instead of 320x20 and 1128x24 instead of 940x20. If I apply them directly the white areas become transparent (which must mean that the toolbar supports 32-bit bitmaps), but the icons are all misaligned because of the size discrepancy. If I resize the bitmaps, the icons are aligned properly but the white areas show up around the icons.

Since both original and resized images are 32-bit bitmaps I fail to see why they behave differently.

Do you have any idea why this happens and/or any workarounds? Since your screenshot doesn't show toolbar icons I don't know if you have modified your toolbar or intend to. I'm using RPL2K 1.2 BTW.
Tihiy
QUOTE
Since both original and resized images are 32-bit bitmaps I fail to see why they behave differently.

Are you sure they're both 32-bit? Check them for transparency with some tool which is able to show it.

I'm certainly looking for a way to provide 32-bit icons with 24x24 size into Explorer toolbar.
It is easily possible by patching files, but i want to find a way to do it on the fly.
Scramjet
I use GIMP. It says "Display Type: RGB Color", "Visual class: True Color", and "Visual depth: 32" for both images. And if I move the cursor to the white background, it shows "Red: 255", "Blue: 255", "Green: 255" and "Alpha: 255" in both images. Or is GIMP incapable of detecting the alpha value in bitmaps?
I don't know much about graphics editing, so if you're "looking for a way to provide 32-bit icons with 24x24 size into Explorer toolbar", I'll just wait for you to implement it; since it's obviously going to be better than anything I can cook up.
If you can point out any place where I might have got it wrong, I'll try again. If it's easily possible to use 24x24 icons by patching files, can you please tell me how? I'll settle for the manual method till you figure out how to automate the process.
Tihiy
QUOTE
If it's easily possible to use 24x24 icons by patching files, can you please tell me how? I'll settle for the manual method till you figure out how to automate the process.

Here you go:
http://www.msfn.org/board/forums.html
Scramjet
Thanks I'll try it.
Scramjet
I changed only the value "Toolbar size: (20->24) S: 6A1458A3 R: 6A1858A3" and it worked. There's just the minute issue with the disabled toolbar buttons but Dave.Net has already pointed that out.
Thanks a lot!
prx984
Simply amazing Tihiy, great work newwink.gif

Will be using this on my 2000 laptop tongue.gif
Dave.Net
i found another bug:

Display Properties > "Effects" Tab > Desktop Icons. This list can't show the alpha channel properly.

However:

1) I don't care that much.
2) It can't even show 48px icons.
3) Worse color limitations exist on every other list in this applet.
Tihiy
QUOTE
There's just the minute issue with the disabled toolbar buttons.

QUOTE
i found another bug:
Display Properties > "Effects" Tab > Desktop Icons. This list can't show the alpha channel properly.

Those aren't bugs which are because of bugs in 32-bit icon algorithm; those bugs are by design in Windows because of not implemented features or patch required.
They're not present in Windows 98 RP, but that's another issue.
Dave.Net
Yeah, Tihiy. I know it's no bug but I didn't have a better word for it. laugh.gif

By the way: I was really impressed by your tip on how to make windows use 24px toolbar images, so the question is how do you find that kind of things while hex-editing an exe or dll? I once drove myself crazy trying to rise outlook express' color palette with IDA PRO and a hex editor.
rrvcpt
Does it work under win 2k portuguese?
Tihiy
QUOTE (rrvcpt @ Mar 1 2007, 09:14 PM) *
Does it work under win 2k portuguese?

It should be language neutral.
Yagami_ex
Excellent work Tihiy. The Windows 2000 Revolutions Pack will have skins on future as the Revolutions Pack Seven?
Sorry for my bad english i am brazillian and used a translator^^
Google Internet Forums Unattended CD/DVD Guide
This is a "lo-fi" version of our main content. To view the full version with more information, formatting and images, please click here.