1

Salut,

Je commence à programmer en C, en suivant ce tutorial, pour l'instant pas trop de problèmes.

J'ai regardé un peu comment définir une image (sprite) dans le programme, cependant je trouve pas le moyen de convertir une image en ligne de codes.
Parce que faut bien l'avouer, c'est pas pratique de faire la conversion à la main...

donc si vous avez quelque chose pour faciliter la tâche, je vous en remercie d'avance smile
Programmeur sur TI82, et bientôt sur 89!

2

Cherche du côté de DoAnyBGS, je pense que tu devrais trouver ton bonheur.
...

3

Perso j'utiise TiPaintPro de Olivier Martin http://www.ticalc.org/archives/files/fileinfo/180/18067.html
Il est bien surtout parce qu'il permet de modifier la lumière , le contraste et permet de tourner , inverser le sprite ce qui est
parfois très utile.

4

Tiens je retiens. Aujourd'hui, je n'ai plus le temps de programmer, mais sait-on jamais...
...

5

Une manière possible est de taper tes sprites dans ton code C en binaire: préfixe 0b, 1 pour un pixel noir, 0 pour un pixel blanc.
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é

6

Oui, mais comme il dit, c'est chaint à faire et c'est pour cela qu'il cherche un soft pour le faire.
...

7

Salut, j'ai essayé vos 2 programmes, mais le code donné n'est pas compatible avec la fonction que j'essaye d'utiliser avec le tutorial, enfin apparemment, car le résultat n'est pas bon sur l'écran (j'ai une image toute déformée, avec des pixels mal placés).

Le chapitre du tuto en question, voir IV:\ Manipulation d'Images

L'image doit être en bit, et j'ai généralement des images en hexa avec les 2 programmes. Je ne sais pas si faire la conversion hexa->bit marchera, où alors si il existe une autre fonction...
Programmeur sur TI82, et bientôt sur 89!

8

peu importe la représentation de tes nombres : que ce soit en binaire ou en hexadécimal dans ton code source, si c'est la même valeur numérique qui est représentée ça ne change rien.

en revanche il existe beaucoup de formats d'image différents ; quel outil utilises-tu, et quel mode as-tu choisi au moment de la sauvegarde s'il y avait plusieurs modes ?
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

9

Si c'est une BITMAP que tu utilises avec BitmapPut (ce qui n'est possible que si tu n'as vraiment pas besoin de vitesse ni de modes de dessin avancés, car cette routine est très lente grin), as-tu correctement défini la hauteur et la largeur ?

Il n'y a pas à convertir entre représentation bit (base 2), représentation décimale (base 10), représentation hexadécimale (base 16) et d'ailleurs représentation octale (base 8), puisque ces quatre représentations sont des façons d'écrire les entiers smile

Il existe d'autres fonctions, habituellement appelées fonctions de sprite, dans les librairies graphiques spécialisées que sont ExtGraph et Genlib (les deux seules qui restent maintenues). Beaucoup plus rapides, de plus nombreux modes de dessin, mais en-dessous d'un certain nombre d'utilisations dans ton code, elles prennent plus de place dans ton programme que des appels à BitmapPut.
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

10

Salut,
J'utilise aussi DoAnyBGS. Mes images étaient aussi étranges au début. Enfaite il mettaient une valeur erronée dans la taille de l'image. Mon image faisait 160*78, et lui m'écrivait:
static BITMAP bitmap = {
78,20,
J'ai juste eu à changer une valeur, et ca fonctionne.

11

KillerMapper les sprites que te sortent les deux logiciels sont en 4 niveaux de gris. (c'est pour ça qu'il y a deux tableaux en héxa)
Tu l'utilise avec BitMapPut qui s'utilise avec des Sprites en 2 niveaux de gris (donc un seul tableau) donc ça marchera pas .

12

C'est aussi ce que je pensais. Mais TiPaintPlus permet de faire du noir et blanc, et j'obtiens ainsi un seul tableau. Mais ça ne marche quand même pas.

Sinon j'ai qu'à utiliser une autre fonction pour afficher l'image en niveau de gris, faut que je là cherche par contre car le tuto que je suis en train de lire n'est pas terminé.

Edit: ok c'est bon, le problème est que mon image était avec des niveaux de gris, et là en mettant dans DoAnyBGS une image avec que du noir et blanc, j'avais plus qu'à recopier le tableau _dark dans mon programme, et de régler la taille pour que ça marche.
Donc là elle s'affiche correctement, juste la partie situé sur la status bar qui n'apparait pas.
Programmeur sur TI82, et bientôt sur 89!

13

Donc là elle s'affiche correctement, juste la partie situé sur la status bar qui n'apparait pas.

Si tu as utilisé ScrRect pour le clipping (comme le tutorial le fait), c'est normal smile
A la place de ScrRect, tu peux utiliser
#define FULLSCREEN (&(SCR_RECT){{0,0,159,99}})
ou
#define FULLSCREEN (&(SCR_RECT){{0,0,239,127}})
respectivement pour 89/89T et 92+/V200
avatar
Membre de la TI-Chess Team.
Co-mainteneur de GCC4TI (documentation en ligne de GCC4TI), TIEmu et TILP.
Co-admin de TI-Planet.

14

Effectivement c'était bien ça, merci beaucoup smile
Programmeur sur TI82, et bientôt sur 89!

15

Tu peux faire #define FULLSCREEN (&(SCR_RECT){{0,0,239,127}}) partout pour les zones de clipping, pas la peine de distinguer les modèles pour ça.

Sinon, une solution portable est #define FULLSCREEN (&(SCR_RECT){{0,0,LCD_WIDTH-1,LCD_HEIGHT-1}}), mais c'est moins efficace et normalement ce n'est pas nécessaire.
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é

16

Avec DoAnyBGS, tu peux faire du Noir et blanc, il suffit de prendre un des deux tableaux qu'il fournit, n'importe lequel, ils sont identiques.
...

17

Oui c'est ce que j'ai fait.
Programmeur sur TI82, et bientôt sur 89!