Page 1 of 1

Bug Bleu : Les Polices nSDL sont bleues !

Unread postPosted: 29 May 2013, 21:40
by Lepzulnag
Bonjour à tous ! :)

(je vais commencer par le commencement)
Avec l'arrivée des examens j'ai arrêté de programmer, et j'ai mis quelques temps avant de replonger courageusement la tête dans mon code.

Seulement, voilà : je tente de compiler, et il m'indique qu'il ne trouve pas la commande "gcc-ndless". Alors je fouille dans ma mémoire, je retrouve où est ce gcc-ndless, et j'ajoute de nouveau ce qu'il faut à ma variable d'environnement PATH. Pourquoi avait-il disparu de cette variable d'environnement ? Premier mystère.

Je compile. Ça marche. Seulement à mon plus grand effarement, toutes mes polices de caractères sont BLEUES, et la police elle-même a changée (c'est devenu une autre police de nSDL) !
Tout le reste marche parfaitement.

Je suis donc plutôt perturbé. Après quelques tests, je remarque qu'il est impossible de créer une police d'une autre couleur que le bleu, et que le rouge détermine (selon un schéma assez étrange) la luminosité du bleu.

Est-ce que l'un d'entre vous aurait une idée d'où peut provenir un tel bug ? Est-ce que ça pourrait être dû à une mise à jour ? Ou bien est-ce la punition du dieu des ordinateurs qui a été courroucé de me voir arrêter de programmer pendant si longtemps ?

Je continue évidemment à chercher de mon côté.

the Blue Bug.png

Re: Bug Bleu : Les Polices nSDL sont bleues !

Unread postPosted: 30 May 2013, 13:17
by Lepzulnag
Bonne nouvelle, j'ai corrigé le problème !

Pour ceux d'entre vous qui êtes curieux de connaître comment un tel bug peut se produire, je vais expliquer.

La disparition de ndless\bin dans la variable environnement système PATH.
Cela reste encore pour moi un mystère... Deux hypothèses :
1) J'ai restauré mon système il y a peu. Peut-être cela a-t-il affecté la variable.
2) Peut-être que le ndless\bin a disparu. Je n'ai en tout cas pas réussi à le retrouver.

Ou alors est-ce une fusion de ces deux hypothèses. Toujours est-il que c'est ce premier problème qui m'a forcé à retrouver un dossier ndless\bin contenant nspire-gcc afin de résoudre mon problème de compilation. Or ce dossier, je m’attendais à le trouver avec ndless-r685, mais non, il n'y était pas ! Je l'ai finalement trouvé dans le dossier du SDK-r695 (SDK que je n'utilise pas). A partir de là, ça compilait, mais avec toutes les polices en bleu !

Les polices bleues.
Tout marchait mis à part la police, c'est-à-dire la fonction nSDL_LoadFont de la nSDL. Cela m'a alors fait pensé à quelque chose : la mise à jour de la nSDL, faite par Hoffa avant son voyage en Australie !

Eh oui, un des changements principaux était la modification du prototype de ladite fonction, qui passait de :
nSDL_LoadFont(int font_index, Uint32 color, Uint32 flags);

à :
nSDL_LoadFont(int font_index, Uint8 red, Uint8 green, Uint8 blue);


Si on suppose qu'à la compilation j'utilisais l'ancienne SDL, avec la prototype de la nouvelle, alors tout prend son sens !
L'argument color recevait un Uint8, c'est-à-dire un nombre entre 0 et 255. Or à l'aide de WinboxColors on remarque facilement qu'un nombre inférieur à 255 donne toujours... du bleu ! (avec une nuance de vert négligeable)

A partir de là, le problème est détecté, il ne reste plus qu'à comprendre pourquoi est-ce que mon compilateur utilise l'ancienne version de la nSDL.

Or la SDL est incluse naturellement dans le SDK Nspire. Et justement, elle n'est pas à jour ! Je fais un peu de ménage, je recompile... et ça marche !

Blue Bug Corrigé.png


A bientôt pour un prochain bug :D

Re: Bug Bleu : Les Polices nSDL sont bleues !

Unread postPosted: 30 May 2013, 16:13
by Levak
Ndless a été mis à jour et a changé son path.
Avant c'était Ndless/bin, maintenant c'est Ndless/Ndless-SDK/ndless/bin

Re: Bug Bleu : Les Polices nSDL sont bleues !

Unread postPosted: 30 May 2013, 17:37
by Excale
Ça c'est si tu vas chercher ndless depuis le svn. Si tu télécharges le SDK sur le site, c'est /Ndless-SDK/ndless/bin .

Re: Bug Bleu : Les Polices nSDL sont bleues !

Unread postPosted: 02 Jun 2013, 18:27
by ExtendeD
Lepzulnag, il y avait effectivement un problème de mise à jour dans les anciennes version du SDK.
La dernière version est la r776 et ne devrait plus avoir le problème: http://www.unsads.com/projects/nsptools/downloader .

Re: Bug Bleu : Les Polices nSDL sont bleues !

Unread postPosted: 03 Jun 2013, 13:37
by Lepzulnag
En effet c'est à jour merci beaucoup :)