Worldedit
  Worldedit
Le site sur l'éditeur de warcraft 3 !
 
  FAQFAQ   RechercherRechercher   Liste des MembresListe des Membres    Groupes d'utilisateursGroupes d'utilisateurs   medals.php?sid=175bae3ae57cf0b278e004823b4b586aMédailles   S'enregistrerS'enregistrer 
 ProfilProfil   Se connecter pour vérifier ses messages privésSe connecter pour vérifier ses messages privés   ConnexionConnexion 
  FAQFAQ World Editor   UploadUploader une map ou une image    UploadAjouter sa map à l'annuaire   UploadConsulter l'annuaire

Comment mettre une variation de terrain aléatoire ?

 
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre
Voir le sujet précédent :: Voir le sujet suivant  
Auteur Message
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 02/04/11 09:49    Sujet du message: Comment mettre une variation de terrain aléatoire ? Citer

Attention ce sujet est peut-être plus complexe qu'il n'y paraît.

Grâce aux informations précieuses trouvées ici, je génère un fichier de terrain war3map.w3e avec un autre langage de programmation. J'ai un souci technique, je ne gère pas les variations de terrains. Cela donne donc un terrain artificiel tout moche. Ce que je voudrais c'est que les variations soient générées de façon aléatoire.

Un carré de terrain est stocké dans 7 octets, dont l'avant dernier est destiné au choix de la variation (moi j'ai mis simplement 0). Seul problème :
"1byte: texture details (of the tile of which the tilepoint is the bottom left corner) (rocks, holes, bones,...). It appears that only a part of this byte is used for details. It needs more investigations"
Aucune info à ce sujet.
Je pourrais chercher de façon poussée mais si je pouvais gagner du temps grâce à la réponse de quelqu'un, ça serait appréciable Smile.

Donc en fait la question est, comment est représentée la variation de terrain dans cet octet, sachant si je ne m'abuse que le nombre de variations diffère d'un type de terrain à un autre.
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 02/04/11 10:42    Sujet du message: Citer

Tu créés un programme qui génère un .w3e sans erreur? GG Surprised
Moi, je n'arrête pas d'obtenir des résultats improbables quand j'essaie de toucher à la hauteur.

Pour la randomization des tiles, il me semble simplement que l'octet indique le numéro du détail sans plus (càd que j'ai toujours vu l'octet avec une valeur comprise entre 0 et le nombre de variations de la texture). Le reste a peut-être un autre sens mais je n'le connais pas (essaies en mettant les valeurs 16/32/64/128 ?). Peut-être que Warcraft est capable de randomiser la texture lors du chargement de la map ou un truc dans ce genre...

Sinon, tu as raison quand tu dis que le nombre de variations diffère d'une texture à l'autre, mais il me semble que ça n'est donnée nulle part : WE et W3 regardent juste la taille du .blp et la découpent en textures de plus petite taille (toutes les variations sont donc dans le même fichier .blp). Si c'est quand même noté quelque part pour chaque texture, c'est sans doute dans le fichier "Environment\Terrain.slk" (je fais p-e une erreur mais, de mémoire, c'est le seul qui liste les différents types de texture).

Au pire, tu indiques toi-même les nombres de variations pour chaque texture différente (mais il faudrait penser à modifier ces constantes si on utilise des textures personnalisées :s).

J'espère t'avoir un peu éclairé ^^. Bonne chance pour la suite Razz .
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 02/04/11 10:53    Sujet du message: Citer

Ouaip merci. C'est très intéressant toussa.

Pour ce qui est de générer un .w3e sans erreur, il suffit de respecter précisément le format tel que décrit dans le lien que j'ai rappelé. Mais c'est sûr que j'ai dû corriger différentes erreurs que j'avais faites avant que ça marche.

Je n'ai pas touché à la hauteur par contre, je l'ai mise normale partout. Je n'envisage pas la possibilité de faire des variations de hauteur, du moins dans l'immédiat, puisque dans un escape ça n'est pas utile (si ce n'est visuellement éventuellement). Par contre quand j'aurai fini et que j'en serai au stade "améliorations", j'inclurai les sauts, ce qui nécessitera forcément des variations de hauteurs (sans dénivelé, pas de saut possible).
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 13/04/11 15:30    Sujet du message: Citer

Je n'ai pas eu le temps de m'occuper de ça encore, mais si quelqu'un a plus d'informations qu'il n'hésite pas ^^.
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 27/07/12 04:07    Sujet du message: Citer

Réouverture de topic.

ça fait un pti bout de temps que je n'avais pas mappé mais j'ai repris mon projet.
Le problème des variations n'est pas réglé mais ce n'est pas très grave : je recrée tout le terrain en début de partie, ceci permettant de mettre des variations aléatoires.

Mon éditeur est maintenant apparemment complètement opérationnel (http://max.slid.free.fr/maxEscapeCreation/) et j'aimerais m'attaquer aux jumps, comme j'en parlais plus haut.

J'aimerais donc savoir si Tirliti ou quelqu'un d'autre a du nouveau sur le fichier war3map.w3e : comment régler la hauteur du terrain ?
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Troll-Brain
Ri1kamoua


Inscrit le: 23 Aoû 2007
Messages: 7143
Sujets: 147
Spécialité en worldedit: le troll, le flood, la vulgarité, mon coeur balance
Médailles: 2 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1) Rédacteur de tuto #3 (Quantité : 1)

MessagePosté le: 27/07/12 21:32    Sujet du message: Citer

Et qui sait qui va devoir faire des tests bit après bit ? huhu
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 27/07/12 21:53    Sujet du message: Citer

Lol
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Rédacteur de tuto #1 (Quantité : 1) Ayane (Quantité : 1)

MessagePosté le: 27/07/12 22:10    Sujet du message: Citer

La hauteur doit être sur les 16 premiers bits: ground height.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 28/07/12 01:24    Sujet du message: Citer

Oui effectivement.
Mais je ne comprends pas comment ça fonctionne :
Citation:
-Short Integers
Short Integers are stored using 2 bytes in "Little Endian" order.
They are close to the C++ signed short but their range is from -16384 to 16383. It means the 2 highest bit are free of use for a flag for example.
Size: 2 bytes

short: ground height
C000h: minimum height (-16384)
2000h: normal height (ground level 0)
3FFFh: maximum height (+16383)

Il est dit que les deux bits de poids fort ne sont pas utilisés (à ce que je comprends), dans ce cas ça laisse 2^14 possibilités = 16384, la moitié de ce qui est utilisé.

Pour C000 si on prend les 15 premiers bits et que je ne me trompe pas ça donne bien -16384.

Pour 3FFF, si on prend les 15 premiers bits ça me paraît correspondre également (16383).

Par contre, pourquoi 2000 représente-t-il la hauteur 0, pourquoi pas 0000 ?

Autrement, j'ai fait des test sur un carré de terrain, sa hauteur est de 140, quand je fais le calcul à partir de war3map.w3e ça me donne un résultat de l'ordre de 8000.
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Ayane
Bot administrateur


Inscrit le: 17 Sep 2007
Messages: 2009
Sujets: 49

Médailles: 2 (En savoir plus...)
Ayane (Quantité : 1) Rédacteur de tuto #1 (Quantité : 1)

MessagePosté le: 28/07/12 16:06    Sujet du message: Citer

2000h c'est de l'hexa-décimale => 8192.
C'est Blizzard qui a choisis que la hauteur par défaut serait 0x2000, un choix cohérent si on devait considérer l'entier comme non signé.
Mais leur exemple montre que leurs informations ne sont pas fiables, 0xC000 utilisant justement les deux bits de poid fort.
Il te faudrait donc tester en descendant assez bas. Si le bit de poids fort passe à 1 alors c'est un entier signé. Si au plus bas cela arrive à 0 c'est donc un entier non signé. Les deux bits qui servirait de drapeaux doit être incorrecte.
_________________
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé MSN Messenger
 Tirlititi



Inscrit le: 21 Fév 2010
Messages: 1785
Sujets: 22
Spécialité en worldedit: La modestie
Médailles: 1 (En savoir plus...)
Grand mage créateur de sort (Quantité : 1)

MessagePosté le: 28/07/12 16:35    Sujet du message: Citer

Il faut aussi vérifier si la hauteur est mise en valeur relative ou absolue.
Si ça se trouve, la "hauteur 0" n'est pas la même selon si le niveau de falaise est de 6 ou s'il est de 10.
_________________
Warcraft III, c'était mieux avant. Y'avait des purs chefs-d'oeuvres du mapping !
Road Of Glory (par moi)
Casse-briques (par moi)
Temple de Glace (par moi)
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
 Max
Floodeur prématuré


Inscrit le: 13 Jan 2009
Messages: 550
Sujets: 47
Spécialité en worldedit: La partie déclencheurs sauf le GUI.


MessagePosté le: 28/07/12 21:58    Sujet du message: Citer

J'ai trouvé !!!

J'ai mis une hauteur (C000)h pour un carré de terrain, en modifiant manuellement war3map.w3e. Mon short int a été transformé en (0000)h, les deux bits de poids fort ne sont donc apparemment pas utilisés. Cela m'a donné une hauteur de -2048. J'ai ensuite testé avec (3FFF)h, valeur restée intacte. Cela m'a donné une hauteur de +2047,75.
Cela m'a tout de suite mis sur la voie :
-2048 * 4 = -8192
+2047,750 * 4 = +8191

HauteurTerrain = (ValeurHexa - 8192) / 4
J'ai vérifié cette formule avec deux hauteurs différentes, une positive et une négative.

La hauteur est mise en valeur relative au niveau de falaise.
HauteurReelleTerrain = (ValeurHexa - 8192) / 4 + (NiveauFalaise - 2) * 128


EDIT : Aaah c'était indiqué là :
"The tilepoint "final height" you see on the WE is given by:
(ground_height - 0x2000 + (layer - 2)*0x0200)/4"
_________________
Maximaxou@northrend

Projet Max Escape Creation (éditeur d'escapes : mazes/slides) : http://max.slid.free.fr/maxEscapeCreation/
Revenir en haut
Voir le profil de l'utilisateur Envoyer un message privé
Montrer les messages depuis:   
Poster un nouveau sujet   Répondre au sujet    Worldedit Index du Forum -> Autre Toutes les heures sont au format GMT + 1 Heure
Page 1 sur 1
La question posée dans ce topic a été résolue !

 
Sauter vers:  
Vous ne pouvez pas poster de nouveaux sujets dans ce forum
Vous ne pouvez pas répondre aux sujets dans ce forum
Vous ne pouvez pas éditer vos messages dans ce forum
Vous ne pouvez pas supprimer vos messages dans ce forum
Vous ne pouvez pas voter dans les sondages de ce forum


Powered by phpBB © 2001, 2005 phpBB Group
Traduction par : phpBB-fr.com