decals, s'affichera, s'affichera pas

Strike Fighter Project 1

Topic author
hoarmurath
Jeune Pilote
Jeune Pilote
Messages : 1454
Inscription : 25 mars 2003

decals, s'affichera, s'affichera pas

#1

Message par hoarmurath »

J'ai au moins appris quelque chose en ce qui concerne les decals...

Je post donc ceci a l'attention des futurs skinners, ou des anciens qui n'auraient pas encore trouvé l'astuce (non, non, pas la Shtuss... Quoique)

Lors de la création aléatoire d'une mission, le programme assigne aléatoirement une ID au premier appareil, puis donne les ID suivantes aux autres. Simple mais efficace.

Toutefois, il peut arriver que les decals individuels ne s'affichent pas une fois en jeu lorsque l'ID choisie par le programme est la dernère de la liste. Plus la liste d'ID fournie avec le skin est courte, plus il y a de chances que cela arrive.

L'explication :

Le programme ne choisis pas une ID parmi celles disponibles, il genere un chiffre aleatoire et donne l'ID correspondante au premier appareil. Mais il ne genere pas ce chiffre aleatoire entre 1 et N ou N est le nombre d'ID de la liste. Il semble choisir entre 1 et N ou N est un nombre fixe que je n'ai pas déterminé, probablement 100.
Lorsque le programme tombe sur un nombre qui est trop grand pour la liste d'ID disponibles, il montre l'ID de l'appareil dans l'écran d'armement comme étant la dernière, mais et c'est la le souci, en fait il garde la référence d'ID qu'il a déterminé aléatoirement.
Comme, bien sur, il n'existe pas de décals pour cette ID, les décals ne s'affichent pas.

La solution :

Evidement, si on fait les décals par série de 100, on n'aura pas ce problème. Mais bon, faire des séries de 100 ID, c'est long, c'est fastidieux, et ça prend de la place. Mais il existe un deuxième effet kisscool... Heu non, je m'égare. Il existe donc une deuxième solution, c'est d'utiliser le systeme de décals par défaut. Si le programme ne trouve pas les décals correspondant a l'ID qu'il a déterminé aléatoirement, il cherche alors a charger des décals par défaut. Ces décals portent le nom attribué au décal prévu, mais sans les trois digits a la fin.

Ainsi, si on fait une copie du dernier décal de chaque série et qu'on la renomme en enlevant les trois digit a la fin, on obtiens un décal par défaut qui reproduira le dernier ID de la liste, ce qui correspondra a l'ID indiquée sur l'écran d'armement.

Un petit exemple concret :

Vous créez une liste de numéros individuels, vous la déclarez dans le decals.ini avec la ligne :

FilenameFormat=J-35f\flygvapnet_bignums\d\sweindnum

Cette ligne donne le chemin, et a la fin le nom de fichier que vous allez utiliser. Vous créez alors vos décals en les nommant

sweindnum000.tga
sweindnum001.tga
sweindnum002.tga
sweindnum003.tga
sweindnum004.tga
sweindnum005.tga
etc
etc

Pour créer un décal par défaut qui reprenne le dernier ID de votre liste, il suffit alors de prendre le dernier décal, et de le copier avec le nom

sweindnum.tga

Et voila, vous avez un decal par defaut qui s'affichera a chaque fois que le programme aura assigné une ID trop haute a votre appareil!
Image
Avatar de l’utilisateur

manetsim
Messages : 6861
Inscription : 30 octobre 2003

#2

Message par manetsim »

Je me permet de scotcher ta technique, qui sera certainement utile à certains d'entre nous...;)
Bienvenue chez les LAMPASOUDISTES Flash Gordon du WiFi, suffisait d'y croire
Répondre

Revenir à « Strike Fighter Project 1 »