Ceci est une ancienne révision du document !
Far Cry
Introduction
est un jeu de tir subjectif, développés par Crytek Studios, édité par UbiSoft il est sorti sur PC en mars 2004.
Présentation
Doté d'un moteur graphique novateur, l'originalité de Far Cry réside surtout dans son ambiance: c'est un des rares jeu de tir subjectif à se dérouler sous le soleil. En effet l'aventure se déroule sur une île paradisiaque du Pacifique sud entourée d'une mer turquoise par un temps de carte postale. Le jeu se parcourt en extérieur avec une certaine liberté de mouvement, notamment par la possibilité de conduire divers véhicules. (extrait wiki)
Le jeu se joue en mode solo ou multi-joueurs.
Mode solo
Échoué au paradis…
Jack Carver a laissé derrière lui un passé plein de mystère et d'amertume pour venir créer une société de transport maritime dans le Pacifique Sud. Il est engagé par Valérie Constantine pour emmener secrètement celle-ci sur une île inexplorée de la Micronésie. Après l'avoir amenée sur l'île, son bateau est attaqué par des mercenaires. Jack parvient à s'échapper mais échoue à des milliers de kilomètres de tout. Sans l'aide de Valérie, laquelle est perdue quelque part dans les profondeurs de la jungle, Jack doit retrouver le chemin de la civilisation. (extrait du manuel)
Pré-requis pour l'installation
Installation
Avec le script de cbz
Avec le script de LOKI
Loki propose un excellent installateur de Far-Cry, très simple a utiliser.
- Télécharger le script d'installation ici
- Mettez le sur votre bureau.
- Vérifier que le nom du script est bien "far.cry_1.33-french.dvd.run".
- Mettez votre dvd de far cry dans le lecteur.
- Ouvrez un terminal et tapez :
cd Desktop sh far.cry_1.33-french.dvd.run
- Installez le jeu dans le répertoire voulu, installez le script de lancement où vous voulez (idéalement /home/votrenom/)
Au bout d'un certain temps et de beaucoup de 100%, votre jeux est installé.
Pour lancer le jeu, vous devez éditer le script de lancement :
sudo gedit farcry
Puis remplacez la première ligne :
#!/bin/sh
par
#!/bin/bash
Vous pouvez aussi recopier le script dans /usr/local/bin pour pour lancer FarCry en tapant "farcry" dans une console :
sudo cp farcry /usr/local/bin/
Et voilà ça marche !! Avec les vidéos et en plein-écran !!! :)
Si par la suite vous voulez jouer sur internet ou corriger des bugs graphique, vous pouvez essayer d'installer le patch 1.33 ⇒ 1.4 ou 1.X ⇒ 1.4. (Apperemment le patch 1.33 ⇒ 1.4 ne fonctionne pas, essayer directement l'autre). N'essayez pas d'installer un patch si tout marche déjà correctement, car cela peut toujours poser problème…
Manuelle
Wine doit être configuré (avec winecfg), choisir dans les options d'affichage émuler un bureau virtuel.
Créer le fichier DirectX9c.reg dans le répertoire ~/.wine/drive_c/ avec comme contenu:
Windows Registry Editor Version 5.00 [HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX] "InstalledVersion"=hex:00,00,00,09,00,00,00,00 "Version"="4.09.00.0904"
Enregistrer la clé de registre crée ci-dessus (pour simuler la présence de DirectX9c).
cd ~/.wine/drive_c/ regedit DirectX9c.reg
Si besoin insérer le média d'installation de Far Cry
Dans la ligne suivante remplacer "/media/cdrom0" par le chemin du média d'installation.
cd /media/cdrom0
Pendant l'installation, choisir la langue, accepter la licence Crytek, (de préférence, pas testé) ne pas changer le chemin d'installation, (décocher les raccourcis,) décocher l'installation d'Acrobat Reader et de DirectX, si demander accepter les termes du contrat de licence de DirectX (celui-ci ne sera pas installer grâce à la clé de registre enregistrée précédemment).
Le temps d'installation de Far Cry peut sembler assez long…
wine setup.exe
A la fin de l'installation tuer le serveur wine.
wineserver -k
Modifier chaque ligne suivante du fichier system.cfg dans le répertoire Far Cry.
i_direct_input = "1" r_Driver = "Direct3D9" r_Fullscreen = "1"
par la ligne correspondante
i_direct_input = "0" r_Driver = "OpenGL" r_Fullscreen = "0"
Dans le répertoire Bin32 remplacer le fichier FarCry.exe par la version No CD.
Installation d'un patch
Télécharger la version cumulative du patch et la placer dans le répertoire ~/.wine/drive_c/
cd ~/.wine/drive_c/
Remplacer dans la ligne suivante le nom du patch par celui présent.
Pendant l'installation accepter sans changement les propositions faites.
Une erreur peut apparaîte à la fin de l'installation, ne pas en tenir compte.
wine far_cry_v1.4_cumulative.exe
A la fin de l'installation tuer le serveur wine.
wineserver -k
Problème de souris rencontré pendant le jeu, la souris ne semble pas fonctionner.
Avec l'arrivée du patch 1.4 Far Cry, le support des joypads a été ajouté.
Le fichier game.cfg généré automatiquement par Far Cry peut être configuré pour gérer le jeu par joypad par défaut au lieu de le gérer par souris.
Pour régler le problème, modifier chaque ligne suivante du fichier game.cfg dans le répertoire Far Cry.
Input:BindAction("TURNLR", "joy_rstick_ud", "binozoom", 0); Input:BindAction("TURNUD", "joy_rstick_lr", "binozoom", 0); Input:BindAction("TURNLR", "joy_rstick_ud", "default", 0); Input:BindAction("TURNUD", "joy_rstick_lr", "default", 0); Input:BindAction("TURNLR", "joy_rstick_ud", "vehicle", 0); Input:BindAction("TURNUD", "joy_rstick_lr", "vehicle", 0); Input:BindAction("TURNLR", "joy_rstick_ud", "zoom", 0); Input:BindAction("TURNUD", "joy_rstick_lr", "zoom", 0);
par la ligne correspondante
Input:BindAction("TURNLR", "maxisx", "binozoom", 0); Input:BindAction("TURNUD", "maxisy", "binozoom", 0); Input:BindAction("TURNLR", "maxisx", "default", 0); Input:BindAction("TURNUD", "maxisy", "default", 0); Input:BindAction("TURNLR", "maxisx", "vehicle", 0); Input:BindAction("TURNUD", "maxisy", "vehicle", 0); Input:BindAction("TURNLR", "maxisx", "zoom", 0); Input:BindAction("TURNUD", "maxisy", "zoom", 0);
Si le problème persiste modifier également ces lignes dans les fichiers game.cfg rencontrés sous l'arborescence Far Cry\Profiles.
Optimisation et astuces
Problème de son (crachotements)
Aller dans les Options Audio de Far Cry et cocher:
Mode compatible (redémarrage) A utiliser si problèmes audio.
Lancement sous Debian (Etch)
Si le jeux ne se lance pas :Erreur de segmentation (si besoin relancer le serveur X [CTRL]+[ALT]+[SUP]) essayer
strace /usr/lib/wine/wine.bin "C:\Program Files\Ubisoft\Crytek\Far Cry\Bin32\FarCry.exe" 2>stracewinefarcry.log
Pour la version installée avec le dépôt winehq
strace wine "C:\Program Files\Ubisoft\Crytek\Far Cry\Bin32\FarCry.exe" 2>stracewinefarcry.log
Problème de triangles noirs (bug d'affichage)
Far Cry permet de monter toute la configuration en très élevé, mais il m'a fallu descendre la qualité des éclairages en élevé pour ne pas avoir de bugs.
Options configuration graphiques
Supprimez le fichier "system.cfg" dans le dossier farcry/ et relancez le jeu. Vous pourrez alors configurer le jeu en détail, et si vous le désirer éditer les petites lignes manuellement avec des explications (allez dans Vidéo ⇒ Personnaliser).
Attention tout de même, vous ne pourrez changer Direct3D, il va falloir lancer le jeu une fois, le quitter, éditer le fichier system.cfg manuellement et mettre "OpenGL" au lieu de "Direct3D".
Sauvegardes incompatibles
Attention : les sauvegardes de la version 1.0 à 1.2 ne sont pas compatibles avec la 1.3 et supérieur.
Mode triche
Un mode bien pratique, notamment si vos sauvegardes ont été effacées/perdues :
Il faut faire en sorte de lancer FarCry.exe avec l'option "-DEVMODE". Pour le script de Loki par exemple, il faut éditer le fichier "farcry" (dans le dossier d'installation) et dans la ligne 9, faire comme ceci :
GAME_BINARY="FarCry.exe -DEVMODE"
Touche | Effet |
---|---|
P | toutes les armes à feu |
O | 999 munitions pour l'arme actuellement sélectionnée |
F2 | point de contrôle suivant de la mission |
F3 | "mode vol", avec les collisions |
F4 | "mode vol", sans les collisions |
- Pour avoir des vies en nombre illimité : Ouvrez la fenêtre de la console en pressant la touche "exposant 2" (le petit 2 situé à gauche du "1" au-dessus du "A". Pressez simultanément les trois touches suivantes de votre clavier : "CTRL" (en bas à gauche) "Alt" (deux touches à droite de "CTRL") "#" (la touche du chiffre "3", au-dessus des lettres "Z" et "E") Normalement, le signe "#" devrait apparaître. Tapez ensuite "god=1". Vous devriez donc lire : #god=1
Pressez la touche "ENTREE" de votre clavier. Faites disparaître la fenêtre de la console en pressant la touche "exposant 2" (le petit 2 situé à gauche du "1" au-dessus du "A". Normalement, vous devriez lire "GOD 0" en haut à gauche sur votre écran.
Extrait de la FAQ officielle.
Problèmes rencontré
Ici les problèmes n'ayant pas de solutions…
Problème d'océan qui n'apparait pas
J'ai ce bug avec ma ATI9600XT (drivers proprios, voir screen), j'ai tout essayer (EDIT: et je viens de réessayer de trafiquer pendant plus de 5h…) en vain pour le résoudre (configuration, patch 1.4…), mais rien n'y fais. Si vous avez une solution, éditez ce paragraphe !!
Configuration systèmes testés
Bureau | Noyau | Version | Wine | Test | Commentaires |
---|---|---|---|---|---|
… | … | … | … | … | … |
Gnome | 2.6.18 | Debian Etch | 0.9.25 | Ok | voir optimisation et astuces |
Gnome | 2.6.20 | Feisty Fawn | 0.9.36 | OK | Installation par script sans soucis. Mode plein-écran OK Graphiquement, quelques petits soucis : ATI9600XT (driver proprio) |
Gnome | 2.6.20 | Feisty Fawn | 0.9.36 | OK | Tout fonctionne à fond les ballons sur C2D E6300 + 7600GT + 1Go RAM en 1280x1024 :) |
KDE | 2.6.15-27 | Dapper Drake | 0.9.25 | Ok | Suite à un boot ne se lance qu'une fois puis crash X |
KDE | 2.6.17-10 | Edgy Eft | 0.9.25 | Ko | Problème de noyau à confirmer |
Captures d'écran
Ressources
Script d'installation
Créer un fichier texte et y coller le script.
#!/bin/sh # Install Farcry # version 0.5 # par cbz # gksu (Debian) ou gksudo (Ubuntu) if [ "`cat /etc/debian_version`" = "" ]; then gks="gksudo" versionwine="Wine 0.9.24" tversionwine="Wine " else gks="gksu" versionwine="wine-0.9.24" tversionwine="wine-" fi if [ -a /usr/lib/wine/wineserver ]; then wineserv="/usr/lib/wine/wineserver" else wineserv="wineserver" fi # (Dépendances: zenity, cabextract, sed, wine) if ! [ "`dpkg -s zenity | grep 'Status:'`" = "Status: install ok installed" ]; then { #Recherche du paquet zenity dans les dépôts $gks --message "Installation du paquet Zenity nécessaire pour continuer l'installation." apt-get update if [ "`apt-cache search --names-only zenity`" = "" ]; then echo "Le paquet zenity n'est pas présent. Installation annulée." exit 1 else #Installation de zenity $gks apt-get install zenity if ! [ "`dpkg -s zenity | grep 'Status:'`" = "Status: install ok installed" ]; then echo "Le paquet zenity n'est pas présent.\nInstallation annulée." exit 1 fi fi } fi #Dépendance cabextract if ! [ "`dpkg -s cabextract | grep 'Status:'`" = "Status: install ok installed" ]; then #Recherche du paquet cabextract dans les dépôts $gks --message "L'installation du paquêt cabextract est nécessaire." apt-get update if [ "`apt-cache search cabextract`" = "" ]; then zenity --title="Installation Far Cry" --error \ --text="Le paquet cabextract n'est pas présent.\nInstallation annulée." exit 1 else #Installation de cabextract $gks --message "L'installation du paquêt cabextract est nécessaire." apt-get install cabextract if ! [ "`dpkg -s cabextract | grep 'Status:'`" = "Status: install ok installed" ]; then zenity --title="Installation Far Cry" --error \ --text="Le paquet cabextract n'est pas présent.\nInstallation annulée." exit 1 fi fi fi #Dépendance sed if ! [ "`dpkg -s sed | grep 'Status:'`" = "Status: install ok installed" ]; then #Recherche du paquet sed dans les dépôts $gks --message "L'installation du paquêt sed est nécessaire." apt-get update if [ "`apt-cache search sed`" = "" ]; then zenity --title="Installation Far Cry" --error \ --text="Le paquet sed n'est pas présent.\nInstallation annulée." exit 1 else #Installation de cabextract $gks --message "L'installation du paquêt sed est nécessaire." apt-get install sed if ! [ "`dpkg -s sed | grep 'Status:'`" = "Status: install ok installed" ]; then zenity --title="Installation Far Cry" --error \ --text="Le paquet sed n'est pas présent.\nInstallation annulée." exit 1 fi fi fi # Prérequis Wine if [ ! "`dpkg -s wine | grep 'Status:'`" = "Status: install ok installed" ]; then #Verifie si le paquet wine est installé zenity --title="Installation Far Cry" --error \ --text="Wine ne semble pas être installé.\nInstallation annulée." exit 1 fi #Verifie si wine est configuré (existence du répertoire ~/.wine/drive_c) if ! [ -d ~/.wine/drive_c ]; then zenity --title="Installation Far Cry" --question \ --text="Wine ne semble pas être configuré (~/.wine/drive_c absent).\nVoulez vous lancer Wine Config?" if [ "$?" = "0" ]; then winecfg 2>~/winecfg.log fi if ! [ -d ~/.wine/drive_c ]; then zenity --title="Installation Far Cry" --error \ --text="Wine ne semble pas avoir été configuré.\nInstallation annulée." exit 1 fi fi # Vérifie la version de wine (>=0.9.25 bon support de l'installation par msi) if ! [ "`wine --version 2>/dev/null | grep -i "$tversionwine"`" \> "$versionwine" ]; then zenity --title="Installation Far Cry" --error \ --text="Version de wine obsolète (`wine --version 2>/dev/null`).\nVeuillez faire la mise à jour de wine avec une version >= 0.9.25." exit 1 fi #Vérifie si le répertoire ~/.wine/drive_c est accessible en écriture if ! [ -w ~/.wine/drive_c ]; then zenity --title="Installation Far Cry" --error \ --text="Le répertoire racine du lecteur C (~/.wine/drive_c) ne permet pas un accès en écriture.\nInstallation annulée." exit 1 fi zenity --title="Installation Far Cry" --info \ --text="Ce programme est un installeur pour Far Cry.\n\nIl nécessite:\n-Un média d'installation de Far Cry.\n-Une clé de Far Cry valide.\n-Un patch cumulatif récent de Far Cry.\n-Un exécutable No CD de Far Cry\n-Les options vidéos de Wine configurés pour émuler un bureau virtuel.\n\nLors de l'installation, vous serez peut-être amener à clore manuellement la fenêtre wine desktop." # Sélection du média d'installation de Far Cry flag=1 while [ "$flag" = "1" ]; do media_farcry=`zenity --title="Sélectionner le média d'installation de Far Cry" --file-selection --directory` if [ "$?" != "0" ]; then zenity --title="Installation Far Cry" --error \ --text="Installation annulée." exit 1 fi # Verification du média d'installation de Far Cry if ! [ -e "$media_farcry/Far Cry.msi" ]; then zenity --title="Installation Far Cry" --info \ --text="Identification du média d'installation de Far Cry échouée.\nSi besoin veuillez insérer le DVD d'installation." else flag=0 fi done # Sélectionner du patch Far Cry à installer flag=1 while [ "$flag" = "1" ]; do patch_farcry=`zenity --title="Sélectionner du patch Far Cry à installer" --file-selection` if [ "$?" != "0" ]; then zenity --title="Installation Far Cry" --error \ --text="Installation annulée." exit 1 else flag=0 fi done # Sélectionner de l'exécutable Far Cry No CD flag=1 while [ "$flag" = "1" ]; do exeNoCD_farcry=`zenity --title="Sélectionner de l'exécutable Far Cry NoCD" --file-selection` if [ "$?" != "0" ]; then zenity --title="Installation Far Cry" --error \ --text="Installation annulée." exit 1 else flag=0 fi done echo "Installation de clés de registre pour simuler la présence de DirectX9c." #Installation des clés de registres mkdir -p ~/.wine/drive_c/Program\ Files/Ubisoft/Crytek/Far\ Cry/ cd ~/.wine/drive_c/Program\ Files/Ubisoft/Crytek/Far\ Cry/ # DirectX9c.reg echo 'Windows Registry Editor Version 5.00' >>DirectX9c.reg echo '' >>DirectX9c.reg echo '[HKEY_LOCAL_MACHINE\SOFTWARE\Microsoft\DirectX]' >>DirectX9c.reg echo 'InstalledVersion=hex:00,00,00,09,00,00,00,00' >>DirectX9c.reg echo 'Version="4.09.00.0904"' >>DirectX9c.reg # Mise à jour de la base de registre regedit DirectX9c.reg # Installation de Far Cry echo "Installation de Far Cry." # installation de Far Cry echo $media_farcy cd "$media_farcry/" wine setup.exe $wineserv -k # Installation du patch Far Cry echo "Installation du patch Far Cry." # installation du patch Far Cry (lancer avec wine via un lien symbolique) ln -s "$patch_farcry" ~/.wine/drive_c/patch.exe wine ~/.wine/drive_c/patch.exe 2>~/.wine/drive_c/patch_farcry.log $wineserv -k rm ~/.wine/drive_c/patch.exe cd ~/.wine/drive_c/Program\ Files/Ubisoft/Crytek/Far\ Cry/ # Copie de l'exécutable Far Cry No CD mv ./Bin32/FarCry.exe ./Bin32/original_FarCry.exe cp "$exeNoCD_farcry" ./Bin32/ # Exécution du programme de configuration de Far Cry zenity --title="Installation Far Cry" --info \ --text="Le programme de configuration de Far Cry va être exécuté.\nRenseigner un mode graphique compatible avec le mode défini dans wine.\nNe pas configurer Far Cry en plein écran." wine ./Bin32/FarCryConfigurator.exe $wineserv -k #Force openGL et un mode fenêtre dans le fichier system.cfg de Far Cry sed -i 's/r_Driver = "Direct3D9"/r_Driver = "OpenGL"/g' ./system.cfg sed -i 's/r_Fullscreen = "1"/r_Fullscreen = "0"/g' ./system.cfg sed -i 's/i_direct_input = "1"/i_direct_input = "0"/g' ./system.cfg sed -i 's///g' ./game.cfg #Input:BindAction("TURNLR", "joy_rstick_ud", "binozoom", 0); #Input:BindAction("TURNLR", "maxisx", "binozoom", 0); #Input:BindAction("TURNUD", "joy_rstick_lr", "binozoom", 0); #Input:BindAction("TURNUD", "maxisy", "binozoom", 0); #Input:BindAction("TURNLR", "joy_rstick_ud", "default", 0); #Input:BindAction("TURNLR", "maxisx", "default", 0); #Input:BindAction("TURNUD", "joy_rstick_lr", "default", 0); #Input:BindAction("TURNUD", "maxisy", "default", 0); #Input:BindAction("TURNLR", "joy_rstick_ud", "vehicle", 0); #Input:BindAction("TURNLR", "maxisx", "vehicle", 0); #Input:BindAction("TURNUD", "joy_rstick_lr", "vehicle", 0); #Input:BindAction("TURNUD", "maxisy", "vehicle", 0); #Input:BindAction("TURNLR", "joy_rstick_ud", "zoom", 0); #Input:BindAction("TURNLR", "maxisx", "zoom", 0); #Input:BindAction("TURNUD", "joy_rstick_lr", "zoom", 0); #Input:BindAction("TURNUD", "maxisy", "zoom", 0); #r_TexResolution = "0" zenity --title="Installation Far Cry" --info \ --text="Installation de Far Cry terminée.\n\nBon frag !!!" exit 0
Contributeurs : cbz Guguscat adam0509