Orion_ a écrit :
BON, alors genlib VERSION 0.99.20e marche (enfin) sur ma 89
((g pas pris la beta car elle marche po))
La vieille version marche ? Qu'ést-ce que j'ai encore fait moi dans genlib ?
quand je compile un prog d'exemple pour genlib en ASM
ca marche aussi
les exemples en C fonctionne eux aussi
sauf quand je les compiles moi même
Explication: gendisk.c fonctionne quand je le compile moi même
mais genscr16.c ne fonctionne pas quand je le compile moi même
(crash intercepted)
surement parceque genscr16.c fait appel a un fichier externe
gendat16.asm pour inclure les .lvl et .bin
vala, c t juste comme ça pour signaler
Tu compiles avec : tigcc genscr16.c gendat.asm ?
sinon, dans l'exemple gentut.asm, pkoi on utilise 2 DScreen ?
ou pourrait pas en utiliser qu'un seul
car de toute façon tout est redessiner a chaque fois
g pas trop bien compris sur ce plan la.
C'est le principe du double-buffer. Lorsque tu reaffiches la scene, ben la scene que tu es en train d'afficher est pas belle. Si on l'affichait directement on verrait l'etape de construction s'effectuait, bref ca serait pas beau, et ca clignoterait a donf.
Lorsque tu effaces pour reafficher, cela se voit.
Il faut donc afficher une image, et en construire une autre.
D'ou la necessite de deux DScreen, ok ?
en fait y'a 3 ou 4 truc que g pas trop compris:
=compris ;;
=pas compris
; Initialisation de Genlib
; Allocation des ecrans DScreen
(pour le premier DScreen) ;;
(pour le second DScreen)
Cf plus haut
; Initialisation des DScreens
; Creation d'un plan
; Fixe les coordonnées du plan
; Met a jour les coordonnées du plan
; Lecture clavier
; Gestion de Haut/Bas/Gauche/Droite
; Sauvegarde les nouvelles coordonnées
; On affiche le plan en tant qu'arriere plan
On affiche le plan quoi. On l'affiche.
Tu peux l'afficher avec transparence aussi, c'est pour ca que je fais la difference.
; Do the double-buffer
; On attend pour avoir une frequence de l'ordre de 30 Hz 
[/cite]
Ben il faut permutter les deux ecrans. L'ecran que l'on a fini de dessiner, on decide de l'afficher, et l'ecran precedemment affiche va servir comme base pour redessinner le nouveau. Ensuite on fixe une frequence fixe pour le jeu (histoire d'eviter d'avoir des ralentissements et des accelerations sans arret).
Compris ?