30

J'ai commencé à coder quelques trucs mais pour l'instant le programme doit (ou devrait) normalement récupérer la valeur de la variable Y et placer dans Str0 le caractère correspondant à celle-ci. Et là ça me copie que le caractère '?' dedans, donc je vais essayer de voir pourquoi...

31

Ok merci beaucoup, ce programme (s'il marche ^^) suffira amplement. Les valeurs possibles des caractères vont de 1 à 256 ?

32

En théorie ça devrait aller jusqu'à 236 ($EC) pour les caractères mais au delà ça ne devrait pas crasher, seulement recopier n'importe quoi.

33

Ok merci. J'ai regardé un peu plus les stats sprites, et c'est normal qu'à chaque fois qu'on veut bouger le sprite il faille redessiner toute la map ?

34

Oui. En fait, ces sprites servent juste à dessiner la map. Mais pour ça elles sont super efficaces!

35

Lol, ok ^^. En tout cas, l'utilisation de text sprites pour dessiner la map économise la mémoire, s'il y a des motifs qui se répètent.

deeph, tu t'en sors avec le prog asm ?

36

tromb Fichier joint : MAKECHAR.8xp
Voilà, là dedans y'a pas mal de caractères spéciaux. (il n'y sont pas tous, et notament on peut aller chercher X- et y- dans Vars, stat).

Je pense que le Béta de la troisième ligne n'apparait pas dans le tableau.
Voici donc un autre tableau des caractères, venant de Asm In 28 Days celui là! grin
VpYe

Et donc mon caractère est le dernier référencé (le F1 manquait aussi)...

Je pense que l'autre tableau est valable pour la Ti 83.

37

Merci, mais tous ceux qui sont dans le programme je les ai déjà. Ceux qui me manquent, ce sont les plus bizarres ^^, genre vers la fin du tableau. Enfin bon je ne comprends pas qu'il n'existe pas déjà un prog qui donne la chaîne de tous les caractères.

38

Baruch (./35) :
deeph, tu t'en sors avec le prog asm ?

J'ai pas eu trop le temps d'y regarder mais dès que j'ai le temps je m'y remet.

Tiens d'ailleurs je viens de me rendre compte qu'il y a un caractère qui n'est dans aucun des deux tableaux : la 'grille' qui apparait quand il n'y a plus de place dans le nom d'un programme ou quand la RAM est pleine.

39

C'est tt simplement parce que certains sont interdits en basic... D'ailleurs, si t'as déjà édité un programme Asm, on y trouve des tokens composés qui correspondent à des tokens inaffichables.
Dans tous les cas, les caractères sont faits pour être affichés, pas stockés...

40

En ASM si justement, on peux pratiquement tout faire, après faut voir avec le TI-Basic si c'est possible d'afficher ce genre de caractère.

41

Tu t'occupes du programme deeph ? Désolé de te le rappeler, mais ça me permettrait de créer un prog d'analyse de text sprites.

42

Erf j'ai pas eu le temps de m'y remettre, je suis assez occupé en ce moment, mais dès que je serais réellement en vacance je m'y remettrais (vendredi soir quoi).

43

Excellente nouvelle !! J'avais fait mes calculs précédents sur des colonnes de 6 pixels. Or il n'y a que très peu de caractères qui ont le pixel du haut (le 6e) allumé. Etant donné que la grande majorité des txt sprites ont 5 pixels de hauteur, j'ai refait mes calculs en ne prenant que les caractères dont le 6e pixel est éteint. Et là, devinez combien il y a de combinaisons réalisées sur les 32 théoriques ? 31 !! 31 combinaisons de 5 pixels réalisées ! Il manque donc une seule combinaison, la voici :

5
4 0
3
2 0
1 0

44

Voilà j'ai fait un programme qui donne la chaîne de caractères à utiliser. J'ai pris les meilleurs caractères de chaque combinaison de pixels, en minimisant la largeur et le nombre de pixels allumés. Regardez-le et dites moi ce que vous en pensez.


tromb Fichier joint : TXTSPRIT.8xp
tromb Fichier joint : AFFICHE.8xp
tromb Fichier joint : Text Sprites readme.txt

deeph, je ne sais pas si ton programme peut être utile, enfait je ne sais pas si certains caractères peuvent être affichés sur l'écran graphique ou non.

45

Dsl ya un bug pour le nombre d'espaces (enfin, ça a pas l'air de vous déranger XD).

46

(hs:
Baruch (./5) :
"to hard code" ?

ca doit correspondre a ce au'on appel "coder en dur" en francais.

En gros c'est lorsque qu'au lieu d'utiliser qqch de 'souple' (utiliser une variable a initier, un fichier de configuration et recuperer les valeurs, des donnes sous forme de donnes et les traiter ensuite presque genralement dans le code, etc.. ) tu fais ca de facon beaucoup moins adaptable: genre les donnes numeriques directement dans les lignes de code, etc. ( par exemple au lieu d'avoir un fichier independant representant tous les strings du programme a afficher, tu les mets directement en argu;ent de commande dans le code, .. )

C'est évidemment pas une très bonne pratique sur pc mais sur TI/support très limite ca se justifie souvent.

L'expression 'en dur' vient du fait que les valeurs sont compilés avec le programme il me semble. (mais bon si t'utilises un #define pour une constante suceptible d'être modife, c'est dejq moralement moins hard codé que de mettre la valeur a chaque fois cheeky )
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

47

Oui c'est globalement la définition que j'attachais à cette expression. Merci pour ta réponse ! (qui ne fait que confirmer le fait que mon programme n'intéresse personne... ^^)

48

( sinon ton prog me semble très intéressant mais bon comme j'ai pas codé en ti-basic depuis une éternité .. )
«Les gens exigent la liberté d’expression pour compenser la liberté de pensée qu’ils préfèrent éviter.» - Sören Kierkegaard

La République, c’est comme la syphilis : quand on l’a attrapée, soit on se fait sauter le caisson, soit on essaie de vivre avec.

49

Ok, ok, excusé ^^. Enfait je vais écrire un vrai document sur les text sprites, avec un tableau des caractères, etc...

50

Baruch (./47) :
Oui c'est globalement la définition que j'attachais à cette expression. Merci pour ta réponse ! (qui ne fait que confirmer le fait que mon programme n'intéresse personne... ^^)


hum Maic c'est quoi ce défétisme??

Si, si, il est intéressant!

Moi je vais le tester, mais je te préviens, je pars en vacances demain, donc t'auras pas de réponse avant longtemps...

51

Et mais oui j'avoue c'est génial ce que tu fais la !! Je viens d'apprendre ce que c'était un text sprite et je pense vraiment que ton programme peut en aider plus d'uns ^^ (C'est le but non ? ou alors j'ai rien capter et c'est probable XD)

52

Je sais pas si ça peut aider certains, mais faire l'inventaire des caractères, les trier par combinaison de la première colonne, trouver le meilleur caractère pour chaque combinaison, mettre les caractères (non accessibles sur TIPE) dans une chaîne de référence, c'était un peu beaucoup pas amusant.

Enfait, pour que le programme soit utile, il faudrait déjà que les programmeurs sachent ce qu'est un text sprite. Je vais donc faire un document pour expliquer en détail ce que c'est.

Je vais modifier le programme, parce-que le nombre d'espaces ajoutés est faux.
Enfait, à droite du sprite, il faut rajouter des espaces pour effacer les caractères qui dépassent.

53

ok ok , c'est une très bonne idée d'écrire un tuto sur les text sprite happy J'ai essayé de lire le lien qui était en anglais la, mais je pense que je n'ai pas tout compris (mais l'essentiel si ^^). Donc si tu fais ca c'est vraiment cool !

54

oui, ce serait même très cool ; j'ai toujours du mal à voir ce qu'est un sprite d'ailleurs... confus
avatar
loclamor
Mondo Photo
Le voyage en photo et en 1 clic

55

Bon, il est pas mal ton programme... Assez rapide, enfin sympas quoi^^
Par contre, pr les espaces, tu peux les trouver simplement à partir de pxltest, parce que là tu stockes bcp d'infos alors que tu gagnes pas bcp en vitesse...

Vous devriez lire les tuto bande d'ignares^^ (y'a 3 semaines, j'en savais rien nn plus)
Par contre, je trouve que y'a déjà pas mal de tuto (même s'ils sont en anglais).

Mais je croyais que tu voulais faire des sprites verticales... Finalement, t'as abandonné l'idée?
Et les grands caractères?

56

Eh oh 2 sec ! ^^

Pour les sprites verticals et pour les grands caractères, il faut que je refasse une analyse de tous les caractères, donc ça va prendre du temps.

J'ai pas compris comment tu envisages de trouver le nombre d'espaces à ajouter avec pxl-Test().

57

Ben tu testes sur quelques pixels à droite de l'image si y'a des pixels allumés, exactement comme quand tu lis l'image, mais dans un autre but : tu comptes les rangées à éteindre... (c'est un truc que je fais dans Editext2)

58

Ben non ça ne marche pas, puisqu'il faudrait alors afficher le sprite en laissant dépasser les caractères, puis compter.

59

Oui^^ C'est à ça que je pensais... Ou juste afficher le bon caractère.

60

Même pas, ce n'est pas toujours le dernier caractère qui dépasse. Certains caractères ayant le 6e pixel (en haut) allumé font 5 de largeur, alors que d'autres caractères font 2 (je te laisse faire un dessin).

Enfait la nécessité d'effacer les caractères qui dépassent est vraiment le point faible des text sprites. Si on veut afficher un ensemble de sprites mobiles, et qu'on veut qu'ils soient séparés seulement par un pixel (une colonne blanche), il faut utiliser à la fin du sprite un caractère de largeur 2, qui sont peu nombreux (5).