G'day,
Here's my patch notes I drew up. It took a bit of trial and error on my behalf but the outcome was worth it - I hope this helps you to 'not invent the wheel'... btw it is a bit long!
How to add snoodpatch.patch for DAOC.
Wine is extremely versatile when using Windows based programmes. However, sometimes Wine requires modifications for the programmes to work, or become more functional. First we will look at how to patch.
A patch is a modification of the Source Code. For wine these patches are generally contibuted by the Wine community and posted at:
http://www.winehq.org/ in the AppDB section.
Step 1. Get the patch at the bottom of this reply...
Open a text editor and copy-paste the patch - save this as snoodpatch.patch in your home directory.
Step 2. Update your repository list.
2.1 Open a terminal and type (or copy and middle mouse button)
wget -q
http://wine.budgetdedicated.com/apt/387EE263.gpg -O- | sudo apt-key add -
and press enter
this obtains the gpg key.
2.2 then type
sudo gedit /etc/apt/sources.list
this will open up your repository file list
2.3. Add the Wine repository by copy-pasting one of these (determined by your version of Ubuntu):
#Hardy Wine Repository
deb
http://wine.budgetdedicated.com/apt hardy main #WineHQ - Ubuntu 8.04 "Hardy Heron"
deb-src
http://wine.budgetdedicated.com/apt hardy main #WineHQ - Ubuntu 8.04 "Hardy Heron"
#Intrepid Wine Repository
deb
http://wine.budgetdedicated.com/apt intrepid main #WineHQ - Ubuntu 8.10 "Intrepid Ibex"
deb-src
http://wine.budgetdedicated.com/apt intrepid main #WineHQ - Ubuntu 8.10 "Intrepid Ibex"
#Jaunty Wine Repository
deb
http://wine.budgetdedicated.com/apt jaunty main #WineHQ - Ubuntu 9.04 "Jaunty Jackalope"
deb-src
http://wine.budgetdedicated.com/apt jaunty main #WineHQ - Ubuntu 9.04 "Jaunty Jackalope"
Save these changes.
For later versions of Ubuntu go to this website for instructions:
http://www.winehq.org/download/deb
http://ppa.launchpad.net/ubuntu-wine/ppa/ubuntu/
deb
http://ppa.launchpad.net/shutter/ppa/ubuntu karmic main
deb-src
http://ppa.launchpad.net/shutter/ppa/ubuntu karmic main
2.4. from the terminal type: (from now on always keep this terminal open)
sudo apt-get update
and press enter
Step 3. Get the Build Dependencies
From a terminal type:
sudo apt-get build-dep wine
and press enter (this could be a big download 400mbs+)
Step 4. Add an extra module
From a terminal type:
sudo apt-get install fakeroot
and press enter (this may already be installed)
Step 5. Make the build directory and download Source Code
From a terminal type:
mkdir wine-build (press enter)
cd wine-build (press enter)
apt-get source wine (press enter)
5.1. Directory to Code
Have a look in your wine-build directory and there will be a couple of files and a folder. The name of the folder is what we need to enter in the terminal; and will vary depending on versions of Ubuntu and Wine. Ok now you know the name of that folder:
from a terminal type:
cd wine-1.1.42~winehq0~ubuntu~9.04 (this is an example - the name must be the same as the folder)
press enter
Step 6. Adding the Patch
From a terminal type:
patch -p0 < ~/snoodpatch.patch
and press enter
if you get an error try this instead:
patch -p1 < ~/snoodpatch.patch
and press enter
NOTE: if you still get an error it may be that copy-pasting from the WineHQ website was in error - go back there and see if they've made a text file for you to copy-paste.
Step 7. Compiling and Building a Deb Package
From a terminal type:
dpkg-buildpackage -rfakeroot -uc -b
and press enter (this process make take a long time so go make yourself a cuppa)
7.1. Build Errors
Sometimes Ubuntu may not have grabbed all of the build dependencies. The building will stop within 30 seconds if this is the case. It will tell you what's missing.
Example:
Compiling the source code stopped after about 15 seconds. A little way up it tells me that the following dependencies are missing:
libopenal-dev libgsm1-dev
From the terminal type:
sudo apt-get install libopenal-dev (press enter)
then
sudo apt-get install libgsm1-dev (press enter)
(Note the slight difference between a 1 and a l.)
Now go back to step 7 and start the proocess again.
Step 8. Installing
You may have Wine already installed. If this is the case from a terminal type:
sudo apt-get remove wine (press enter)
In the wine-build directory you will have a nice wine deb package. Double click onto this and install your patched version of Wine.
THE PATCH
Open a text editor - such as gedit and copy paste the following
(save it as snoodpatch.patch)
diff --git a/dlls/wined3d/directx.c b/dlls/wined3d/directx.c
index f9bc752..04d15a4 100644
--- a/dlls/wined3d/directx.c
+++ b/dlls/wined3d/directx.c
@@ -1928,6 +1928,7 @@ static BOOL IWineD3DImpl_FillGLCaps(struct wined3d_driver_info *driver_info, str
gl_info->limits.blends = gl_max;
TRACE_(d3d_caps)("Max blends: %u.\n", gl_info->limits.blends);
}
+ gl_info->limits.blends = 4;
if (gl_info->supported[EXT_TEXTURE3D])
{
glGetIntegerv(GL_MAX_3D_TEXTURE_SIZE_EXT, &gl_max);
Cheers
Finglor