4.0.2 issue with F1 and fix
* My setup *
I run Windows XP as a VirtualBox guest on a Linux host. I've played through F1 once on this very virtual machine but I did not use the high resolution patch. This was my first try with the patch. What I did:
1. Install a stock F1.
2. Install Fallout_1_TeamX_Patch_ENG_1.2w.zip (from this place:
http://atomicgamer.com/files/63134/fallout-1-v1-2-patch-by-teamx-semi-official)
3. Install Fallout1_High_Resolution_Patch_4.0.2.zip (from this place:
http://falloutmods.wikia.com/wiki/Fallout1_Resolution_Patch.)
* Symptoms *
After performing the installation instructions, I started F1. I noticed the main menu had an
additional blank menu item compared to the stock F1. However, the "Options" item mentioned in the high resolution patch documentation did not show up. I tried a whole slew of different settings in the f1_res_Config utility but nothing changed.
* Diagnosis and Solution *
I eventually decided to move the f1_res.dll file somewhere where I knew F1 could not load it. F1 would start and still show the blank menu item. I knew at this point there was probably a silent failure in loading f1_res.dll.
I downloaded a dependency walker from here:
www.dependencywalker.com. I opened Falloutw.exe with it. I figured that loading f1_res.dll was a dynamic operation performed at execution time so I asked dependency walker to trace the execution of Falloutw.exe. Upon tracing, I found that f1_res.dll was failing to load d3dx9_31.dll. I checked what was present on my system and found d3dx9_32.dll but no d3dx9_31.dll. I found a d3dx9_31.dll file somewhere else and put it in /Windows/system32. From that point on, F1 would complain about being unable to set the mode. I swiched the "Graphic Mode" in f1_res_Config form "DirectX 9" to "DirectDraw 7" and no longer had any problems.
On this page
http://falloutmods.wikia.com/wiki/High_Resolution_Patch_bugs there is a report from a Vista user about a missing d3dx9_31.dll file error. (I will note here again that my loading failure was silent; no error message at all!) Mash suggests using the DirectX End-User Runtime Web Installer but I had done that while trying to fix my problem and did not help. Specifically, it did not install d3dx9_31.dll.