Electronique : pat_man_34, 1 utilisateur anonyme et 8 utilisateurs inconnus

 Mot :   Pseudo :  
 
Bas de page
Auteur Sujet :

Moteur 2D

n°7139
DarkBears
j'aime le miel put1 d'abeilles
Posté le 05-03-2007 à 11:35:31  profilanswer
 

Bonjour tous le monde,
 
Voilà je suis en train de faire un projet avec un pote : réalisation d'un moteur 2d en opengl (projet de fin d'étude).
J'ai bientôt fini le moteur opengl en C et mon pote lui a réalisé en Java un programme pour la création de cartes avec différent niveau (1 : sol, 2 : obstable, 3 : arbres, 4 : explosion et autre). A la fin, son programmme construit une archive simple (tar) avec le fichier de niveau et les textures à faire afficher par le moteur.
Nous avons donc voulu utiliser la libtar. Pour le moment j'extrait les fichiers sur le disque dur mais ce que nous voudrions faire c'est l'ouvrir en mémoire, savoir le nombre de fichiers qu'il y a dedans, leur nom et récupérer le contenu puis refermer l'archive sans avoir besoin de le extraire.
 
Je n'ai trouvé aucun tuto, ni code source et pourtant que recherché longtemps avec mon ami google :sweat:, j'ai même ouvert le libtar.h de /usr/include mais rien. Alors si quelqu'un a déjà utilisé la lib ou a un code source je preneur.
 
D'avance merci.
 
Voici mon code source qui permet d'extraire les fichiers on sait jamais ça pourrai servir à quelqu'un :
 

Code :
  1. /* Compilation : gcc test_libtar.c -o test_libtar -ltar */
  2. #include <stdio.h>
  3. #include <stdlib.h>
  4. #include <sys/types.h>
  5. #include <malloc.h>
  6. #include <string.h>
  7. #include <libtar.h>
  8. #include <libtar_listhash.h>
  9. #include <string.h>
  10. #include <fcntl.h>
  11. #include <unistd.h>
  12. #include <errno.h>
  13. int main (int argc, char * argv[])
  14. {
  15. TAR * arch = NULL;  /* Structure qui va recevoir l'archive */
  16. int erreur = 1;
  17. char * nom = (char *) malloc (sizeof(char)); /* Nom fichier */
  18. /* char * buffer = (char *) malloc (sizeof(char)); */
  19. char * pArchive = NULL;
  20. char * rep = "test";     /* Nom repertoire */
  21. int len1;
  22. printf("Nom fichier : " );
  23. scanf("%s", nom);
  24. len1 = strlen (nom);
  25. pArchive = (char *) malloc ((len1 + 1) * sizeof(char));
  26. strcpy (pArchive, nom);
  27. pArchive[len1] = '\0';
  28. erreur = tar_open (&arch, pArchive, NULL, 0, 0, 0); /* Ouverture de l'archives */
  29. /* l'archive n'existe pas */
  30. if (erreur == -1)
  31. {
  32.  printf("L'archive n'existe pas\n" );
  33. }
  34. /* si l'archive existe */
  35. if (erreur == 0)
  36. {
  37.  printf("Ouverture de l'archive\n" );
  38.  tar_extract_all(arch, rep);    /* Extraction de l'archive */
  39.  printf("Extraction dans une repertoire\n" );
  40.  /* Avec cette fonction j'affiche le nom du premier fichier de mon archive mais aprés j'ai un magnifique segmentation fault */
  41.  /*tar_block_read(arch, buffer);
  42.  printf("%s\n", buffer);*/
  43.  tar_close (arch);    /* Fermeture de l'archive */
  44.  printf("Fermeture de l'archive\n" );
  45. }
  46. return 0;
  47. }


Message édité par DarkBears le 18-03-2007 à 18:26:47

---------------
Vive le FLSBB
 
mood
Google
Posté le 05-03-2007 à 11:35:31  profilanswer
 

n°7140
Deadog
Dain Bramaged
Posté le 06-03-2007 à 23:39:16  profilanswer
 

la doc qui se trouve dans les sources de libtar est pê suffisament complète pour ce que tu veux.
Et il y'a a pê aussi des man pages ?
 
http://linuxfr.org/forums/19/15662.html
et
http://www.google.com/codesearch?hl=fr


---------------
* On sais qu'on est un ingénieur si on n'a pas de vie social et qu'on peux le prouver mathématiquement
* "pluralitas non est ponenda sine necessitate" (Les choses essentielles ne doivent pas être multipliées sans nécessité) Guillaume d'Ockham

n°7144
DarkBears
j'aime le miel put1 d'abeilles
Posté le 12-03-2007 à 17:10:13  profilanswer
 

J'ai trouvé plein de truc maintenant je suis en train de pencher sur l'algo.
Je vous mettrai le code :-)


---------------
Vive le FLSBB
 
n°7149
DarkBears
j'aime le miel put1 d'abeilles
Posté le 18-03-2007 à 18:29:00  profilanswer
 

Bon et bien pour le moment nous n'avons pas réussi à finir l'utilisation de la libtar mais le projet a bien avancé !

 

Voici le site explicatif que nous avons fait et n'exitez pas à faire des suggestions car nous comptons bien continuer le projet !
http://kikichris8985.free.fr/lutin/


Message édité par DarkBears le 18-03-2007 à 18:31:13

---------------
Vive le FLSBB
 
mood
Google
Posté le 18-03-2007 à 18:29:00  profilanswer
 


Aller à :
Ajouter une réponse
 

Hit Parade