Ah, j'ai dit une grosse connerie ?
Je pensais que si on inhibait très souvent les interruptions dans un programme, ça ferait rater quelques ticks. J'ai tout faux ?
)
Rising Sun :
C'est pas ma faute c'est TIGCC qui est mal fait euh (aïe aïe aïe)
C'est malin de repousser la faute de ton incompétence sur les autres...
Si tu ne sais pas programmer, c'est uniquement de ta faute et pas de la nôtre.
Non franchement y a des problèmes au niveau des répétitions de if ou de switch j'ai l'impression....
Ca plante alors que y a aucune raison.... Je rajoute un truc qu'il y a déjà 15 fois avant et ça plante !

Rising Sun
: Je vois pas quelle inattention pourrait conduire à ça... suffit que jerajoute un case/break pour que ça plante alors que y a rien de nouveau...
PpHdBon, alors, qu'est-ce qui ne va pas ?
: Question: Tu t'y connais en interruptions ?
clrscr:
../../lib/tigcc.a .text: (local)
0x002C34: 20 78 00 C8 20 68 06 74 42 A7 4E 90 58 8F 20 78 00 C8 20 68 06 78 4E D0
Segment: ../../lib/tigcc.a (Code, All Relocs Included)
../../lib/tigcc.a .text end: (local)
__dummy_handler__:
../../lib/tigcc.a .text: (local)
0x002C4C: 4E 73
Segment: ../../lib/tigcc.a (Code, All Relocs Included)
../../lib/tigcc.a .text end: (local)
_rowread:
../../lib/tigcc.a .text: (local)
0x002C4E: 33 C0 00 60 00 18 30 3C 00 18
L1: (local)
0x002C58: 51 C8 FF FE 10 39 00 60 00 1B 46 00 02 40 00 FF 4E 75
Segment: WB data.o (Code, All Relocs Included)
WB maps.o .text end: (local)
names:
tigcc_compiled.: (local)
WB data.o .text: (local)
0x0029B4: 46 61 6E 74 61 73 73 69 6E 00 00 00 00 00 00 00 00 00 00 00 43 61 70 69 74 61 69 6E 65 00 00 00 00 00 00 00 00 00 00 00 43 68 65 76 61 6C 69 65 72 00 00 00 00 00 00 00 00 00 00 00 46 75 73 69 6C 69 65 72 00 00 00 00 00 00 00 00 00 00 00 00 4D 6F 72 74 69 65 72 00 00 00 00 00 00 00 00 00 00 00 00 00 50 72 EA 74 72 65 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 6F 72 63 69 E8 72 65 00 00 00 00 00 00 00 00 00 00 00 00 42 72 69 73 65 73 6F 72 74 00 00 00 00 00 00 00 00 00 00 00 47 72 75 6E 74 00 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 68 65 76 61 75 63 68 65 75 72 20 64 65 20 6C 6F 75 70 00 54 61 75 72 65 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 43 68 61 73 73 65 75 72 20 64 65 20 74 EA 74 65 73 00 00 00 42 65 72 73 65 72 6B 65 72 20 74 72 6F 6C 6C 00 00 00 00 00 53 68 61 6D 61 6E 00 00 00 00 00 00 00 00 00 00 00 00 00 00 53 6F 72 63 69 65 72 2D 64 6F 63 74 65 75 72 00 00 00 00 00 45 73 70 72 69 74 20 6D 61 72 63 68 65 75 72 00 00 00 00 00
u:
0x002AF4: 01 90 00 00 00 02 00 0D 00 05 00 01 00 00 00 01 00 02 00 00 02 58 00 32 00 04 00 14 00 08 00 01 00 00 00 07 00 00 00 00 03 20 00 64 00 06 00 1E 00 05 00 01 00 00 00 08 00 00 00 00 01 F4 00 00 00 03 00 16 00 06 00 05 00 00 00 00 00 00 00 00 01 C2 00 00 00 03 00 1E 00 08 00 06 00 00 00 00 00 00 00 00 00 FA 00 FA 00 01 00 0A 00 03 00 04 00 00 00 01 00 02 00 00 00 C8 01 2C 00 01 00 0C 00 03 00 04 00 00 00 03 00 04 00 00 01 2C 00 FA 00 02 00 0D 00 03 00 02 00 00 00 05 00 06 00 00 01 F4 00 00 00 01 00 0F 00 03 00 01 00 00 00 00 00 00 00 00 02 8A 00 32 00 03 00 17 00 08 00 01 00 00 00 0F 00 00 00 00 03 E8 00 64 00 02 00 23 00 09 00 01 00 00 00 10 00 00 00 00 01 C2 00 00 00 02 00 14 00 08 00 04 00 00 00 00 00 00 00 00 02 58 00 00 00 03 00 1A 00 04 00 04 00 00 00 00 00 00 00 00 00 FA 00 FA 00 02 00 0D 00 03 00 04 00 00 00 09 00 0A 00 00 00 C8 00 FA 00 01 00 0B 00 02 00 04 00 00 00 0B 00 0C 00 00 01 5E 00 C8 00 03 00 0C 00 03 00 02 00 00 00 0D 00 0E 00 00
Segment: ../../lib/tigcc.a (Code, All Relocs Included)
WB data.o .text end: (local)
.L96: (local)
0x000B42: 32 10 48 C1 30 51 20 01 E5 88 D0 81 E5 88 D0 88 D0 80 41 F9
0x000B56: <4B: mapuni (->)>
0x000B5A: 31 83 08 00
.L96: #L146 mapuni[un[n][YTEMP]][un[n][XTEMP]]=n;// L'unité occupe une 2ème case } break; } } move.w (%a0),%d1 ext.l %d1 move.w (%a1),%a0 move.l %d1,%d0 lsl.l #2,%d0 add.l %d1,%d0 lsl.l #2,%d0 add.l %a0,%d0 add.l %d0,%d0 lea mapuni,%a0 move.w %d3,(%a0,%d0.l)
if(un[n][MOVE]==0)
{
switch(un[n][DIR])
{
...
case 4:
if(mapnum[un[n][Y]][un[n][X]-1]==1 && mapuni[un[n][Y]-1][un[n][X]-1]==0)
{
un[n][MOVE]=1; // L'unité bouge
un[n][TEMP]=0; // Début du mouvement
un[n][XTEMP]=un[n][X-1]; // Coordonnées futures
un[n][YTEMP]=un[n][Y]; // Coordonnées futures
// !!!!!!!!!! VVVVVVVVVVVVV
mapuni[un[n][YTEMP]][un[n][XTEMP]]=n; // L'unité occupe une 2ème case
// !!!!!!!!!! ^^^^^^^^^^^^
}
break;
}
(j'irais même jusqu'à le mettre en GPL, c'est dire si j'y mets de la bonne volonté
)