Posté le 06/12/2014 à 08:48 Membre depuis le 15/03/2005, 3470 messages
Oui ce format est bien, de souvenir je n'utilisai juste pas les stats spéciales (et pas encore le "catch rate"). Par contre il faudra coder les CT/CS (TM/HM) aussi du coup.
Posté le 06/12/2014 à 09:54 Membre depuis le 03/06/2011, 520 messages
Oui, mais c'est mieux de les avoir dès le début, sinon il faudra les ajouter plus tard et ça va causer beaucoup de mal de têtes ! De mon côté j'ai ajouté les autres stats, je crois que je pourrai bientôt aborder les batailles.

EDIT : Tu connais une bonne routine de multiplication 24-bit ? Je viens d'en écrire une, mais je crois qu'elle n'est pas trop optimisée :
; stores result in AHL
mult_dhl_e:
	ld a,e
	exx
		ld e,a
		ld hl,0
		ld d,h
	exx
	ld b,24
mult_dhl_loop:
	exx
		add hl,hl
	exx
	rla
	add hl,hl
	rl d
	 jr nc,$+5
		exx
			add hl,de
		exx
	djnz mult_ade_loop
	exx
	ret
Je bosse sur les calculs d'experience, les programmeurs de Pokémon sont vraiment méchants, pourquoi utiliser des valeurs 24-bit ? mur

A propos, où as-tu trouvé les calculs d'expérience ? 6*lvl², 5*lvl², etc.? Les calculs que j'ai trouvé moi utilisent le niveau élevé au cube et dépassent deux octets. Est-ce que tu as créer tes propres calculs ? Ou les miens sont mauvais ?

Regarde le calcul du groupe "medium-slow":
Expcalc_mslow.png
Il ne fallait vraiment pas avoir un calcul aussi compliqué, non ? Je crois que j'ai fini les calculs d'expérience, mais je ne tiens pas en compte (au moins, pas encore) l'expérience actuelle du pokémon, simplement son niveau.

EDIT : kggk
Toutes ces valeurs correspondent aux valeurs de la table ici :
http://bulbapedia.bulbagarden.net/wiki/Experience#Experience_at_each_level
J'ai vérifié avec d'autres valeurs aussi (comme 99 et 49), parfois il y a une différence d'un, mais je crois que c'est pas grave smile
Posté le 06/12/2014 à 16:44 Membre depuis le 15/03/2005, 3470 messages
Mmh il me semble avoir vu des routines de multiplication 24-bits sur omnimaga ou ailleurs mais je n'ai pas de lien sous la main.
chickendude (./211) :
Je bosse sur les calculs d'experience, les programmeurs de Pokémon sont vraiment méchants, pourquoi utiliser des valeurs 24-bit ? mur

Oui justement c'est ce qui m'avait posé problème il me semble (même en essayant d'utiliser les OP), d'où les courbes non-officielles (car le nombre de points d'expérience était trop gros pour du 16-bits).

Sinon c'est génial, je réorganiserai sans doute quelques trucs au niveau de l'affichage mais là c'est déjà vraiment pas mal top
Posté le 07/12/2014 à 02:02 Membre depuis le 03/06/2011, 520 messages
Bon, maintenant l'exp totale va être 24-bits. Je peux ajouter aussi une routine pour afficher des numéros 24-bits, mais pour le moment il ne faut pas. L'expérience nécessaire pour avancer au prochain niveau jamais atteint 24-bits (seulement l'expérience "Fluctuating", mais ça n'était pas dans la première géneration). J'avais oublié les "courbes non-officielles", maintenant on peux simplement choisir puisque j'ai déjà programmé les calculs officiels.
Posté le 07/12/2014 à 10:24 Membre depuis le 15/03/2005, 3470 messages
Autant garder les courbes officielles, c'est mieux d'être plus près de l'original smile
Posté le 19/12/2014 à 13:03 Membre depuis le 03/06/2011, 520 messages
Je ne comprends pas la génération des pokémons sauvages, à quoi sert-il "map_pokemons" ? Ne serait-il mieux d'avoir un pointeur à la liste de pokémons trouvables dans la carte principale ?
map_table:	; ne sert pas encore (pour les transitions entre maps plus tard)
	.dw map_test

map_test:
	.db $14,$14		;map width, map height
	.dw pokemon_list	; list of pokémon you can find in this area
	.db $10,$10,$10,$10,$16,$19,$19, [...]


EDIT : Je suis en train de bosser sur/nettoyer le système de batailles smile