1

bon je declare le tableau de sprites come ça
static unsigned int maptiles[33][16]={//dark, light, attributes
//rien !!!
{},
{},
{},
//neige
{ 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0, 0x0},
{0x710,0xDE57,0x599D,0xFB72,0x3C13,0xDC7F,0x7522,0xB97,0xCBE9,0x409D,0xFFEB,0x3CBC,0x13C9,0xF2AB,0xC6A4,0x2E5B},
{},


je declare la map
unsigned int **map=NULL;
...
map=malloc(2000*sizeof(int));

g une erreur ici
for (b=0;b<13;b++)
{
for (a=0;a<17;a++)
{
Sprite16_OR(a*16+1,b*16+1,16,maptiles[map[b][a]*3],&virtu1);
Sprite16_OR(a*16+1,b*16+1,16,maptiles[map[b][a]*3]+16,&virtu0);
....

et ici (l'erreur est la meme je croa):
for (a=0;a<41;a++) for (b=0;b<51;b++) map[a][b]=&maptiles+3*16;

g cherché pls hures mais g pas trouvé sniffffff
helpme !
avatar
納 豆パワー!
I becamed a natto!!!1!one!

2

map est une matrice dynamique. Va voir http://tigcc.ticalc.org/doc/faq.html#37 (quand ça marchera), ou sinon regarde dans la documentation TIGCC offline, sous FAQ / Memory, C variables, and pointers / How can I create a dynamic two-dimensional array?.
[edit]Edité par Kevin Kofler le 22-07-2001 à 21:32:02[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

3

bref g fait:
map = calloc (40, sizeof (*map));
for (i = 0; i < 40; i++)
map[i] = calloc (50, sizeof (int));

qui est mieux...
la derniere est corigée mais !
for (b=0;b<13;b++)
{
for (a=0;a<17;a++)
{
Sprite16_OR(a*16+1,b*16+1,16,maptiles[map[b][a]*3],&virtu1);
Sprite16_OR(a*16+1,b*16+1,16,maptiles[map[b][a]*3]+16,&virtu0);
....


c ts un mystere g "incompatible pointer type"
avatar
納 豆パワー!
I becamed a natto!!!1!one!

4

>bref g fait: ...

Pourquoi pas l'autre méthode qui permet d'utiliser un seul malloc ou calloc?

Et déclare ton tableau en unsigned short plutôt que unsigned int. (C'est la même chose en pratique, mais ExtGraph attend unsigned short.)
[edit]Edité par Kevin Kofler le 22-07-2001 à 22:05:01[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

5

ah bon l autre mehde etait corecte ???

g remplacé par short=> pas de warning mais adress errror
avatar
納 豆パワー!
I becamed a natto!!!1!one!

6

>ah bon l autre mehde etait corecte ???

Non. C'est le int ** qui n'allait pas pour cette méthode. Relis le chapitre de la FAQ que je t'ai indiqué.

>g remplacé par short=> pas de warning mais adress errror

C'est que ça déborde, car tes coordonnées sont beaucoup trop grandes: 12*16+1=193, 193+15=208. Ton écran virtuel fait combien? S'il fait 3840 octets, il ne fait que 128 de hauteur.
a devient d'ailleurs également trop grand. (ExtGraph suppose des écrans, virtuels ou non, de 240 de large, et: 16*16+1=257, 257+15=272.)
[edit]Edité par Kevin Kofler le 22-07-2001 à 22:18:16[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

7

bon jefais avec 5*16+1==81 et 6*16+1==97
âdress error
avatar
納 豆パワー!
I becamed a natto!!!1!one!

8

Alors tes écrans virtuels ne sont probablement pas déclarés correctement. Tu les déclares comment?
[edit]Edité par Kevin Kofler le 22-07-2001 à 22:27:14[/edit]
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

9

virtu0 = malloc (3840);
virtu1 = malloc (3840);

âh g line 1111 emulator cette fois
avatar
納 豆パワー!
I becamed a natto!!!1!one!

10

void *virtu0=NULL;
void *virtu1=NULL;
déclarés comme ça
avatar
納 豆パワー!
I becamed a natto!!!1!one!

11

Alors, il faut remplacer &virtu1 par virtu1 tout court et &virtu0 par virtu0 tout court. malloc retourne déjà un pointeur!
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

12

bn ya des trucs qus'affchent c deja ça
tjs adress error je vais mettre tte la source
#define OPTIMIZE_ROM_CALLS // Use ROM Call Optimization

#define SAVE_SCREEN // Save/Restore LCD Contents
#define key_enter _rowread(0x3bf)&0x40
#define key_break _rowread(0x37f)&0x20
#define key_esc _rowread(0x2FF)&0x40
#define key_apps _rowread(0x37f)&0x40
#define key_up _rowread(0x3fe)&0x20
#define key_down _rowread(0x3fe)&0x80
#define key_right _rowread(0x3fe)&0x40
#define key_left _rowread(0x3fe)&0x10
#include <tigcclib.h> // Include All Header Files
#include "maptiles.h"
#include "extgraph.h"
short _ti92plus; // Produce .9XZ File
void attend(int);
void affmap(void);
void randommap(void);
// Main Function
short **map=NULL;
void *virtu0=NULL;
void *virtu1=NULL;
void _main(void)
{
int i;
int posmapx;
int posmapy;
INT_HANDLER save_int_1;
map = calloc (40, sizeof (*map));
for (i = 0; i < 40; i++)
map[i] = calloc (50, sizeof (short));
//map=malloc(2000*sizeof(int));
virtu0 = malloc (3840);
virtu1 = malloc (3840);
save_int_1 = GetIntVec (AUTO_INT_1);
SetIntVec (AUTO_INT_1, DUMMY_HANDLER);
GrayMode(GRAY_ON);
posmapx=posmapy=0;
//memcpy(LCD_MEM,Vscreen,LCD_SIZE);
ClearGrayScreen();
DrawGrayStrExt(0,50,"Random Map Generator",A_REPLACE | A_SHADOWED | A_CENTERED,F_8x10);
DrawGrayStrExt(0,70,"(PRESS ENTER)",A_REPLACE | A_SHADOWED | A_CENTERED,F_6x8);
while(!(key_enter));
//randommap();
affmap();
while(!(key_enter));
ClearGrayScreen();
attend(100);
GrayMode(GRAY_OFF);
SetIntVec (AUTO_INT_1, save_int_1);
free(map);
free(virtu1);
free(virtu0);
}
asm("attend: movem.l %d0-%d3,-(%sp)
 move.w (20,%sp),%d2
 move.l #31,%d1
 move.l #31,%d3
_wl2_: move.w #1551,%d0
_wl1_: rol.l %d3,%d1
 dbra %d0,_wl1_
 dbra %d2,_wl2_
 movem.l (%sp)+,%d0-%d3
 rts"		);
void affmap(void)
{
int a,b;
for (b=0;b<5;b++)//13
{
for (a=0;a<6;a++)//17
{
Sprite16_OR(a*16+1,b*16+1,16,maptiles[map[b][a]*3],virtu1);
Sprite16_OR(a*16+1,b*16+1,16,maptiles[map[b][a]*3]+16,virtu0);
}
FastDrawGrayLine2B(0,b*17,238,b*17,4,virtu0,virtu1);
}
for(a=0;a<6;a++)FastDrawGrayLine2B(a*17,0,a*17,222,4,virtu0,virtu1);
FastCopyScreen(virtu1,GetPlane(1));
FastCopyScreen(virtu0,GetPlane(0));
}

void randommap(void)
{
int a,b;
for (a=0;a<41;a++) for (b=0;b<51;b++) map[a][b]=3;
}
avatar
納 豆パワー!
I becamed a natto!!!1!one!

13

FastDrawGrayLine2B(a*17,0,a*17,222,4,virtu0,virtu1)

C'est ça qui ne va pas. C'est 127 maximum.
avatar
Mes news pour calculatrices TI: Ti-Gen
Mes projets PC pour calculatrices TI: TIGCC, CalcForge (CalcForgeLP, Emu-TIGCC)
Mes chans IRC: #tigcc et #inspired sur irc.freequest.net (UTF-8)

Liberté, Égalité, Fraternité

14

âh! je suis mauvais !!!! kel nulllll !!
ben merci bcp kevin pour tt le tps que t'as passé a m'aidersmile
avatar
納 豆パワー!
I becamed a natto!!!1!one!