90

Bon si vous voulez je peux lâcher dès maintenant une première version avec un tout petit exemple (pourrit, c'est juste pour que vous puissiez comprendre l'esprit de la lib), mais alors il n'y aura pas :
- de convertisseur de sprites vers mon format (démerdez-vous)
- de tutoriel
- de documentation
- de programme d'installation (vous allez devoir copier à la main le .a et le .h dans les bons répertoires de TIGCC)

Sinon vous attendez, et vous aurez tout ça PLUS les PutSprites 8x8 ET le PutSprite 16x16 masqué plus rapides.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

91

Thibaut>ben vas-y, vu l'importance de ce qu'il n'y aura pas ... y'a que le convertisseur qui peut avoir une petite importance mais pas pour le debut; pour tester la lib ...

freka> c koi une demo representative de condition de jeux pour toi ?

92

Ben toute simplement un screenshot de moteur de jeux toute simple, faire defiler un decor avec quelques effets et anims dedans, et c'est tout.
je sais bien qu'un vrai jeu ou programme a une charge bien plus importante liée a la gestion de tout le reste, mais ca n'empeche pas de s'apercevoir des qualités de la lib!

200 lignes de code doivent suffir! mais je parle pas de publier un beta, mais de mettre un screen dans le topic avec le source lié au screen! Il doit bien avoir des exemple, puisqu'il l'a programmé, il a du la testé lui meme!

Comme ca on pourra voir avec quelle aisance on peut utiliser son api dans un exemple concret, et voir si elle tient un minimum le coup

93

oki top

94

T'inquiètes elle doit tenir le coup vu qu'elle est plus rapide qu'ExtGraph (c'est PpHd qui l'a dit) tongue

>> Il doit bien avoir des exemple, puisqu'il l'a programmé, il a du la testé lui meme!
J'ai un exemple tout petit (celui que vous aurez ) : il n'y a vraiment pas besoin de 200 lignes ce code pour voir si telle fonction marche comme prévu triso
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

95

Thibaut> j'espere en tout cas qu'elle prend pas bcp de place ...

96

Voilà, démerdez-vous (vous pouviez quand même attendre pour faire les benchs, votre vie ne tient pas à ça ...) grin
http://alineasofts.free.fr/extern/graphx.zip

Ne benchez aucune fonction de sprites 8x8 ni la fonction de sprites 16x16 masqués : elles ne sont pas encore optimisées.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

97

merci gni top

98

Je viens de voir que j'ai fait une erreur dans un commentaire vers la fin de l'exemple :
GX_PutSprite16_MX(s_16x16n, x, y); // affichage dans le buffer de travail d'un sprite qui efface tout les pixels sous lui
Il faut lire :
GX_PutSprite16_MX(s_16x16n, x, y); // affichage dans le buffer de travail d'un sprite qui se mélange à l'image déjà présente (OR)
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

99

Attention, la variable "_nostub" est exportée à certains endroits de GraphX.a. Dans les fonctions écrites en C, il faudrait rajouter #define _GENERIC_ARCHIVE parmi les directives au début. (C'est peut-être de ma faute: j'avais oublié le '_' du début quand je t'ai parlé de la directive.)

(La variable "_nostub" ne doit en aucun cas être exportée dans une librairie statique parce que soit le programme principal est en _nostub et alors c'est lui qui exporte la variable "_nostub", soit le programme principal est en mode kernel, et alors si la librairie statique exporte la variable "_nostub", il y aura une erreur du linker.)
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é

100

C'est fait exprès pour forcer le mode _nostub, ça devrait te plaire ! grin
avatar
;)

101

Kevin : Tu avais oublié le '_' c'est de ta faute tongue
Comment tu fais pour voir quels sont les labels exportés ? en ouvrant avec NotePad pour y rechercher (F3) les chaînes ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

102

qqch me dit qu'il n'a pas renifler son doigt apres se l'etre foutu dans le cul pour trouver ca tongue
ah la la triso

103

BiHi a écrit :
C'est fait exprès pour forcer le mode _nostub, ça devrait te plaire ! grin

rotfl
Thibaut
a écrit : Comment tu fais pour voir quels sont les labels exportés ? en ouvrant avec NotePad pour y rechercher (F3) les chaînes ?

Quand on ouvre un fichier .a dans un viewer/éditeur de textes, on remarque tout de suite les symboles, vu que ce sont les seuls chaînes lisibles.
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é

104

Ok c'est ce que je pensais smile ça n'existe pas des "éditeurs" de fichiers archives ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

105

Ben, ar. grin
Et tu peux utiliser ar pour décomposer l'archive en fichiers .o, et ensuite objdump pour extraire des informations des fichiers .o. (objdump n'est pas livré avec la distribution binaire de TIGCC, il te faut compiler Binutils à partir des sources pour l'avoir.)
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é

106

Thibaut> ta lib est une vraie concurrente de ExtGraph ... et plus orientée jeux que extgraph .. c bien oui

107

Alors ? par rapport à Xlib tu as mesuré ? et GenLib, ExtGraph ?
Tu as testé quelles fonctions ? tu peux me montrer le code ?
smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

108

bon, j'ai pas comparé avec EXTGraph ... mais avec XLib !

je fais sur un temps d'à peu pres une seconde ... (USER_TIMER = 20 donc bourin) et j'arrive (avec une vieille version de XLib, sur le pxlput: graphx est a 80% de la vitesse de XLib mais bon ... ca veut pas dire grand chose comme ca ...
ce type de bench ne donne qu'une idée ... pis ct sous VTI .. enfin ... c que du test limite smile

par contre, je trouve que GraphX est plus compliquée que XLib à utiliser roll c dommage

109

Quoi !!!!!! eek Alors là, explique ce que tu trouves compliqué, parceque je ne vois vraiment pas comment faire plus simple !!!!!!!!!


Sinon ton test ne veut effectivement RIEN dire :
- tu as fait ça sous VTI en te basant sur une int déjà imprécise à la base, alors sous VTI....
- je suppose que tu as testé sur une (V)TI89, alors qu'il faut tester sur TI92+ pour que ce soit comparable (certaines parties de Xlib sont un peu plus rapides sur TI89, non ?).
- enfin, c'est plutôt les fonctions de sprites qu'il aurait fallu tester, pas le PutPixel car ce n'est franchement pas ce qui sert le plus dans un jeu wink
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

110

>j'ais pas dis que c'etait compliqué ... mais que c'etait plus compliqué que XLib .. smile

> le test que j'ai fait, c'est juste pour donner une idée .... car c'est la même condition de test pour les 2 ...
> XLib travaille pareil sur 92 et 89 .. une 89 est une 92 pour lui ... enfin .. tu me comprends
> ca m'interesse pas trop les sprites wink

111

Tu peux dire les choses qui sont plus compliquées que Xlib, et poster les 2 codes sources de tes tests ? merci smile
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

112

de pas bien> pas de transparence pour les buffer de gray (transparence .. on ne sais pas ce qui se passe), exemple, couleur tu pxlput ?????

le code, ca donnait ca;

OSFreeTimer(USER_TIMER);
OSRegisterTimer(USER_TIMER,20);

long jk = 0, jm=0;

OSTimerRestart(USER_TIMER);
while(!OSTimerExpired(USER_TIMER)) {GX_PutPixel (10,10); jk++;}

OSTimerRestart(USER_TIMER);
VGScreen=XNewGPlan();
XGPlanc(VGScreen);
XGOn();
OSTimerRestart(USER_TIMER);

while(!OSTimerExpired(USER_TIMER)) {XGPxlBPut(120,10,2); jm++;}

XDestrGPlan(VGScreen);
XGOff();

113

Comment ça on ne sait pas ce qui se passe ? je comprend pas ce que tu veux dire triso

Autrement, je vois que tu as oublié d'initialiser GraphX, tu as dû écrire n'importe où en mémoire gni

Et ton test me semble encore moins significatif... à ce que j'ai dit au post #108, il faut ajouter : "- tu as testé avec des coordonnées fixes, ce qui peut avoir une influence, surtout avec les sprites, mais peut-être aussi avec les pixels pour Xlib"
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

114

c ca les inits:

 GX_HANDLE workHdl;  //GraphX
  short x, y;
  void *VBWScreen = NULL; //XLib
  char buff[3840];
  
  if (!GX_PowerOn())
  {
    return;
  }
  
  workHdl= GX_CreateBuffer();
  if (workHdl == H_NULL)
  {
    GX_PowerOff(TRUE);
    return;
  }
  
  GX_SetWorkBuffer(workHdl); 



je les avait pas mis ici ..roll
et j'ai mis ca apres le bench de ton putpxl:

	GX_PowerOff(TRUE);


je pensais pas que tu voulais tout le code ... sad
je me suis planté ???
PS: je n'ai pas testé les sprt


thibaut> je veux dire par on ne vois pas ce qui se passe, c'est: comment je fais si je veux connaitre l'etat du buffer le LIGHT_GRAY ?

115

HéHé...
Si XLib n'est pas sortit, c'est pas qu'elle n'est pas terminée.. loin de la.. ca fait un baille que le code est terminé...mais faut faire:
La doc
Le convertiseur de sprite
L'editeur de level


ce qui prend pas mal de temps.. pour cela j'ai du apprendre le C++ et le pascal orienté objet.

Sinon niveau simplicite.. ca va etre dure de faire plus facile que X:



void main(void)
{
void *VScreen = NULL;
unsigned short i;

XGOn();
VScreen:=NewGPlan();
XPlanc(VScreen);

for (i=0;i<130;i++)
{
XBWLevel(i,i,&BackGround);
XTLevel(i<<2;i,&ForGround); // format transparence ou alors XNLevel format normal
}

}

et voila t'a ton scroll diff... cet exemple est compilable directement avec TIGCC apres avoir construit la lib avec un programme qui optimise les bcc... en ordonnant certaines primitives de la lib.
XLib v1.00 Powerrrrrrrrrrrrrrrrrrrr!

116

timad, faudra qu'on se parle sur IRC pour voir où on en est.

117

Ca a l'air top ces nouvelles fonctions TiMad et nEUrOne !! eekoui
Non-Webmaster et non-programmeur du site. .Pour tout probleme ou question ,débrouillez vous avec les Webmasters .

«- Pas Moo ! ^^

118

>> comment je fais si je veux connaitre l'etat du buffer le LIGHT_GRAY ?

Heu je ne comprend toujours pas, désolé grin c'est quoi l'"état du buffer" ?
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.

119

S'il est complement rempli(redessiné) ou pas, je pense!

120

Tu veux dire s'il est entièrement affiché à l'écran ou pas ?

On n'a pas besoin de le savoir, car GraphX fonctionne avec deux buffers : un buffer de travail et un buffer d'affichage. Il est impossible d'écrire dans le buffer d'affichage smile donc on dessine dans le buffer de travail, et quand on a fini on appelle GX_DisplayWorkBuffer qui effectue un simple échange de pointeurs.

Pas de problème de synchronisation, donc.
avatar
Un site complet sur lequel vous trouverez des programmes et des jeux pour votre calculatrice TI 89 / Titanium / 92+ / Voyage 200 : www.ti-fr.com.
Quelques idées personnelles ici.