15Fermer17
Kevin KoflerLe 05/03/2009 à 03:46
Folco (./7) :
Question : ya du smc/des variables/relogements dans printf ? Ou est-ce exécutable en flash ?

En général le code de TIGCCLIB peut contenir des relogements et même si ce n'est pas le cas actuellement pour une fonction, ça peut changer à tout moment pour une raison ou pour une autre. Quant au comportement actuel: tu as les sources, tu peux aller vérifier. smile
Folco (./9) :
Bon ben parfait en fait. Je vais mettre le printf de TIGCCLIB dans une dll à part dans le pack archive, le code d'ouverture sera identique sous AMS et PedroM, sauf que sous PedroM, j'aurais le bon printf. cheeky

LOL, la fake lib pedrom. grin
Folco (./10) :
Au fait, Kevin, la doc de TIGCCLIB ne précise pas comment se comporte printf au premier appel, sous AMS. Que se passe-t-il ? C'est affiché sur l'écran, directement ? Faut le nettoyer avant ? Il faut initialiser les coordonnées de départ de la première chaine ? Il y a moyen de manipuler ces coordonnées via des romcalls ?

C'est affiché à la position actuelle. Sa valeur initiale n'est pas définie, ça dépend du système d'exploitation. AMS la met à (0,0) par défaut, mais si par exemple tu lances le programme plusieurs fois de suite, la sortie du prochain appel s'inscrira à la suite de celle du premier appel (mais ce n'est pas un comportement documenté non plus). Le mieux est d'explicitement régler une position avec MoveTo, ou d'utiliser clrscr qui inclut un MoveTo(0,0);. Pour récupérer la position actuelle, il faut utiliser SaveScrState, il n'y a pas de fonction pour avoir juste la position du curseur.

Quant à ta question "Faut le nettoyer avant ?", bah, si tu ne le fais pas, ça va t'écrire par dessus ce qu'il y a déjà, ce qui est plutôt moche.