Panneaux personnalisés et locators

Parlez des skins, des modèles, des avatars et des mods ici

Moderator: French Moderator

Post Reply
Tavernicole
Posts: 36
Joined: 17 Aug 2011, 16:08

Panneaux personnalisés et locators

Post by Tavernicole »

Bonjour,

Quelqu'un a-t-il essayé de créer des panneaux personnalisés et de les utiliser sur des maps multijoueurs ?

Je rencontre deux problèmes et j'ai beau chercher dans les forums et me casser la nénette, je ne vois pas comment les résoudre. Je ne sais pas si c'est un problème dans ma manière d'opérer ou une bogue qui sera résolue à la prochaine release, mais pour l'instant je suis dans la bouse.

Pour faire mes panneaux, je procède ainsi :

1. Je crée l'image au format 2/1 (256x128, 512x256 ou 1024x512) et je la sauve en bmp 24 bits.
2. Je convertis le fichier en DDS DXT1 sans canal alpha.
3. Je dépose le fichier DDS sur un serveur.
4. Je crée le locator kivabien contenant l'URL du fichier DDS (ex: "toto.dds" pour l'image, "toto.dds.loc" pour le locator, lequel contient seulement "http://www.mondomain.tld/path/toto.dds").
5. Je dépose le fichier dds et le locator dans mon dossier perso sous "Skins\Any\Advertisement".
5. J'utilise mon panneau dans une map. Je la valide, calcule les ombres et ajoute un zouli ruban rose autour.
6. Je dépose la map sur le serveur et l'ajoute à la liste des maps jouables.


Premier problème :

S'il y a plusieurs panneaux différents sur une map, tous accompagnés de leur locator réglementaire, le PC du joueur n'en télécharge que quelques uns. J'ai pourtant vérifié le header xml du fichier gbx, le fichier dds et son url sont bien mentionnés.

Exemple : je vide le cache "c:\ProgramData\ManiaPlanet\Cache" avant de charger la map, et une fois la map chargée (12 panneaux perso) je ne trouve dans le cache que 5 d'entre eux, fichiers dds et locators, toujours les mêmes. Et ce ne sont pas forcément les premiers mentionnés dans le header xml, ni les plus petits des fichiers, ni ceux qui contiennent ou pas des caractères spéciaux (voyelles accentuées ou espaces par exemple).

Quid des autres ?


Deuxième problème :

Lorsque la map est chargée pour la première fois, si les panneaux sont bien chargés dans le cache, ils ne sont jamais affichés. A la place, il y a les panneaux de pub "Ubisoft" à fond jaune. Ce n'est qu'au deuxième passage de la map que les panneaux s'affichent.

Exemple : je vide le cache, j'installe la piste sur le serveur, je la mets dans le jukebox. Lorsqu'elle arrive et que la course commence, tous les panneaux perso sont des Ubisoft à fond jaune. Petit coup d'oeil dans le cache : certains de mes panneaux sont arrivés, mais ils ne sont pas affichés. Je laisse le cache tel quel. La piste se termine, on passe à la suivante. Je remets ma piste dans le jukebox. Lorsqu'elle revient, les panneaux qui sont dans le cache sont enfin visibles.


Si quelqu'un a une idée, une suggestion ou une solution il aura droit à ma reconnaissance éternelle, un caramel mou ou un bisou baveux ;-)
ヅわ てavernicole
- Team Chameaux -
User avatar
jonthekiller
Translator
Translator
Posts: 4629
Joined: 15 Jun 2010, 11:07
Location: In Maniaplanet Alpha
Contact:

Re: Panneaux personnalisés et locators

Post by jonthekiller »

Est-ce que ton hébergeur ne bloque pas à une limite de taille de fichiers?

Est-ce que si tu as toujours les 5 mêmes, les autres liens sont corrects?

As-tu essayé de voir en enlevant 1 des 5 qui fonctionnent, si cela va télécharger un autre ou s'il va en rester que 5?
Image
Tavernicole
Posts: 36
Joined: 17 Aug 2011, 16:08

Re: Panneaux personnalisés et locators

Post by Tavernicole »

Bonjour,

Désolé de ne pas avoir répondu plus tôt, mais entre le boulot et les dizaines de tests que j'ai fait pour essayer de cerner le problème, ce n'est que maintenant que je puis vous faire part de ma compilation de trucs, d'astuces et de bizarreries détectées.

Pour répondre à jonthekiller, qui m'a indirectement donné des solutions, le serveur n'a pas de limite en taille et nombre de fichiers. Peut-être une limitation en nombre de connexions simultanées... Puisque je n'ai jamais pu faire charger plus de 50 panneaux personnalisés. En ce qui concerne le liens, pas de problème, j'avais déjà testé... Copier-coller de l'URL du locator dans un navigateur et je récupérais bien le fichier DDS. Restait la dernière question, à laquelle la réponse a toujours été négative : en enlevant des fichiers du serveur, je n'avais pas d'autre fichier téléchargé à la place. Au lieu de cinq panneaux, je n'en obtenais que quatre.

Donc j'ai fait des tests de la mort qui tue avec plein de pistes très chouettes (genre une ligne droite entre le début et l'arrivée et plein de panneaux autour. L'air de rien, ça prend du temps à faire, recalculer les ombres, valider la piste, transférer les fichiers, attendre que le serveur n'aie pas de joueurs, monter les pistes sur le serveur, les jukeboxer et les essayer. Et voilà la compilation des résultats.


Premier problème : panneaux non téléchargés

C'est clair, TMC2 est drôlement moins permissif que TMNF/TMUF en ce qui concerne les noms de fichiers. Il faut être très précis dans le nom du fichier et son chemin, éviter tout caractère un tant soit peu particulier. En gros, se limiter aux lettres, aux chiffres, au "_" et au tiret. Tout autre caractère peut poser des problèmes. Non pas qu'il soit refusé par le serveur, mais ça fiche une panique incroyable dans TMC2.

Exemple: J'avais un panneau nommé "Turn left.dds" situé dans le dossier "/Signs/Custom1" du serveur. En surveillant le cache, je vois apparaître le DDS correspondant. Seulement sa taille est incorrecte. 1 Ko au lieu des 171 Ko prévus. Image totalement vide. J'ouvre le fichier avec un éditeur hexa, et qu'est-ce que j'y trouve ? Du code HTML disant que 404, file "/Signs/Custom1/Turn" is not found, et que Apache Server version machin-truc. Vous allez bien sûr me dire que je suis neuneu, yfopa mettre d'espace dans le nom du fichier, que ça ne peut pas marcher et tout ça. Pourtant d'une part ça fonctionnait parfaitement sous TMNF/TMUF et d'autre part expliquez-moi pourquoi le panneau "Turn right.dds" situé dans le même dossier du serveur arrive bien dans le cache...

Autre chose que j'ai repérée, ça ne fonctionne pas si le nom du fichier dds commence par un chiffre. Mon panneau "300m.dds" n'a jamais voulu se charger, jusqu'à ce que je renomme le fichier en "z300m.dds", change le locator et modifie la piste. Et là, plus de problème.

En résumé : les panneaux perso (et leur chemin d'accès) doivent être exclusivement composés de lettres, chiffres, "_", "-" et "/" et ne doivent pas commencer par un chiffre. J'avoue que je n'ai pas poussé le vice jusqu'à essayer de commencer le nom de fichier par un symbole. Disons que si on commence par une lettre, ça marche.

Format du fichier dds : dxt1 noAlpha, dxt1, dxt3. Pas essayé en dxt5.


Deuxième problème : le non-affichage des panneaux la première fois que la piste arrive

Je dois d'abord faire mon mea culpa. Ce comportement n'est pas systématique. Ce qui le rendait systématique, c'était le fait d'installer la piste, la mettre dans le jukebox et l'activer, le tout en moins de 30 secondes. Et étant donné que TMC2 pré-charge piste et ressources pendant que l'on joue sur la piste précédente, le fait de passer à la nouvelle piste rapidement empêche le jeu de télécharger en tâche de fond. La bonne technique pour tester sa piste avec les ressources qui l'accompagnent est d'intercaler une piste entre celle en cours et celle à tester, afin que la piste à tester soit téléchargée pendant que l'on joue sur la piste intercalée.

C'est d'ailleurs un peu olé-olé de ne pas vérifier si les fichiers sont là lors du podium. Ca éviterait ce désagrément de commencer à jouer sur une piste sans panneaux... Sur laquelle on ne sait pas s'il faut tourner à droite ou à gauche après la prochaine bosse, mais bon...

Le téléchargement des éléments pendant la piste précédente est une bonne chose, si cette technique était accompagnée d'une vérification lors du podium et du chargement des éléments manquants dans la foulée.

D'autre part, il semblerait que TMC2 ne vérifie pas ce qui se trouve dans le cache. Si la même piste revient, il ne semble pas télécharger de nouveau le fichier de ressources, ni même vérifier si c'est toujours le même. Donc si on modifie un fichier panneau sur le serveur (par exemple pour le corriger), on garde la version pourrie dans le cache. Seule solution : lorsqu'on modifie le graphisme d'un panneau, il faut reprendre toutes les pistes qui l'utilisent, les valider et recalculer les ombres. Ennuyeux...

En résumé : pour tester votre nouvelle piste dans les conditions optimales : (1) déposez le fichier piste sur votre serveur de jeu, (2) ajoutez la piste à la liste des pistes installées, (3) mettez une piste quelconque dans le jukebox, (4) mettez votre piste dans le jukebox, (5) Passez à la piste suivante jusqu'à la piste intercalaire, puis lorsqu'elle démarre, surveillez le contenu de votre cache (dans c:\ProgramData\ManiaPlanet\Cache). Votre piste et les ressources vont apparaître au bout d'une trentaine de secondes sous la forme de fichiers .tmp. (6) A ce moment-là, et pas avant, avancez à la piste suivante. Votre piste commence et les panneaux sont bien remplis.


Voilà. En ce qui me concerne, le problème est fixé. J'ai pu installer mes 70 panneaux perso, je suis en train de reprendre mes pistes pour que ça fonctionne comme prévu. J'espère que ces quelques informations seront utiles aux autres concepteurs de pistes et de panneaux pour leur éviter les prises de tête et les arrachages de cheveux que j'ai expérimentés ces derniers jours... Bonnes courses et je vous souhaite le création des plus belles pistes du monde.
ヅわ てavernicole
- Team Chameaux -
User avatar
jonthekiller
Translator
Translator
Posts: 4629
Joined: 15 Jun 2010, 11:07
Location: In Maniaplanet Alpha
Contact:

Re: Panneaux personnalisés et locators

Post by jonthekiller »

Intéressant tout cela, cela pourra servir pour faire des tutoriels sur les panneaux à l'avenir.
Image
User avatar
-Blade-
Posts: 191
Joined: 16 Jun 2010, 01:54
Location: Asile pf'z cellule #69
Contact:

Re: Panneaux personnalisés et locators

Post by -Blade- »

Je n'ai pas encore testé sur tm2, mais sur tmuf le jpg marchait bien aussi, et c'est encore plus légé que le png, et en effet mettre l'url direct de l'hébergement c'est encore plus simple :)
Image
Post Reply

Return to “L'Atelier”

Who is online

Users browsing this forum: No registered users and 1 guest