Bonjour tout le monde
Devant la recrudescence de questions que l'on peut lire ici et là (dans les forums Sims 3 bien entendu) à propos du fameux fichier
Resource.cfg nous avons pensé qu'il n'était pas inutile d'apporter un peu de lumière sur sa fonction et son contenu...
Ce fichier n'est ni plus ni moins ce que l'on appelle un
script - ou fichier d'initialisation - et sert (un peu à la façon des fichiers *.ini de Windows) à renseigner au démarrage l'application pour lequel il a été conçu de certaines particularités diverses telles que les types de fichiers, extensions, emplacements précis, etc. reconnues et utilisées par la dite application.
Si nous prenons les Sims 3 de base, vous rencontrerez plusieurs Resource.cfg situés dans les dossiers (en admettant que le jeu soit installé sur le disque C:
c:\Programmes\Electronic Arts\Les Sims 3\Game\Bin\c:\Programmes\Electronic Arts\Les Sims 3\GameData\Shared\et
c:\Programmes\Electronic Arts\Les Sims 3\GameData\Win32\Ce type de fichier est - tout comme les fichiers *.ini - un fichier de type texte et s'édite dans le bloc notes de Windows (pour peu que l'on aie auparavant associé ce type d'extension - *.cfg - au bloc notes. Si nous éditons le premier des 3 cités plus haut, nous obtenons:
Priority -29
PackedFile UI/UI.package
PackedFile Automation/AutomationData.package
PackedFile Jazz/JazzData.package
FileType 0xf0ff5598 triggers
FileType 0x0333406c xml
FileType 0x1a3201cd mod
FileType 0x025c95b6 layout
FileType 0x025c90a6 css
FileType 0x062e9ee0 ttf
FileType 0x062e9ee0 otf
FileType 0x062e9ee0 ttc
FileType 0x03b33ddf mod
FileType 0x0604abda dreamtree
Ce fichier est lu de haut en bas (ça je pense que vous l'avez deviné ;-) ) et chaque ligne est en règle générale composée d'une instruction suivi d'un ou de plusieurs paramètre(s)... Instruction / directive séparée de son / ses paramètre(s) par un espace ou une tabulation.
Les instructions les plus courantes et les plus utilisées - par les Sims 3 - sont:
-
Priority {Numéro_de_priorité} --> Définition du degré de priorité des instructions suivantes. Ici c'est simple et il n'y a pas de mystère: une priorité de 20 est plus importante qu'une priorité de 10! (autrement dit, les instructions suivant une priorité 10 seront exécutées
après celles de la priorité 20). Et ce quelque soit l'ordre d'apparition de lignes concernées dans le fichier Resource.cfg! C'est magique!
-
FileType {Numéro ID} {extension} --> Le type de fichier reconnu est celui dont le N° ID suit suivi éventuellement aussi du type de l'extension dudit fichier. (voir le fichier Resource.cfg Sims 3 original affiché plus haut)
-
PackedFile {Dossier_du_fichier_package}/{Paramètre} --> le fichier compressé (packed) se trouve dans le nom du dossier passé en argument / et s'appelle Tartempion.package (par exemple).
-
Scan {Nom_dossier} --> demande à ce que l'on effectue une recherche dans Nom_dossier (toujours relatif) et ses sous-dossiers pour éventuellement trouver d'autres fichiers Resource.cfg (qu'il faudra bien entendu aussi lire et interpréter s'il y en a).
Voilà pour ce qui est de la théorie... Bien entendu, celui qui nous intéresse le plus (puisqu'il est absolument déconseillé de modifier les fichiers Resource.cfg originaux du jeu - sauf si savez exactement et de façon précise ce que vous faites - ) est celui chargé de renseigner les Sims 3 sur notre CP.
Lui aussi doit adopter la même structure (dans ses grandes lignes), mais chose étonnante, on trouve très peu de sites / forums Sims 3 qui nous expliquent que l'on peut personnaliser ce fichier de façon à ce qu'il réponde ou reflète notre structure / organisation de ce fameux CP! ;-)
Et par la même occasion, beaucoup de joueurs Sims 3 se plaignent de la lenteur ou de la longueur exagérée du temps de chargement du jeu
Personnellement, je n'en suis pas étonné lorsque je lis les lignes suivantes dans un Resource.cfg mis en téléchargement sur le Net:
PackedFile Mods/Packages/*.package
PackedFile Mods/Packages/*/*.package
PackedFile Mods/Packages/*/*/*.package
PackedFile Mods/Packages/*/*/*/*.package
PackedFile Mods/Packages/*/*/*/*/*.package
Certes, il n'y a rien à dire pour ce qui est de la syntaxe...Mais alors au niveau logique...Pardon !
... Une config pareille (même si elle fonctionne) est pour moi un non sens car elle a le désavantage de ne pas être... assez précise! - un comble dans le monde informatique - et demande par conséquent un temps de traitement machine plus important... Le fait d'utiliser à tout va des méta caractères génériques (
*) pour désigner les noms de dossiers ralentissent la machine. En effet
* dans ce cas signifie: recherche dans tous les dossiers et sous-dossiers, les fichiers - quel que soit leurs noms -, dont l'extension est package. Et vous pouvez constater que la dernière ligne compte pas moins de 6 niveaux !!! (Mods, Packages, sous-dossier3, sous-dossier4, sous-dossier5, sous-dossier6 glurpsss!
Dites? Vous en connaissez beaucoup vous des joueurs qui structurent leur dossier \Mods de la façon suivante:
..\Mods\Packages\Femmes\Adultes\Jupes\Courtes!\Bien que la chose soit parfaitement envisageable, correcte et viable, je suis certain que personne parmi vous n'a un dossier \Mods structuré de cette façon (ce serait trop beau)...Et pourtant ce serait comme ça que les choses seraient le mieux! Toujours est-il que vous avez stocké et mélangé - comme des braves - pratiquement tous vos fichiers packages dans un seul dossier (le dossier Packages) mais vous demandez quand même à l'application de perdre du temps à aller voir / vérifier s'il n'y a pas par hasard 1 ou 2 autres sous-dossiers qui trainent et dans lesquels il pourrait y avoir quelques autres packages qui dorment tranquilles!
illogique!.. Et encore une fois perte de temps dont on peut se passer!
Certes il faut reconnaitre que la personne qui a donné et mis sur le Net cette structure générique avait pour intention de faciliter la tâche aux non initiés en informatique. Bonne intention qu'on ne peut que louer. mais maintenant que vous êtes des cracs de la config CP et des Mods, vous pouvez parfaitement personnaliser votre fichier de façon à ce qu'il reflète exactement votre configuration courante.
Allez pour exemple, je vous donne un des miens:
Priority 50
PackedFile caw/*.package
PackedFile divers/*.package
PackedFile mts/*.package
PackedFile nraas/*.package
PackedFile packages/*.package
PackedFile paintings/*.package
PackedFile pose_player/*.package
PackedFile ss3/*.package
PackedFile test/*package
PackedFile test_clothes/*.package
PackedFile test_objects/*.package
PackedFile valcourt/*.package
PackedFile xsims/*.package
PackedFile zano972/*.package
# ---------------------------
# pour packages suspects à surveiller!
# ---------------------------
# PackedFile suspect/*.packageje vous laisse remarquer que l'on peut ajouter des commentaires dans ce fichier (les lignes commençant par un
#)... Donc inutile de vous dire qu'en cas de pépins avec un objet situé dans un sous-dossier particulier - , il suffit de placer un # comme premier caractère sur la ligne concernée (sauvegarder le fichier modifié...) pour immédiatement désactiver cette ligne ce qui aura pour effet qu'au prochain lancement des Sims 3, cette ligne sera purement et simplement ignorée, désactivant par la même occasion tous les packages que le dossier contient. (Ce qui évite de procéder à des déplacement de package un peu partout sur le disque dur). ;-)
Moralité et conclusion: un fichier
Resource.cfg bien pensé, bien structuré peut me faire gagner quelques bonnes secondes de temps de chargement... surtout dans le cas où j'ai 2 Go de CP !
Bonne journée et A+++
-------------------------------------------------------------------
MODE D'EMPLOI
N'hésitez pas à remercier l'auteur de ce tutoriel ou à faire partager votre expérience personnelle. Si vous avez créé quelque chose en suivant le tuto pourquoi pas la poster afin de la montrer à l'auteur
-----------------------------------------
Pour d'éventuelles questions, c'est par ici et si vous souhaitez en apprendre plus sur le sujet, rendez-vous dans la salle travaux pratiques
Bonne journée