X
 
  • Filtre
  • Heure
  • Afficher
Tout nettoyer
nouveaux messages

  • [Divers] Warscape Modding Primer (Guide pour débutants)



    Premiers pas sur le modding de Warscape
    Ceci est une petite introduction au modding de Warscape (le moteur des Total War depuis Empire Total War). Cela devrait donc être valide pour tous les fichiers sur Warscape, donc ETW ; NTW ; TWS2 et TWR2.
    Le tutoriel commence avec des informations sur les fondamentaux de Warscape, que l'on connait depuis Empire, mais que peu de moddeurs ont pris le temps d'expliquer.

    Avant de partir sur les fondations, quelques mots sur les fichiers db.


    Système virtuel de fichiers de Warscape
    Comme chaque pièce d'un logiciel, les jeux WS (Warscape) sont divisés entre le logiciel (le code exécutable) et le data. Si vous cherchez le répertoire d'installation de votre jeu (quelque part vers steam/steamapps/common/), vous verrez un fichier Rome2.exe file. C'est l'exécutable, aucun modding n'a lieu ici. Vous pouvez également voir le dossier data, qui est là où toute la magie se passe.
    Ouvrez le et vous et verrez un certain nombre de fichiers .pack qui contiennent le data. Pour les ouvrir vous aurez besoin du PackFileManager (lien pour Rome2), que vous devez avoir téléchargé. Lancez le et ouvrez n'importe quel fichier .pack.
    Ce que vous voyez sur la gauche et qui ressemble à un la structure d'un dossier dans l'interface Windows c'est en fait un dossier virtuel de l'installation du répertoire data. Chaque paquet (.pack) contient une partie du data complet du jeu, comme les vidéos, les sons, les musiques et enfin le data (ce que vous pouvez voir par le nom des paquets).

    De plus, chaque paquet (.pack) a un certain type : Boot ; Release ; Patch ; Mod et Movie. Ceci est utilise par le jeu pour déterminer l'ordre dans lequel ils seront chargés. Le jeu procède dans cet ordre : Boot d'abord et Movie à la fin. Les paquets de CA sont du type Boot, Release, Patch et Movie.
    Pour les fichiers qui apparaissent dans deux .pack différents, le dernier qui sera chargé est le premier qui sera utilisé en jeu. C'est comme ça que CA met à jour ses jeux : ils remplacent le data du paquet original par une mise à jour dans un .pack en Patch qui passera avant l'ancien paquet qui est en Release.

    Si vous voulez remplacer le data du jeu vanilla (vanilla = non modifié, jeu d'origine) vous devez le faire de la même manière : vous créez un .pack chargé après le patch contenant les fichiers que vous modifiez.

    Maintenant si vous voulez ajouter du data dans votre jeu (par exemple de nouvelles unités) ce que vous pouvez faire est créer un paquet contenant les fichiers que vous voulez ajouter et le jeu les chargera. Vous devez donc suivre certaines règles où le jeu ne saura pas que faire avec vos fichiers, une bonne idée est de créer le fichier dans un dossier en dossier du pack qui existe déjà. Faites attention à ne pas utiliser le nom d'un fichier qui est déjà contenu dans un pack existant ou sinon vous le modifierez.

    [fs=Exemple]En parcourant data_rome2.pack, vous trouverez des entrées dans ui/units/icons/

    Dans votre .pack destiné à votre mod, vous devrez aussi construire cette structure de répertoire, et alors vous y mettrez les icones créées. Par exemple disons que vous n'aimez pas les prétoriens, donc vous les remplacez par votre nouveau png nommé rom_praetorians.png. Si vous avez créé une nouvelle unité et que vous voulez lui donner une icône spéciale faites par exemple mon_petit_poney.png.[/fs]


    Vos propres fichiers virtuels
    Ainsi en général, pour gérer votre mod plus simplement, vous aurez aussi besoin de travailler sur la structure virtuelle. Le PFM vous autorise à faire cela en utilise l'option File->MyMod.
    Quand vous sélectionnez "Nouveau" le programme vous demandera un nouveau répertoire racine de votre mod, c'est là qu'il sauvegardera votre pack, votre data.
    En continuant l'exemple du dessus :

    [fs=Exemple]Vous créez une nouvelle icône “Icones” dans c:\Moi\Mods\Icones.

    Vous pouvez alors ouvrir data_rome2.pack (il vous demande un pack à ouvrir lorsque vous créez votre mod), sélectionnez rom_praetorians.png, et faites : Files->Export.
    Vous trouverez aussi dans votre répertoire de mod toute la structure du dossier ui ui\units\icons contenant le png exporté que vous pouvez maintenant modifier. Ici aussi vous pouvez créer mon_petit_poney.png.
    Une vos icônes terminées, vous devrez créer votre propre fichier pack avec File->New (ou ouvrez en un déjà créé; à condition de fermer rome_data2.pack), alors sélectionnez : Files->Import->Add et choisissez les png que vous voulez ajouter à votre .pack et sauvegardez.
    Vous pouvez toujours ouvrir l'explorateur Windows directement dans votre mod en sélecitonnant : MyMod->Open Data Path.[/fs]


    Installer votre mod, et plus d'informations sur les fichiers .pack
    Pour installer votre mod, vous devez toujours copier votre pack dans votre répertoire data/ de Rome 2. Si vous avez suivi les étapes du dessus vous ne verrez pas les modifications en jeu.
    La raison est que lorsque vous créez un nouveau .pack avec le PFM il est de type "Mod". Ceci ne sera pas chargé automatiquement dans le jeu, qui requiert une entrée dans le fichier appelé user.script.txt qui est situé en dessous du répertoire utilisateur (dépendant de votre version de Windows). Ce fichier script est nécessaire pour que le jeu déterminer dans quel ordre les paquets de mods sont téléchargés.
    Pour enregistrer votre mod vous devez créer ou ouvrir user.script.txt et ajouter une ligne :

    mod MesIcones.pack;

    Ensuite sauvegardez avec l'encodage Unicode. Le dernier point est très important, ou le mod ne lira pas le fichier. Pour sauvegarder en Unicode, il faut cliquer sur "Avancé" dans le bloc note et alors sélectionner l'encodage adéquat.
    L'alternative est d'utiliser My Mods->Install MesIcones qui copiera et ajoutera l'entrée dans le fichier script (note de traduction je n'ai jamais fait cela, je ne sais pas trop de quoi il parle).
    Ensuite, pour jouer à votre jeu avec un certain nombre de mods, utilisez le ModManager de Mitch (lien ici pour Rome 2) qui listera tous les .packs en mode Mod dans votre répertoire data et vous laissera choisir ceux que vous voulez lancer. Il créera alors les entrées appropriées.
    Puis, il existe la possibilité de créer votre mod de type Movie. Ces mods sont toujours chargés par le jeu et ne requièrent pas de modification du script utilisateur. Daniu voit cela comme le côté sombre, parce que c'est plus facile et plus rapide, mais ensuite cela crée de nombreux problèmes et des conflits au sein du data.

    Il y a de nouveaux types de .packs pour les sons et la musique également. Mais ils sont nouveaux avec Rome 2 et ils nécessitent encore des expérimentations. Selon Daniu ils se lancent comme les .pack en mode Movie.

    Un mot d'avertissement : techniquement vous pouvez également éditer les .packs de CA directement, malgré l'avertissement du PFM qui vous conseille de ne pas le faire. C'est une très mauvaise idée pour des raisons déjà évoquées plus haut. Comme astuce pensez à ce qui se passera si CA sort un patch.


    Les fichiers DB
    Comme promis, des détails sur les fichiers db, pour Rome 2 ils se trouvent dans le data_rome2.pack.
    Les fichiers DB que vous trouverez dans les .packs de CA ressemblent à cela :

    db/<table_name>_tables/<table_name>

    Si vous en sélectionnez l'un deux, une table de vue montrant le data contenant s'ouvrira sur le côté droit. Ces tables contiennent la plus grande partie, si ce n'est tout le data du jeu.
    Cependant il n'est pas entièrement certain de la manière dont toutes ces tables fonctionnent et interagissent entre elles. Une partie des moddeurs ont réalisé des tutoriels sur certaines tables que je vous invite à lire pour plus d'informations.
    Quoi qu'il en soit, le data est décodé à partir du data binaire contenu dans les .pack, les champs (par exemple "columns") qui sont affichés et leur type sont configurés dans les "schemas". Ces configurations sont générées par les utilisateurs et il n'est pas garanti qu'elles soient parfaites. Si vous trouvez des erreurs faites le savoir à Daniu.
    Egalement, il y a des mises à jour par rapport à cela. Le PFM peut s'occuper lui-même de cela (menu Options).

    Pour les tables DB il y a des règles additionnelles en plus de celles concernant l'ajout et la modification des fichiers vanilla. La plupart des tables contiennent des champs considérés comme des clés primaires, signifiant qqu'ils identifient uniquement une entrée. Si vous ajoutez une rangée avec la même clé primaire qu'une entrée vanilla dans une table db, alors cela modifiera la version vanilla.
    [Fs=Exemple]La table _kv_experience_bonuses de db/_kv_experience_bonuses_tables/_kv_experience_bonuses contient une entrée (first_to_enter_enemy_fort=200). Si vous souhaitez ajouter un fichier db/_kv_experience_bonuses_tables/_my_bonuses, contenant l'entrée (first_to_enter_enemy_fort=500) :
    Au niveau du fichier, il sera ajouté côte ) côte comme débit au-dessus, mais la valeur de l'entrée database avec la clée primaire first_to_enter_enemy_fort du fichier original sera remplacée par le contenu du nouveau fichier, donc 500.[/Fs]

    Le travail habituel pour éditer le data en DB est de d'abord exporter les fichiers que vous voulez éditer, et ensuite créer votre fichier, puis importez les dans votre fichier - un peu comme décrit dans le deuxième exemple. Après avoir changé les valeurs que vous désirez, vous pouvez utiliser la nouvelle fonctionnalité du PFM “Postprocess->Minimize DB Files” qui supprimera toutes les entrées qui n'ont pas été changées du fichier original. Vous pouvez aussi exporter une table vers un fichier .TSV et l'éditer avec un tableur.

    Il y a également des limites aux valeurs qui peuvent être utilisées dans certains champs, parce qu'elles sont liées à d'autres tables du data. Certaines sont connues dans les schemas, et vous pouvez le connaitre en sélectionnant l'onglet “Use Combobox Cells” quand vous avez une table db ouverte. Cela remplacera l'éditeur de texte dans les champs par des onglets déroulants avec le data possible qui évitera des erreurs de typos et de mieux comprendre les relations entre les tables.


    [Fs=Exemple]Si vous ouvrez la table agent_to_agent_attributes, vous pouvez voir une colonne “attribute” qui est une référence dans le champ clé agent_attributes ; la colonne “agent” fait référence à agents:key.

    Si vous sélectionnez “Use Combobox Cells”, vous verrez les contrôles du menu déroulant pour les colonnes apparaissantes.
    Si vous faites un clique-droit sur le haut d'une table avec une référence, vous pourrez voir le nom de la table référence dans le menu conextuelle (Remove reference to <X>).[/Fs]


    Et voila...
    Vous avez donc vos premiers pas de modding avec Warscape. En espérant que cela aidera le modding sur ce moteur.

    Tutoriel en anglais d'origine : http://www.twcenter.net/forums/showt...Modding-Primer
    Dernière modification par ALG, 21-10-2013, 22h22.

  • #2
    Une mise à jour de Lusted à prendre en compte :

    http://www.twcenter.net/forums/showt...modding-issues
    Hi everyone.

    I made a programming error when improving mod pack support. My improvements in fact broke it completely (oh the irony, stop laughing). I’ve found and fixed it but the change won’t appear until patch 5, which isn’t too far away, but I imagine you would like a workaround now. To summarise the error, I am getting the precedence order checking the wrong way around. Precedence is declared in byte five of the pack file, immediately after the identification marker PFH4. Mod packs should use 3 for this byte. However, until the patch drops you can change this value to 5. Once the patch drops I can’t guarantee that your mods will work if you don’t switch the byte back to 3 (this has always been the case with mod packs). As I think has been described elsewhere, the lower three bits of the precedence byte are a simple ordering sequence thus:

    0 Boot pack (there can be only one)
    1 Release pack
    2 Patch pack
    3 Mod pack
    4 Movie pack (special pack files which are opened in a different way from the others depending on our video playback solution)

    Some have achieved a similar result, through good fortune more than anything else, by changing the byte to 4. If you’ll forgive the allusion, four shalt thou not use. Five is right out (except for this brief period before the patch drop).

    It really is gratifying to see so much modding going on: I first started work on the modding system a little over ten years ago back in Rome I. I do hope you derive a lot of satisfaction from it.

    Cheers,
    J Guy Davidson
    Coding Manager
    A compiler avec : http://www.twcenter.net/forums/showt...diate-Mod-Type

    Commentaire

    Chargement...
    X