1113Fermer
chickendudeLe 01/02/2013 à 10:49
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 wink
Ç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. smile
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 ! grin 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 !