ben en C, à moins d'avoir mal lu le tuto à squale92, si on définie une matrice en variable globale (en dehors de toute fonction) , la taille du prog augmentera autant que la matrice est grosse. Alors que définie dans une fonction, ça ne fait pas ça ...
Mais peut-être que j'ai mal lu ...
bon liquid, j'ai fait un petit test de code pour afficher un map, mais ça marche pas !!!
Si tu peux me dire mon erreur, ça sera très sympa (le truc C que l'écran n'affiche que des barres noires toutes moches au lieu des sprites, et parfois TIGCC me sort des erreurs durant la compilation).
#define USE_TI89
#define OPTIMIZE_ROM_CALLS
#define SAVE_SCREEN
#include <tigcclib.h>
void _main(void)
{
short x=0;
unsigned short mat[3][5]={{1,2,3,4,0},{0,0,0,0,0},{1,2,3,4,0}} //code de la map
unsigned short sprt[][4]={{0x0, 0x7FFFFF, 0x800000, 0x103FF00, 0x2003000, 0x4003000, 0x8003000, 0x10003000, 0x2003FF00, 0x40000000, 0xFFFFFFFF, 0x80000000, 0x80000000, 0x9FC7F1FC, 0x90441104, 0x90441104, 0x90441104, 0x9FC7F1FC, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x80000000, 0x8FDF8000, 0x88508000, 0x88508000, 0x88508000, 0x89548000, 0x885081FE, 0x88508102, 0x88508030, 0xFFFFFFFF},{0x0, 0xFFFFFFFF, 0x0, 0x38C000, 0x3CC000, 0x36C000, 0x33C000, 0x31C000, 0x30C000, 0x0, 0xFFFFFFFF, 0x0, 0x0, 0x1FC7F1FC, 0x10441104, 0x10441104, 0x10441104, 0x1FC7F1FC, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x3FC01FE, 0x2040102, 0x600030, 0xFFFFFFFF},{0x0, 0xFFFFFFFF, 0x0, 0x3FC000, 0x30C000, 0x300000, 0x3FC000, 0xC000, 0x3FC000, 0x0, 0xFFFFFFFF, 0x0, 0x0, 0x1FC7F1FC, 0x10441104, 0x10441104, 0x10441104, 0x1FC7F1FC, 0x0, 0x0, 0x0, 0x0, 0x380000, 0x3FF8000, 0x2FE8000, 0x2828000, 0x2828000, 0x2828000, 0x28281FE, 0x2828102, 0x2828030, 0xFFFFFFFF},{0x0, 0xFFFFFF00, 0x80, 0x3FC040, 0x30C020, 0x30C010, 0x3FC008, 0x30C004, 0x30C002, 0x1, 0xFFFFFFFF, 0x1, 0x1, 0x1FC7F1FD, 0x10441105, 0x10441105, 0x10441105, 0x1FC7F1FD, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0x1, 0xFF003FD, 0x8100205, 0x1800061, 0xFFFFFFFF}};
//4 sprites 32*32 enregistrés
clrscr();
for(x=0; x<5; x++)
{
Sprite32(x*32,0,32,sprt[mat[0][x]][0],LCD_MEM,A_OR);
}
ngetchx();
}
bon là l'affichage n'est que sur la permière ligne en y, car je fesais juste un test, après ça marchera pour tout l'écran , mais déjà que ça marche pas sur une ligne ...
merci.
[edit]Edité par Pim89 le 10-02-2002 à 14:40:34[/edit]
[edit]Edité par Pim89 le 10-02-2002 à 14:41:15[/edit]