Vous débutez et vous avez besoin d'aide ? N'hésitez pas à poser vos questions
Progi1984
Messages : 2659 Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :
Message
par Progi1984 » mer. 09/mai/2007 11:10
Voilà, j'ai un peu de mal à wrapper cette structure vers le purebasic :
Doc :
http://fearyourself.developpez.com/tuto ... rwops/#LII
Code : Tout sélectionner
typedef struct SDL_RWops {
int (*seek)(struct SDL_RWops *context, int offset, int whence);
int (*read)(struct SDL_RWops *context, void *ptr, int size, int maxnum);
int (*write)(struct SDL_RWops *context, const void *ptr, int size, int num);
int (*close)(struct SDL_RWops *context);
Uint32 type;
union {
struct {
int autoclose;
FILE *fp;
} stdio;
struct {
Uint8 *base;
Uint8 *here;
Uint8 *stop;
} mem;
struct {
void *data1;
} unknown;
} hidden;
} SDL_RWops;
Dernière modification par
Progi1984 le mer. 09/mai/2007 16:07, modifié 1 fois.
Anonyme2
Messages : 3518 Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans
Message
par Anonyme2 » mer. 09/mai/2007 14:21
Je ne connais pratiquement rien en C, mais en ragardant la structure je propose ça, sachant que c'est peut-être faut
Code : Tout sélectionner
Structure SDL_RWops
*seek
*Read
*write
*close
StructureUnion
autoclose.l
*base ; Uint8
*data1 ; sans type
EnstructureUnion
StructureUnion
*fp ; sur un file
*here ;Uint8
EnstructureUnion
*stop ; Uint8
EndStructure
Ca serait bien qu'un codeurs nous donne la valeur sizeof() de SDL_RWops en C pour la comparer en PB
erix14
Messages : 480 Inscription : sam. 27/mars/2004 16:44
Contact :
Message
par erix14 » mer. 09/mai/2007 15:24
Je verrai plutôt un truc comme ça :
Code : Tout sélectionner
Prototype PSeek(*This, offset, whence)
Prototype PRead(*This, *ptr, Size, maxnum)
Prototype PWrite(*This, *ptr, Size, Num)
Prototype PClose(*This)
Structure FILE
_ptr.s
_cnt.l
_base.s
_flag.l
_file.l
_charbuf.l
_bufsiz.l
_tmpfname.s
EndStructure
Structure stdio
autoclose.l
*fp.FILE
EndStructure
Structure mem
*base.c
*here.c
*stop.c
EndStructure
Structure unknown
*data1.l
EndStructure
Structure SDL_RWops
Seek.PSeek
Read.PRead
Write.PWrite
Close.PClose
StructureUnion
hidden1.stdio
hidden2.mem
hidden3.unknown
EndStructureUnion
EndStructure
minirop
Messages : 321 Inscription : mer. 02/août/2006 21:06
Message
par minirop » mer. 09/mai/2007 15:30
Denis a écrit : sachant que c'est peut-être faut
çà aussi c'est fau
x :p
voilà mon essai :
Code : Tout sélectionner
Structure SDL_RWops
*seek
*read
*write
*close
type.l ; technique "&255"
StructureUnion hidden
Structure stdio
autoclose.l
fp.l
EndStructure
Structure stdio
*base
*here
*stop
EndStructure
Structure unknown
*data
EndStructure
EndStructureUnion
EndStructure
faut peut être déclarer read,seek,... avec des prototypes mais comme chacun à besoin de l'autre pour être déclaré, çà n'a pas de sens
Anonyme2
Messages : 3518 Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans
Message
par Anonyme2 » mer. 09/mai/2007 15:31
Salut Erix14,
tu as peut-être raison, car il est dit que l'on crée une structure qui semble être différente en fonction de la fonction appelée. C'est ce que je ne comprenais pas bien dans sur le site donné en lien.
D'ailleurs, si Progi1984 arrive à faire marcher le truc, ça semble intéressant comme gestion des ressources.
Progi1984
Messages : 2659 Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :
Message
par Progi1984 » mer. 09/mai/2007 15:57
Pour informations, la structure d'Erix14 fonctionne nickel !
Anonyme2
Messages : 3518 Inscription : jeu. 22/janv./2004 14:31
Localisation : Sourans
Message
par Anonyme2 » mer. 09/mai/2007 16:11
Donnes-nous une exemple qui marche
Progi1984
Messages : 2659 Inscription : mar. 14/déc./2004 13:56
Localisation : France > Rennes
Contact :
Message
par Progi1984 » jeu. 10/mai/2007 7:41
Dés que j'ai fini mon wrapper pour SDL, il vous sera fini un exemple !