Skip to content
Chris Toshok edited this page Aug 27, 2010 · 9 revisions

Build and Installation Instructions

The following document refers to the latest version of SCSharp. It also assumes that you're building and running on linux using mono. Building and running on Windows should work, but there are as yet no instructions for doing so.

Before proceeding make sure you have read the release notes for the version you're trying to build. Make sure you've got all the dependencies mentioned there installed on your system.

External Dependencies

We currently require at least the following versions of the following SDL libraries:

  • SDL 1.2.9
  • SDL_gfx 2.0.13
  • SDL_mixer 1.2.6
  • SDL_image 1.2.4

Compiling

At the moment, we use autotools for configuration. We pretty much only use it for two things: 1) finding the mono version, and 2) the handy make dist behavior. Also, compiling from source isn't supported for Visual Studio (or Visual C# Express) yet.

From the toplevel directory, use

$ ./configure

if you're compiling a source tarball, and

$ autogen.sh

if you're building from your git checkout.

Then from that same directory run

$ make

and everything should build just fine.

Installing

SCSharp doesn't permit installation at the moment. At some point in the future (once we start making actual releases) it will, but it shouldn't cause you any problems - it runs just fine from the source directory.

Configuration

After building SCSharp change the src/ directory. You'll notice the scsharp.exe.config file there. Editing this file is required before running scsharp. There are a few debug settings that help out with development, but there are only 3 settings you need for running SCSharp:

  • StarcraftDirectory This setting points SCSharp at the directory containing your StarCraft installation. For instance, on windows this would usually be C:\Program Files\Starcraft. If you have your windows disk mounted a /windows on linux, this setting might look something like this: <add key="StarcraftDirectory" value="/windows/Program Files/Starcraft" />
  • StarcraftCDDirectory This setting points SCSharp to a directory which must contain the install.exe file from the StarCraft installation CD. This file has an embedded MPQ archive in it which contains resources needed for the campaigns. Copying the file from the installation CD to a directory on your computer is recommended (unless you have 2 CDROM drives). No other files from the CD are required.
  • BroodwarCDDirectory This setting points SCSharp to a directory which must contain the install.exe file from the BroodWar installation CD. Like the StarCraft install.exe file, this file contains an embedded MPQ with resources that are necessary for SCSharp to run. Again, no other files from this CD are required.

Important Note

The StarcraftCDDirectory and BroodwarCDDirectory settings must point to unique locations. You cannot enter the same path (say to your where your cdrom drive is mounted) and expect it to work. Both install.exe files are loaded at startup time. Setting them both to the same value will give you an error on your console when you attempt to run SCSharp. Also, don't think you can copy 1 install.exe to the other location. This may get things limping along but will break SCSharp at some point. Don't do it.

Running

Before running, you have to tell mono where to find the .dlls built during the compilation phase. There is a script in src/ called "mono.sh" which needs to be sourced from that directory:

$ cd src
$ . ./mono.sh

This will add the appropriate paths to your shell environment.

Then, just executing the following command from that same directory will start up scsharp:

$ mono scsharp.exe

The above command will start scsharp in a 640x480 window. The following command will change your screen resolution to 640x480 and run scsharp fullscreen:

$ mono scsharp.exe /fullscreen

Helpful Keystrokes

You can toggle between fullscreen and window mode at any time by pressing Control-f.

You can quit out of SCSharp at any time (without navigating to the main menu) by pressing Control-q.