PDA

Voir la version complète : [GBA][Aide] affichage d'image


njo80
24/02/2006, 15h53
Sur le tetris que j'ai récupéré il y a des .pcx
j'aimerai mettre mes propres images
je remplace donc les images par les miennes
(même taille) je les passe dans gfx2gba
je récupére le .pal et .raw
que je mets dans le programme (je remets les meme nom)
et après je compile mais j'ai toujours des problèmes avec n'importe quel image.
Y'a t'il un autre moyen ou je fais peux être une erreur quelques parts.

Arcadia
24/02/2006, 16h00
Sur le tetris que j'ai récupéré il y a des .pcx
j'aimerai mettre mes propres images
je remplace donc les images par les miennes
(même taille) je les passe dans gfx2gba
je récupére le .pal et .raw
que je mets dans le programme (je remets les meme nom)
et après je compile mais j'ai toujours des problèmes avec n'importe quel image.
Y'a t'il un autre moyen ou je fais peux être une erreur quelques parts.

Le mieux quand tu utilise GFX2GBA, est de convertir tes images en couleur indexée (256 couleurs), de les enregistrer au format BMP. Si tu suis ces règles, il ne doit y avoir aucun problème avec GFX2GBA. Bon là tu as le .pal et la.raw, donc GFX2GBA a bel et bien généré quelque chose et donc le problème est ailleurs...

Question, ton image portait le même nom que le PCX d'origine ? C'est important car à l'interieur du .raw, le nom de l'image "GFX2GBArisé" se retrouve (nomdelimage_Bitmap). Ce nom de tableau HAM. Peut-être que HAM est paumé a ce niveau car les noms ont changés...

@++

njo80
24/02/2006, 16h09
Au départ le nom est pas le même mais je fais un copier coller du vrai nom et je le mets dans le nouveau comme ca ya pas de problème de nom.
En fait l'image s'affiche mais elle n'est pas comme je le veux
elle est un peu comme à canal+ quand on a pas le décodeur lol.
Et elle n'est pas entière j'ai essayé de changer des petits trucs dans l'affichage
mais je n'arrive pas à bien l'avoir.

maestun
24/02/2006, 16h09
Faut faire gaffe avec gfx2gba, c'est un très bon utilitaire pour les sprites, mais pas pour les images dont la largeur n'est pas multiple de 8 (ou 4 (ou 2 (chais pu))) => ça génère des trucs foireux.
Si ton code source fait de l'affichage en modes 3/4/5, utilise plutôt gbAmp (téléchargeable sur gbadev.org)

Sinon, tu devrais mieux décrire les erreurs que tu obtiens, parce que "j'ai une erreur", c'est flou !

njo80
24/02/2006, 16h11
L'image fait 160*240 j'arrive à l'afficher dans un simple programme d'affichage
Mais dans le tetris je n'y arrive pas ya pas de message d'erreur mais l'affichage est pas bon.

maestun
24/02/2006, 16h17
C'est pas 240*160 plutôt ?

njo80
24/02/2006, 16h21
Si c'est vrai je me suis trompé en l'écrivant mais la taille de l'image est bonne ca doit être un problème dan l'algo je pense pourtant il a l'air bon :

for(x = 0; x < 256; x++)
paletteMem[x] = logoPalette[x]; for(y = 0; y < 160; y++)
{
for(x = 0; x < 120; x++)

{
PlotPixel(x,y,logo_Bitmap[y*120+x]);

}
}

maestun
24/02/2006, 16h55
Tu es en mode 4, donc.
Tu peux poster le code de PlotPixel ?

Il doit être du genre :
videoBuffer[y * 120 + x] = c;

Mollusk
24/02/2006, 17h02
gfx2gba sort des tableaux en char ou short ?

njo80
24/02/2006, 17h07
void PlotPixel(int x,int y, unsigned short int c)
{
videoBuffer[(y) *120 + (x)] = (c);
}

Brunni
24/02/2006, 17h47
Ta routine est fausse pour du mode 4.
void PlotPixel(int x, int y, unsigned short c)
{
videoBuffer[(y) *120 + (x>>1)] &= ~(0xff00>>((x&1)<<3));
videoBuffer[(y) *120 + (x>>1)] |= c<<((~x&1)<<3);
}
A tester.

Mollusk
24/02/2006, 17h54
or(x = 0; x < 120; x++) -> il plotte 2 pixels à la fois ^^

thoduv
24/02/2006, 17h56
Ta routine est fausse pour du mode 4.
void PlotPixel(int x, int y, unsigned short c)
{
videoBuffer[(y) *120 + (x>>1)] &= ~(0xff00>>((x&1)<<3));
videoBuffer[(y) *120 + (x>>1)] |= c<<((~x&1)<<3);
}
A tester.
Va expliquer un code comme ca à un débutant ! :S

void PlotPixel(int x, int y, unsigned char c)
{
if(c & 1)
{
videoBuffer[(y * 240 + x) / 2] &= ~(0xFF << 8);
videoBuffer[(y * 240 + x) / 2 |= c << 8;
}
else
{
videoBuffer[(y * 240 + x) / 2] &= ~0xFF;
videoBuffer[(y * 240 + x) / 2] |= c;
}
}

C'est moins optimisé mais c'est plus compréhensible ! :)

njo80
24/02/2006, 17h57
Brunni avec ton code mon affichage est encore pire

Brunni
24/02/2006, 18h33
Ok c'est faux, je mélange toujours little/big endian ^^
Pour l'optimisation je suis d'accord, mais bon je partais du principe qu'il n'avait pas à la comprendre, juste savoir que ça dessine un pixel :p (ce qui est effectivement une connerie v_v)

njo80
24/02/2006, 18h50
Dans l'image du programme j'ai

const u16 colorsData[] = {
0x7373, 0x6B73, 0x6B70, 0x6B73,.........

C'est bien le .raw


Quand je fait ma propre image j'ai pour le .raw :

const unsigned char background_Bitmap[38400] = {
0x06, 0x06, 0x06, 0x06,.......

C'est pas du tout la même chose.
J'utilise gfx2gba -fsrc -ptetris.pal tetris.bmp (ou pcx sa dépend de mon image j'ai essayé les 2)
C'est bien sa !!!

Brunni
24/02/2006, 18h53
Tu mélanges les modes 16 bits avec le mode 8 bits. Maintenant je sais pas comment générer des bitmaps 16 bits avec GFX2GBA, alors je te propose d'utiliser plutôt GBA Graphics ;)

njo80
24/02/2006, 18h54
et j epux trouver ca où

Brunni
24/02/2006, 18h59
Dans ma signature (GBA Graphics 0.99b).
Une fois dans le logiciel tu vas sous Bitmaps puis 16 bits et là c'est assez simple ^^

maestun
24/02/2006, 18h59
Ajoute -c32k dans la ligne de commande de gfx2gba, il génèrera du const unsigned short (16 bits)

njo80
24/02/2006, 19h07
avec cette commande la la palette ne peut etre créer :
TRUE COLOR MODE ACTIVATED , ignoring all palette option
comment je fais pour avoir la palette en plus

Mollusk
24/02/2006, 19h08
utilise un pointeur sur ton image à la place du nom de l'image

njo80
24/02/2006, 19h12
et je fé comment :whst:

Mollusk
24/02/2006, 19h20
Ta routine est fausse pour du mode 4.
void PlotPixel(int x, int y, unsigned short c)
{
videoBuffer[(y) *120 + (x>>1)] &= ~(0xff00>>((x&1)<<3));
videoBuffer[(y) *120 + (x>>1)] |= c<<((~x&1)<<3);
}
A tester.

Moi je dirais plutot
void PlotPixel(int x, int y, unsigned short c)
{
videoBuffer[(y) *120 + (x>>1)] &= (0xff00>>((x&1)<<3));
videoBuffer[(y) *120 + (x>>1)] |= c<<((x&1)<<3);
}

(sans les ~), non ?

Nesgba
24/02/2006, 19h44
void IRIS_IN_IWRAM AfficheSpriteSoft_M4(unsigned short *Src, unsigned short *Dst, signed short x, signed short y, unsigned char largeur, unsigned char hauteur)
{
signed short x1, x2, y1, y2, y3 ;
largeur = largeur>>1 ;
x = x>>1 ;

for(y1=0;y1<hauteur;y1++){
y2 = ((y+y1)<<7)-((y+y1)<<3) ;
y3 = y1*largeur ;
for(x1=0;x1<largeur;x1++) Dst[x+x1+y2] = Src[x1+y3] ;
}

}


:ph34r:

njo80
24/02/2006, 21h03
J'arrive toujours pas à afficher l'image correctement
Désolé :p
A prioris je devrais pas avoir besoin de changer le code
c'est juste dans la transformation de l'iage que ca marche pas
il me faut du 16 bits et une palette en meme temps
et j arrive pas a avoir les deux en même temps
donc ca peut pas marcher :huh:
il me faut simplement une commande gfx2gba qui me donne les deux
Avec -c32k j'ai juste le 16 bits mais pas la palette
Ya un moyen pour arranger ca

Brunni
24/02/2006, 21h26
16 bits ça veut dire que tu peux utiliser toutes les couleurs possibles en même temps, donc pas besoin de palette. Les palettes c'est seulement en 8 bits ou moins.
Là t'es en mode 4, c'est à dire que ton écran est en 8 bits. Et c'est pas possible d'afficher une image 16 bits sur un écran 8 bits, car le mode 16 bits a plus de 30000 couleurs, le 8 bits seulement 256 (et comme y'en a que 256, tu peux en plus choisir lesquelles ce sera, et c'est à ça que set la palette, par exemple si ton image est bleue, tu pourrais utiliser 256 tons de bleus).
Mais si tu veux vraiment afficher des images de plus de 256 couleurs sur un écran 8 bits, tu peux utiliser GBA Graphics ou un programme équivalent (mais pas gfx2gba), il t'enlèvera les couleurs les moins génantes de manière à ce qu'il n'en reste plus que 256 et qu'elles passent en mode 4.

njo80
24/02/2006, 21h31
Dans le programme que j'ai les images sont en 16 bits
du genre 0x7373,.... mais ya quand meme une palette
Et c'est en mode 4 si je me trompe pas
J'ai du me tromper quelques part

C'est un tetris que j'ai eu sur gbadev.org

Et je veux changer les images.

Brunni
24/02/2006, 21h35
Ha alors là c'est différent. Comment te dire... 0x7373 équivaut en fait à 0x73, 0x73 si tu veux, c'est du 8 bits mais il l'a organisé par paquets de 16.
Pas de souci, les autres programmes vont te générer du 8 bits, mais ça va bien aller quand même avec les infos qu'on t'a données ;)
[Edit] Tu peux bien faire un truc si tu veux vraiment du 16 bits, mais bon je te le conseillerais pas :
En imaginant que ton image s'appelle monImage_bitmap, tu peux faire:
u16 *image = (u16*)monImage_bitmap;
et image représente monImage_bitmap sous forme de paquets 16 bits.

njo80
24/02/2006, 22h41
Brunni j'y arrive toujours pas
je peux te filer le code et une image pour que tu le fasse
et que je vois comment faire car la je bloque vraiment

Si ta le temps dis moi merci.

njo80
25/02/2006, 15h59
Quand j'utilise -c32k j'ai 8 bits cote a cote par ligne
alors que dans la vraie image (celle de départ)
j'en est 10 sur chaque ligne
Je voudrais savoir si ca change quelques chose ou pas.
C'est peut etre une question bete mais bon!!!!!

Brunni
25/02/2006, 16h08
GFX2GBA ne convient pas pour ce que tu veux faire (uniquement pour les modes mosaïque, pas bitmap).

Nesgba
25/02/2006, 16h12
Brunni j'y arrive toujours pas
je peux te filer le code et une image pour que tu le fasse
et que je vois comment faire car la je bloque vraiment

Si ta le temps dis moi merci.

ben brunni t'a proposé a 2 reprises d'utiliser gbagraphics et t'a dit 2 fois que gfx2gba ne convenai pas a ce que tu veut faire que veut tu qu'il rajoute ? ...

utilise gbagraphics, avec gfx2gba tu aura 256 couleurs sur du mode 3 donc tu perd l'avantage du mode 3. ;)

njo80
25/02/2006, 16h21
Je viens tpus juste d'utiliser gbagraphics et j'obtiens bien du 16 bits
comme il me faut.
La chose que je comprends pas c'est que sur les images du tetris
ya du 16 bits comme j'ai mais en plus ya une palette (il devrait pas y en avoir)
c'est ca que je comprend pas

Mollusk
25/02/2006, 16h23
Ce que tu veux c'est du 8bit, mais que le tableau soit en 16 bit (= 2 pixels par entrée dans le tableau)

njo80
25/02/2006, 16h26
ouai c'est ca de toute facon si ya une palette c'est que c'est obligatoirement du 8 bits d'après ce que j'ai compris.
Et comment on peut faire ca :whst:

Brunni
25/02/2006, 16h50
Ben justement t'as pas besoin de le faire, comme je te disais avant, 0x7373 (16 bits) équivaut à 0x73, 0x73 (2x8 bits), c'est juste une manière différente de le noter ;)

njo80
25/02/2006, 17h19
Dans l'image j'ai 0x6f7b ca équivaut pas a 0x6f ou 0x7b

njo80
25/02/2006, 17h53
J'ai compris le principe mais ca ne marche pas encore désolé.

Voici le cod epour une image et il y a quelques chose qui ne va pas.

Merci de regarder



#define colors_WIDTH 10
#define colors_HEIGHT 70


const u16 colorsData[] = {
0x7373, 0x6B73, 0x6B70, 0x6B73, 0x1969, 0x6664, 0x602D, 0x6043, 0x6060, 0x181E,
0x1E2C, 0x1919, 0x1E18, 0x1E18, 0x091E, 0x432D, 0x1E1E, 0x1E1E, 0x1E1E, 0x1819,
0x1E43, 0x1E1E, 0x1E1E, 0x1E1E, 0x181E, 0x2D43, 0x1E1E, 0x1E1E, 0x1E63, 0x181E,
0x4343, 0x631E, 0x631E, 0x1E1E, 0x181E, 0x632D, 0x1E1E, 0x1E63, 0x1E63, 0x181E,
0x181F, 0x1E1E, 0x1E1E, 0x1E1E, 0x181E, 0x0718, 0x1818, 0x1E1E, 0x1E1E, 0x1918,
0x737D, 0x6976, 0x696D, 0x6969, 0x1A64, 0x6B68, 0x4765, 0x6847, 0x6847, 0x1A1A,
0x262B, 0x2115, 0x2126, 0x2626, 0x180E, 0x262B, 0x2126, 0x2424, 0x2623, 0x1A0E,
0x272F, 0x2424, 0x3C3C, 0x3C3C, 0x1826, 0x2B2B, 0x3C38, 0x373C, 0x3E37, 0x1A26,
0x3E2E, 0x3C26, 0x3B37, 0x3E96, 0x1A3E, 0x2B2F, 0x3E3A, 0x3E37, 0x923E, 0x1A3E,
0x1A1A, 0x261A, 0x3C26, 0x273E, 0x1A18, 0x1414, 0x0C0B, 0x1615, 0x1515, 0x1A1A,
0x7273, 0x7373, 0x7373, 0x736D, 0x196C, 0x6B68, 0x6565, 0x6565, 0x6568, 0x141D,
0x4242, 0x1A1A, 0x1A1A, 0x271A, 0x0B19, 0x422E, 0x1A26, 0x2642, 0x2F42, 0x0B1A,
0x2F42, 0x421A, 0x4242, 0x4242, 0x161D, 0x422E, 0x4227, 0x2E2B, 0x4561, 0x1542,
0x2F42, 0x4226, 0x5B42, 0x4F5B, 0x192E, 0x612F, 0x2F42, 0x5B65, 0x465B, 0x1861,
0x1A1D, 0x1A16, 0x421A, 0x4227, 0x1A1A, 0x0B14, 0x1514, 0x1516, 0x1A18, 0x1818,
0x737D, 0x6B73, 0x7373, 0x7373, 0x196C, 0x6B64, 0x6464, 0x6464, 0x6464, 0x141D,
0x2A2C, 0x1818, 0x1818, 0x1C18, 0x0918, 0x1F2A, 0x1919, 0x1E19, 0x1E19, 0x0919,
0x2A2C, 0x191E, 0x191E, 0x1F19, 0x181B, 0x2A2A, 0x1919, 0x401E, 0x4340, 0x142A,
0x2C2C, 0x1E1C, 0x4B1E, 0x6240, 0x1442, 0x602C, 0x2A1B, 0x432A, 0x6662, 0x192C,
0x1C1B, 0x1818, 0x1E19, 0x1C1B, 0x1918, 0x0709, 0x1014, 0x1418, 0x1919, 0x1819,
0x7373, 0x6B73, 0x7373, 0x736B, 0x1968, 0x6B68, 0x6565, 0x6560, 0x6565, 0x0B1D,
0x2742, 0x151A, 0x1A24, 0x2624, 0x0B15, 0x272E, 0x2426, 0x241A, 0x2626, 0x141A,
0x2B42, 0x1A24, 0x2626, 0x2626, 0x1626, 0x272F, 0x2626, 0x3E26, 0x3E3E, 0x1526,
0x272F, 0x2624, 0x3E3E, 0x3E3E, 0x1526, 0x272E, 0x2626, 0x3E3E, 0x3E3E, 0x163E,
0x261D, 0x241A, 0x2626, 0x3E26, 0x1A1A, 0x181A, 0x1A1A, 0x1A1A, 0x1D27, 0x1A1D,
0x737D, 0x7373, 0x7372, 0x736F, 0x1B69, 0x6964, 0x6464, 0x6466, 0x6469, 0x141F,
0x432C, 0x1F1F, 0x1E1F, 0x2D2A, 0x0B1F, 0x2D43, 0x1F1F, 0x2D2D, 0x4360, 0x0B1F,
0x462D, 0x432D, 0x6360, 0x6969, 0x182D, 0x6043, 0x6443, 0x6969, 0x7D69, 0x1919,
0x6060, 0x692D, 0x6963, 0x7D7D, 0x1819, 0x6443, 0x6960, 0x7D69, 0x7D7D, 0x181F,
0x1F1F, 0x1F18, 0x1F1F, 0x1F43, 0x1919, 0x0B0B, 0x1818, 0x1918, 0x191A, 0x1919,
0x737D, 0x6F6F, 0x6B76, 0x6F76, 0x1F64, 0x6D65, 0x6469, 0x6969, 0x6469, 0x191F,
0x2A43, 0x1E1B, 0x1F1B, 0x1F2A, 0x1919, 0x432C, 0x1F1E, 0x1E2A, 0x4343, 0x191B,
0x6043, 0x1E1F, 0x6343, 0x6360, 0x191F, 0x6043, 0x432A, 0x6663, 0x6969, 0x1B2A,
0x4660, 0x6343, 0x7464, 0x7369, 0x1B43, 0x6043, 0x6443, 0x6969, 0x7D73, 0x1F60,
0x1B1D, 0x1B19, 0x2A1E, 0x2A1F, 0x1D19, 0x0914, 0x1418, 0x1918, 0x1919, 0x1D19,};

const u16 colorsPalette[] = {
0x0000, 0x0001, 0x0002, 0x0020, 0x0020, 0x0040, 0x0022, 0x0441, 0x0022, 0x0442,
0x0004, 0x0443, 0x0006, 0x0007, 0x0428, 0x0009, 0x04A1, 0x0922, 0x0561, 0x7FE8,
0x0884, 0x0C86, 0x08C6, 0x0D27, 0x14A5, 0x18E6, 0x14C8, 0x1D08, 0x1D66, 0x2149,
0x2D67, 0x294A, 0x000B, 0x000D, 0x000F, 0x0011, 0x046E, 0x014C, 0x18EE, 0x1D6C,
0x018E, 0x1D8D, 0x2D8B, 0x2D6E, 0x31AC, 0x35AD, 0x318E, 0x3190, 0x0014, 0x0034,
0x0017, 0x0437, 0x0019, 0x0039, 0x001A, 0x045A, 0x0073, 0x0094, 0x0076, 0x0079,
0x0C94, 0x0C99, 0x2134, 0x2139, 0x0DC3, 0x29C8, 0x29CC, 0x39CC, 0x19D0, 0x35D1,
0x39CF, 0x39D1, 0x21EB, 0x1DF0, 0x264A, 0x03E0, 0x01F2, 0x0611, 0x1611, 0x3252,
0x0213, 0x0233, 0x0234, 0x0255, 0x0634, 0x1254, 0x2E14, 0x35D9, 0x0276, 0x0298,
0x02B9, 0x02DA, 0x0A96, 0x0AD9, 0x1AF7, 0x32D6, 0x3DEF, 0x3E0F, 0x466D, 0x528C,
0x4230, 0x4211, 0x4651, 0x46B0, 0x4653, 0x4E73, 0x4AB3, 0x4E94, 0x4675, 0x52B5,
0x4658, 0x52B6, 0x52D4, 0x4F92, 0x56D8, 0x5B17, 0x6B52, 0x5F57, 0x6318, 0x5FF7,
0x56DA, 0x5F1A, 0x6338, 0x673A, 0x6759, 0x6B59, 0x6378, 0x6BB9, 0x001B, 0x003B,
0x043B, 0x001C, 0x003C, 0x001D, 0x003D, 0x043D, 0x005B, 0x007B, 0x005C, 0x005D,
0x045C, 0x005D, 0x085B, 0x087D, 0x003E, 0x005E, 0x007E, 0x003F, 0x005F, 0x007F,
0x047D, 0x043E, 0x045E, 0x047E, 0x087D, 0x085E, 0x0C7E, 0x047F, 0x087F, 0x0C7F,
0x0C9C, 0x0CBB, 0x0C9D, 0x089E, 0x089F, 0x0C9E, 0x0C9F, 0x10BF, 0x10DE, 0x10DF,
0x02FB, 0x031B, 0x031C, 0x0B1C, 0x033C, 0x033D, 0x14DC, 0x1D1C, 0x14BF, 0x18FF,
0x213D, 0x297C, 0x1D1F, 0x297F, 0x35BC, 0x31BF, 0x421C, 0x3E1F, 0x4E7C, 0x52BE,
0x5EFC, 0x5EFF, 0x073C, 0x073D, 0x035D, 0x075D, 0x035E, 0x077E, 0x035F, 0x037F,
0x0F5B, 0x0F5D, 0x077F, 0x0FBF, 0x13DF, 0x1FFF, 0x53BE, 0x5FFF, 0x673B, 0x673C,
0x673D, 0x673E, 0x635C, 0x675A, 0x675C, 0x675D, 0x6B5A, 0x6B5C, 0x6B5D, 0x637D,
0x6B7A, 0x6BBB, 0x6B7D, 0x677E, 0x6F7A, 0x6F7B, 0x6F7C, 0x6F9B, 0x6F9C, 0x739C,
0x739D, 0x73BB, 0x73BC, 0x73FC, 0x73BD, 0x77BB, 0x77BD, 0x77DD, 0x77FD, 0x7FFD,
0x6F7E, 0x6B9E, 0x6F9E, 0x77BE, 0x7BDE, 0x7BFE, 0x7FFE, 0x6B5F, 0x6B7F, 0x6F7F,
0x6B9F, 0x6FBF, 0x77BF, 0x73DF, 0x7BDF, 0x7FFF,};

Nesgba
25/02/2006, 18h02
tu sais quoi, fille ton source sur ftp ca irra plus vite :D

njo80
25/02/2006, 18h13
j'ai pas de ftp soit jen créer un soit je pe te l'envoyer par msn si tu ve

Nesgba
25/02/2006, 18h58
tien met le la: http://www.yousendit.com/
j'y jetterai un oeuil

Brunni
25/02/2006, 19h00
Ce que je peux te conseiller si tu veux vraiment te mettre au dév, c'est de suivre un tuto plutôt que trifouiller un code existant, c'est toujours beaucoup plus difficile (la preuve tu comprends déjà pas pourquoi il a utilisé ce format d'image).
Mais si c'est juste pour modifier les images alors ok ;)

njo80
25/02/2006, 19h17
http://s39.yousendit.com/d.aspx?id=3OA28CIZ1XOW22HHQMBRWCO5OC


Voila je te remercie je veux juste remplacer l'image background qui se trouve dans \gfx par celle que j'ai mis avec le dossier (c'est moi sur la photo lol les dimensions sont les mêmes)


Après je ferais d'autres images mais pour commencer je veux faire avec celle la.

Nesgba
25/02/2006, 19h49
http://s62.yousendit.com/d.aspx?id=31OXZIRMHHNAN291GVKNJQTI0E

en fait pcx2gba genere des données un peu differantes des autres soft il met 2 pixels 8 bits en 1 seul 16 bits ca fait que c'est plus simple quand ta envie de plotter par 2 par exemple.

quand tu voudra changer les autres images contente toi de faire glisser/deposer ton .pcx sur l'icone pcx2gba ;)

ps: pas tres optimisé ce jeu il rame a mort Oo (il tourne 100% en soft aussi) ca me donne envi de tout foutre en iwram.

njo80
25/02/2006, 19h59
Merci beaucoup.

j'utilise gba graphics xp 0.99b

T'utilise laquelle toi ?

njo80
26/02/2006, 13h17
Je ne trouve pas de gba graphics qui puisse lire des pcx
celui que j'ai ne lis que des bmp png jpg gof et tif

Pourtant je cherche sur le net mais je trouve rien.
Quelqu'un connait l'endroit où je peux trouver ça.

Brunni
26/02/2006, 13h23
Il parle de pcx2sprite, pas GBA Graphics. Actuellement, GBA Graphics ne lit effectivement que le BMP, PNG, TIF, GIF et JPG, et pas le PCX (et ce n'est pas non plus prévu, mais je vais regarder).

Mollusk
26/02/2006, 13h26
et tu ne peux pas convertir ton PCX en un autre format ???

njo80
26/02/2006, 14h05
J'ai trouvé pcx2sprite et pcx2gba et j'ai un message d'erreur :
string failed to open pcx files

Avec pcx2gba j'ai bien un .c qui se créé mais il est complétement vide, j'ai rien dedans.

Et je suis obligé de le faire à partir d'un .pcx
car comme la dit Nesgba avec pcx2gba je peux mettre 2 pixels 8bits en un de 16 bits.

J'ai récupéré pcx2gba sur :
http://www.progx.org/index.php?section=articles&article=GBA/article2

Brunni
26/02/2006, 14h46
On t'a déjà dit que tu n'es PAS OBLIGÉ de faire avec des pixels en 16 bits. Si ton image 8 bits s'appelle monImage8bits, tu fais:
u16 *monImage16bits = (u16*)monImage8bits;
Et après tu utilises monImage16bits comme si elle était en 16 bits à la base! Ce n'est pas plus compliqué que ça ;)
[Edit] Ah et pour ton problème avec pcx2sprite je peux pas t'aider, mais je suppose que tes fichiers PCX ne sont pas reconnus par pcx2sprite ou sont corrompus. Si tu peux, je te conseille de les convertir (par exemple en PNG) et d'utiliser un autre logiciel que pcx2sprite.

njo80
26/02/2006, 16h40
J'ai essayé cette façon la :
u16 *monImage16bits = (u16*)monImage8bits;
et sa marche
Mais je suis quelqu'un de tétu :D
Et je veux aussi réussir avec pcx2gba et j'y arriverai >(
Meme si je comprend pas pourquoi il veut pas d emon image pcx alors qu'elle fait
160*240 et qu'elle est en 256 couleurs

njo80
26/02/2006, 16h45
Bon ca marche des deux façons maintenant

Yodajr
27/02/2006, 18h33
Même pas un ptit merci ? :unsure:
(rien a faire dans projets non plus ><)

Dr.Vince
27/02/2006, 21h37
ouais c'est un peu le bordel dans la section projet je trouve !!

Arcadia
27/02/2006, 21h47
ouais c'est un peu le bordel dans la section projet je trouve !!

Kler, vivement que de nouveaux projets arrivent, parce que la ça stagne. Aller je poste mon projet bientôt :) !