All OpenGL games fail to start (MCD32.DLL?)

In another thread (http://www.opengl.org/discussion_boards/ubb/Forum1/HTML/002361.html) ‘Nothing’ wrote:
>>>
all Q3 based engines have the bad habit to check for a voodoo based board by searching for those DLL’s, if the game finds them it puts itself into a “Voodoo friendly” Mode and tries to load a “special” Voodoo OpenGL library (an MCD).
<<<

My Win98SE machine currently won’t start any OpenGL games. They all fail with initialization/start-up errors. I’ve got an Xtasy GeF2Ti with the latest Nvidia drivers, and I’ve done the switch-to-StandardVGA-driver–boot-to-safe-mode–uninstall-old-drivers–reboot–install-new-drivers drill a few times, and reinstalled DirectX 8.1b, but still no dice…

I’ve profiled the Neverwinter Nights config tool with the MS Dependency Walker as it fails, and it shows that OpenGL32.DLL is trying to load MCD32.DLL:
>>>
DllMain(0x69500000, DLL_PROCESS_ATTACH, 0x00000000) in “c:\windows\system\NVOPENGL.DLL” returned 0 (0x0).
LoadLibraryA(“nvopengl.dll”) returned NULL. Error: A dynamic link library (DLL) initialization routine failed (1114).
LoadLibraryA(“MCD32.DLL”) called from “c:\windows\system\OPENGL32.DLL” at address 0x78ABA97B.
LoadLibraryA(“MCD32.DLL”) returned NULL. Error: One of the library files needed to run this application cannot be found (1157).
First chance exception 0xC0000005 (Access Violation) occurred in “c:\windows\system\GDI32.DLL” at address 0xBFF24DD5.
First chance exception 0xC0000005 (Access Violation) occurred in “c:\windows\system\GDI32.DLL” at address 0xBFF24DD5.
First chance exception 0xC0000005 (Access Violation) occurred in “c:\windows\system\GDI32.DLL” at address 0xBFF24DD5.
LoadLibraryA(“nvopengl.dll”) called from “c:\windows\system\OPENGL32.DLL” at address 0x78AB03D2.
Loaded “c:\windows\system\NVOPENGL.DLL” at address 0x69500000. Successfully hooked module.
<<<

I did have a Voodoo card installed many moons ago. Could the MCD32.DLL library be one of the special VooDoo libraries that Nothing is referring to? If so, what could be causing the MS OpenGL32 library to try and load it?

I’ve asked VisionTek Tech Support for help, but haven’t heard back from them yet. I have the Dependency Walker profile, and also captured the NWN config tool’s failure with SysInternal.com’s File Monitor and Registry Monitor, but don’t see any obvious problems (aside from the MCD32 reference). There are no references to any “3dfx” files or registry entries being opened or searched for.

The games I’ve tried are: Neverwinter Nights, the Gore demo, the Jedi Knight 2 demo, and Garage Games’ Realm Wars test.

Strangely, Wizardry 8 will start in some OpenGL modes, but there are visible ‘grid’ lines and the mouse and keyboard response are so slow it takes 20-30 seconds just to click on Quit on the main menu. I never bothered to try an start the actual game.

All my DirectX games run flawlessly.

Anyone have any ideas or advice?

Thats easy to find out

Could you check if the file (right click on it and select properties, then version) is the original MS one (its should be 11.024Bytes 12/11/1999)

If it is the MS one the problem must be located somewhere else.

Do you still have any files like glide2X.dll on your system?

>Could you check if the file is the original MS one

Which file are you referring to? My windows\system\OpenGL32.DLL is 753,808 bytes, dated April 23, 1999 and the File Version label is 4.00. I don’t have MCD32.DLL anywhere on my system (which is why the LoadLibrary() fails).

>Do you still have any files like glide2X.dll on your system?

Funny you should ask… Running Realm Wars in Dependency Walker showed that it tried to load MCD32.DLL, and then eventually tried to load “glide2x” (no extension).

VisionTek support replied today asking if I ever had a 3dfx card installed, so I think we’re all on the same page. I once had a Canopus Pure3D, then got a Diamond TNT 2 Ultra, and now have the GeForce 2Ti.

I have searched through my registry for references to 3dfx, canopus, mcd32, and glide; I found one registry entry for a DirectDraw key that listed a “mm3dfx” driver. I exported it and then deleted that key, but that didn’t fix anything.

I searched my hard drive for 3dfx.* and glide.*; the only 3dfx files were windows\system\mm3dfx16.dll, windows\inf\dxmm3dfx.inf, and \windows\catroot{classid}\dxmm3dfx.cat. I renamed the mm3dfx16.dll file, but that didn’t fix anything.

I also found windows\glide2x.ovl. I renamed that file and rebooted, and now the NWN config tool doesn’t crash, but everything else is the same; NWN gives me a black screen (but I can hear the music), JKII, Gore, and Realm Wars won’t start.

Does anyone have any idea what files or registry settings could make the MS OpenGL library try to load 3dfx libraries?

Would more exerpts of the Dependency Walker profile help?

Thanks!

The registry has a key that tells opengl32.dll (or maybe the OS) to load the ICD instead of running in software mode. Search for OpenGL in your registry.

V-man

Grateful Kev found a solution to my problem: http://www.opengl.org/discussion_boards/ubb/Forum1/HTML/002419.html

I removed the DrawDib/DVA line from win.ini and now all my OpenGL stuff works fine