Continuum
From Gentoo Linux Wiki
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
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:
Copy the portage wine directory to the overlay
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:
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.
At the end of |src_unpack() { in:
Add the patch info.
epatch "${FILESDIR}"/continuum.patchThe "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.
[edit] Continuum Install
Download Continuum here.
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:
#!bin/bash wine /home/user/.wine/drive_c/Program\ Files/Continuum/Continuum.exe -opengl
Then make it executable.
~/.bin is a common folder for local scripts. Bash will need to know that there are executables there. In ~/.bashrc add:
export PATH="~/.bin:$PATH"
Bash will need to be refreshed to know the new ~/.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:
[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 winecfgand 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.