60

Ok! cool...

Bon si tu veux tu peux releaser la version.. tu dl le rar, tu ajoute ton nom ( soit a titre de createur d'un addon si tu veux garder la propriete entiere de tes routines, soit a titre d'coauteur du projet Xlib, dans ce cas la, toute les fonctions de Xlib seront la proprietées de toi et moi... ) dans le readme, ainsi que tes fonctions, et tu le met sur le netsmile
Tu fais comme tu le sents, puisque c'est ton projet comme le mien maintenant... seulement essaie stp de mettre en plus un fichier: VERSION ou tu mets les nouvelles fonctions ainsi qu'un fichier TO_DO...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

61

bah en fait .. je pensais faire ca jusqu'a ce qu'une idée me vienne ..

- faudrait faire un truc plus simple pr l'utilisateur (1seul include qui fera le reste lui)
- une doc structurée (.CHM comme tigcc c pas mal je trouve)

62

>- faudrait faire un truc plus simple pr l'utilisateur (1seul include qui fera le reste lui)

Ça, c'est facile. Il suffit de faire un fichier qui inclut tous les autres. (C'est comme ça qu'on fait dans TIGCCLIB: tigcclib.h inclut tout simplement tous les autres headers.)
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é

63

kevin> merci, mais en fait, ct déja fait, ct pr ne pas brusquer mon pitit TiMad grin il allait croire que j'avais bcp bosser (lol)

64

Ben en fait, c'est parce qu'avec la version 4, ca me corrompt le programme de bench.
Voila. J'attends la nouvelle version que j'ai telechagre de tigcc.
Voila.

65

De toute maniere la version actuelle de Xlib est forcement plus lente que genlib a cause des formats de masks et qqs ptits oublits d'optimisation....

Mais lorsque je sortirai la prochaine version, Xlib sera beaucoup plus rapide pour la programmation C que genlib...

ceci etant dit le passage par registre permettra de bouster Xlib tout comme genlib ce qui est une bonne chose pour ces deux libssmile
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

66

au fait, tu as vu que le pasdsage par registre est maintenant surpporté dans tigcc? ca devrait t'aider...

euh dis moi, j'ai la flemme de tester xlib, non pas que je mette en doute les capacités de la librairie, mais j'aimerais bien que tu mettes ou meme quelqu'un d'autres des exemples d'utilisation de la librairie, c'est a dire des screenshot, de moteur de jeux ou de jeux, voir meme de petites demos... Je dis ca parce que j'ai vraiment pas le temps de la tester... smile

67

Je n'ai pas bein plus de temps que toi.. (prepa..)
Mais j'ai prevue effet des demo pour les prochaines versions de XLib ... avec un calcul de fps...

NB: si j'ai diffusée ces versions, c'etaient pour les programmeurs qui voulaient des routines asm pour tigcc... mais les prochaines version n'auront rien de semblable.
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

68

mem pas un petit screenshot? bon, c'est dommage, j'aurais bien voulu voir, tu sais moi et la curiosité ca ne fait qu'un, meme si je n'ai pas touché a un compilo ti depuis 1 an, ca m'intéresse toujours de voir ce qui ce fait...

69

Heu bein tu vera bien le programme de squale92, quand il sortira un petite demosmile
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

70

>beaucoup plus rapide pour la programmation C que genlib...
On peut toujours rever.

71

Pour la lib, si j'ai bien compris, un Gplan c'est un écran virtuel?
Et x_lib est uniquement nostub ou elle marche aussi en kernel?
ATARI ruuullllleeeezzzzz!!!!!!

72

oué, un GPlan c un ecran virtuel qui fait (-32,-32)->(240,128)

ca devrait quand mm tourner en mode kernel .. mais ca n'a pas d'interet wink tongue

73

Pkoi ?

74

ça devrait tourner en Kernel, je penses...
OUi, il y aura une démo le jour où je sortirai la première béta de KryptonII...
(pour le moment, je n'ai fait que le moteur de colisions avec l'arrière plan... et il n'est pas encore sans failles sad)
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

75

BOn, vu que déjà quelques personnes me l'on demandé, je v essayer de briévement expliquer le format des sprites de Xlib...
(TiMad, tu permet ?)

Nous partirons ici sur un exemples de sprites de largeur 16 pixel, et de hauteur variables (les fonctions de sprites16 sont les plus abouties de Xlib sur le point de vue des sprites)
Un sprite16 peut être en mode maské, ou en mode non maské.

Nopus commencerons par étudier le mode non-maské, qui est le plus simple.
U spirte comporte plusieurs lignes.
Nous noterons ***_light les données du sprites qui seront affichées sur le plan LIGHT_GRAY et ***_dark celles qui seront affichées sur le plan DARK_GRAY
Chauqe ligne du sprite en niveaux de gris est codée par un short correspondant au plan light, et un short correspondant au plan dark. Ainsi, pour la première ligne du sprite, nous aurons ceci :
unsigned short ligne1_light, ligne1_dark.
Le sprite étant constitué de plusieurs lignes, la définition de celui-ci sera la suivante ::
unsigned short mon_sprite16[] = {
ligne1_light, ligne1_dark,
ligne2_light, ligne2_dark,
ligne3_light, ligne3_dark,
// Et ainsi de suite, pour chaque ligne du sprite.
}; // FIN mon_sprite16



Pour les sprites maskés, il convient d'inclure les données correspondant au mask...
On doit colorier en NOIR ce qui ne sera pas transparent (En fait, les mask de XLib correspondent EXACTEMENT à l'inverse des mask de ExtGraph)
Ensuite, il faudra organiser les données de cette façon :
unsigned short mon_sprite_16M[] = {
ligne1_mask, ligne1_light, ligne1_dark,
ligne2_mask, ligne2_light, ligne2_dark,
ligne2_mask, ligne2_light, ligne2_dark,
// ET ainsi de suite pour toutes les lignes du sprite
}; // FIN mon_sprite_16M



Voila, j'espère que c'est plus clair...
sinon, j'en remettrai une couche (ou je laisserai à quelqu'un d'autre le soin de le faire grin°
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

76

Merci Squale92smile
Quelle patience...
Perso le seul probleme dans Xlib c'est que ca me soul de faire un vrai help.. du coup ya pas mal de fonctions qui sont pas inscrites dans le readme mais qui pourtant existesmile

sinon:
>beaucoup plus rapide pour la programmation C que genlib...
On peut toujours rever.

PpHd: tu sais tres bien que si je voulais, je pourais rediculiser Genlib avec une routine faisant du preshifting alors arrete de vanter genlib, surtout que tu triches sur les formats en ne proposant que 3 couleurs...
Et d'ailleur tu veras bien un jour ou l'autre...
Sans compter que deja, sur genlib, il faut distinguer les fonctions cliper des autres... smile qui sont d'ailleur plutot lente
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

77

TiMad> de rien...
Question docs, je commence à avoir l'habitude de passer du temps à en écrire... alors, la patience, je penses l'avoir (entre mon tuto C, le peu que j'ai fait du tuto ASM, la doc AZUR qu'il fo que je compléte, et quelques autres petits trucs parci parlà... grin)
Sinon, pour l'aide de Xlib, tu pourrai pas trouver quelqu'un pr t'aider ?
(je me proposerai bien, mais je suis déjà pas en avance sur la doc de l'AZUR... et Thibaut vas pas être content si je fais une autre doc avant la sienne grin (et puis, je bosses dans l'ordre ad'arrivée grin°)
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

78

Merci squale pour ton post

79

erf trop simple, j'avais déjà compris. wink
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

80

TiMad> Tu fais vraiment pitié, j'ai regardé un peu les sources de Xlib, et je peux t'assurer que c'est moins bien que genlib...

Déjà :
- le big screen, c de la merde : 6 ko de RAM en plus pour un jeu classique, 40000 cycles/frame de copie du buffer
- tes fonctions de pixels sont pas plus rapides que celles de genlib (je sais pas exactement pour genlib, mais en tout cas ça prend 4 cycles de plus que ma version optimisée sans Big Screen), si ce n'est qu'on peut clipper sans traitement spécial sur (-32,-32)...(272,160) - mais c vraiment une utilisation exceptionnelle, car de toutes façons la plupart du tps on doit vérifier le clipping sur une zone plus large
- tes fonctions de sprites sont correctes (mais Sprite16M est pas tip-top), mais encore une fois elles ne gèrent pas le clipping universel. D'ailleurs je suis à peu près sûr que genlib est mieux lorsque le sprite est clippé

Donc arrête de faire le malin en critiquant PpHd, le seul avantage de ton bigscreen c de te simplifier la tâche (bcp plus simple à programmer), mais c 100x moins bien qu'un véritable DScreen... roll

« The biggest civil liberty of all is not to be killed by a terrorist. » (Geoff Hoon, ministre des transports anglais)

81

il avait dit que cette version n'était pas super...
Site : http://www.phareaway.com/
Membre du groupe Phare Away et webmaster du site

82

>tu triches sur les formats en ne proposant que 3 couleurs...
j'en ai assez de repondre a cet argument foireux.
>Sans compter que deja, sur genlib, il faut distinguer les fonctions cliper des autres... qui sont d'ailleur plutot lente
Hum. encore une fois tu montres ton inculture de genlib. Ses fonctions clippées sont TRES rapides. Le test de clipping ne fait perdre en general qu' 1%. Tres peu comparer a l'interet d'un veritable clipping.
>Pollux: merci.

Tu ne fais que repousser le pb plus loin avec les big_screen. Et si je veux afficher un sprite 64x64 ?

83

Comme je l'avais dit Miles, ces fonctions ne sont pas super.. et j'ai encore beaucoup mieux (que XLib)...
Et de toute maniere comme je l'ai dit dans un autre topic, la methode de genlib est plutot simple niveau optimisation...
On vire un peut pres 16 move.w par sprites et plus de dbf.. plus les optimisation du genre move.l + swap.. et on optient un gain de plus de 200 cycles par routines...
Mais bon est ce necessaire pour autant de sacrifier une couleur? (perso moi je dit non..., mais a vous de voir)

Pour les bigPlan.. c'est tout simplement pour simplifier les programmes en C... car oui je perd plus de temps a les effacer etc... (routine meme pas optimisées... mais tiens vous avez oubliez de les critiquer pourtant les move.l (a0)+,(a1)+ c'est tres lent..). Mais la perte de temps est completement negligeable face au temps que l'on gagne sur tigcc...
6 ko de RAM de perdu c'est rien car un seul Gplan est utile....
et de plus ca permet aux programmeurs debutant de faire plus facilement un jeu...


"car de toutes façons la plupart du tps on doit vérifier le clipping sur une zone plus large
" non la plupart dui temps on ne teste meme plus le clipping...

Pour la fonction de pxl.. je peux faire encore plus rapide... mais l'optimisation portera aussi sur les passage par registre (registre de lecture et registre de lecture/ecriture.)

"- tes fonctions de sprites sont correctes (mais Sprite16M est pas tip-top), mais encore une fois elles ne gèrent pas le clipping universel. D'ailleurs je suis à peu près sûr que genlib est mieux lorsque le sprite est clippé "

Elles sont pas encore optimisées... d'ailleur Sprite16M serait beaucoup plus facile a programmer avec un format Genlib

"Donc arrête de faire le malin en critiquant PpHd, le seul avantage de ton bigscreen c de te simplifier la tâche (bcp plus simple à programmer), mais c 100x moins bien qu'un véritable DScreen..."
heu ca simplifie pas la vie des sprites 3 couleurs????? surment que si...
d'ailleur une fonction clippé est plus facile a faire qu'une fonction normale... (dans la partie clipping..)

Le probleme n'est pas repousé pour le clipping....

Et de toute maniere vous pouvez critiquer ce format Xlib, mais je le trouve 100 * plus simple que les formats abituels...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

84

au fait:
"Donc arrête de faire le malin en critiquant PpHd, le seul avantage de ton bigscreen c de te simplifier la tâche (bcp plus simple à programmer), mais c 100x moins bien qu'un véritable DScreen... "

Non je ne fais pas le malin... et j'en ai pas l'intention...
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

85

J'ai encore une question :
Pour que les fonctions de sprite soient clippées, il faut obligatoirement passer par un Gplan? (je pense mais je suis pas sur)

Par la suite y aura pas moyen d'avoir des Gplan de la taille qu'on veut?
ATARI ruuullllleeeezzzzz!!!!!!

86

il n'y a pas de clipping sous XLib (du moins, pas dans la dernière version diffusée)
POur TOUS les graphismes, tu dois passer par un Gplan, puisuqe les fonctions de Xlib ne savent pas dessiner usr autre chose !
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

87

>Comme je l'avais dit Miles, ces fonctions ne sont pas super.. et j'ai encore beaucoup mieux (que XLib)...
Ouah !

>Et de toute maniere comme je l'ai dit dans un autre topic, la methode de genlib est plutot simple niveau optimisation...

>On vire un peut pres 16 move.w par sprites et plus de dbf.. plus les optimisation du genre move.l + swap.. et on optient un gain de plus de 200 cycles par routines...
Mais bon est ce necessaire pour autant de sacrifier une couleur? (perso moi je dit non..., mais a vous de voir)
Tu parles de la routine sprite 16 ?
Mais tu fais pareil cher ami.
Et ca n'a rien a voir avec la couleur.

>Pour les bigPlan.. c'est tout simplement pour simplifier les programmes en C... car oui je perd plus de temps a les effacer etc... (routine meme pas optimisées... mais tiens vous avez oubliez de les critiquer pourtant les move.l (a0)+,(a1)+ c'est tres lent..).
Mais tu avais dis que tu allais changer ca, non ?

> Mais la perte de temps est completement negligeable face au temps que l'on gagne
>sur tigcc...
Houla ! Tu melanges deux temps la !
Le temps de developement et le temps d'execution.
C'est tres different.
Et comme je l'ai deja dit, genlib clippe deja tout (sauf les zooms).
Ou est le pb ?

>6 ko de RAM de perdu c'est rien car un seul Gplan est utile....
+ 4Ko pour l'autre ecran.

>et de plus ca permet aux programmeurs debutant de faire plus facilement un jeu...
De quelle facon ?


>non la plupart dui temps on ne teste meme plus le clipping...
Ah !!!
Je serais vraiment tres curieux de voir ca, moi embarrassed

>Pour la fonction de pxl.. je peux faire encore plus rapide... mais l'optimisation portera
>aussi sur les passage par registre (registre de lecture et registre de lecture/ecriture.)
Est-ce vraiment necessaire ?

>Elles sont pas encore optimisées... d'ailleur Sprite16M serait beaucoup plus facile a programmer avec un format Genlib
Lol.
Franchement, c'est pareil !

>heu ca simplifie pas la vie des sprites 3 couleurs????? surment que si...
Ca economise de la memoire ! Bordel de merde !

>d'ailleur une fonction clippé est plus facile a faire qu'une fonction normale... (dans la partie clipping..)
rotflrotflrotfl
Ca n'a rien a voir

>le probleme n'est pas repousé pour le clipping....
Mais si !

>Et de toute maniere vous pouvez critiquer ce format Xlib, mais je le trouve 100 * plus simple que les formats abituels...
C'est kif,kif la meme chose. A part que ca prend bien plus de place.

88

>Bon PpHd, si tu le permets, on parle pas de ca dans ce topic, mais dans le topic Xlib, car on va pas foutre en l'air tout les topic quand meme....
ca me derange pas pourtant smile

>Genlib ne gere pas les levels (on a pas la meme definition des levels...)
>Scroll diff/seq annimation sont gérée AUTOMATIQUEMENT PAR XLIB!!!
>genre:
>XTimerOn(0);
>XL_Setup(plan1,plan2,plan3,annim);
>for (i;i<750;i++) XL_XY(i,sin(i));
>XStep(10,logo);
>for (i;i<300;i++) XA_D16x16(1,1,logo);
Punaise. Ca m'a l'air ultra rigide.
C'est vrai qu'avec genlib, faut faire, heu, tu pourrais ameliorer ton exemple, la, parce que j'arrive pas a le convertir. Il me manque des points de vues.
Et puis avec genlib, y'a un nombre infinie de plane tongue

>Et voila... tu a ton moteur avec un scrolling differentiel sur 3 Plans et un plan
>d'annimation...
>Apres tu a un petit logo animmé tout seul par X...
>et la tu as une camera qui se balade en faisant une sinusoide...
Ca m'a l'air pas souple du tout ton affaire.

>Alors le jour ou je vera ca sur genlib ... alors peut etre que tu pouras dire qu'elle est >evoluée....
Hyper rigide oui !

>ceci etant dit si tu veux encore repondre, fais le sur le topic Xlib.....
C'est fait.

void lets_start()
{
unsigned short number = 0;
PLANE *P1 = gl_init_plane(mat1, tiles, 5);
PLANE *P2 = gl_init_plane(mat2, tiles, 6);
PLANE *P3 = gl_init_plane(mat3, tiles, 7);
P1->x = P1->y = 0;
P2->x = P2->y = 0;
P2->x = P2->y = 0;
int s1 = 1, s2 = 2, s3 = 4;

while (!gl_key_pressed())
{
gl_update_vscreen_16(P1);
gl_update_vscreen_16(P2);
gl_update_vscreen_16(P3);

P1->x+=s1;
if (P1->x > 32 || P1->x < 0)
s1 = -s1, P1->x+=s1;
P1->y = 5 + 4*gl_sin[5*P1->x/8];

P2->x+=s2;
if (P2->x > 64 || P2->x < 0)
s2 = -s2, P2->x+=s2;
P2->y = 10 + 9*gl_sin[4*P2->x/3];

P3->x+=s3;
if (P3->x > 128 || P3->x < 0)
s3 = -s3, P3->x+=s3;
P3->y = 30 + 25*gl_sin[P3->x];

Ready();
gl_put_plane(P1);
gl_put_fgrd_plane(P2);
gl_put_fgrd_plane(P3);
gl_put_sprite_16(P1->x+10, P1->y+20, (number++)/4 & 3);
Wait15();
SwapBuffer();
}

}

Et voila. Et chez moi ca marche, maintenant. Et pas demain smile

[edit]Edité par PpHd le 26-02-2002 à 17:40:00[/edit]

89

Et voila. Et chez moi ca marche, maintenant. Et pas demain wink
j'adore grin bien que je m'en bas les couilles de votre debat xlib genlib
BURNING FIRE

90

c'est marrant grin
ça rappelle de bons souvenirs sur deux autres débats grin
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