Jump to content

Photo

Playing C:FW on Linux using WINE

conquest linux wine

  • Please log in to reply
1 reply to this topic

#1
8t88

8t88
  • Member
  • 2 posts
  • Joined: 04-October, 2017
  • United States

I recently dug out my actual Conquest CD from 2001 while cleaning up and just had to try playing it again. I have very fond memories of this game.
Since it took me quite a while to get this game running in WINE (after some aborted attempts), I'll share here how I finally managed it.

The GOG or STEAM versions should work likewise, if you substitute the paths for your conquest.exe.

You need
- a working WINE 32bit version (I have run it in 1.8.7/debian and 1.9.24 successfully)
- optionally PlayOnLinux (wine frontend)
- have installed C:FW game in a new or existing wineprefix/bottle
- should have patched to 1.07 (removing the CD copy protection, which won't work)

Installing the game or patching it in WINE should be easy if you ever did that before.
It's simple enough that I won't explain that here. If you need help with that, sorry, check the web.

Once installed you'll need to configure your wine-prefix (the wine "virtual machine") for the game.
(This folder can be found in ~/.PlayOnLinux/wineprefix/<name> or ~/.local/share/wineprefixes/<name>)

Assuming this wineprefix is called "game", winecfg can be called in a shell like so:

$ WINEPREFIX="$HOME/.local/share/wineprefixes/game" winecfg

or resp.

$ WINEPREFIX="$HOME/.PlayOnLinux/wineprefix/game" winecfg

For PlayOnLinux, go to "Configure", select the game in your wineprefix/"bottle" and select the
"Configure Wine" Button under the "Wine" Tab to get the same Screen.

 

1FWldcL.jpg

 

9FaHTxf.jpg

In the Wine cofiguration, check the "Graphics" tab and make sure all the Windows Settings are unchecked.
Especially "Emulate a virtual desktop" must be disabled for this game. This was my main problem to get it running.

(The game won't run in "Windowed Mode" at all)

 

bBjYboT.png

The second major problem is that the inbuilt movie player for the game does not work in WINE.
The game will hang with a black screen. I finally figured out there was a commandline option to disable the movies: "/skipmovies" (thanks to Escodrion)

So the game needs to be called as "conquest.exe /skipmovies"
JNunVfQ.jpg

Now you can use POL to create a desktop shortcut, if you use such things.
Or you can create a custom startup script like this:
 

#!/bin/sh

_prefix="game" ### <-- FIX THIS

export WINEDEBUG=-all,err+module
export WINEPREFIX="$HOME/.local/share/wineprefixes/${_prefix}"

#WINEVER="1.9.17"
#WINE="${HOME}/.PlayOnLinux/wine/linux-x86/${WINEVER}/bin/wine"
WINE="wine" # system

PROGRAM="conquest.exe /skipmovies"

cd "$WINEPREFIX/drive_c/Program Files/Ubi Soft Games/Conquest Frontier Wars"

#echo "running winecfg..."
#${WINE}cfg

${WINE} ${PROGRAM} &

Put this in
~/.local/bin/conquest
for example and "chmod u+x ~/.local/bin/conquest" it.
If "~/.local/bin/" is in your $PATH, you can from then on start the game by running

$ conquest

in a shell.

Finally, the cutscenes and intro movies are simple MPEG movie files in the CFW "DATA/Movies/" directory and can be manually watched as appropriate.

Now on to the game configuration!

This is the same as for windows, find the "conquest.ini" file and edit it as follows.
(it will be in your "$WINEPREFIX/drive_c/Program Files/Ubi Soft Games/Conquest Frontier Wars" folder)
Change the line
LimitResolutions = on
to
LimitResolutions = off
Change the line
IRenderPipeline = RendSft
to
IRenderPipeline = Rend0

That is all. Now the game should work.

 

RKi4xYw.jpg

Ingame, it helps to disable DirectInput in the options, if your mouse cursor is slightly lagging.
It won't look as nice (change cursor icons on hover) but the increased speed should offset that.

Fiddle around with the resolution perhaps, however I have no trouble running at 1920x1200x32bit.

 

ggeprL2.jpg

One last hiccup I am having is window focus. After a match or mission and return to main screen,
the next time ingame the Keyboard won't work. Thats ugly if you notice it late in game,
as you can't use command groups (CTRL+num) or even save a game (can't type a savegame name).

So the first thing I do ingame to test if the keyboard works, is hit "P" and see if I can pause the game.
Otherwise, restart the game and make sure the window has focus again (no other windows open on the workspace).


Now have fun.

 

ewNvhzU.jpg

 

KMwmDx2.jpg

 

06b9HPl.jpg

 

B2ijYd2.jpg


  • 0

#2
8t88

8t88
  • Member
  • 2 posts
  • Joined: 04-October, 2017
  • United States

Multiplayer (DirectPlay) with WINE

 

Here is how you fix it if your Multiplayer dialog looks like this:
 

56RgBul.jpg

 

 

To fix DirectPlay (TCP/IP multiplayer) for C:FW (and other DIrectPlay games), WINE must use the native directplay DLLs, as WINE itself does not implement this (sufficiently).

You'll need
- winetricks from https://wiki.winehq.org/Winetricks

Assuming, again, your wineprefix is named "game", use the following line

$ WINEPREFIX="$HOME/.local/share/wineprefixes/game" winetricks directplay

to install native directplay DLLs for your wineprefix.


Now we can tell WINE to override these DLLs with their native versions.
We need to override the DirectPlay DLLs
- dplayx
- dpnet
- dpnhpast and
- dpwsockx

The quick option is to use the $WINEDLLOVERRIDES variable and add this to our custom startup script from the last post:

#!/bin/sh

_prefix="game" ### <-- FIX THIS

export WINEDEBUG=-all,err+module
export WINEPREFIX="$HOME/.local/share/wineprefixes/${_prefix}"
# DirectPlay DLL overrides
export WINEDLLOVERRIDES="dplayx,dpnet,dpnhpast,dpwsockx=n"

#WINEVER="1.9.17"
#WINE="${HOME}/.PlayOnLinux/wine/linux-x86/${WINEVER}/bin/wine"
WINE="wine" # system

PROGRAM="conquest.exe /skipmovies"

cd "$WINEPREFIX/drive_c/Program Files/Ubi Soft Games/Conquest Frontier Wars"

#echo "running winecfg..."
#${WINE}cfg

${WINE} ${PROGRAM} &

The other option is to more permanently change this in the Wine configuration (for all programs).
To do this, run "winecfg" again for your wineprefix:

$ WINEPREFIX="$HOME/.local/share/wineprefixes/game" winecfg

And then add the DLLs to override in the "Libraries" tab:

aUvig1B.jpg

 

Next time we start the game, the result should look like this:

ha1gmOV.jpg

Success!


Note: Don't forget the firewall/router ports for Internet play.

These are apparently Ports 2300-2400 and 47624 (both TCP and UDP)
For more info see https://support.ubi....l-1364549883137


  • 0





Also tagged with one or more of these keywords: conquest, linux, wine

0 user(s) are reading this topic

0 members, 0 guests, 0 anonymous users