View Single Post
Old 02-17-2007, 03:11 PM   #6
ender080
I'm new, don't flame me
 
Join Date: Feb 2007
Posts: 2
ender080 is an unknown quantity at this point
Default

Quote:
Originally Posted by Legion5 View Post
Ok this is just ridiculous. The only difference between XP and 2k are some optimizations, and a few changed registry keys.

It has been repeatedly and consistently proven that Win2k can run ANY XP game.
ack
Quote:
Originally Posted by Legion5 View Post
Microsoft has released in it's new version of Direct X something called: "XACT audio".

I am what you would call an audiophile, I love sound, and this is a new way to code sound into video games.

When you install DirectX9c it determines your operating system, and puts all of the necessary cab files into their right places, which work in turn with the DLL's to play sound.

It also needlessly blocks the install of XACT Audio.
That's not true. Take xactengine2_x.dll and look at the dependencies. msvcrt.dll will lack some export functions. Using a winxp version will result in same problem with the kernel and so on. No way to fix it using XP-components.
Quote:
Originally Posted by Legion5 View Post
Either way I need to trick DirectX9c into installing itself like it were on XP, when I am running it from 2k.

This would be the emulation approach.
will not work (see explanation above)
Quote:
Originally Posted by Legion5 View Post
Another option, a difference approach might be to find a program that detects all the "changes" made inside a folder. That way I could install DirectX 9c on a blank copy of XP, and simply see what files it is placing where.

It would also need to compare new and old registries.
no fun at all. Just take the .inf-files located in cabs from the dxredist and install manually.

So what I did to get X3DAudio to work on w2k:

1. Download latest dxredist and extract (with zip).
2. Take all XACT cabs for x86 and extract to same directory starting with oldest one
(2b. Read the .inf files - nothin really interesting here, x3daudio and xactengine dlls get copies to system32 and then xactengine ist registered -> com-interface.)
3. Search for a msvcrt version 7 or higher in system32 (name will be msvcr7?.dll). Make a copy called msvcrx.dll in system32.
5. Take a hex editor and change reference to msvcrt.dll in xactengine-dlls to msvcrx.dll
6. Copy all x3daudio and modified xactengine dlls to system 32.
7. For each xactengine dll type following command line in system32 directory:
regsvr32 xactengine2_?.dll

After these steps X3DAudio worked for "supreme commander" on w2k - before I had missing exports/no sound (only copied x3daudio1_1.dll).

Interesting would be a tool to test X3DAudio - dxdiag is not showing anything. Does it under wxp? More ideas and results of the above appreciated...
ender080 is offline   Reply With Quote