ALLEGRO : PACKFILE ??? mode d'emploi ?

Résolu
cs_Darksheep Messages postés 69 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 15 septembre 2009 - 31 mai 2006 à 18:58
cs_Darksheep Messages postés 69 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 15 septembre 2009 - 3 juin 2006 à 10:42
Bonjour ,

je débute avec allegro et j'ai vu rescement dans une source, un rpg ,
l'utilisation d'un fichier data packfile , qui contiendrait la map du
rpg . J'aimerai pouvoir les utiliser , mais je ne sais pas comment
créer le fichier packfile.Dans mon exemple on explique comment charcher
la map


void load_map()

{

    PACKFILE *pfile;


    pfile=pack_fopen("map1.dat", "rp");


    int i,j;

    for (i=0; i<GRID_WIDTH; i++)

    {

        for (j=0; j<GRID_HEIGHT; j++)

        {

            map.cell[j][i] = pack_igetl(pfile);

        }

    }

    pack_fclose(pfile);

}

 

et la comment sauvegarder :

void save_map()

{

    PACKFILE *pfile;

   

    pfile=pack_fopen("map1.dat", "wp");


    int i,j;

    for (i=0; i<GRID_WIDTH; i++)

    {

        for (j=0; j<GRID_HEIGHT; j++)

        {

            pack_iputl(map.cell[j][i], pfile);

        }

    }

    pack_fclose(pfile);

}


C'est tres bien tout cela mais comment créer le fichier map1.dat ? si
je le supprimme , ça ne marche plus,si je le remplace par un fichier
txt vide , pareil ; et impossible de modifier avec le grabber d'allegro
?!!Comment créer un fichier packfile.dat ?

Quel est le mystere des PACKFILES ? comment s'en servir ? j'ai cherché
avec google mais je nai rien trouvé si ce n'est
http://alleg.sourceforge.net/onlinedocs/en/alleg001.html

j'ai pas compris grand chose ... si qqn trouve de la doc complete, je suis preneur ,

Merci

Ps je sais pas trop dans quel section mettre ce post

4 réponses

xboxut Messages postés 172 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 27 novembre 2009 1
3 juin 2006 à 10:37
désolé j avais mal lu je pensais pas que la question etait aussi niaise ;). pas dur pour creer un packfile directement tu fait de la meme maniere que pour creer un fichier avec fopen: tu ouvre un fichier ac un attribut write ici "w" et ton fichier est creer.

fait un petit test; tu fait un code basique avec dedans:

    PACKFILE * pfile=pack_fopen("fichier.dat", "wp");
 

tu compile ton prog,tu le lance, puis tu va dans le repertoire de ton programme, miracle un fichier du nom de fichier.dat est apparu.

voilou pas plus compliqué.
si tu pige pas essaye de faire un fichier ac fopen c'est le meme principe puis une fois la manoeuvre comprise, refait la ac les fonction pack d allegro
3
xboxut Messages postés 172 Date d'inscription jeudi 4 mars 2004 Statut Membre Dernière intervention 27 novembre 2009 1
1 juin 2006 à 13:42
salut pour creer un packfile rien de plus simple, il y a normalement un outil livré ac allegro qui s apelle le graber et qui te parmet de creer des packfile de les proteger les modifier etc...

tu le trouvera dans la partie tool de la librairie.
si tu a dl des pack precompiler il se peut que tu n ai pas le graber et les autres utilitaires allegro.
pour avoirs ses outils sans se casser la tete pour les compiler :

http://retrospec.sgn.net/allegro.php

prend le package Allegro 4.2 pour mingw tu trouvera ton bonheur dans la section tools du zip.

voila bonne continuation @++
0
cs_Darksheep Messages postés 69 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 15 septembre 2009
3 juin 2006 à 08:17
Salut j'ai bien précisé " et impossible de modifier avec le grabber
d'allegro" , en effet le grabber et un outil d'allegro permettant de
compacter plusieurs éléments dans un seul fichier appelé DATAFILE , moi
je cherche a créer un fichier permettant de stocker un objet de type
short map[12][12]; dans un fichier pacfile  , comme ceci :


void save_map()

{

    PACKFILE *pfile;

   

    pfile=pack_fopen("map1.dat", "wp"); //c'est cette ligne qui me pose des problèmes


    int i,j;

    for (i=0; i<GRID_WIDTH; i++)

    {

        for (j=0; j<GRID_HEIGHT; j++)

        {

            pack_iputl(map.cell[j][i], pfile);

        }

    }

    pack_fclose(pfile);

}


c'est la ligne 4 qui me pose des problèmes en fait car comment ouvrir
le fichier map1.dat s'il n"existe pas ? Bien sur je pourrais prendre le
fichier d'une autre source,

mais comment créer le map1.dat tout seul ?? je précise encore qu'il est
impossible a ouvrir avec le grabber d'allegro (ce qui est normal je
pense )
0
cs_Darksheep Messages postés 69 Date d'inscription samedi 4 novembre 2000 Statut Membre Dernière intervention 15 septembre 2009
3 juin 2006 à 10:42
Ok merci c'était bien  ce que je cherchais ^^  
@+
PS : Encore merci !
0
Rejoignez-nous