[WeiDU] Recherche un algorithme pour modifier le fichier WED
Posté : mar. 10 avr. 2018, 17:12
Je suis en train d'écrire une fonction WeiDU qui ajoute automatiquement une porte dans une carte existante.
Le code modifiant le fichier ARE fonctionne parfaitement. En revanche, celui modifiant le fichier WED n'est pas encore au point. En fait, il fonctionne parfaitement, sauf une partie que j'ai mis du temps à identifier.
Le fichier wed contient les informations sur les overlays, les portes, les polygones et.... les wallgroups.
Chaque carte est découpée en wallgroups de 640 x 480 pixels regroupant les index des polygones compris dans cette surface. Lorsque j'ajoute un polygone pour la porte ouverte, je dois mettre à jour l'index des wallgroups. Et c'est là que ça se complique.
Comme un bon dessin vaut mieux que de longs discours :
Les numéros représentent les wallgroups, les lettres des polygones.
Si j'ajoute le polygone A dans le fichier WED, il me suffit de lire sa bounding box pour pouvoir l'insérer dans le wallgroup 4 et réindexer le fichier.
En revanche, ça se complique pour trouver un algorithme calculant automatiquement que le polygone B doit être ajouté aux wallgroups 1, 4 et 7 ; et le polygone C aux wallgroups 0,1, 4, 5 et 7.
Pour info, je connais les bornes gauche, droite, haute et basse de chaque wallgroup et de chaque polygone.
Si quelqu'un a une idée, ça me permettrait de gagner un temps fou.
Le code modifiant le fichier ARE fonctionne parfaitement. En revanche, celui modifiant le fichier WED n'est pas encore au point. En fait, il fonctionne parfaitement, sauf une partie que j'ai mis du temps à identifier.
Le fichier wed contient les informations sur les overlays, les portes, les polygones et.... les wallgroups.
Chaque carte est découpée en wallgroups de 640 x 480 pixels regroupant les index des polygones compris dans cette surface. Lorsque j'ajoute un polygone pour la porte ouverte, je dois mettre à jour l'index des wallgroups. Et c'est là que ça se complique.
Comme un bon dessin vaut mieux que de longs discours :
Les numéros représentent les wallgroups, les lettres des polygones.
Si j'ajoute le polygone A dans le fichier WED, il me suffit de lire sa bounding box pour pouvoir l'insérer dans le wallgroup 4 et réindexer le fichier.
En revanche, ça se complique pour trouver un algorithme calculant automatiquement que le polygone B doit être ajouté aux wallgroups 1, 4 et 7 ; et le polygone C aux wallgroups 0,1, 4, 5 et 7.
Pour info, je connais les bornes gauche, droite, haute et basse de chaque wallgroup et de chaque polygone.
Si quelqu'un a une idée, ça me permettrait de gagner un temps fou.