Starcraft et Brood War

Comme disait l'autre: "warcraft, mais dans l'espace!"

Un p'tit screen pour montrer aux sceptiques que ça marche:

sc1.jpg

Notez aussi que la démo de Starcraft fonctionne bien sur le même principe.

Starcraft peut désormais être installé automatiquement grâce à l'utilitaire PlayOnLinux, de même pour son extension Brood War. Pour en savoir plus, rendez-vous sur la page de ce wiki dédiée à PlayOnLinux.

La configuration nécessaire pour WINE est la même que pour Diablo II.
A noter que le Vertex-Shader n'est pas obligatoire, désactivez-le si vous avez une carte avec un chipset ATI…

Pour installer le jeu utilisez une console, positionnez-vous dans le lecteur de CD et utilisez la commande wine pour lancer le fichier install.exe

cd /media/cdrom0
wine ./install.exe

ou selon les versions:

cd /media/cdrom0
wine "./StarCraft (Windows).exe"

Ensuite, laissez-vous guider par l'installateur, la procédure est la même que sous Windows.

Pour lancer le jeu, tapez la ligne de commande suivante dans une console.

wine "c:/program files/starcraft/starcraft.exe"
Vous pouvez également créer un raccourci ayant cette commande comme cible.

Affichage des menus sur Battle.net

Si vous essayez de jouer sur Battle.net vous vous rendrez compte que l'affichage des menu est dégradé. Mis à part ouvrir l'oeil, il n'y a pas de solution miracle, cependant, ceux-ci redeviennent normaux dès que vous avez crée ou rejoint une partie.

Impossible de patcher automatiquement le jeu

Puisque le système de patchage automatique via Battle.net ne fonctionne pas, vous devez opérer manuellement si vous désirez patcher StarCraft.

  1. Téléchargez le dernier patch en date et placez-le sur le bureau.
  2. Utilisez la commande wine avec une console pour installer le patch.
wine Desktop/nomDuPatch.exe

A l'heure actuelle , le dernier patch est le 1.1.6.1.

Problèmes sonores

Vérifiez tout d'abord votre connectique et le fonctionnement correct du son sous Ubuntu. Fermez les autres programmes utilisant les fonctions sonores si nécessaire.

De même, il est préférable de laissez se terminer le son d'introduction de "install.exe". Attendez jusqu'à ce que vous puissiez faire "blop-blop" avec les menus, et lancer l'application.

Si cela ne fonctionne toujours pas chercher dans le menu Audio de winecfg

Configurations connues comme fonctionnelles

  • OSS, avec activation de DirectSound ("Émuler le pilote") et Accélération Matérielle sur "Émulation".
  • ALSA, avec à peu-près tout. Possibilité d'un décalage notamment dans les menus.

Le jeu se lance en 640x480 en haut à gauche

Si vous êtes sous dapper, essayez donc d'installer wine 0.9.2.7. Si ça ne marche toujours pas, il faudra songer à passer sur Edgy

J'ai corrigé les fautes sur ce chapitre - Zoloom

J'ai un widescreen (écran large), et l'image du jeu est coupée en bas

Les écrans larges sont de plus en plus courants sur nos machines, et beaucoup de joueurs ont du mal à utiliser Starcraft, car en se lançant il configure parfois mal l'affichage, et le bas de l'image est coupé.

La solution: adapter la résolution après avoir lancé le jeu. Il y a deux façons de faire:

  • mettre une résolution plus élevée (mais il y aura de la place inutilisée sur l'écran)
  • écraser un peu l'image (je ne sais pas si c'est possible avec tous les écrans, mais c'est la solution que j'ai choisie)

Pour commencer, voyons un peu les résolutions supportées chez vous, ainsi que les fréquences. Exécutez dans une console:

xrandr

J'obtiens, entre autres:

[...]
640x480 56.0 57.0
[...]

Mon écran supporte donc une résolution de 640x480 avec pour fréquences 56Hz et 57Hz.

Sur ma machine, Starcraft se lançait en 640x480 à 56Hz, et le bas de l'image était coupé. J'ai donc essayé de modifier la fréquence à 57Hz après avoir lancé le jeu, et là tout s'est bien passé, il s'est adapté à mon écran large :-D (image un peu étirée, évidemment).

Voici un petit script Bash qui lance le jeu puis adapte la résolution:

#!/bin/bash
export WINEDEBUG="-all"
cd chemin/vers/Starcraft
wine StarCraft.exe &
sleep 4
xrandr -s 640x480 --rate 57.0

Remplacez chemin/vers/Starcraft et les paramètres de la dernière ligne (résolution et fréquence) par ceux qui vont bien chez vous, et ça devrait marcher!

Les utilisateurs de PlayOnLinux peuvent aussi s'en sortir en procédant comme suit

Allez dans le répertoire ~/.PlayOnLinux/configurations/installed. Editez le fichier Starcraft qui s'y trouve.

Ajoutez-y à la fin:

sleep 4
xrandr -s 640x480 --rate 57.0

en remplaçant bien entendu les paramètres de la seconde ligne par ce qui convient à votre écran.

Sauvegardez, puis supprimez les éventuels fichiers temporaires du répertoire.

Vous pouvez maintenant lancer le jeu depuis PlayOnLinux, et les problèmes d'affichage devraient se corriger automatiquement!

Ralentissement suivant les bâtiments et unités sélectionnées

Si vous rencontrez des ralentissements avec le jeu (pas un simple petit lag mais un ralentissement constant), c'est que vous n'avez pas l'OpenGL activé sur wine.

Ceux-ci sont dût au fait que StarCraft n'utilise pas directement DirectX mais passe par l'interface GDI de Windows.
C'est l'interface GDI qui fait appel aux fonctions de DirectX, ce qui fait une sorte de surcouche ralentissement le jeu sous wine.

En activant l'OpenGL au lieu d'utiliser GDI + DirectX, wine va lire les instructions GDI et les transcrire en instructions OpenGL.
Au final, au lieu de deux librairies appelées, vous aurez seulement OpenGL.

L'avantage étant que comme OpenGL est natif linux (et toute plate-forme ;)), cela va beaucoup plus vite qu'une réimplémentation de GDI et DirectX.

Pour cela, dans la console et utilisez la commande regedit

regedit

Cela vous affichera une fenêtre semblable à la Base de Registre de Windows.

Allez sur la clé HKEY_CURRENT_USER\Software\Wine. Si il n'existe pas de clef Direct3D, créez là et entrez-y.

Ensuite, créez deux chaînes :

  • DirectDrawRenderer avec la valeur opengl.
  • RenderTargetLockMode avec la valeur readtex.

Vous pouvez ensuite fermer la fenêtre, dorénavant, les prochaines applications lancées avec wine utiliseront OpenGL.

Veillez à respecter la casse (différence entre majuscules et minuscules dans le nom des clefs, des chaînes et de leurs valeurs).

Ajout du problème des ralentissements de StarCraft - Otheym

Si vous voulez jouer à Starcraft en réseau via internet, vous rencontrerez vite un soucis avec Battle.net, les menus ne sont pas lisibles, et à moins de les connaître par cœur, il n'est pas évident de s'y retrouver. Une solution existe cependant, créer un réseau local via internet avec hamachi.

  • Récupérer hamachi (un deb sur le site officiel) et hamachi gui : deb hamachi et deb hamachi gui
  • Récupérer jpcap (un deb aussi après recherche sur internet) : c'est un programme java qui capture des paquets : deb jpcap
  • Récupérer scToolile (une classe java à mettre dans /home/monhome, il faut chercher dans yahoo car google n'est pas toujours ton ami…): lien sur un post d'un forum macosX...
  • En option, mais c'est tout de même bien agréable : mumble (paquet deb synaptic) pour papoter via internet.

Pour jouer, créez ou rejoignez un réseau Hamachi, une fois que vos ami(e)s sont là, dans un terminal tapez :

sudo java scToolile

Faites votre choix, 1 pour héberger une partie (non testé) ou 2 pour rejoindre une partie, ne fermez pas le terminal ! Vous verrez une succession de points, c'est normal, scToolile travaille et redirige les paquets de starcraft vers hamachi.

Enfin il ne vous reste plus qu'à lancer Starcraft, choisir > multijoueur dans le menu de départ, puis > partie réseau local (udp) dans le deuxième menu et > créer ou rejoindre une partie.

Une remarque : le son me semble plus agréable en choisissant oss dans winecfg, par contre ça ne marche pas avec mumble, du coup je vous conseille fortement de repasser le son en alsa et de profiter grâce à pulse audio du son du jeu et du son de mumble.

  • starcraft.txt
  • Dernière modification: Le 31/08/2022, 23:34
  • par moths-art