1

Est-ce que vous savez coment créer et afficher des sprites en C pour 89ti ?

2

oui avec différent logiciels
Moi jutilise Sprite artist 68k pour des sprites noir/blanc/gris de 8²,16²,32² : il te sort le code pour c en tps réel avec un apercu (aussi en tps réel)
sinon il ya a aussi ti paint plus qui est très bien pour transformer bmp en C ou pour dessiner des sprites plus gros.
Ces 2 logiciels sont sur ticalc.org
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)

3

ok merci bien.
Et pour les afficher ?

4

Pour les afficher il y a les fonctions de la TIGCC lib comme par exemple:
Sprite16 (short x, short y, short height, unsigned short *sprite, void *vm_addr, short mode);

5

vous avez pas un exmple d'utilisation de Sprtie16 ?? ou d'un autre truc qui marche pasque je suis pas sûr d'avoir saisi la syntaxe........

Merci

6

Y'a pas mal d'explications (et même peut-être un exemple de code, je sais pas) dans la notice de TIGCC
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

7

en effet dans la doc il y a des exemples. Mais c pas évident toute la doc est en anglais et je n'ai qe le niveau d'un Term S LV2...
je vais me démerder comme ça c pas grave. Je vais bien trouver qqn qui sait l'utiliser et qui va m'expliquer..

Merci à tous

8

Il doit y avoir des exemples dans les examples de TIGCC...
Sinon pour apprendre le C, il y a pas mal de tutos sur internet.
avatar
« Quand le dernier arbre sera abattu, la dernière rivière empoisonnée, le dernier poisson capturé, alors vous découvrirez que l'argent ne se mange pas. »

9

ouais j'ai dit que j'avais vu un exemple dans la doc de TIGCC.
Merci.
Et pour les tutos, j'en n'ai pas vu bcp.
Si vous en connaissez nh'ésitez pas à m'en parler !

10

11

je l'ai lu mais il ne va pas très loin. Il explique très bien, mais il s'arrête après les variables, les boucles for, if, quelques ROM_CALLS, quelques fonctions et les comparaisons de variables.
J'aimerais bien voir un tuto qui va un peu plus loin (notamment qui parle de sprites).
Et au fait, est-ce que le C pour pc ça peut se compiler pour 89ti ? où ya-t-il des bouts de C qui marchent pas en 89ti.
la commande getch par exemple ne marche pas avec les 89ti. Je ne sais pas si c une exception.

12

Gustavitch
: en effet dans la doc il y a des exemples. Mais c pas évident toute la doc est en anglais et je n'ai qe le niveau d'un Term S LV2...

Le niveau Term S LV2 devrait être largement suffisant pour comprendre. Mais c'est évident que si tu as 2 ou 3 de moyenne, il y a un problème. grin
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é

13

eh !! je suis normal !! j'ai un niveau normal pour ma classe. J'ai pas 19 mais j'ai des notes tout à fait honorables mais je trouve quand même que c pas évident de tout piger en anglais ! Déjà que en français c pas évident...

Le problème c que je connais personne qui prog en C ou en asm donc vous êtes les seules personnes sur qui je me rabat. Donc vous vous payez toutes mes questions pourries dsl. tongue
Mais bon, vous me renvoyez à une doc en anglais. C pas grave. Je vais me démerder seul. tant pis. sad wink

14

Cadeau:
void Sprite16 (short x, short y, short height, unsigned short *sprite, void *vm_addr, short mode);

Affiche un sprite avec une largeur de <=16 pixels sur l'écran.

Sprite16 marche exactement comme Sprite8, mais il prend des sprites avec une largeur de 16 pixels. sprite est maintenant un pointeur vers un tableau d'entiers unsigned short qui définit le sprite. Donc, pour définir un sprite (ou un masque), utilisez quelque chose comme
static unsigned short sprite[] = {...}; Voir Sprite8 pour plus d'informations au sujet des sprites.


Ensuite, Sprite8 te donne un exemple d'utilisation:
// Display a masked sprite over an arbitrary background

#define USE_TI89              // Compile for TI-89
#define USE_TI92PLUS          // Compile for TI-92 Plus
#define USE_V200              // Compile for V200

#define OPTIMIZE_ROM_CALLS    // Use ROM Call Optimization
#define MIN_AMS 100           // Compile for AMS 1.00 or higher
#define SAVE_SCREEN           // Save/Restore LCD Contents

#include <tigcclib.h>         // Include All Header Files

// Main Function
void _main(void)
{
  static unsigned char sprite[] = {0xFF,0x81,0x81,0x81,0x81,0x81,0x81,0xFF};
  static unsigned char imask[] = {(unsigned char)~0xFF,(unsigned char)~0xFF,
    (unsigned char)~0xFF,(unsigned char)~0xFF,(unsigned char)~0xFF,
    (unsigned char)~0xFF,(unsigned char)~0xFF,(unsigned char)~0xFF};
  int i;
  ClrScr ();
  for (i = 0; i <= LCD_WIDTH; i++)
    DrawLine (i, 0, i, LCD_HEIGHT, A_SHADE_NS);  // A simple background
  Sprite8 (30, 30, 8, imask, LCD_MEM, SPRT_AND);
  Sprite8 (30, 30, 8, sprite, LCD_MEM, SPRT_OR);
  ngetchx ();
}


Donc qu'est-ce que tu ne comprends pas exactement?
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é

15

ok ok un exemple ton spriteu s'appeleu Prout
c'est un sprite 16*16.
Tu veux l'afficher a la pos 100,40.
Tu fais Sprite16(100,40,16,Prout,LCD_MEM,SPRT_OR)
mais ca franchement mm moi qui ai commencé en septembre j'ali lu dans la doc du help
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)

16

lol quel timing Kevin
Au fait je pense tajouter dans les remerciements quand Wars of Legend sera terminé (ptète un jour)
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)

17

je l'ai lu mais il ne va pas très loin. Il explique très bien, mais il s'arrête après les variables, les boucles for, if, quelques ROM_CALLS, quelques fonctions et les comparaisons de variables. J'aimerais bien voir un tuto qui va un peu plus loin (notamment qui parle de sprites).

sur le site http://www.ti-fr.com tu trouveras l'ancienne version de mon tutorial, qui va plus loin que la nouvelle (qui est loin d'être finie), au prix de quelques petites fautes et imprécisions de temps en temps smile
J'ai pas 19 mais j'ai des notes tout à fait honorables mais je trouve quand même que c pas évident de tout piger en anglais ! Déjà que en français c pas évident...

il est certain que comprendre un document informatique rédigé en anglais quand on ne connait pas l'informatique ni la programmation, d'une, ni le vocabulaire de l'anglais informatique, c'est pas super super simple...
mais courage, au bout de quelques mois à lire de l'anglais informatique, tu le comprenras bien mieux, crois moi smile (je parle d'expérience)
avatar
Tutorial C (TI-89/92+/v200) - Articles Développement Web (PHP, Javascript, ...)
« What is the sound of Perl? Is it not the sound of a wall that people have stopped banging their heads against? » - Larry Wall

18

merci bien, c cool.
Mais je reprend ta syntaxe Kevin :
{
static unsigned char sprite[] = {0xFF,0x81,0x81,0x81,0x81,0x81,0x81,0xFF};
static unsigned char imask[] = {(unsigned char)~0xFF,(unsigned char)~0xFF,
(unsigned char)~0xFF,(unsigned char)~0xFF,(unsigned char)~0xFF,
(unsigned char)~0xFF,(unsigned char)~0xFF,(unsigned char)~0xFF};
int i;
ClrScr ();
for (i = 0; i <= LCD_WIDTH; i++)
DrawLine (i, 0, i, LCD_HEIGHT, A_SHADE_NS); // A simple background
Sprite8 (30, 30, 8, imask, LCD_MEM, SPRT_AND);
Sprite8 (30, 30, 8, sprite, LCD_MEM, SPRT_OR);
ngetchx ();
}
alors, tu as défini les deux sprites "sprite" et "imask".

et dans Sprite8(30,30......)
le LCD_MEM ça sert à quoi ?
et SPRT_OR c pour faire un pixel sur 2 ça j'ai vu.

et les deux lignes "(unsigned char)~0xFF....." je sais pas ce que c.

PS j'ai remarqué que tu avais repris l'exemple de la doc de TIGCC wink mais merci quand même.

Et au fait, estèce que le C de pc c le même que le C de calto ? (peut-être c con comme question...)

19

20

Martial Demolins
: non, le C de tigcc c'est du C GNU, celui du PC probablement du C ANSI.

Pas obligatoirement.

Mis à part les fonctions qui peuvent changer (encore qu'une grande partie des fonctions de la bibliothèque standard de TIGCC ressemble à ce qu'on trouve sur PC), le C est le même... Enfin il "peut" être le même, après si tu préferes programmer en C ANSI, tu fais comme tu veux smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

21

22

Oui bien sûr qu'il ya des différences, mais tu sais rien ne t'oblige à placer le switch "-ansi" quand tu programmes sur PC avec GCC smile
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

23

24

Merci bien de toutes vos réponses.
Je vais pouvoir utiliser des sprites maintenant !!!!!

25

Les différences, ce n'est pas tant le langage C ANSI/ISO vs. C GNU (le C GNU, c'est l'ANSI/ISO avec des trucs en plus), mais la librairie standard qui n'est pas complètement conforme à ce qui est décrit dans le standard ANSI/ISO. On fait notre possible, mais avec un système d'exploitation qui ne propose pas de librairie C nativement (à part des fonctions isolées), et avec des contraintes de taille sur ce qu'on peut linker statiquement dans les programmes, ce n'est pas facile.
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é

26

Au sujet des sprites. Je voulais savoir si ti paint plus ne serait pas buggé par hasard? par ce que ce matin j'ai eu un énorme problème.
Je voulais faire un cadre de 48 de largeur sur 96 de hauteur (ce sont bien des multiples de 8)
mais voila ce qu'il me sort:
unsigned long Image_C0[] ={
0xFFFFFFFF,0xFFFF0000,
0x80000000,0x00010000,
0x80000000,0x00010000,
0x80000000,0x00010000,
0x80000000,0x00010000
...encore la meme chose plein de fois
,0xFFFFFFFF,0xFFFF0000};

Ce qui fait que sur VTI ou la calculette, ca donne pas du tout un restangle. Quelqu'un connait un autre prog plus fiable qui permet de dessiner ses sprites a n'importe quelle taille?
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)

27

DoomAngel
: Au sujet des sprites. Je voulais savoir si ti paint plus ne serait pas buggé par hasard?

Si, en effet.
Quelqu'un connait un autre prog plus fiable qui permet de dessiner ses sprites a n'importe quelle taille?

Windows Paint pour dessiner et Image Studio pour convertir. Si tu veux utiliser la version originale, exporte en binaire et utilise ttbin2hex. La version 2, réécrite, peut directement exporter en C.

Sinon, il y a aussi pas mal d'éditeurs de sprites sur ticalc.org et autres.
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é

28

Si tes sprites sont au format Extgraph, j'ai un éditeur qui pourrait peut-être marcher... grin

topics/51602-tisprite-sprite-editor-for-windows
avatar
All right. Keep doing whatever it is you think you're doing.
------------------------------------------
Besoin d'aide sur le site ? Essayez par ici :)

29

cool comme ca c'est encore plus simple quoique chuis amoureux de paint
Vive! la Ti-89!
(Mon anneau pylorique est complètement fermé. C'est le résultat de la proximité de cet individu.)