Annonces Google
Serveur IRC
Serveur : irc.portlane.se
Canal : #AmigaNG
Activité du Site

Pages vues depuis 25/07/2007 : 24 888 488

  • Nb. de membres 186
  • Nb. d'articles 1 269
  • Nb. de forums 19
  • Nb. de sujets 20
  • Nb. de critiques 24

Top 10  Statistiques

Index du forum »»  Création-Développement »» Intégration de sprites et décors dans executable OS 4.1 ?

Intégration de sprites et décors dans executable OS 4.1 ?#1554

5Contributeur(s)
Pierro787ElwoodsinisrusAmiDARKthellier
3 Modérateur(s)
K-LElwoodcorto
Pierro787 Pierro787icon_post
Bonjour à tous,

Pour réaliser une animation executable sous OS 4.1, comment intégrer les planches de sprites dans le programme ?

Vous me conseillez de passer par une bibliothèque contenant tous les graphiques (possible ?) ou mettre le fichier accessible à l'extérieur de l'executable (facile mais pas très clean) ou alors, de carrément fusionner les PNG par exemple dans l'executable. (mais dans ce cas, comment faire ?)

Merci par avance pour vos infos,

Pierro
Vive l'Amiga !
Elwood Elwoodicon_post
pourquoi c'est pas clean de mettre les fichiers à part ? ça permet au moins de facilement mettre à jour les images et autres data :-)
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
sinisrus sinisrusicon_post
oui le visu externe est la solution la plus courante et facile pour n'importe quel projet
--
Coin coin... amitheme.amiga-ng.org
Sam460 1,15Ghz - OS4.1FE - Radeon Saphir HD7750 R7 250E - 2Go de ram
AmiDARK AmiDARKicon_post
Elwood, mettre les fichiers à l'intérieur permet une meilleure protection des données de jeu ;)
Dans l'AmiDARK Engine il sera (via un plugin) possible de créer des packs de fichiers (un gros fichier contenant plusieurs fichiers) :p


Message édité par : AmiDARK / 27-05-2013 19:54
Pierro787 Pierro787icon_post
C'est exactement ça Amidark, en particulier si l'usage de certains sprites ne sont autorisés que pour ce projet spécifique. Je ne cherche pas à rendre le soft blindé, ce n'est pas le but mais la planche de sprite qui se balade librement, c'est quand même problématique dans certains cas de droits d'auteur.

Comment intégrer la planche de sprites et les décors dans l'executable ?

Merci en tout cas pour vos informations

Pierro
Vive l'Amiga !
Pierro787 Pierro787icon_post
Amidark, ce sera exactement ce qu'il me faut. Mais en attendant que tu puisses reprendre ton projet, en C/C++, sais tu comment faire ?

Intégrer la planche via un tableau (array) en code c ? (Gimp permet par exemple de générer du code c depuis une image)

Pierro
Vive l'Amiga !
thellier thelliericon_post
Hello

T'as plein d'utilitaire sur Aminet pour convertir un fichier quelconque binaire (un .jpg par exemple) en source C : cad un listing .h avec série de constantes numériques séparées par des virgules.
Y a plus qu'a l'inclure et compiler
genre
#!include! "monlogojpg.h"
Ainsi tu as ton image DANS ton binaire

Après à l'éxécution le problème c de charger ce .jpg depuis la zone mémoire où est chargée ton prog, je crois que la libjpeg sait + ou - le faire...
Sinon tu peut dumper dans RAM: ces données .jpg , donc sous forme de vrai fichier .jpg temporaire, et les recharger comme un .jpg classique avec libjpeg ou les datatypes

Alain
Elwood Elwoodicon_post
genre celui-ci on dirait : http://aminet.net/package/dev/c/ConvertBS
--
Philippe Ferrucci
Avec une Sam460 et AmigaOS 4.1, je suis eco-responsable. Cool !
AmiDARK AmiDARKicon_post
http://neshla.sourceforge.net/preprocessor/files.html

#incbin "Fichier"
Ils parlent de C mais je ne suis pas sûr que ce soit compatible avec tous les compilateur C...



Message édité par : AmiDARK / 27-05-2013 21:01
thellier thelliericon_post
Ou celui ci
http://www.os4depot.net/index.php?function=showfile&file=development/utility/bindata.lha

mais qui est tellement simple que j'en recopie le source ici

#nclude /string.h>
#nclude /ctype.h>
#nclude /stdio.h>

#define CHAR_COLS 14

int main(int argc, char *argv[])
{
int n;

if(argc<2)
{
fprintf(stderr,"bindata img1 [img2 ...]\n");
return(1);
}

for(n=1; n {
unsigned char c;
FILE *fp;
int m;
char namein[256],*ptr;

strcpy(namein,argv[n]);
ptr=strrchr(namein,'.');
if(ptr!=NULL) ptr[0]='\0';

for(m=0; namein[m]!='\0'; m++)
{
if(!isalnum(namein[m])) namein[m]='_';
}

fp=fopen(argv[n],"rb");
if(fp==NULL)
{
fprintf(stderr,"Couldn't open %s\n",argv[n]);
continue;
}

printf("const unsigned char %s[]={",namein);

m=0;
while(fread(&c,1,1,fp)>0)
{
if(m!=0) printf(",");
if((m%CHAR_COLS)==0) printf("\n\t");
printf("0x%02x",c);
m++;
}
printf("\n\t};\n");
printf("const unsigned int %s_length=%d;\n",namein,m);
fclose(fp);
}

return(0);
}
Message édité par : thellier / 28-05-2013 14:57
Petites Annonces

0 annonce(s) publiée(s)

Consulter

AmigaOS 4.1

Laissez-vous tenter par
AmigaOS 4.1
AmiTheme

AmiTheme