1 ppVERSION 4

Un mod de Spellhold Studios pour les jeux Infinity Engine

Auteure : Erephine

Site internet du modForum du modTéléchargementGitHub • Version : 4.2.0


Présentation


Disponible pour :    BGII SoA, BGII ToB, Tutu, IWD HoW, IWD TotL, IWDII

Ce composant ajoute de nouvelles nuances de couleurs [NdT : dégradés] aux jeux Infinity Engine, en faisant passer le nombre de couleurs disponibles de 116 à 256. Il implante aussi une nouvelle table de couleurs aléatoires utilisables par Baldur's Gate II et de nouveaux fichiers de jeux de couleurs pour Icewind Dale II, offrant un choix plus important de couleurs pour définir la peau et les cheveux des différentes races.

Il corrige aussi quelques problèmes mineurs liés aux nuances standard.



Consultez le site du mod ou son forum pour obtenir les dernières mises à jour.


1ppv4 > PrésentationHAUT DE PAGE

Informations supplémentaires


Comment ça marche ?

L'installation peut se décomposer en deux parties :

1. Les jeux Infinity Engine vous permettent de définir individuellement la couleur des parties de certaines animations à l'aide de palettes - par exemple les cheveux, la peau ou la couleur des vêtements de vos personnages.

Ces couleurs proviennent d'une image BMP, dessinée ligne par ligne, où chaque ligne représente un dégradé de couleur. Ce fichier BMP s'appelle MPALETTE pour les images des fichiers BAM composés de 12 nuances, et MPAL256 pour les images PLT. Les fichiers de la palette d'origine comportent 120 lignes, les quatre dernières étant d'un gris uniforme (non défini). Si le jeu doit utiliser une ligne qui n'existe pas, il crashe. Ce n’est pas une situation purement hypothétique, car, par expérience, j’ai vu de nombreux mods planter le jeu parce que certains de leurs fichiers utilisaient des références de couleurs non valides.

Les nuances de couleurs sont enregistrées dans les fichiers de personnages et d’objets sur un seul octet, ce qui autorise l'utilisation de 256 valeurs distinctes. Si l'on augmente le nombre de lignes des fichiers BMP standard pour correspondre à ce nombre, il sera impossible de planter le jeu en utilisant n'importe quelle valeur de couleur possible [NdT : de 0 à 255]. Et si cela ne suffisait pas, les entrées supplémentaires sont effectivement importées et affichées correctement par le jeu.

La première partie de l'installation consiste donc à ajouter des fichiers de palette qui utilisent tous 256 valeurs, ce qui permet d'attribuer une plus grande variété de couleurs aux objets et aux personnages, tout en empêchant les références non valides de planter le jeu.


2. L'ajout de nouvelles couleurs au-delà des valeurs standard pose cependant un problème, qu'il n'est pas facile de constater de visu. En l'occurrence, le moteur Infinity Engine affiche les couleurs en utilisant deux sources : Chaque image affichée utilise des couleurs provenant des fichiers BMP correspondant à sa palettes, alors que - pour une raison quelconque - l'affichage des polices de caractères colorées (dans la boîte de dialogue) est codé en dur dans l'exécutable.

Les valeurs des couleurs de l'exécutable sont lues à des adresses fixes [NdT : offset], de sorte que les entrées non valides ne provoqueront pas le crash du jeu, mais afficheront des couleurs de police imprévisibles (beaucoup apparaissant en noir, rendant la lecture impossible). Il existe quelques entrées supplémentaires après les 116 premières, mais leur nombre est bien inférieur à 256.

La deuxième partie de l'installation résout ce problème en modifiant le fichier exécutable pour disposer de couleurs de police appropriées pour les 256 entrées. Elle ne sert à rien d'autre qu'à cela.


Mais... attendez, le jeu ne dispose-t-il pas de valeurs de couleurs aléatoires commençant à #200 ?

Oui, c'est exact. Dans Baldur's Gate II (et uniquement dans Baldur's Gate II), le fichier RANDCOLR.2da vous permet de définir des « valeurs de couleurs aléatoires ». Il s'agit essentiellement d'un tableau permettant de définir différents jeux de couleurs, composés de valeurs de couleurs existantes, qui sont ensuite sélectionnés de manière aléatoire. Par défaut, le jeu utilise les couleurs 200 et suivantes (qui ne contiennent aucune information sur leur dégradé de couleur).

Les couleurs aléatoires sont utilisées uniquement pour paramétrer les couleurs des personnages (définis par les fichiers CRE ou CHR) et n'entrent pas en conflit avec les nouvelles valeurs de couleurs des palettes. Cela signifie que sur un personnage, la couleur #200 continuera d'utiliser la valeur de couleur aléatoire #200, tandis que sur un objet, la couleur #200 utilisera le nouveau dégradé de couleur introduit par 1pp.

Détail intéressant : si une couleur disposant d'une entrée dans RANDCOLR.2da est définie elle-même comme entrée d'une couleur aléatoire, elle apparaîtra comme la valeur de couleur souhaitée.


Veuillez m'excuser si tout cela vous paraît un peu confus, je ne le sais que trop bien. J'espère que l’outil de création de palette de 1pp contribuera à atténuer cette confusion, car il vous alertera sur ces problèmes, si nécessaire.

1ppv4 > Informations supplémentairesBACK TO TOP

Personnalisation & Modding


Personnaliser la palette.

Ce programme d'installation vous permet de personnaliser ou de modifier facilement la palette installée.

Vous pouvez modifier les nuances de couleurs dans les fichiers MPAL256 et MPALETTE avec n'importe quel logiciel de retouche d'image.
Il vous suffit de les remplacer dans le sous-répertoire /files du répertoire d'installation [NdT : 1pp\core\1pp_ext_pal\files].

Le fichier RANGES12 n'est en fait * absolument pas * utilisé par le jeu, mais comme NearInfinity l'utilise, il est préférable de le remplacer également pour que NI puisse correctement lire et modifier les fichiers d'objets et de créatures.

Enfin et surtout, le fichier __setting.bmp contient les informations sur les couleurs qui seront transférées dans l'exécutable (pour les couleurs de police). Veuillez noter que, contrairement aux fichiers mpalette, l'image réelle n'a aucun intérêt. La table des couleurs du fichier BMP contient les informations qui sont lues et transférées dans l'exécutable. Notez également qu'il n'est en aucune manière utilisé par le jeu, il est simplement lu et utilisé par le programme d'installation.


Modder avec la palette étendue.

Gardez à l'esprit que si vous utilisez une nouvelle valeur de couleur dans un mod (à partir du numéro 120), cela * plantera * les jeux qui ne disposent pas des fichiers MPALETTE et MPAL256 étendus (l'outil de palette 1pp vous avertira également si vous définissez de nouvelles nuances).

Étant donné que le contenu de ces fichiers n’est pas affecté par d’autres mods (à ma connaissance) et que leur remplacement est aussi peu intrusif que possible, le moyen le plus simple d’éviter cela est de les inclure dans votre mod et de les installer.

Pour éviter d'écraser inutilement ces fichiers, il est préférable d'ajouter une simple vérification de la taille du fichier à votre procédure d'installation : Si la taille des fichiers existants est de 9 272 octets (MPALETTE) et de 196 664 octets (MPAL256), ils contiennent déjà un jeu complet de 256 couleurs.

Bien entendu, si vous les utilisez pour définir la couleur principale d'un personnage (et c'est la seule situation où cela pourrait être perceptible), cela ne corrigera pas la couleur de la police de dialogue.

1ppv4 > Personnalisation & ModdingBACK TO TOP