j'ai un pb dans mon prog, qui plante (l'écran s'efface et la calc gèle) à cause de ces lignes:
for (j = 0; j < 960; j ++)
if (*((long*)GX_GetDarkPlane (Collisions) + j) != 0)
goto Exit;
pk?
d'autre part, thibault, pk les buffers de GX font 10k?
Nerick Le 03/12/2002 à 00:31Edité par Nerick le 03/12/2002 à 00:31 si je cast pas GX_GetDarkPlane en long*, ça revient au meme, ça plante a j = 255
Est-ce que ta variable 'j' ne serait pas déclarée en unsigned char, par hasard ?
hibou Le 03/12/2002 à 17:05 si comme le dit jackiechan, tu l'as mal déclaré : tu as du avoir des warning quand tu as compilé ! faut les lire les warnings ! ils ne disent pas que des bétises !
Si tes lignes sont exprimées sous forme d'équations paramétriques, tu peux trouver s'il y a une intersection avec 2 additions, 2 multiplications et 1 division il me semble.
Mais il faudrait que tu passes par des nombres à virgule fixe pour avoir un minimum de précision.
Déclare bien j de type signed short si tu veux qu'un dba soit généré.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.
Nerick Le 05/12/2002 à 00:14Edité par Nerick le 05/12/2002 à 00:14 mais un dbra sera généré automatiquement dans le code que tu me proposes, meme en déclarant j non signé, non?
Oui, TIGCC remarque que la valeur est inférieure à 32767. Mais si jamais j est unsigned et que tu ne donnes pas le nombre d'itérations à la compilation (c'est à dire que tu n'affectes pas de nombre à j, mais une variable), tu n'obtiendras pas dbf, mais subq/bne.

Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 :
www.ti-fr.com.
Quelques idées personnelles
ici.