SPWaW on GNU/Linux!

Introduction

Why can I just play SPWaW on Windows? Well, I don't
have Windows in my computer! That's a pretty good reason, isn't it? But... this
is a Windows game, isn't it? Yes. Then... how do you do it?GNU/Linux
(also known as Linux) is my open, libre, powerfull, secure, virus-free and BlueScreen-free
Operating System. And it's so powerful that you can play Windows games on GNU/Linux.
Maybe not all of them (not yet). But Steel Panthers: World at War and its utilities work
pretty well. So well that I need no Windows at all.

Get WINE

Scenario. You use GNU/Linux (or plan to use GNU/Linux)
and you absolutely must play SPWaW. Just like me. First of all, get yourself an
up-to-date GNU/Linux. Recent (May 2003) Red Hat Linux 9, SuSE 8.x, Debian 3.0 "Woody" or
Mandrake Linux 9.x all are pretty advanced, in terms of bundled software.
Then, get WINE on our GNU/Linux. Most GNU/Linux distributions already include WINE, the set of libraries that will let you
use Windows programs on your LGNU/inux. The first place where to look for WINE is your
GNU/Linux CD: probably you have WINE there. Maybe it's not the latest release of WINE.
But it might well work. Try this WINE version first: configure it and try
it. If it works with you for SPWaW, fine, you are all set.

If it doesn't work, well, get a newer release. I personaly use the
package wine-cvs-unstripped-063001-1.i386.rpm from Dataparty's Wine Daily Builds. There's many websites where you can get WINE.

WINE is changing everyday: it is not perfect, yet. So they
have multiple versions, called releases. I know (because I hve tried them) that the
following releases work with SPWaW:

Wine release 20010510

Wine release 20010629

Wine release 20010418 from Linux Easy

Wine release 20010623 from DataParty

Wine release 20010629 from DataParty

Wine release 20010702

Do you use Debian? Kuantiko, a friend of mine, a long-time Debian user
and a good Wargamer (soon to be seen in the Sucesses section) told me a
little secret to get the most up-to-date WINE release on your computer. You need to add to your
/etc/apt/sources.list, in a single line:

deb http://people.debian.org/~andreas/debian wine main

Then, do the classical:

apt-get update && apt-get install wine

If you use Debian and it does not work, please do tell me so I
will correct it.

Install & Configure WINE

Installation

First of all, uninstall any old WINE release that you can
have in your system. Do it with your prefered way (at the command line with "rpm --erase
wine" or at your graphical environment with Kpackage, gnorpm or any other.)
Then, install your WINE package in pre-packaged files (RPM or DEB, depending on your system.)

Problems? If you get a message that says something like
"dependency problem with libraries libXtend10.so", write down the name of the library
(libXtend10.so in our example), go to RPMFIND
and write this name in the search box and press enter. You will get a list of RPM
packages that provide this library. Search for this package in your GNU/Linux CDs (or download the
one that matches your distribution -RedHat, Mandrake, SuSE...- from there if you cannot find it in
the CD) and install this package. Then, try again to install WINE. Do the same for any library
problem that you might encounter.

From Debian, installing wine apt-get means that you will
not have this problem. apt-get will install all the needed programs. With Red Hat, you can also
intall apt-get (in Spanish) so you can avoid this kind of problem. With Mandrake,
you already have urpmi, that works much like apt-get... or you could even install
apt-get for Mandrake

Configuration

Now we have WINE installed. It's time to configure it. The configuration of
WINE is done through the file /etc/wine/config. As user root, edit this file with
your favourite editor (vi, emacs, kedit, gnotepad, kword, joe ...). This file that you
are opening is the default WINE configuration file. Most likely, you will need to change
it to allow WINE to run.

You will notice some parts. The first one, deals with the definition
of "Windows Drive Units" (A: B: C: D: ...). For example, the default file shows this:

What you have to do is make sure that those directories exist in your
"Windows" directory. In my case, I modified the "Path" value, deleting the part ";e:\\test".
Plus, I created (as my user, not as root) the following directories on my system:

/home/sinner/unit-c/windows/

/home/sinner/unit-c/windows/system/

/home/sinner/unit-c/windows/Profiles/

/home/sinner/unit-c/windows/Profiles/Administrator/

The next section is the DLL-overrides. I recommend leaving this section like
this default:

The next section is the X11 Driver options. I recommend leaving it
as is in this default. Later, you can try to modify to use the "Managed" feature (and the "800x600"
Desktop size as well), although it doesn't always work.

Then, we must check the Fonts-directories section. We see here the original
directories listed. By I urge you to search your computer ("find /usr -name *.afm | more" and
"find /opt -name *.afm | more") for the fonts and then fill in this section, with up to 9
"afmdirs".

Now, it's time to make your user a "WINE" user. You achieve this creating a
directory called ".wine" (yes, it has a leading period in its name) on your user's home
directory (it is /home/sinner/.wine/ for me). Then, copy the file /etc/wine/config into
this new directory. Make sure that his file belongs to your user (as root, "chown sinner.sinner
config").

And that is about it. WINE is ready to be used by your user. You have a copy of my
WINE config file here. Remember, every computer needs a different configuration
file.

Play SPWaW under GNU/Linux

Note:To run a Windows application under GNU/Linux, you need to go to the directory where you have
the Windows application executable located and then, type wine followed by a space and the fullname of
the executable. For example, to run Notepad, we will need to issue the command wine notepad.exe. And
remember that GNU/Linux is very picky with uppercase and lowercase!

Try running something simpler than SP:WaW first. Like Notepad. This would help to
point out basic installation/configuration problems. If it works, you have a working WINE.
Then, although you can encounter difficulties running SPWaW, those are more advanced problems,
and probably in this page you have a solution.

First, we need to install SPWaW. To do this, open a
terminal window (xterm, Eterm, aterm, konsole, gnoterm...) go to the directory (or the
directory for the mounted CD with the Mega-Campaign) where you have the install "EXE" file
(maybe it is "spwaw-5.01-internet.exe") for SPWaW. There, issue the command (as
your regular user) "wine spwaw-5.01-internet.exe". After that, follow the
instructions provided by the installer program, making sure you do not modify the proposed
directory for SPWaW (or you will get into trouble while trying to apply upgrades to SPWaW)
and enjoy the installation process. Having a cold drink at hand helps: depending on your
computer, it might take longer than installing under Windows. But it's worth it!

Recomendation: Use SPWaW with your GNU/Linux resolution set at 800x600 or better.
If you use 640x480 there's a big chance that SPWaW will not work. Also, when running SPWaW
on resolutions bigger than 800x600 (like 1024x768) the game will start on the top-left area of your
screen. Change the resolution, if you wish, pressing at the same time "Ctrl" plus "Alt" plus "+ key"
(or "- key") and stay in the one that provides you with a full-screen view. It might happen that when
you are moving the mouse closer to the edges of the game, your screen will de-center from the game.
Simply, move the mouse to the opposite screen edge and everything will go back to normal.

Now, we are ready to run SPWaW on GNU/Linux! In order
to run SPWaW follow those easy steps:

Open a terminal window (xterm, Eterm, aterm, konsole, gnoterm...)

Change current directory to the SPWaW directory, using the "tab completion
trick" (cd unit[TAB]Ma[TAB]S[TAB] )

Make sure that your mouse pointer is in the top-left area of your Desktop
(to prevent problems with the tricky MouseGrab under WINE).

Crank up the volume of your computer, put on your "USMC" baseball
cap and issue the comand "wine mech.exe"

Blast your way to the victory hexes and teach the enemy the lesson:
"Do not mess with an Armoured Penguin!"

You can also use the extra aplications that come with your SPWaW, like the
scenario editor, the OOB/Formation editor, etc. You just need to know what is the executable to this
application and run it with WINE. Just like we did with SPWaW and "mech.exe". The list of
applications and executables is the following:

Possible Problems

SPWaW not starting? Maybe you will get an error on the terminal window and the game will not
start. If you have already applied the upgrade to SPWaW 5.2 and it doesn't start, maybe you need to get the
file "ntdll.dll" located (in your real Windows partition) at "C:\Windows\System" and copy it
to your "Steel Panthers" directory (where you can find the file "mech.exe").

Mouse not responding? Maybe your machine is slow and you just need to first, move the mouse
over the button, wait half-a-second and then click (or, even, double-click).

Keyboard not responding? Maybe you have the settings "Managed" = "Y" on your WINE config file.
Check that it is really set to "N". And also make sure that the option "Desktop = "640x480" is commented out
(this means that the line starts with a semi-colon punctuation sign).

More on Keyboard not responding If during the game you notice that no keystrokes are
being received, check the values of "UseDGA". Try using the option "UseDGA" = "N".
(Thanks to Stephen Howard, a Steel Commande,r that send me this trick).

If you encounter mouse or keyboard problems in the game, you can switch back to
the terminal window (Konsole, aterm...) and press Ctrl-C to abort the game. Then,
issue the order on the terminal window "killall -9 wine" to ensure that all the
WINE processes stop. Now, you can review what it is on the terminal screen to try to
figure out what happened.

If this cannot solve your problem, please, contact me through e-mail. I'll do my best to help you.