Continuum

From Gentoo Linux Wiki

Jump to: navigation, search

Continuum (aka Subspace) is a top-down Windows Multiple-Player-Online-Game space shooter. Continuum/Subspace offers many different game types/arenas.

Description from Wikipedia:

SubSpace is a two-dimensional space shooter computer game published in 1997 by Virgin Interactive Entertainment which was a finalist for the Academy of Interactive Arts & Sciences Online Game of the Year Award in 1998

Warning: Because of it's extensive ability to be configured, bots that run most of the arenas, can be used to change settings per individual and dynamically.


Contents

[edit] Using an Overlay

Continuum requires a patched Wine (Windows API) to play in Linux. To do this one can modify a portage ebuild to add the patch before compiling but when portage is synced the modified ebuild and patch will be lost, using an overlay will avoid this.

To learn more about using an overlay read this.

Add a local overlay to your /etc/make.conf. Then create the overlay tree to correspond to the portage one:

mkdir -p ~/.portage-local/app-emulation/

Copy the portage wine directory to the overlay

cp -R /usr/portage/app-emulation/wine/ ~/.portage-local/app-emulation/wine

Freeze the ebuild so a newer version of wine (an unpatched portage version) doesn't replace it on an update:

sudo sh -c "echo '
# Freeze patched version of Wine for Continuum
app-emulation/wine' >> /etc/portage/package.mask"

Then unmask the specific version to unfreeze:

sudo sh -c "echo '
# Unfreeze patched version of wine
=app-emulation/wine-<version>' >> /etc/portage/package.unmask

[edit] Patching Wine

Add Continuum patch for Wine to the Wine ebuild's file directory:

nano ~/.portage-local/app-emulation/wine/files/continuum.patch

For builds >= wine-0.9.38:

diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 33f9ee1..d50cb7d 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -2460,6 +2464,7 @@ HANDLE WINAPI OpenProcess( DWORD access,
     OBJECT_ATTRIBUTES   attr;
     CLIENT_ID           cid;
 
+if (access & PROCESS_VM_WRITE) return NULL;
     cid.UniqueProcess = ULongToHandle(id);
     cid.UniqueThread = 0; /* FIXME ? */

For builds < wine-0.9.37 and before:

inherit eutils

diff --git a/dlls/kernel32/process.c b/dlls/kernel32/process.c
index 33f9ee1..d50cb7d 100644
--- a/dlls/kernel32/process.c
+++ b/dlls/kernel32/process.c
@@ -2460,6 +2464,7 @@ HANDLE WINAPI OpenProcess( DWORD access,
     OBJECT_ATTRIBUTES   attr;
     CLIENT_ID           cid;
 
+if (access & PROCESS_VM_WRITE) return NULL;
     cid.UniqueProcess = (HANDLE)id;
     cid.UniqueThread = 0; /* FIXME ? */

The ebuild will need the new patch information, choose which version of wine to use, usually the latest stable is best.

nano /usr/portage/app-emulation/wine/wine-<version>.ebuild

At the end of |src_unpack() { in:

Add the patch info.

epatch "${FILESDIR}"/continuum.patch

The "Manifest" in the directory keeps track of ebuild integrity. Since the ebuild is now a different size the "Manifest" needs updated.

ebuild /usr/portage/app-emulation/wine/wine-<version>.ebuild manifest

Now the overlay for Wine and the patched version of Wine can be emerged:

emerge =wine-<version>

Dont' forget to run wine's configuration.

winecfg

[edit] Continuum Install

Download Continuum here.

wine Continuum-<version>.exe

Do the recommended install.

[edit] Place in the Menu

To put Continuum in a Desktop menu first a script must be created that starts Continuum:

vim ~/.bin/continuum
File: ~/.local/share/applications/continuum.desktop
#!bin/bash
wine /home/user/.wine/drive_c/Program\ Files/Continuum/Continuum.exe -opengl

Then make it executable.

chmod +x continuum

~/.bin is a common folder for local scripts. Bash will need to know that there are executables there. In ~/.bashrc add:

File: ~/.bashrc
export PATH="~/.bin:$PATH"

Bash will need to be refreshed to know the new ~/.bashrc:

source ~/.bashrc

Having created the script the file will be recognized just like any other program by typing in in the command line. To add Continuum to the Desktop menu a .desktop file will need to be created:

File: ~/.local/share/applications/continuum.desktop
[Desktop Entry]
Encoding=UTF-8
Name=Continuum
Type=Application
Comment=A Top Down Shooter Online
Exec=continuum
Icon=continuum.png
Categories=Application;Game;ActionGame;

I nice icon can be found here. Place it in ~/.local/share/pixmaps/continuum.png.

Enjoy Continuum.

[edit] Tips

  • It can help to set Continuum's graphics to 16bit to improve performance or make it necessary to run.
  • If using 16 or 24bit depth graphics on your desktop, Continuum may crash if it is set to the default 32bit.
  • If there is erratic or delayed sound, use
    winecfg
    and check Alsa in the Audio Tab. Then in the drop-down window select emulated.. If that doesn't work un-select Alsa and select OSS.
  • To use Continuum chat in Gnome switch the desktop: alt + ctrl + rt. arrow.

[edit] Sources

Personal tools