Forum TM-hexa
Vous souhaitez réagir à ce message ? Créez un compte en quelques clics ou connectez-vous pour continuer.






 
AccueilDernières imagesRechercherS'enregistrerConnexion
Le Deal du moment : -17%
Casque de réalité virtuelle Meta Quest 2 ...
Voir le deal
249.99 €

 

 Les attentes

Aller en bas 
5 participants
Aller à la page : 1, 2  Suivant
AuteurMessage
XWolverine
Hexa User



Nombre de messages : 28
Localisation : Devant le PC
TM possédés : TMSX, TMUF
Date d'inscription : 20/07/2008

Les attentes Empty
MessageSujet: Les attentes   Les attentes Icon_minitime21/7/2008, 21:34

J'ai compris que "le projet" avait besoin de toutes les bonnes volontés, mais en quoi l'aide est-elle attendue ?
Dans la définition de tous les items des GBX ? Pas lu le tutorial (plante), mais y a t-il un récap de la signification des zones connus (n° bloc, code bloc, variation ...) et donc de ceux qu'on ignore ?
Dans le partage des découvertes (un code machin avec un bloc truc fait tel résultat) ?
Dans le codage des progs (bon, là, Challenge Edit est à priori en Delphi, c'est sans moi Very Happy) ?
Revenir en haut Aller en bas
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 22:11

Hello,

Ben il y a pleins de choses à faire, suivant les compétences de chacun Wink

Pour le code, oui c'est en Delphi, mais je dirais que je passe 80% du temp sur l'interface (si on clique là ça fait ça, mais à condition qu'un bloc soit sélectionné, qu'il ne contienne pas de textures, ... beaucoup de tests qui prennent du temps à coder mais c'est assez simple), 10% sur le vrai code d'édition, et 10% sur des tests.

Pour l'aide qui peut être apportée:
- Faire les screenshots des blocs (la map existe pour désert, j'ai regardé pour stadium, mais y a un hic... ça sera pas sur fond noir mais sur fond blanc. J'espères que ça ira pour faire les contours). Il faudrait que je fasse les maps de chaque enviro et définir le format des images (format PNG, et format du nom pour que le programme puisse les retrouver)
- Pour chaque bloc, déterminer s'ils peuvent être utilisés hors zone standard ou non (en fait, le plus simple, c'est de noter pour x,y,z la valeur maximale qui fonctionne (avant qu'il ne soit supprimé de l'éditeur quand on recharge le challenge). Pas encore réfléchi comment gérer quand un bloc fait 1 bloc de large, mais 2 blocs de long... Parce que je suppose que si on change sa rotation, il ira un bloc moins loin.
- pour chaque bloc, déterminer s'ils peuvent contenir une texture ou non (si le pot de peinture peut les sélectionner). J'ai testé, on peut laisser une texture sur un bloc ne la gérant pas. Le bloc n'utilise pas la texture, c'est tout, mais bon, c'est pas très propre (surtout que l'éditeur ingame ne le corrige pas, donc on reste avec un texture dans le GBX qui ne sert à rien)
- Ensuite il reste les inconnues du format. J'ai encore trouvé ce week-end des infos en plus, dont certaines nécessites des tests:
* Quand il y a une texture attachée à un bloc, elle commence par une string indexée (l'explication est quelque part sur ce forum Embarassed ), puis il y a un index sur DWord (première texture est à 03, seconde à 04, ....). Il faudrait voir son utilité (l'index est-il en rapport avec la liste des textures dans le XML? Que se passe-t-il si on modifie un index 04=>06? La texture change dans l'éditeur? Il recorrige tout quand on repasse dans l'éditeur?) En fonction du résultat, si on veut pouvoir ajouter/supprimer des textures (ou changer un bloc 'avec texture' en un bloc 'sans texture', peut-on supprimer simplement la texture ou faut-il recalculer toute la suite d'index, regénérer le XML, ...)

Ca c'est pour la partie actuelle. Ensuite, pour la suite, y a les fameux PIKS qu'on ne sait pas trop bien à quoi il servent (je sais juste les traverser pour le moment pour continuer plus loin). J'ai vu que le mod était indiqué (dans le 3e PIKS je crois), J'ai déjà vu aussi des descriptions de 'vehicule' dans certaines maps, mais pas encore cherché à quoi cela correspondait.

Skubidou:~
Revenir en haut Aller en bas
cyril
Hexa Helper
cyril


Nombre de messages : 60
TM possédés : tmuf
Date d'inscription : 05/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 22:16

jpeux taider a faire les screenshots situveux
Revenir en haut Aller en bas
AdRiWeB
Co-Admin
AdRiWeB


Nombre de messages : 403
Age : 31
Localisation : Sous mes cheveux
TM possédés : TMN TMNF TMU TMUF
Date d'inscription : 01/06/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 22:24

les PIKS, je me suis toujours intéressé pour savoir ce que c'était ...
Revenir en haut Aller en bas
http://www.adriweb.net
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 22:47

Bon, pour les screenshots des icônes:

La map Desert (qui contient déjà le MT intro de 10sec sous le bon angle au bon zoom, du moins sur mon PC Rolling Eyes ). Le zoom est prévu pour les blocs qui font 1x1x1. Il faudra sans doute adapter pour les autres blocs
http://skubidou.free.fr/TrackMania/MixMapping/Desert_Blocs-1-1-128.Challenge.Gbx

La map Stadium (il y a juste les blocs, il faut rajouter le MT d'intro sous le bon angle, ... comme sur la desert)
http://skubidou.free.fr/TrackMania/Tracks/Stadium_Blocks.Challenge.Gbx

Dans les 2 maps, c'est chaque fois le dernier bloc qui est seul au milieu. Donc une fois que le MT est paramétré, il suffit de modifier le nom du bloc avec ChallengeEdit (bloc primaire donc on peut mettre ce que l'on veut après avoir débloqué le cadenas), de recharger la map dans le jeu (pas dans l'éditeur) et prendre la capture d'écran pendant l'intro. Ce qui compte, c'est une belle vue, donc parfois peut-être aussi changer la rotation (pour ne pas avoir un screenshot du 'dos' du bloc Wink

Pour la map desert, ça tombe pil poil dans une screenshot de 128*128 en lançant TMF en fenêtré, en 640*480 (je suis en 1600*1200, mais bon, si la fenêtre est toujours en 640*480, le screenshot devrait toujours être en 128*128). Voir si c'est bon aussi sur une autre config. J'ai lancé TMF en 'haute qualité' même si ça rame chez moi histoire de ne pas avoir les icônes en PC0 mrgreen

Utilser MWSnap, zone fixe 128*128
http://www.mirekw.com/winfreeware/mwsnap.html
Cadrer comme on peut (pour les blocs qui occupent tout comme le turboslope, ça rentre tout juste) Comparer avec les PNG que j'ai réalisé pour Desert
http://skubidou.free.fr/TrackMania/MixMapping/Blocs/Speed/128-128/

Passer le PNG dans un prog de retouche pour virer le noir/blanc-bleu sur stadium (bagette magique tolérance 0. Parfois nettoyer au milieu comme dans les armatures du pont)

Pour le nom des PNG:
[Nom du bloc]-3D-V1-V2-V3-V4.PNG

V1, V2, V3, V4, ce sont les valeurs de variation 1, variation 2, ...
Si par exemple on veut éditer un bloc StadiumGrass avec des variations 2,16,0,0 le programme cherchera d'abord un 'StadiumGrass-3D-2-16-0-0.png'. S'il ne trouve pas ce fichier, il cherchera 'StadiumGrass-3D-2-0-0-0.png'. Si n'existe pas toujours, il cherchera le 'StadiumGrass-3D-0-0-0-0.png'. Donc il faut toujours au minimum faire le screenshot de la 0-0-0-0, mais on peut faire d'autres variations, s'il trouve le fichier, il l'utilisera pour donner une image plus proche du bloc.

Skubidou:~
Revenir en haut Aller en bas
AdRiWeB
Co-Admin
AdRiWeB


Nombre de messages : 403
Age : 31
Localisation : Sous mes cheveux
TM possédés : TMN TMNF TMU TMUF
Date d'inscription : 01/06/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 22:50

pourquoi utiliser les variations, si on constate qu'il n'y a aucune différence ?
Revenir en haut Aller en bas
http://www.adriweb.net
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 22:56

S'il n'y a pas de différence, alors pas besoin de faire les variations (le prog retombera sur la 0-0-0-0 donc il faut juste faire le screenshot de celle là)

Le but est de supporter les variations, mais de d'accepter au minimum un 'default':
- Pouvoir trourner au début rien qu'avec des 0-0-0-0 (après la bibliothèque d'icônes pourra s'étoffer suivant les variations intéressantes)
- Justement ne pas devoir faire toutes les variations (surtout si ça ne change rien), mais avoir un système 'dégressif' ou il cherche d'abord le plus précis (si ça existe, alors il l'affiche) et pour finir le 'modèle' de base

mais bon, pour être propre dans le programme, il est plus facile de créer un 0-0-0-0 (et rien d'autre si pas de variation) ou de chercher après un 'StadiumGrass-3D-00-02-00-00.png' plutôt qu'un 'StadiumGrass-3D-00-02.png' si on estime que les 2 dernières variations ne sont pas utilisées. Il faut standardiser le format pour tous les blocs, pas des formats différents suivant si des variations existent ou non.

Skubidou:~
Revenir en haut Aller en bas
refresh
Bug Maker



Nombre de messages : 16
Age : 31
Date d'inscription : 01/06/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 23:18

Pour les images, je possède toutes les images des blocs, tout environnements confondus. Mais je n'ai pas les variations, j'ai "seulement" celle qui sont visibles dans l'éditeur de map.
Revenir en haut Aller en bas
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 23:29

Je sais, mais quelqu'un en avait déjà parlé, et le 'problème' c'est qu'elle ne représente ni les variations, ni parfois la vraie forme du bloc (les images de l'éditeur sont 'embellies'). Il suffit de comparer SpeedBiSlopeStraight
Les attentes SpeedBiSlopeStraight

De plus, comme pour pour shadowninja (je crois Embarassed ) qui demandait si le programme pouvait bouger un Building... Toi tu as l'icône d'un Building, mais un Building est en fait composé de pleins de petits blocs (les pillards, ...). ChallengeEdit ne va jamais gérer un Building, mais les sous blocs qui constituent cette 'entité' de l'éditeur ingame, donc l'icône doit représenter ces blocs (au niveau Hexa).

Edit: Maintenant, au niveau du programme, on pourrait très bien gérer 2 images ('entité' et 'bloc'). Pour le Building, avoir l'image habituelle de l'éditeur ingame (avec tes images) et l'image du bloc (pour préciser quel bloc de l'entité il représente et quelle variation). Mais alors ça nécessite de créer une liste d'entité (au moins pour les entités constituées de plusieurs blocs) et de noter pour chaque bloc à quelle entité il appartient (en espérant qu'un bloc n'est pas utilisé pour plusieurs entités, sinon ça devient du n-n geek )

Skubidou:~


Dernière édition par Skubidou le 21/7/2008, 23:44, édité 2 fois
Revenir en haut Aller en bas
cyril
Hexa Helper
cyril


Nombre de messages : 60
TM possédés : tmuf
Date d'inscription : 05/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 23:30

sé jonthekiller pas shadowninja Very Happy
Revenir en haut Aller en bas
AdRiWeB
Co-Admin
AdRiWeB


Nombre de messages : 403
Age : 31
Localisation : Sous mes cheveux
TM possédés : TMN TMNF TMU TMUF
Date d'inscription : 01/06/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 23:30

oui, c'est ce que j'avais dit à Skubi, mais tu as les versions avec les 'bouts' (parking, on dit ?) des blocs, alors qu'il faudrait celle des blocs que on voit en hexa

mais bon, moi, francement, ça me conviendrait largement, les images de refresh, pour ce qu'on a pas ^^
Revenir en haut Aller en bas
http://www.adriweb.net
AdRiWeB
Co-Admin
AdRiWeB


Nombre de messages : 403
Age : 31
Localisation : Sous mes cheveux
TM possédés : TMN TMNF TMU TMUF
Date d'inscription : 01/06/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 23:30

lol les 3 messages
Revenir en haut Aller en bas
http://www.adriweb.net
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 23:42

AdRiWeB a écrit:
mais bon, moi, francement, ça me conviendrait largement, les images de refresh, pour ce qu'on a pas ^^

Voir mon 'edit' mrgreen Parce que utiliser les images de refresh, ça veut dire faire le lien entre 'entité' et 'bloc' (pour le building) Avec le système actuellement défini, je prend le nom du bloc (dans le Gbx) et je cherche le fichier qui porte ce nom. Là, soit il faut mettre l'image de refresh plusieurs fois sous chaque nom de bloc, soit lister quelque part la correspondance bloc=>entité. Dans les 2 cas, ça nécessite de chercher les correspondances (donc mettre une entité sur une map avec l'éditeur ingame et aller voir dans le Gbx quels bloc(s) ont été ajoutés. je ne suis pas sûr que ce soit plus simple)

Edit: Et ne fait pas comme mon chef huhu Je sais très bien que la majorité des blocs ne composent qu'une entité, mais quand on fait un programme, on part pas de l'idée que ça fonctionne dans 80% des cas... faut que ça fonctionne dans 100% des cas sinon ça crash Wink

Skubidou:~
Revenir en haut Aller en bas
XWolverine
Hexa User



Nombre de messages : 28
Localisation : Devant le PC
TM possédés : TMSX, TMUF
Date d'inscription : 20/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime21/7/2008, 23:47

Le but d'avoir les images de bloc, c'est pour la "doc" (le manuel de référence en quelque sorte) ou de les afficher dans Challenge Edit ? Ca me parait un peu fastidieux, en tout cas.
Une vue de dessus suffirait peut-être (on pourrait mettre plusieurs blocs séparés, genre matrice 4 fois 4, dans un GBX généré par programme (voir tous les blocs) et visualiser dans le jeu pour capturer les images).
Pour les variations, pareil, un prog générant un GBX par bloc avec toutes les variations 1, un autre avec toutes les 2 ... (pour les combinaisons, non, faut pas déconner Shocked)

Sinon, si j'ai bien tout capté, pour analyser le format GBX, il faut d'abord décompresser, c'est ça ? Y'a un prog qui fait ça ?
Revenir en haut Aller en bas
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime22/7/2008, 00:04

L'image c'est pour afficher dans le programme (ChallengeEdit), quand on édite un bloc (plus parlant que 'AlpineRoadPlateformGT3b' mrgreen ). C'est fastidieux de faire les screenshots (c'est pour cela qu'ils ne sont pas encore fait), par contre, dans le programme c'est rien du tout.

Pour la vue du dessus, ben ça ne change pas grand chose niveau screenshot (niveau fastidieux), une fois que le MT est fait, il suffit de modifier le bloc avec ChallengeEdit, sauvegarder, charger la map dans le jeu, prendre le screenshot (tout est en fenêtré donc on passe facilement de l'un à l'autre). La seule chose qui prend un peu de temps c'est de nettoyer le screenshot (mais même en 2D, si c'est pas un bloc avec sol, il faudra nettoyer le noir)

Pour la vue 2D (du dessus), certains blocs sont méconnaissables...

Pour les variations, le but comme expliqué est de commencer avec les 0-0-0-0 (le programme peut fonctionner même s'il n'y a pas de 0-0-0-0, simplement y aura pas d'icône), et ensuite de rajouter les variations intéressantes (pas nécessairement toutes les variations, mais si quelqu'un trouve un jour une variation qui vaut la peine). Ainsi la bibliothèque d'image grandira petit à petit

Pour 'décompresser', suffit de 'recompresser' (avec recompress ou ChallengeEdit). Dans la recompression, il simule une compression (en indiquant 'tout ce qui suit tu ne le compresse pas). Donc le fichier est dans un format reconnu par le jeu, mais tout est lisible en clair en Hexa.

Skubidou:~
Revenir en haut Aller en bas
XWolverine
Hexa User



Nombre de messages : 28
Localisation : Devant le PC
TM possédés : TMSX, TMUF
Date d'inscription : 20/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime22/7/2008, 00:13

Skubidou a écrit:

Pour la vue du dessus, ben ça ne change pas grand chose niveau screenshot (niveau fastidieux), une fois que le MT est fait, il suffit de modifier le bloc avec ChallengeEdit, sauvegarder, charger la map dans le jeu, prendre le screenshot (tout est en fenêtré donc on passe facilement de l'un à l'autre).
Ce que je veux dire, c'est faire un seul GBX avec une matrice de plusieurs blocs, genre :
01 02 03

04 05 06

07 08 09
(mais avec plus que 3x3 comme là)
qu'on visualise avec le jeu en vue de dessus et on prend un screen de n blocs d'un coup (sans modifier et recharger pour chaque bloc). Pour la retouche, ben pareil, sur une image avec n blocs, ça se fait plus vite qu'1 par 1. Reste juste en plus à découper les bloc dans le soft de dessin.
Revenir en haut Aller en bas
XWolverine
Hexa User



Nombre de messages : 28
Localisation : Devant le PC
TM possédés : TMSX, TMUF
Date d'inscription : 20/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime22/7/2008, 00:24

Sinon, niveau implémentation dans le programme, avant l'image des blocs, je verrai plus un positionnement du bloc sélectionné par rapport aux autres :
Les images, c'est bien pour modifier mais surtout indispensable pour faire un circuit à partir de zéro.
Quand on modifie en hexa un circuit, on le connait et je pense qu'on situe mieux le bloc par rapport au circuit qu'uniquement par son image et ses coordonnées (enfin, au début Very Happy).
Genre ça :
Les attentes Blocmapno3.th
Revenir en haut Aller en bas
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime22/7/2008, 01:06

Pour le positionnement, même si ce n'est pas la panacèe (il n'y a pas de cadrillage dans l'éditeur ingame pour calculer facilement les valeures), il y a un filtrage dans la prochaine version de ChallengeEdit (ne lister que les bloc 2<x<6, 3<y<5, 1<z<2).

L'affichage du positionnement rencontre 3 autres problème...:
1. Pour le moment on en est pas encore à se passer de l'éditeur ingame, donc mon but est d'essayer de faire une application compacte pour qu'elle puisse cohabiter à côté d'un TM lancé en fenêtré. Ajouter un dessin de positionnement, il y a plusieurs solutions:
- Juste un petit cadrillage comme ton dessin. C'est quoi le bloc en bleu? Une route, un pont? Une montagne? Et il est à côté d'un bloc, mais lequel? Un route aussi? je ne suis pas sûr que ça aide beaucoup. Si je comrpends bien, tu parle de n'indiquer que le 'circuit'? Perso je modifie beaucoup de montagnes, de bords d'eau, et joue avec les variations. Le mixmapping ne se limite pas à superposer 2 blocs routes... Wink
- Des icônes 'vue du dessus' 16x16, on ne verra pas grand chose
- Des icônes plus grandes... à moins d'avoir un bi-ecran, on oublie de pouvoir travailler avec TM à côté.

2. Comment on gère les blocs mixé en vue 2D avec des images? Si on place 2 blocs 1x1x1 sur les mêmes coordonnées (x,y,z) genre une route qui monte en stadium et un plat troué pour réduire la largeur de la côté? lequel des 2 blocs est-ce que j'indique sur la 'map? Et même dans le cas d'un simple cadrillage...si tu as 3 routes qui se superposent, même en se limitant au 'circuit', ton dessin est une version très simpliste de ce que l'on voit en vue du dessus sur un circuit terminé (surtout sur des maps stadium par exemple)

3. Cela nécessite de gérer la taille d'un bloc, son orientation (un 1x2 ne prend pas la même forme suivant son orientation), ... On verra pour plus tard, mais c'est un autre code que faire simplement afficher une image du bloc... Je n'avance déjà pas aussi vite que je le voudrais... alors ce genre de gestion, on verra pour la version 2 Wink

Pour faire les captures, j'ai donné la méthode que j'ai utilisée et que j'ai trouvé la plus simple. Après, je ne suis pas spécialiste en logiciels de retouche, donc si quelqu'un à une autre méthode, chacun fait comme il veut. Les 2 circuits sont composés de SpeedBase et StadiumGrass dont la variation 1 à été mise à 1 pour les rendre transparent. Mais on peut sans problème les éditer pour ajouter plusieurs blocs collés... maintenant, la technique du collé ne fonctionnera que pour la vue 2D du dessus (en 3D, on est à un angle de 45° et de plus le bloc devant va cacher celui derrière)

Pour les captures en 2D, c'est n'importe. De toute façon, le programme ne plantera pas même s'il n'y a pas d'image (il n'affichera rien). Donc si personne n'a le temps de les faire en 3D, et que quelqu'un les fait en 2D, ben elles seront en 2D Wink Si j'ai mis 3D dans le nom, c'est justement parce qu'à terme, je voudrais pouvoir gérer un affichage de positionnement... mais c'est pas encore très haut dans la ToDo Liste... Maintenant, si on veut rester propre dans les noms, on peut très bien appeler les PNG [Nom du bloc]-Icon-0-0-0-0.png (qu'ils soient en 3D ou en 2D) mrgreen

Skubidou:~
Revenir en haut Aller en bas
XWolverine
Hexa User



Nombre de messages : 28
Localisation : Devant le PC
TM possédés : TMSX, TMUF
Date d'inscription : 20/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime22/7/2008, 16:00

Pas si simple, en effet. Je ne pensais qu'à un positionnement sans image (contours du bloc seulement), pour situer visuellement le bloc de manière plus parlante que x=32, y=31, z=12. La combinaison du nom + de la localisation dans l'espace (idéalement en 3 vues, projections X, Y et Z) permettant d'être quasi sûr de traiter le bon bloc.
Effectivement, si tu mets en parallèle le vrai éditeur de TM, ça a moins d'intérêt, même si je pense que ça doit pas être facile de chercher dans l'éditeur TM le bloc tremplin situé en 50, 40, 32.
Ca m'amuserais de le faire, cela dit, mais il faut effectivement connaître les tailles de tous les blocs et la position du point de référence (endroit du bloc qui se situe aux coordonnées données). Et puis évidemment savoir décompresser et extraire les données des blocs.
Au fait, elle est documentée, la structure connue du GBX ?
Revenir en haut Aller en bas
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime22/7/2008, 20:59

Documentée? Heu pas en très propre Embarassed

La base de la partie non compressée est sur le wiki (anglais, il est plus complet)
http://en.tm-wiki.org/wiki/Gbx
Mais contient des erreurs (des choses unknown qui sont known mrgreen ) pour ce qui concerne les 'string indexées'
Explication des string indexées (qui sont utilisées un peu partout dans les Gbx)
http://www.trackmania.com/fr/forum/viewtopic.php?p=536907

La décompression n'est pas documentée ni publique (voulu mrgreen ), mais le traitement d'un circuit recompressé est possible
L'ancien code de listing des blocs
https://tmhexa.forumgaming.fr/news-f1/recompress-new-version-tmuf-t15-30.htm

Ici commence une liste de string (première string à 1, pas 0) dans laquelle devront être ajoutées toutes les string indexées rencontrées si elle sont nouvelle (si pas un simple index vers une string déjà présente)
- Les string indexées sont donc constituées de
-- Word: index
-- Word: type
-- DWord: longeur de la string
-- String (si DWord <> 0 bien sûr)
- Les string (telle que je donne dans la description plus bas) sont constituées de
-- DWord: longeur de la string
-- String (la string en elle-même)

En texte (donc sur un Gbx recompressé):
- Lire le Dword qui est à l'adresse $D
- Aller à l'adresse $D + l'adresse lue. On arrive alors dans la zone mapping (comprend les blocs mais aussi le MT, les musiques, ...)

- Dword: Nombre de MT (3 si 'pas de MT', 4 si un MT, ...)
- DWord inconnu (toujours vu 00 00 00 00 jusqu'à présent)
- DWord: Taille de la partie une fois décompressée
- DWord: Taille de la partie compressée
- Compression (dans une map recompressée, passer tous les 00 + le premier <> 00
- Dword (0D 30 00 24 Marker)

Ici on est dans une boucle 'inconnue', je sais juste la passer
- DWord: nombre de 'inconnu'
- Faire une boucle sur ce nombre.
-- Si FFFFFFFF, passer
-- Sinon Lire la string indexée (et l'ajouter à la liste si nouvelle)

- DWord (11 30 00 24 Marker)
- 23 DWords inconnus

-Seconde boucle (4 PIKS). Pour chaque passage en boucle
-- DWord (xx 30 00 24 Marker)
-- String (PIKS)
-- DWord : taille du 'PIKS' (on peut le passer mais pas encore étudié ce qu'ils représentent)

- DWord (1F 30 00 24 Marker)
- String indexée : Challenge UID
- String indexée : Environment1
- String indexée : Auteur
- String : Nom de la map
- String indexée : Mood
- String indexée : Environment2 (en fait c'est toujours un index qui renvoi vers Environment1)
- String indexée : Développeur (Nadeo). Apparait sauf sur les maps de Nadeo, vu que Nadeo apparait déjà dans Auteur, donc il y a juste un index ici
- 5 DWords inconnus

- Nombre de blocs
- Boucle sur les blocs
--String indexée : nom du bloc
-- Byte: rotation
-- Byte: x
-- Byte: z
-- Byte: y
-- Byte: Variation 1
-- Byte: Variation 2
-- Byte: Variation 3
-- Byte: Variation 4
-- Texture si elle existe. La seule façon trouvée, c'est par élimination...
---- Si le DWord suivant n'est pas 21 30 04 03 (DWord qui apparait juste après tous les blocs)
---- Si le DWord suivant correspond au 2 Word d'une string indexée (xx 00 | 00 40) et que l'index renvoit vers 'Developpeur' (donc vers Nadeo), alors c'est une texture
- Donc si texture
-- DWord lu juste avant qui renvoit vers 'Nadeo'
-- DWord: indexe de la texture (celui dont j'ai parlé hier et je ne sais pas si on peut le virer comme on veut)
La suite est facultative (ça dépend des textures)
-- Si les 2 DWord suivant sont 00 90 05 03 | 02 90 05 03
--- String : souvent 00 00 00 00 (string vide). Les seuls cas rencontré sont si on applique une texture à un objet et puis qu'on retire la texture. On se retrouve avec une string à i2 (si je ne me trompe pas)
--- Byte : 02 (constant?)
--- String : première texture (format local /skins/....)
--- Si la string précédente n'est pas vide
---- String : URL donnée par le locator
--- Byte : 02 (constant?)
--- String : seconde texture (format local /skins/....) Rarement utilisée sauf sur les bloc départ où il y a 2 textures (pour le mode commerciale, non modifiable par le jeu)
--- Si la string précédente n'est pas vide
---- String : URL donnée par le locator
--- DWord : 01 DE CA FA

Voilà toutes les infos sur la partie bloc.

Skubidou:~
Revenir en haut Aller en bas
XWolverine
Hexa User



Nombre de messages : 28
Localisation : Devant le PC
TM possédés : TMSX, TMUF
Date d'inscription : 20/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime22/7/2008, 23:24

Oui, j'avais vu le wiki anglais entre temps et surtout votre tuto qui ne marchait pas ce WE.

Si j'ai bien tout compris,
- ChallengeEdit décompresse et sauve le GBX en format lisible (blocs non compressés (Lempel Ziv Welsh ?)), donc on peut jouer avec le fichier hors de ton programme, en suivant ta description ci dessous de la structure.
- Au niveau intégrité du GBX, on ne sait pas (on c'est pas encore codé ?) rajouter des infos et recalculer le contrôle (checksum ?) de la longueur => On ne peut que modifier des blocs existants ou les changer à condition que la taille du fichier ne bouge pas.
- Sur la structure des blocs, tu sais à peu près tout (sauf le type 0040 ou 0080), reste plutôt à déterminer ce qu'on peut ou ne peut pas faire (blocs hors zone, ...) et le rôle des variations selon les blocs.
- Les DWord, c'est des Long Very Happy.

Ca vient petit à petit.

Pour les textures, je n'ai pas vu dans ton explication comment on les reliait aux blocs.
Revenir en haut Aller en bas
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime23/7/2008, 00:00

Recompression : oui, jouer sur le GBX recompressé permet de voir tout. Il y a aussi une ligne de commande dans la version publié actuellement (elle ne sera plus dans la prochaine version parce que ça complique le code, mais la ligne de commande ne sert qu'à la recompression, donc la version actuelle est suffisante, et je ferai sans doute un autre prog rien que pour ça (avec d'autres fonctionnalités).

Changement de taille: si c'est faisable (techniquement).
- Pour la partie avant la compression, voir le wiki avec les marker qui donnent les tailles des différentes parties.
- Pour la partie compressée (recompressée), il y a les 2 DWord au début qui donnent les tailles compressé et non compressé, plus recalculer la 'recompression'. Là par contre (la recompresion), j'ai la formule de décompression qui est 'simple' mrgreen , je l'ai inversé comme j'ai pû (façon très empirique, c'est d'ailleurs ce qui donnait les range check error dans les premières versions de recompress), le code en Delphi existe et fonctionne (par chance confused Suspect ) mais pour la donner en formule mathématique... ça va être autre chose geek

Pour la structure: les 0040 et 0080, on peut franchement s'en foutre. je pense que c'est un truc du genre UTF8 ou non... mais bon, l'UID est toujours en 0080, le nom du bloc toujours en 0040. Il faut juste mettre le bon type pour que TMF fonctionne (s'il en a réèllement besoin Rolling Eyes ) mais pas besoin d'en comprendre la signification.

Dword, heu oui je crois (32bits, 4bytes)

Pour les textures...je pense (à 99%) quelles sont reliées simplement en suivant le bloc. je n'ai pas trouvé de lien (il n'y a même pas un DWord quelque part qui indique combien de textures on va trouver et elles sont coincées au milieu de la boucle sur les blocs), et dans tous les tests effectués, elles suivent toujours directement le bloc.

Skubidou:~
Revenir en haut Aller en bas
Skubidou
Hexaequo



Nombre de messages : 279
Date d'inscription : 12/04/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime23/7/2008, 00:32

Pour la modification de taille, je viens de revérifier sur un exemple.

Sur un fichier recompressé, il y a donc:

- DWord : aa aa aa aa (Taille décompressée), taille A
- DWord : bb bb bb bb (Taille recompressée), taille B
- Bytes : 00 [00] uu (donc une série de 00 suivit d'un byte <> 0) On va dire que cette série est de longueur C
La zone copiée sans être recompressée, d'une longeur D
La fin de fichier 11 00 00 (3 bytes, longueur E

Pour les formules:
B = C + D + E (donc en fait tout ce qu'il y a après le DWord bb bb bb bb jusqu'à la fin de fichier
A = D (donc la partie non compressée, sans l'algorythme de compression et sans les 3 bytes de fin de fichier

Reste à calculer C mrgreen

ma façon empirique (qui peut sans doute être optimisée, mais elle fonctionne alors je ne touche plus huhu )
Exp = (D - 19) DIV 255
Unc = D - (255 * Exp) - 21 (pourrait sans doute est converti en ((D - 19) MOD 255) +- quelque chose mais j'y touche plus tongue )

=> 00 [00] uu
=> ajouter 00 + [Exp*00] + Unc

C'est clair huhu2

Skubidou:~


Dernière édition par Skubidou le 23/7/2008, 00:39, édité 1 fois
Revenir en haut Aller en bas
cyril
Hexa Helper
cyril


Nombre de messages : 60
TM possédés : tmuf
Date d'inscription : 05/07/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime23/7/2008, 00:34

tres ! lol!
Revenir en haut Aller en bas
AdRiWeB
Co-Admin
AdRiWeB


Nombre de messages : 403
Age : 31
Localisation : Sous mes cheveux
TM possédés : TMN TMNF TMU TMUF
Date d'inscription : 01/06/2008

Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime23/7/2008, 10:30

Skubidou a écrit:
Recompression : oui, jouer sur le GBX recompressé permet de voir tout. Il y a aussi une ligne de commande dans la version publié actuellement (elle ne sera plus dans la prochaine version parce que ça complique le code,
HAAAA


Sad Sad Sad Sad Sad Sad Sad
Revenir en haut Aller en bas
http://www.adriweb.net
Contenu sponsorisé





Les attentes Empty
MessageSujet: Re: Les attentes   Les attentes Icon_minitime

Revenir en haut Aller en bas
 
Les attentes
Revenir en haut 
Page 1 sur 2Aller à la page : 1, 2  Suivant

Permission de ce forum:Vous ne pouvez pas répondre aux sujets dans ce forum
Forum TM-hexa :: Général :: Général-
Sauter vers: