je réalise un petit prgm en C pour ez80, et j'ai besoin d'afficher une image, j'ai donc tester avec les fichiers sources du prgm OIRAMS, et j'ai pris l'image goomba_0.png,
je l'ai convertis grâce l'outil ConvPNG.
J'ai utilisé comme paramètre pour le fichier convpng.ini
- Code: Tout sélectionner
#GroupC : goomba_gfx
#PNGImages :
goomba_0
J'obtiens alors trois fichiers " goomba_0.c ", "goomba_gfx.h" et "goomba_gfx.c" avec dedans ;
Show/Hide spoilerAfficher/Masquer le spoiler
goomba_0.c
goomba_gfx.c
goomba_gfx.h
- Code: Tout sélectionner
// Converted using ConvPNG
#include <stdint.h>
#include "goomba_gfx.h"
// 8 bpp image
uint8_t goomba_0_data[258] = {
16,16, // width,height
0x01,0x01,0x01,0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x02,0x02,0x00,0x00,0x00,0x00,0x02,0x02,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x02,0x02,0x02,0x02,0x03,0x03,0x02,0x02,0x02,0x02,0x01,0x01,0x01,
0x01,0x01,0x01,0x01,0x02,0x04,0x02,0x08,0x08,0x02,0x04,0x02,0x01,0x01,0x01,0x01,
0x01,0x01,0x01,0x02,0x00,0x04,0x04,0x02,0x02,0x04,0x04,0x00,0x02,0x01,0x01,0x01,
0x01,0x02,0x02,0x00,0x00,0x04,0x02,0x08,0x08,0x02,0x04,0x00,0x00,0x02,0x02,0x01,
0x02,0x00,0x00,0x08,0x00,0x04,0x02,0x03,0x03,0x02,0x04,0x00,0x08,0x00,0x00,0x02,
0x02,0x00,0x00,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x03,0x00,0x00,0x02,
0x02,0x00,0x00,0x04,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x04,0x00,0x00,0x02,
0x01,0x02,0x00,0x04,0x00,0x00,0x03,0x03,0x03,0x03,0x00,0x00,0x04,0x00,0x02,0x01,
0x01,0x01,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,
0x01,0x01,0x01,0x01,0x02,0x05,0x05,0x05,0x05,0x05,0x02,0x01,0x01,0x01,0x01,0x01,
0x01,0x01,0x02,0x02,0x06,0x07,0x05,0x05,0x05,0x05,0x07,0x02,0x02,0x02,0x02,0x01,
0x01,0x02,0x03,0x00,0x02,0x06,0x07,0x07,0x07,0x07,0x02,0x00,0x00,0x03,0x09,0x02,
0x02,0x09,0x03,0x00,0x00,0x02,0x06,0x06,0x06,0x06,0x02,0x02,0x02,0x02,0x02,0x02,
0x02,0x02,0x02,0x02,0x02,0x02,0x02,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,0x01,
};
goomba_gfx.c
- Code: Tout sélectionner
// Converted using ConvPNG
#include <stdint.h>
#include "goomba_gfx.h"
uint16_t goomba_gfx_pal[10] = {
0x5960, // 00 :: rgb(184,88,0)
0x7C10, // 01 :: rgb(255,0,128)
0x18C6, // 02 :: rgb(48,48,48)
0x6E00, // 03 :: rgb(224,128,0)
0xFBDE, // 04 :: rgb(248,248,248)
0xFB31, // 05 :: rgb(248,208,136)
0x71E9, // 06 :: rgb(232,120,72)
0x768D, // 07 :: rgb(240,160,104)
0x7A80, // 08 :: rgb(248,160,0)
0xFB64, // 09 :: rgb(248,224,32)
};
goomba_gfx.h
- Code: Tout sélectionner
// Converted using ConvPNG
// This file contains all the graphics sources for easier inclusion in a project
#ifndef __goomba_gfx__
#define __goomba_gfx__
#include <stdint.h>
#include "gommba_gfx.c"
#define goomba_0_width 16
#define goomba_0_height 16
#define goomba_0_size 258
extern uint8_t goomba_0_data[258];
#define goomba_0 ((gfx_sprite_t*)goomba_0_data)
#define sizeof_goomba_gfx_pal 20
extern uint16_t goomba_gfx_pal[10];
#endif
Alors en suivant le tutoriel de Wistaro, je fais afficher l'image dans mon main en ayant mis #include "goomba_gfx.h" avant.
Voici mon ma fonction main ;
- Code: Tout sélectionner
void main(void)
{
gfx_Begin( gfx_8bpp );
gfx_Sprite_NoClip(goomba_0,10,10);
while (!os_GetCSC());
gfx_End();
prgm_CleanUp();
}
Le problème c'est que j'obtiens un truc vert et noir, (voir image jointe) et je pense j'ai du faire une erreur quelques part, mais je sais pas trop où... Si quelqu'un pourrait m'aider se serait gentils de sa part !
Meric d'avance