Salut à tous !
Chose promise , chose dûe , je vais vous expliquer les bases du modding de far cry 3.
Table des matières :
1-Deux façons de moder.
2-Première façon de moder : A l'éditeur exadécimal.
3-Deuxième façon de moder : Modifier les fichiers patch.dat et patch.fat.
4-Créer son propre mod (exercice pratique).
5-Quelques logiciels bien utiles.
1-Deux façons de moder :
-Le première façon découverte consiste à modifier les .dll du jeu comme des bourrins avec un éditeur hexadécimal. C'est encore la meilleure solution qui existe pour certaines choses comme par exemple supprimer le wallhack et le clignotement des objets. Notez toutefois que lors d'une mise à jour , vos dlls sont remplacés par de nouveaux et il faut alors recommencer l'opération.
-La deuxième façon consiste à modifier le fichier contenant les informations de mise à jour du jeu. En effet , quand le jeu se met à jour il modifie deux fichiers contenus dans le répertoire data_win32 de votre far cry 3. Il s'agit des fichiers patch.dat et patch.fat.
En décompressant ces fichiers vous aurez accès aux différentes modifications apportées par la mise à jour , ça peut être des fichiers lua , xml ou textures bien connus mais aussi des fichiers .lib , .fcb et d'autres encore. Nous aborderons tout celà plus tard dans ce tutorial.
2-Première façon de moder : A l'éditeur exadécimal.
N'importe quel éditeur hexadécimal est bon pour cette méthode. Modifiez simplement le DLL correspondant à l'exécutable que vous avez l'habitude d'utiliser pour jouer. A savoir le FC3.dll pour la dx9 et le FC3_d3d11.dll pour la dx11.
Voici quelques modifications intéressantes pour votre dll :
Supprimer le wallhack ( il continue d'apparaître de temps en temps , personne ne sait pourquoi mais dans 99% des cas il est supprimé ) :
http://forums.ubi.com/showthread.php...=1#post8781800
Supprimer le clignottement sur les objets :
http://forums.ubi.com/showthread.php...=1#post8781008
Libre à vous de vous balader sur le forum ubisoft pour trouver d'autres modifications hexadécimales à apporter mais se sont personnellement les deux seules que je trouve encore intéressantes à apporter .
3-Deuxième façon de moder : Modifier les fichiers patch.dat et patch.fat.
Bon maintenant c'est du serious buziness , on va vraiment rentrer tripatouiller dans les scripts du jeu .
Premièrement procurez-vous la dernière version du décompresseur/décripteur de Gibbed : http://svn.gib.me/builds/dunia2/
Le gars fait du super bon boulot ( j'ai cru aussi comprendre qu'il est pas tout seul ) et il y a parfois plusieures nouvelles versions qui sortent par jour.
Décompressez l'outil quelque part sur votre disque dur ( je vous conseil en régle générale de vous créer un dossier avec une courte directory pour faire votre bricolage de modeur , car l'outil en question a du mal avec les très longues directories ) par exemple dans "N:\FC3modding\gibbed\" et décompressez-y l'outil de façon à avoir les exécutables dans cette directory : "N:\FC3modding\gibbed\bin\" toujours en fonction de notre exemple.
Faites un backup de vos fichiers patch.dat et patch.fat contenus dans le répertoire data_win32 de votre FC3.
Ouvrez une fenêtre avec votre dossier data_win32 et une autre avec les exécutables de l'outil de Gibbed. Maintenant faites glisser le fichier patch.fat sur l'executable "Gibbed.Dunia2.Unpack.exe". Et vous vous retrouvez dans votre répertoire data_win32 avec un nouveau dossier patch_unpack contenant tous les fichiers de la mise à jour ! C'est dans ce dossier patch_unpack que nous allons rajouter des mods , ensuite nous n'auront plus qu'à le renommer "patch" au lieu de "patch_unpack" et nous le feront glisser sur l'executable "Gibbed.Dunia2.Pack.exe" pour que l'outil nous reconstruise un patch.dat et un patch.fat utilisables !
C'est la tout le principe du modding dans FC3 , recréer des fichiers patch contenant les modifications dont nous avons envie !
Pas mal de modifications ont déjà été pondues par la communauté ici : http://forums.ubi.com/showthread.php...-for-Far-Cry-3
4-Créer son propre mod (exercice pratique) :
Je vais vous apprendre à créer un petit mod via un exercice pratique assez simple qui , je pense , traite des différents problèmes rencontrés. Nous allons rendre la seringue de répulsion animale disponible dès la première mission du jeu.
Pour se faire décompressons les fichiers dat les plus importants du jeu. je vous conseil donc de copier les fichiers suivants dans une directory assez courte ( dans notre exemple N:\FC3modding" ).
data_win32\common.dat
data_win32\common.fat
data_win32\worlds\fc3_main\fc3_main.dat
data_win32\worlds\fc3_main\fc3_main.dat
data_win32\worlds\multicommon\multicommon.dat
data_win32\worlds\multicommon\multicommon.fat
Ensuite déplacez chaque .fat sur l'executable "Gibbed.Dunia2.Unpack.exe" de l'outil de Gibbed. Cela va prendre un certain temps en fonction de votre machine , chez moi ça prend une petite dixaine de minute pour les plus gros fichiers. Je vous conseil en plus de répéter cette oparation assez souvent en fonction des mises à jour de l'outil de Gibbed qui vont décrypter de plus en plus de fichiers. Car oui , à l'heure actuelle , tous les fichiers décompressés ne sont pas encore exploitables.
Une fois tout celà décrypté et décompressé rendez vous dans "common_unpack\generated\databases\generic\" et trouvez le fichier craftingrecipe.lib.
Un fichier .lib ? Mais qu'est ce que je vais en faire ? Pas de panique , les fichiers .dat contiennent aussi des fichiers archives eux mêmes qui sont les .lib et les .fcb. Ces fichiers là sont à déplacer sur l'executable "Gibbed.Dunia2.ConvertBinaryObject.exe" de l'outil de Gibbed.
Un fichier .xml et un dossier seront alors créés dans la même directory que votre fichier.lib ou.fcb. Ils seront nommés respectivement craftingrecipe_converted.xml et craftingrecipe_converted.
Entrez dans le dossier craftingrecipe_converted\Hunting et là vous trouverez le fichier .xml avec les informations sur la seringue qui repousse les animaux : "Animal repellant.xml".
Vous l'ouvrez et une multitude d'informations arrivent devant votre nez , vous ne savez pas trop bien quoi faire.
On va comparer ce fichier avec le fichier d'une seringue qu'on a dès le début du jeu , celle qui rajoute simplement de la santé.
Rendez vous dans dans le dossier craftingrecipe_converted\Medicine et ouvrez le fichier "Small med kit.xml".
Et dans celui-ci une ligne vous saute aux yeux ( ou pas , mais je vous aide aussi , après pour trouver ce genre de choses il faudra vous débrouiller ) :
Et dans le fichier de la seringue qui repousse les animaux nous avons pour la même ligne :<field name="UnlockOnMissionComplete" type="String">JAS_060_main</field>
Ce qui veut dire qu'elle se débloque à une autre mission ! Mettons "JAS_060_main" à la place de "DOC_020_main" en faisant très attention aux majuscules et minucules et sauvegardons le fichier animal repellant.xml !<field name="UnlockOnMissionComplete" type="String">DOC_020_main</field>
Coupez collez le dossier et le fichier .xml craftingrecipe_converted dans votre patch.dat ( patch_unpack ) décompressé en recréant la même directory ! C-à-d que votre fichier et votre dossier se trouveront dans "patch_unpack\generated\databases\generic\"
Renommez votre dossier "craftingrecipe_converted" fraîchement copié en "craftingrecipe" et le .xml qui l'accompagne en craftingrecipe.xml.
Maintenant déplacez le fichier .xml sur l’exécutable "Gibbed.Dunia2.ConvertBinaryObject.exe" de l'outil de Gibbed et il vous créera un fichier craftingrecipe_converted.fcb
Attention ! Non seulement il va falloir enlever le "_converted" de son nom mais également changer son extension pour .lib car s'était un fichier lib à la base. Donc notre tout nouveau "craftingrecipe_converted.fcb" va être renommé en "craftingrecipe.lib"
Il ne nous reste plus qu'à recompresser/encrypter notre dossier patch_unpack fraîchement modifié. Pour celà renommez le "patch" , vérifiez bien que vous avez backupé vos patch.dat et patch.fat originaux quelque part et déplacez votre dossier patch modé sur le fichier "Gibbed.Dunia2.Pack.exe" de l'outil de Gibbed.
Vous avez maintenant des fichiers patch.dat et patch.fat moddés !
Et si vous lancez le jeu vous aurez maintenant accès à la seringue qui repousse les animaux dès le début de l'aventure !
Voilà , j'espère que cette explication d'un petit mod vous aura été utile.
Il y a également des fichiers .lua qui contiennent le déroulement des missions et des scripts du genre "if then else ..." etc ...
5-Quelques logiciels bien utiles :
Voici quelques logiciels tiers que j'utilise personnellement pour moder :
Notepad++ : Outil bien connu de tous les programmeurs , il vous mettra en forme avec couleurs les fichiers xml , lua et autres fichiers normalement lisibles avec le notepad traditionnel. De cette façon vous aurez bien plus de facilité à trouver telle ou telle ligne ou voir vos erreurs de scripting.
WinMerge : Cet Outil vous permettra de comparer des fichiers. Exemple pratique : Un modeur a sorti un mod augmentant le nombre d'attachements possibles aux armes mais les fichiers modifiés le sont déjà dans votre compilation actuelle ! Mais ceux-ci sont modifiés en vue de rendre les armes disponibles dès le début du jeu. Et bien grâce à winmerge , vous trouverez facilement les différences entre vos fichiers et ceux du modeur pour ainsi pouvoir plus simplement intégrer ses modifications à vos fichiers. C'est aussi utile dans le cas d'un modeur trop paresseux pour expliquer ce qu'il a fait ... vous trouverez alors ses modifications en comparant avec les fichiers vanillas.
Windows Grep : Mieux que l'outil de recherche de windows , celui-ci pourra même chercher à l'intérieur des fichiers ! Par exemple vous voulez la liste de tous les scripts liés à la mission JAS_070 , il vous suffit de lancer cette recherche dans vos fichiers .fat/.dat décompressés et ce programme vous sortira tous les fichiers faisant référence de près ou de loin à cette mission.