c'est simple comme programme mais il utilise la bibliotheque windows donc je pense que ce n'est pas gagné mais bon voici la source :
main.c
#include <stdio.h>
#include <stdlib.h>
#include <windows.h>
int main(int argc, char *argv[])
{
printf("Bienvenue dans l'utilitaire d'implantation des models 3D de RoM\
");
char nom[20], chemin[200], sortie[30000], sortie0[300], sortie1[300], texture[200], sortie2[300], sortie3[300];
char sortie4[300], Z[10], sortie5[300], sortie6[300], sortie7[300], sortie8[300], sortie10[300], scale[10], X[10], Y[10], sortie9[300];
while(1)
{
printf("\
Veuillez entrer le nom du model : ");
scanf("%s", nom);
printf("Veuillez entrer le chemin du model 3D : ");
scanf("%s", chemin);
printf("Veuillez entrer le chemin de la texture : ");
scanf("%s", texture);
printf("Veuillez entrer la position X :");
scanf("%s", X);
printf("Veuillez entrer la position Y :");
scanf("%s", Y);
printf("Veuillez entrer la position Z :");
scanf("%s", Z);
printf("Veuillez entrer la valeur du scale (1 par defaut):");
scanf("%s", scale);
printf("\
Voici le code a recopier :\
");
sprintf(sortie0, "// %s\
",nom);
sprintf(sortie1, "IAnimatedMesh* %s = smgr->getMesh(\\"%s\\");\
",nom, chemin);
sprintf(sortie2, "IAnimatedMeshSceneNode* n%s = smgr->addAnimatedMeshSceneNode(%s);\
", nom, nom);
sprintf(sortie3, "n%s->setPosition(core::vector3df(%s,%s,%s));\
", nom, X, Z, Y);
sprintf(sortie4, "n%s->setMaterialTexture( 0, driver->getTexture(\\"%s\\"));\
", nom, texture);
sprintf(sortie5, "n%s->setMaterialFlag(EMF_LIGHTING, true);\
", nom);
sprintf(sortie6, "n%s->setScale(core::vector3df(%s,%s,%s));\
", nom, scale, scale, scale);
sprintf(sortie7, "n%s->setRotation(core::vector3df(0,0,0));\
", nom);
sprintf(sortie8, "scene::ITriangleSelector* %sselect = smgr->createOctTreeTriangleSelector(%s->getMesh(0),n%s, 32);\
", nom, nom, nom);
sprintf(sortie9, "//smgr->addLightSceneNode (0, core::vector3df(%s,%s,%s), video::SColorf(0.5,0.5,0.35,0.5f), 50.0f);", X, Z, Y);
sprintf(sortie10, "metaselect->addTriangleSelector(%sselect);", nom);
sprintf(sortie, " %s %s %s %s %s %s %s %s %s %s\
\
//Le metaselecteur\
%s\
\
", sortie0, sortie1, sortie2, sortie3, sortie4, sortie5, sortie6, sortie7, sortie8, sortie9, sortie10);
printf("%s\
", sortie);
//Copie dans le press papier
HANDLE hGlobal;
hGlobal = GlobalAlloc(GHND | GMEM_SHARE, sizeof(sortie)+1);
char *pointeur;
pointeur = (char *)GlobalLock(hGlobal);
strcpy(pointeur, sortie);
GlobalUnlock(hGlobal);
OpenClipboard(NULL);
EmptyClipboard();
SetClipboardData(CF_TEXT, hGlobal);
CloseClipboard();
printf("Code copie dans le presse papier !\
");
printf("*********************************************************************\
\
");
}
return 0;
}
Bien amicalement.
Gp2mv3