Inscrit le: 25 Aoû 2007 Messages: 69 Sujets: 12 Spécialité en worldedit: Vulgarisateur de connaissance Médailles: 1 (En savoir plus...)
Posté le: 04/09/07 15:52 Sujet du message: Convertir une map TFT en une map ROC.
Il y a un peu plus de 2 ans certains auraient été prêt a "tuer" pour connaître cette technique, car le fait de pouvoir utiliser des trigger TFT dans une map ROC, c' étaient l'assurance du succès de sa map.C'est pourquoi elle a lontemps était gardée secrete pour s'assurer du monopole des triggers.Mais quelqu'un a craché morceau vu qu'on l'aurait découvert d'un jour à l'autre.(les ptits malins )
I)Présentation.
En premier,il est indispensable d'avoir WinMPQ, un des principales outils du mappeur.Si vous ne l'avez pas: DL
WinMPQ permet de visualiser les fichiers .mpq et d'en extraire leur contenu, comme un fichier .zip.Voici un petit résumé de ce que on peut y trouver:
(listfile)
(signature)
(attributes)
war3map.w3e = Environement: taille de la map et terrain utilisé .
war3map.w3i = Info des slots utilisés (ordinateurs,races)
war3map.wtg = Le nom des triggers
war3map.wct = Contient le texte des triggers custom.
war3map.wts = les strings
war3map.j = le script
war3map.shd = Le brouillard et les ombres.
war3mapMap.blp = la mini map
war3mapMap.b00
war3mapMap.tga
war3mapPreview.tga = Picture
war3map.mmp = Le menu de la minimap
war3mapPath.tga
war3map.wpm = Les chemins utilisés pour l'importation
war3map.doo = doodads
war3mapUnits.doo
war3map.w3r = Region
war3map.w3c = Camera
war3map.w3u = Les caratéristiques des unités
war3map.w3s = Sons
war3map.imp = importations
war3map.wai = AI
war3mapImported\*.*
Pas besoin de les connaître par coeur lol...Mais faut savoir les principales.
II)Procédure.
1)Ouvrir une map ROC et vierge avec WinMPQ.
2)Suprimmé TOUT les fichiers.
3)Fermer WinMPQ puis le réouvrir avec la map TFT que vous ne verrez pas dans le dossier ,au début car il faut sélectionner "all files".
4)Ici,vous sélectionnez tout les fichiers de la map TFT puis faite "Extract" dans un dossier que vous aurrez préalablement crée.
5)On referme puis on reouvre la map ROC vide.
6)On clique sur "Add Folder" et choissisez le dossier contenant tout les fichiers.
(Pas besoin de fermer et de réouvrir à chaque fois.. mais il pourrait avoir une confusion)
Voila tout est transféré, la map convertie , la mission accomplie .Comment sa se fé que je retrouve la taille et tout le décor alors que y avait rien sur la map vierge?Parce qu'on a copier le fichier qui contenait les info du terrain et de la taile donc on se fout de la taille de la map vierge ect..
Cependant,cette manipulation augmente légerement le poids la map seulement si elle ne contient pas de modèles mais dans la cas contraire plus il y a de modèle plus le poids augmente.De plus, doodads et unités ne sont pas convertie mais il existe des astuces pour contourner ce problème mais je ne le diré pas pour le moment car faut bien garder le monopole sur quelque chose, uh.
Bye. _________________
Quand tu es poursuivi, l'important n'est pas de courir plus vite que tes poursuivants, mais plus vite que tes potes. (proverbe gobelin)
Dernière édition par FitZ le 04/09/07 18:49; édité 5 fois
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...)
Posté le: 04/09/07 15:59 Sujet du message:
ou apprendre le jass
Citation:
De plus, doodads et unités ne sont pas convertie mais il existe des astuces pour contourner ce problème mais je ne le diré pas pour le moment car faut bien garder le monopole sur quelque chose, uh.
si l'astuce ne consiste pas au rajout de modèles et skins sur des doodads/unites, tu sucks de ne pas le dire étant donné que c'est un peu le but du tuto _________________
Inscrit le: 25 Aoû 2007 Messages: 69 Sujets: 12 Spécialité en worldedit: Vulgarisateur de connaissance Médailles: 1 (En savoir plus...)
Posté le: 04/09/07 16:02 Sujet du message:
Pour les unités l'astuce est pas dure à comprendre comme tu l'a dit , faut juste mettre des modèle qui ressemble au unit de TFT mais pour les doodads c'est autre chose . _________________
Quand tu es poursuivi, l'important n'est pas de courir plus vite que tes poursuivants, mais plus vite que tes potes. (proverbe gobelin)
@Rian: Comme indiqué dans les fichiers de WinMPQ il faut installer le Runtime Visual Basic 4.
J'ai regardé dans les spécifications des fichiers HM3W (.w3x et .w3m) et ils n'indiquent aucuns champs différenciant les w3m et w3x.
Citation:
Here is the header format (fixed size = 512 bytes):
char[4]: file ID (should be "HM3W")
int: unknown
string: map name
int: map flags (these are exactly the same as the ones in the W3I file)
0x0001: 1=hide minimap in preview screens
0x0002: 1=modify ally priorities
0x0004: 1=melee map
0x0008: 1=playable map size was large and has never been reduced to medium
0x0010: 1=masked area are partially visible
0x0020: 1=fixed player setting for custom forces
0x0040: 1=use custom forces
0x0080: 1=use custom techtree
0x0100: 1=use custom abilities
0x0200: 1=use custom upgrades
0x0400: 1=map properties menu opened at least once since map creation
0x0800: 1=show water waves on cliff shores
0x1000: 1=show water waves on rolling shores
int: max number of players
followed by 00 bytes until the 512 bytes of the header are filled.
En comparant les fichiers je me suis rendu compte que le flag changeait de valeur, et il ne s'agissait que d'un bit, après teste il s'agit bien d'un drapeau non spécifié:
Citation:
0x4000: 1 = carte Frozen Throne
Evidemment il y a également les fichiers de données qui changent suivant l'extention, référez-vous à cette documentation pour faire la conversion:
http://www.wc3campaigns.net/tools/specs/index.html _________________
Inscrit le: 27 Juin 2008 Messages: 12 Sujets: 3 Spécialité en worldedit: Debutante
Posté le: 28/06/08 09:58 Sujet du message:
Bah eu j'ai convertis ma map qui s'enregistrer je sais pas comment en w3x mais j'arrive toujours pas à l'ouvrir il dise "Version de la carte non compatible" _________________
Il vous faut juste glisser-déposer le fichier carte sur l'executable (ou lui fournir le chemin en ligne de commande).
Voici son code source:
Secret:
Code:
//======================================================================//
// MapConv //
// Créé par Ayane //
// Pour plus d'informations sur le format HM3W //
// http://www.wc3campaigns.net/tools/specs/index.html //
//======================================================================//
#include <stdio.h> // Inclus la bibliothèques des entrées sorties (fichiers / console)
#include <string.h> // Inclus la bibliothèque de la gestion des chaînes
// Ouverture du fichier
FILE* hMap = fopen(argv[1], "rb+");
// Vérifie qu'il est bien ouvert
if (!hMap)
{
printf("Fichier introuvable ou accés refusé");
return 1;
}
// Lecture du tag
char tag[4];
fread(&tag, sizeof(tag), 1, hMap);
const char MAPTAG[4] = {'H','M','3','W'};
// vérifie que le fichieir est au bon format
if (memcmp(MAPTAG, tag, sizeof(MAPTAG)))
{
printf("Le fichier n'est pas au bon format");
fclose(hMap);
return 1;
}
// Déplace le curseur de la taille d'un entier (4 octets) par rapport à la position actuelle du curseur
fseek(hMap, sizeof(int), SEEK_CUR);
// Cherche le bit nul indiquant la fin du nom de la carte
while(fgetc(hMap));
// Lit le drapeau de la carte
unsigned mapflags;
fread(&mapflags, sizeof(mapflags), 1, hMap);
printf("mapflags: %u\n", mapflags);
if (!(mapflags & MAPFLAGS::TFT))
{
printf("Cette carte est déjà au format ROC");
fclose(hMap);
return 1;
}
// Passe à false le drapeau indiquant qu'il s'agit d'une carte TFT
mapflags = mapflags & ~MAPFLAGS::TFT;
printf("newmapflags: %u\n", mapflags);
// Déplace le curseur à l'emplacement du drapeau
fseek(hMap, -sizeof(mapflags), SEEK_CUR);
// Ecrit le nouveau drapeau
fwrite(&mapflags, sizeof(mapflags), 1, hMap);
// Ferme le fichier
fclose(hMap);
printf("Fichier convertie\n");
unsigned int pathlen = strlen(argv[1]); // Taille du chemin
// Vérifi l'extention du fichier
if (argv[1][pathlen-3] != 'w' || argv[1][pathlen-2] != '3' || argv[1][pathlen-1] != 'x')
return 0;
// Renomme le fichier
char* newpath = new char[pathlen]; // Alloue la mémoire pour le nouveau chemin
strcpy(newpath, argv[1]); // Copie le chemin
newpath[pathlen-1] = 'm'; // Change le dernier caractère du nouveau chemin
if (rename(argv[1], newpath))
printf("le fichier n'a pas put être renommé car un fichier portant ce nom existe déjà\n");
else
printf("Fichier renommé\n");
Et voilà la version mac, à partir du code de Ayane, avec une petite interface graphique.
[edit]fonctionne maintenant pour tous les types de processeurs.[/edit]
J'ai crée une map avec l'editeur de tft et je voudrais la convertir en map roc (w3m)
pour cela j'ai suivi les instruction concernant Winmpq (le logiciel pour pc) :
- Je crée une map roc vierge
- je l'ouvre avec mpqextractor ( le logiciel pour mac)
- je supprime tous les fichiers
- j'ouvre ma map tft avec mpqextractor
- j'ai bien la liste de fichiers : war3map.w3e, war3mapMap.b00, war3map.wpm etc ...
- je copie tous les fichiers dans la map roc
- je compresse la map roc en mpq avec le logiciel dropmpq
Maintenant j'arrive a l'ouvrir avec roc mais le problème c'est que les unit TFT sont invisibles
elles sont la poutant : ex l'icone de hero apparait a gauche si je clique dessus le hero parle et peut bouger.
puis quand je quitte la game j'ai une fatal error
Inscrit le: 23 Aoû 2007 Messages: 4766 Sujets: 136 Spécialité en worldedit: Keskesapeutfout' Médailles: 1 (En savoir plus...)
Posté le: 05/08/08 11:17 Sujet du message:
Il faut que tu ajoute les modèles ainsi que les textures des unités qui ne sont pas dans RoC dans le gestionnaire d'importation
C'est normal car ceux de RoC n'ont pas ces unités, il faut donc que tu les ajoutes.
Pour ton deuxième problème aucune idée _________________
Leçon n°1 du WorldEdit : « Le violet > Troll-Brain »
Toutes les heures sont au format GMT + 1 Heure Aller à la page 1, 2Suivante
Page 1 sur 2
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