Sunday, February 13, 2011
Fix Slow Warcraft3 Performance in Wine
Warcrat3 is one of my favorite games, I especially like to play custom maps like Legion TD, Battleships, Island Defense, Burbenog TD, Gem TD, Zoator TD, Jurassic Park Survival, Green Circle TD, Dota and tons of others. It's amazing that a small custom map file can completely change the game into something else. People have become incredibly creative in making custom games for Warcraft and there is still a huge player base despite the age of the game (RoC released in 2002 and TFT Expansion in 2003). Without some tweaks Warcraft3 runs very sluggish, poorly, slow and laggy under wine. The good news is there is an easy solution.
First install wine, then run through the normal install of Warcraft3 RoC & TFT using wine. After you are done you will need to patch the game, at the moment the latest patch is version 1.24e which you can download here (for either Reign of Chaos or Frozen Throne). It also appears that the newer patches automatically include a nocd which allow you to play the game without having the game cd in the drive, run the patch through wine and let it install.
Fix game crash/freeze at start:
I have found that if you don't remove/rename the included movies, especially the intro movies the game will not properly start as wine is unable to play them. If you go into /home/yourusername/.wine/drive_c/Program Files/Warcraft III/Movies, you can delete them to make the game start/work.
Getting rid of slow performance:
Open a terminal and run wine regedit. Go into HKEY_CURRENT_USER/Software/Blizzard Entertainment/Warcraft III/, right click and create a new DWORD Value with the name Gfx OpenGL, double click it and set the Value data: to 1 as a Base of Hexadecimal. Type: should show REG_DWORD and Data: should be 0x00000001 (1) in regedit. If you go into HKEY_CURRENT_USER/Software/Blizzard Entertainment/Warcraft III/Video you can also set your game refresh rate by modifying the refreshrate DWORD key, also change the cinematicrefresh DWORD key to the same value. The Base for both should be in Decimal. Also if you want you might want to add -opengl to your Warcraft3 launch shortcut, something like env WINEPREFIX="/home/yourusername/.wine" wine "C:\Program Files\Warcraft III\Frozen Throne.exe" -opengl, but I have found that this is not nessesary once you create a Gfx OpenGL DWORD.
Setting proper resolution:
Start winecfg, under Applications tab add application and add Frozen Throne.exe and Warcraft III.exe (if you play the default RoC game). Now make sure the exe is selected and switch to Graphics tab. At this point I select Allow DirectX apps to stop mouse leaving their window & Emulate a virtual desktop. You want your virtual desktop to be the same size as your default resolution, mine is set at 1280x1024. You also want your Warcraft3 game to be the same resolution or otherwise this will create empty space. If you do this correctly you will be able to alt-tab very quickly without switching resolutions. Useful for checking youtube while you wait for a custom game to fill.
Let me know if this worked for anyone else, also you can reduce in-game quality through the game's options, I keep my settings on medium to high and it runs great with this tweak. Furthermore make sure you have an adequate driver installed for your video card.