PDA

Voir la version complète : [NDS][Aide] Charger une carte de 512x256


Supermegatom
19/12/2005, 04h31
Bonjour :D,

J'aimerais charger une carte de 512x256 en memoire. Donc j'ai fait ce petit bout de code, et je ne sais pas pourquoi mais l'image obtenu et totalement illisible. :S


#include <PA9.h>

#include "bg_Palette.pal.c"
#include "bg_Tiles.raw.c"
#include "bg_Map.map.c"

int main(int argc, char ** argv)
{

PA_Init();

PA_InitVBL();

PA_LoadPal(PAL_BG1, bg_Palette);

PA_LoadSimpleBg(1, 3, bg_Tiles, bg_Map, BG_512X256, 0, 1);

while(1)
{
}

return 0;
}


Je suis sur qu'il s'agit d'un tout petit detail de rien du tout, mais je n'arrive pas à le trouver. Si quelqu'un pouvait m'aider...

Merci d'avance.:)

Alekmaul
19/12/2005, 10h29
tu l'as fabriqué avec quoi ta carte ?
Si c'est avec GBAGraphics, il gère mal ce genre de carte (en fait il gère 2x (256x256)).
Essayes avec gfx2gba de créer tes fichiers de ta carte.

Supermegatom
19/12/2005, 14h51
Je l'ai faite avec gfx2gba (gfx2gba -fsrc -m -pbg.pal -t8 bg\bg.bmp)

birslip
19/12/2005, 15h03
Je crois que PAlib a toujours eu un problème avec les map de 512 (on avait essayer de le regler, je sais pas si mollusk y était parvenu finalement?)

Supermegatom
19/12/2005, 18h00
A ok, dans ce cas ça explique tout. Mais existerait il une alternative ?

En fait, le code ci-dessus n'était qu'un test qui mettait en évidance mon problème...

Pour faire simple, j'aimerais recopier en memoire l'équivalent d'un écran + une bordure d'un tile de chaque coté soit donc 34X26.
Les bordures servent à pouvoir scroller sans saccade...
Donc si je me limite à 256x256, pour la hauteur c'est parfait, mais pour la largueur ce n'est pas assez (il manque mes 2 tiles pour mes bordures).

Donc si vous avez une petite idée de comment je pourrais faire, parce que la, si je peux pas utiliser les maps de 512, franchement je coince ...

Ps : il ne s'agit pas d'une grande carte en ROM, donc impossible d'utiliser les fonctions de PAlib pour les grandes maps.

Mollusk
21/12/2005, 18h41
birslip, en fait y'avait pas soucis, c'était une mauvaise option dans gfx2gba... normalement ca devrait passer sans problème (puisque les largemaps se servent de 512x256 et marchent)...

supermegatom, sinon tu peux essayer PAGfx pour convertir... j'ai pas la ligne de commande exacte pour gfx2gba