deeph (./11) :
Merci pour la routine ! Mais est-ce qu'elle permet de démarrer à n'importe quelles coordonnées (même non alignées) ?
Oui, mais pour le moment elle prend les coordonnées initiales puis la largeur/hauteur de la boîte, mais il serait facile de changer ça (bien qu'un peu plus grand) si tu préfères utiliser deux coordonnées
Ça me fait penser, je suis sûr qu'elle pourra servir à pas mal de monde : http://www.omnimaga.org/index.php?topic=1598.msg256238#msg256238
Je suis sûr qu'elle n'est pas trop optimisée, mais je peux le poster là tout de même au cas où quelqu'un pourra s'en servir.
Pour les APPS, en pratique je ne vois pas trop comment charger les routines en RAM... ? Autant modifier la source pour travailler avec les saferam, non ?
Oui, on les charge dans saferam, par exemple :
#DEFINE SAFERAM_OFFSET ($-saferam_start)+saferamRoutines
saferamRoutines = appBackUpScreen ;on garde quelques routines ici pour gagner de l'espace
start:
;charger quelques routines dans saferam pour ouvrir de l'espace
ld hl,saferam_start
ld de,saferamRoutines
ld bc,768
ldir
call keyCheck
ret
saferam_start:
;Ces routines vont être copiées dans saferam pour libérer de l'espace
keyCheck = SAFERAM_OFFSET
; Initialiser les valeurs a 0
xor a
ld (playerMovement),a ;si on a poussé gauche/droite
;clear
ld a,groupe2 ; groupe 2 (clear)
out (1),a ; porte 1: clavier
in a,(1) ; lire
cp diClear
jr nz,$+10
in a,(1) ; lire
cp diClear
jr z,$-4 ;il faut relâcher clear, sinon on va quitter tout le programme !
pop hl
ret ; si on appuie sur clear, quitter le programme
saferam_end:
.echo "Mémoire dans saferam1: ", saferam_end - saferam_start
Jettes un coup d'oeuil au define.
Et pour ce qui est des metatiles, je n'ai pas trop compris l'intérêt (c'est simplement le fait de tous les regrouper en mémoire, non ? Parce que c'est déjà le cas pour les tiles mais pas pour les sprites, mais dans les deux cas je ne vais pas les modifier).
Les metatiles vont te sauver de l'espace. Par exemple :
120000
340000
555500
555500
deviendrait :
100
220
0 =
00
00
1 =
12
34
2 =
55
55
Il faudrait peut-être reorganisé un peu tes maps pour mieux convenir aux groupes de 2x2 (ou plus grand) tuiles, mais tu pourrais gagner pas mal d'espace.
Pour les dommages c'est bon mais ça avance un peu lentement, non ? Pour le moment une animation pour l'attaque n'est pas nécéssaire, mais faire clignoter quelques fois le pokémon attaqué ne se verait pas mal !
Et si tu peux, je crois qu'utiliser des sprites 32x26 serait une bonne idée. As tu déjà dessiné un map du monde ?
C'est impressionant ce que tu as fait !