Ayuda A Los Programadores

Hola,

necesito que alguien me ayude.
Estoy intentando hacer un viso de iconos de ficheros .nds para nuestra DS.

La cuestion es que tengo una funciona que carga el icono de un backup/rom y lo muestra por pantalla, pero no se porque solo funciona en el emulador DeSmume (en la consola no funciona)

Os copio el código para ver si alguien puede echarme una mano, o si alguien tiene el source del DSOrganizer o MultiNDSLoader tambien se lo agradecería, porque podría ver el código y saber como se hace.

void PA_nds_icon::PA_nds_icon_create_sprite(u8 screen,u8 sprite,u8 palette,u8* nds_file,u8 x, u8 y){
   u8 puntero[4];
   puntero[0]=nds_file[104];
   puntero[1]=nds_file[105];
   puntero[2]=nds_file[106];
   puntero[3]=nds_file[107];

   u32 mipuntero;
   mipuntero=puntero[3]<<24 | puntero[2]<<16 | puntero[1]<<8 | puntero[0];

   u8 tile[512];
   u8 paleta[32];
   mipuntero+=32;   
   int i;
   
   for(i=0;i<512;i++){
      tile[i]=nds_file[mipuntero+i];
   }
   mipuntero+=512;
   
   PA_InitText(0,3);
   for(i=0;i<32;i++){
      PA_OutputText(0,0,i,"%d",nds_file[mipuntero+i]);
      paleta[i]=nds_file[mipuntero+i];   
   }
   
   
   if(screen==0){
      PA_LoadPal16(PAL_SPRITE0, palette,(void*)paleta);
      PA_LoadPal16(PAL_SPRITE0, palette+1,(void*)paleta);
      PA_LoadPal16(PAL_SPRITE0, palette+2,(void*)paleta);
      PA_LoadPal16(PAL_SPRITE0, palette+3,(void*)paleta);
      kk(0, palette, (void*)paleta);
      PA_CreateSprite (0, sprite, (void*)tile, OBJ_SIZE_32X32,0,palette,x,y);      
   }else{ //screen==1
      PA_LoadPal16(PAL_SPRITE1, palette,(void*)paleta);
      PA_CreateSprite (1, sprite, (void*)tile, OBJ_SIZE_32X32,0,palette,x,y);      
   }
   
}
podrias explicar que hace cada trozo de código para que sea mas facil entenderlo? [oki]
pues básicamente lo que hace este codigo es crear un sprite a partir de una rom.

si miras la wiki
http://www.bottledlight.com/ds/index.php/FileFormats/NDSFormat

verás que accedo a las posiciones de memoria adecuadas, lo único es que la paleta parece que no la hago bien.
2 respuestas