Voilà je suis un gros débutant dans le monde de la programmation, mais je veut m'y mettre. J'ai fait une source, revue et corrigée avec l'aide de FagEmul que je remercie au passage, un truc tout simple qui fait bouger un sprite sur un background.
Après avoir configuré ADS comme dans le SDK, et inclus tous les fichiers qu'il faut, je compile, aucune erreur, et je converti le FXE avec FXEMaker. J'obtiens un FXE qui fait 2 ko et qui ne marche ni sous l'ému ni sous la GP32

Je n'abandonne pas, je corrige le blème des palettes en faisant un nouveau perso compatible avec la palette du background et je refait un petit peu le code avec les conseils, toujours, de FagEmul. Rien n'y change sous ADS. Alors au lieu de compiler mon FXE avec FXEMaker, je prend Bin2FXE. Là, j'obtiens un FXE de 96 ko ... mais qui ne marche pas non plus.
Alors je change mon fusil d'épaule et je prend ARMSDT pour compiler mon prog. Là, je ne peut pas compiler, il me sort un nombre d'erreurs assez conséquent

Alors, par pitié, aidez moi svp

} }
Voilà ma source : #include "gpmain.h"
#include "gpdef.h"
#include "gpgraphic.h"
#include "gpstdlib.h"
#include "perso.h"
#include "background.h"
#define SCREEN_W 320
#define SCREEN_H 240
long *pal = (long *)0x14a00400;
static unsigned int palette[256] = {
0x1, 0xFFFF, 0xFEA9, 0xFDA9, 0xD6BD, 0xD691, 0xD591, 0xD5A9, 0xD369, 0xB591, 0x2101, 0xF529, 0xED29, 0xDCE9, 0xFCA9, 0xE469,
0xD4A9, 0x498F, 0xC4E9, 0xF5B1, 0xCB23, 0xD429, 0xDBE9, 0xC429, 0xDBA9, 0xDBAB, 0xD369, 0xB4A9, 0xDB29, 0xD369, 0x93E3, 0x929F,
0xD269, 0xBBA9, 0xB369, 0xFEBD, 0x9129, 0xD37D, 0x9329, 0xD5BD, 0xE6FD, 0x6B21, 0x6A69, 0xD63D, 0x4929, 0x94A9, 0xBDF5, 0x6B69,
0x4A69, 0x2129, 0x18CB, 0xD6BD, 0xD6BD, 0xD6BD, 0xD6BB, 0xD6BB, 0xEF7D, 0xD6BD, 0xB5BD, 0xCE7D, 0xD6BD, 0xD6BB, 0xD6BD, 0x215D,
0xC63B, 0xD6BD, 0xD6F9, 0x425B, 0xDEFD, 0x2A23, 0x214F, 0xCEB7, 0x4AE1, 0x2269, 0x4B69, 0xCEBD, 0xB6BD, 0x3213, 0xDF7D, 0x54A9,
0x6DA9, 0xD7FD, 0x95A9, 0x101, 0x201, 0x19C7, 0x4B11, 0xD7B5, 0x2A49, 0xAEA9, 0x941, 0x2241, 0x2201, 0x5481, 0x9691, 0x1941,
0x9681, 0x9591, 0x4B41, 0xB691, 0x3A01, 0xD7D1, 0xDF6B, 0xB651, 0xDF97, 0xA5D1, 0xDF67, 0xB5E3, 0xDF51, 0xC691, 0x2145, 0x2107,
0xD6D3, 0x2103, 0x9491, 0xAD5B, 0xE76F, 0xCE6B, 0xD6AF, 0xD691, 0xD691, 0xBE11, 0xB591, 0xAD51, 0xB5D3, 0xB593, 0xBDD5, 0xD6DB,
0xC61B, 0xD69F, 0x2101, 0x2941, 0x2101, 0x1081, 0xFFD1, 0xD691, 0xD691, 0xCE51, 0xD691, 0xD691, 0xC651, 0xBDD1, 0xD693, 0xCE53,
0xB591, 0xA511, 0xD697, 0xBDD9, 0xB597, 0xD6A5, 0xD6B3, 0xFFFD, 0x6B41, 0xE711, 0x4A49, 0xD6AB, 0xD641, 0x9C81, 0x2101, 0xFF95,
0xB551, 0x9CD1, 0xAD55, 0x9CD5, 0x4A41, 0x2903, 0xD651, 0xBD91, 0xB551, 0x7B8D, 0xB5A9, 0xDE11, 0xC591, 0xF71B, 0xA449, 0xEE91,
0xB511, 0xF7B9, 0xFE91, 0xD591, 0xCD93, 0xB491, 0xFEE1, 0xEE5F, 0xFEA1, 0xA49B, 0xACE3, 0xFCC1, 0xFD91, 0xF665, 0xD491, 0xFE63,
0xC51D, 0xE5E5, 0xFEA7, 0xFEA9, 0x9351, 0xFEA9, 0xFEA9, 0xFEAB, 0xFEED, 0xA241, 0xFEA9, 0xDDE7, 0xFE69, 0xF669, 0x4145, 0xFE25,
0x4901, 0xEE29, 0xE5E9, 0xDDA9, 0xE62D, 0xF629, 0xDC59, 0xFE29, 0xDDA9, 0xBB11, 0xEDA7, 0xD523, 0xECE1, 0x6A51, 0xD5A9, 0xD5A9,
0xD5AB, 0xDDEB, 0xFDA7, 0xFDE9, 0xDDAB, 0xDDED, 0x3041, 0xDDA9, 0xD569, 0xFDA9, 0xF5A9, 0xE5A9, 0xFD69, 0xF5A9, 0xFDA9, 0xFDA9,
0xFDAB, 0xFDAB, 0xFDEB, 0xD569, 0xFDA9, 0xFDA9, 0xFDA9, 0xFD69, 0xF569, 0xDD69, 0xF6B5, 0x2001, 0xCD29, 0xD6B5, 0x1
};
GPDRAWSURFACE gpDraw[2];
int nflip;
void initialise_palette()
{
unsigned char temp;
for (temp=0;temp<255;temp++)
pal[temp] = palette[temp];
}
void GpMain(void *arg)
{
unsigned char keydata;
int i;
int pos_x=0;
int pos_y=0;
for (i=0 ; i<2 ; i++)
{
GpLcdSurfaceGet(&gpDraw[i], i);
}
initialise_palette();
GpSurfaceSet(&gpDraw[0]);
nflip=1;
while(1)
{
GpRectFill(NULL,&gpDraw[nflip],0,0,SCREEN_W,SCREEN_H,0xff);
GpBitBlt(NULL,&gpDraw[nflip],0,0,320,240,(unsigned char*)background,0,0,320,240);
GpTransBlt(NULL,&gpDraw[nflip],pos_x,pos_y,70,110,(unsigned char*)perso,0,0,70,110,0xef);
keydata=GpKeyGet();
if ( keydata & GPC_VK_UP && pos_y>0 )
pos_y--;
if ( keydata & GPC_VK_DOWN && pos_y<240 )
pos_y++;
if ( keydata & GPC_VK_LEFT && pos_x>0 )
pos_x--;
if ( keydata & GPC_VK_RIGHT && pos_x<320 )
pos_x++;
GpSurfaceFlip(&gpDraw[nflip++]);
nflip &= 0x01;
et mes fichiers à part (perso et background en .h, bitmaps de départ) :
http://www.ifrance.com/AviPlayer-World/fichiers.zip
Voilà, si vous vouliez bien m'aider, ce serait vraiment sympa et ca permettra d'avoir un jour un codeur de plus sur notre petite préférée

