13-08-2007 12:58:08
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.247.14.224
- Courriel Site web
Salut,
Je viens de programmer un petit programme qui créé le code C à ajouter pour ajouter un objet à une scene irrlicht.
Le programme n'est malheureusement pas compatible linux mais juste windows.
Voici l'exécutable : utilitaire.exe
J'espère que ce programme va pouvoir vous aider.
Gp2mv3
Hors ligne
14-08-2007 11:05:32
- Jerry Kan
- Membres
- Date d'inscription:
- Messages: 265
- IP: 213.41.232.205
- Courriel
si tu fournis tes sources, il ya des chances qu'on puisse faire tourner ca sous linux ![]()
Hors ligne
20-08-2007 12:13:56
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.245.147.171
- Courriel Site web
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
Hors ligne
21-08-2007 07:20:06
- Jerry Kan
- Membres
- Date d'inscription:
- Messages: 265
- IP: 213.41.232.205
- Courriel
tres sympa a toi ![]()
a mon avis (rapide) le seul souci c'est le collage dans le presse papier qui utilise l'api windows, (on peut coller dans un fichier au pire) le reste doit etre portable, ![]()
Hors ligne
22-08-2007 08:44:30
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.245.128.250
- Courriel Site web
Je me dis la même chose mais je trouve sa très pratique le collage dans le presse papier.
Gp2mv3
Hors ligne
22-08-2007 10:06:20
- Jerry Kan
- Membres
- Date d'inscription:
- Messages: 265
- IP: 213.41.232.205
- Courriel
bah sous linux il suffit de selectionner pour copier et de faire Mouse 3 pour coller, donc on est pas a un presse papier pret ![]()
Hors ligne
22-08-2007 10:30:22
- izguit
- Administrateurs

- Date d'inscription:
- Messages: 306
- IP: 83.153.12.95
- Courriel Site web
bof, entre un presse papier et les flux c++, je pense que ces derniers sont même plus faciles...
Athlon 64 3000+ // 1Go RAM // Geforce 6600GT 128Mo
Turion 64 X2 // 1Go RAM // ATI X1250
Hors ligne
22-08-2007 16:00:15
- gp2mv3
- Membres
- Date d'inscription:
- Messages: 103
- IP: 81.247.6.239
- Courriel Site web
Pour info, j'ai fais ce petit programme pour insérer des objets dans mon jeu donc si il n'est pas très adapté à vos besoins c'est normal.
Vous pouvez bien sur le modifier à vos besoins.
Gp2mv3
Hors ligne



