wacati n00b
Joined: 29 Mar 2004 Posts: 11
|
Posted: Fri Jun 03, 2005 10:46 am Post subject: Mechwarrior 4 + Cedega + DirectPlay HOWTO |
|
|
I was recently trying to get Mechwarrior 4 to work on linux. I did quite a bit of searching but never really found much info about Mechwarrior 4 working in linux. This post is to show how I got the game to work and to possibly help others in getting it to work.
Quite a few files are needed to get Mechwarrior 4 installed and running.
For one, the msadp32.acm (ADPCM) file is required by the installer. This can be found in the media-libs/win32codecs package ('emerge win32codecs' or get them at http://www.mplayerhq.hu/) which is installed to /usr/lib/win32/msadp32.acm on Gentoo by default.
Copy the msadp32.acm file to your wine drive's C:\windows\system32 directory.
After this, you should be able to install Mechwarrior 4 fine.
To run Mechwarrior 4 in multiplayer, you will need to get directplay to work.
A few files you will need for directplay in cedega are:
DPLAY.DLL, DPLAYSVR.EXE, DPLAYX.DLL, DPWSOCK.DLL, and DPWSOCKX.DLL
(I'm not exactly sure if all these are needed but I know DPWSOCKX.DLL is required and DPLAYSVR.EXE is required to host a server in a directplay game, although, I can't figure out how to get MW4 to host a game, since it always crashes)
I don't really know which exact versions you need... I don't really know which versions I have. I tried many different versions but not all worked. However, I do know that these are the files required to play Mechwarrior 4 (and any other directplay game I suppose) in multiplayer.
Copy those files to your wine drive's C:\windows\system32 directory.
After copying the files, you will need to edit the registry of cedega (~/.transgaming/system.reg) and add these lines (don't forget to backup your system.reg first, just in case...):
Code: |
[Software\\Microsoft\\DirectPlay] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Service Providers] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Service Providers\\Internet TCP/IP Connection For DirectPlay] 1077032091
@=""
"DescriptionA"="Internet TCP/IP Connection For DirectPlay"
"DescriptionW"="Internet TCP/IP Connection For DirectPlay"
"dwReserved1"=hex:f4,01,00,00
"dwReserved2"=hex:00,00,00,00
"Guid"="{36E95EE0-8577-11cf-960C-0080C7534E82}"
"Path"="C:\\WINDOWS\\SYSTEM32\\dpwsockx.dll"
[Software\\Microsoft\\DirectPlay\\Service Providers\\Internet TCP/IP Connection For DirectPlay\\Address Types\\{C4A54DA0-E0AF-11cf-9C4E-00A0C905425E}] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Service Providers\\IPX Connection For DirectPlay] 1077032091
@=""
"DescriptionA"="IPX Connection For DirectPlay"
"DescriptionW"="IPX Connection For DirectPlay"
"dwReserved1"=hex:32,00,00,00
"dwReserved2"=hex:00,00,00,00
"Guid"="{685BC400-9D2C-11cf-A9CD-00AA006886E3}"
"Path"="C:\\WINDOWS\\SYSTEM32\\dpwsockx.dll"
[Software\\Microsoft\\DirectPlay\\Service Providers\\Modem Connection For DirectPlay] 1077032091
@=""
"DescriptionA"="Modem Connection For DirectPlay"
"DescriptionW"="Modem Connection For DirectPlay"
"dwReserved1"=hex:00,00,00,00
"dwReserved2"=hex:00,00,00,00
"Guid"="{44EAA760-CB68-11cf-9C4E-00A0C905425E}"
"Path"="C:\\WINDOWS\\SYSTEM32\\dpmodemx.dll"
[Software\\Microsoft\\DirectPlay\\Service Providers\\Modem Connection For DirectPlay\\Address Types\\{78EC89A0-E0AF-11cf-9C4E-00A0C905425E}] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Service Providers\\Modem Connection For DirectPlay\\Address Types\\{F6DCC200-A2FE-11d0-9C4F-00A0C905425E}] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Service Providers\\Serial Connection For DirectPlay] 1077032091
@=""
"DescriptionA"="Serial Connection For DirectPlay"
"DescriptionW"="Serial Connection For DirectPlay"
"dwReserved1"=hex:00,00,00,00
"dwReserved2"=hex:00,00,00,00
"Guid"="{0F1D6860-88D9-11cf-9C4E-00A0C905425E}"
"Path"="C:\\WINDOWS\\SYSTEM32\\dpmodemx.dll"
[Software\\Microsoft\\DirectPlay\\Service Providers\\Serial Connection For DirectPlay\\Address Types\\{F2F0CE00-E0AF-11cf-9C4E-00A0C905425E}] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Services\\{5046ab8cb6b1ce11920c00aa006c4972}] 1077032091
@=""
"Description"="WinSock TCP Connection For DirectPlay"
"Path"="C:\\WINDOWS\\SYSTEM32\\dpwsock.dll"
[Software\\Microsoft\\DirectPlay\\Services\\{5046ab8cb6b1ce11920c00aa006c4972}\\Players] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Services\\{5046ab8cb6b1ce11920c00aa006c4972}\\Sessions] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Services\\{5146ab8cb6b1ce11920c00aa006c4972}] 1077032091
@=""
"Description"="WinSock IPX Connection For DirectPlay"
"Path"="C:\\WINDOWS\\SYSTEM32\\dpwsock.dll"
[Software\\Microsoft\\DirectPlay\\Services\\{5146ab8cb6b1ce11920c00aa006c4972}\\Players] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Services\\{5146ab8cb6b1ce11920c00aa006c4972}\\Sessions] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Services\\{5246ab8cb6b1ce11920c00aa006c4972}] 1077032091
@=""
"Description"="Modem Connection For DirectPlay"
"Path"="C:\\WINDOWS\\SYSTEM32\\dpserial.dll"
[Software\\Microsoft\\DirectPlay\\Services\\{5246ab8cb6b1ce11920c00aa006c4972}\\Players] 1077032091
@=""
[Software\\Microsoft\\DirectPlay\\Services\\{5246ab8cb6b1ce11920c00aa006c4972}\\Sessions] 1077032091
@=""
|
A few other files are required by Mechwarrior 4 to work (this will also bypass the "DirectX Media not installed" error).
These files are:
amstream.dll, d3dim.dll, dsound.dll, ir50_32.dll, and quartz.dll.
I had to use a Windows partition to get these files...
Copy these files to your wine drive's C:\windows\system32 directory.
You can run 'cedega MW4.exe /gosinfo' and then take a look at the debuglog.txt that is created to see if your MW4 recognizes the files.
That should be it. A couple notes though.
It seems that sound and the intro video does not work with cedega in Mechwarrior 4. I'm not sure how to fix this...
So to get the game running without errors, use this in the commandline:
Code: |
cedega MW4.exe /gosnosound /gosnovideo
|
This will disable the intro video and the sound...
If anyone has any idea how to fix the sound, it would be greatly appreciated. Any comments, corrections, or anything else would also be greatly appreciated.
I hope this simple howto helps others getting MW4 working in linux!
UPDATE: MechWarrior 4: Vengeance and Mechwarrior 4: Mercenaries Trial Demo both work with these steps. However, Mechwarrior 4: Mercenaries (multiplayer) requires a few more steps. The following link better describes how to get DirectPlay working, this especially applies to Mechwarrior 4: Mercenaries.
http://digital-conquest.ath.cx/wiki/index.php/Total_Annihilation#How_to_get_multiplayer_working_.28Confirmed.21.29
Also, if you are behind a firewall/router/etc, you may need to open/forward a few ports. The ports used by Mechwarrior 4 can be found at these two links:
http://support.microsoft.com/default.aspx?scid=KB;EN-US;q309128&
http://support.microsoft.com/kb/240429/EN-US/
With this, the multiplayer screen will not crash. However, zonematch servers do not display for me (it cannot connect to the master server) although using direct ip will work. I hope this helps whoever wants to play MW4 on linux. |
|