Je donne des noms anglais aux routines parce-que fuck le français ça demande trop de mot pour les décrire.
Routines
Pour commencer il y à les routines trouvaient par Jambo51 (Pokécommunity) et darthatron (Pokécommunity), je les détaillerais plus tard, pour le moment je me contente de ça:
Spoiler
Pokémon Decrypter (Prend l'offset du Pokémon dans R0 et un index dans R1; Renvoie la valeur dans R0): 0x3FAC0
Pokémon Encrypter (Prend l'offset du Pokémon dans R0, un index dans R1 et l'offset de la valeur à stocker dans R2): 0x40254
Générateur de pokémon sauvage: (Prend l'adresse du pokémon dans R0, l'espèce dans R1, le niveau dans R2 et un autre nombre dans R3 (généralement 0x19 or 0x20): 0x3DC70
Générateur de pokémon pour le Givepokemon: 0xA02D0
Flag Decrypter (Prend le numero du flag dans R0; Renvoie sont statut dans R0): 0x6E6F4
Flag Setter (Prend le numero du flag dans R0): 0x6E6A4
Flag Clearer (Prend le numero du flag dans R0): 0x6E6CC
Variable Decrypter (Prend le numéro de la variable dans R0; Renvoie l'adresse de la variable dans R0): 0x6E478
Flag Pokémon Vue/Capturé (Prend le numéro du Pokémon dans R0 et un index dans R1 (0: Vérifier vue, 1: Vérifier capturé, 2: Définir vue, 3: Définir capturé); Renvoie le résultat dans R0): 0x104E1C
Nombre aléatoire (Renvoie un nombre de 16-bit dans R0): 0x44E8C
QuotienDivision (Prend le numérateur dans R0 et le dénominateur dans R1;Renvoie le quotient dans R0): 0x1E243C
ResteDivision (Prend le numérateur dans R0 et le dénominateur dans R1;Renvoie le reste dans R0): 0x1E2AA8
ModifiéMétéo (Prend l'effet météo dans R0): 0x7B124
Pokémon Encrypter (Prend l'offset du Pokémon dans R0, un index dans R1 et l'offset de la valeur à stocker dans R2): 0x40254
Code: [Sélectionner]
0x00 - ID Pokémon
0x01 - ID Dresseur
0x02 - Surnom (r6 doit être l'offset où se trouve le surnom)
0x03 - Pays d'origine
0x04 - Sanity?
0x05 - Sanity?
0x06 - Sanity?
0x07 - Nom du dresseur d'origine
0x08 - Marques
0x09 - Checksum
0x0A - Filler?
0x0B - Espèce
0x0C - Objet tenu
0x0D - Attaque 1
0x0E - Attaque 2
0x0F - Attaque 3
0x10 - Attaque 4
0x11 - PP 1
0x12 - PP 2
0x13 - PP 3
0x14 - PP 4
0x15 - PP Bonus
0x16 - Sang-froid
0x17 - Beauté
0x18 - Grâce
0x19 - Expérience
0x1A - EV PV
0x1B - EV Attaque
0x1C - EV Défense
0x1D - EV Vitesse
0x1E - EV Atq. Spécial
0x1F - EV Def. Spécial
0x20 - Bonheur
0x21 - Intelligence
0x22 - Pokérus
0x23 - Lieu capture
0x24 - Niveau capture
0x25 -
0x26 - Hometown / Poké Ball / Sexe Dresseur
0x27 - IV PV
0x28 - IV Attaque
0x29 - IV Défense
0x2A - IV Vitesse
0x2B - IV Atq. Spécial
0x2C - IV Déf. Spécial
0x2D - Oeuf
0x2E - Capacité spécial
0x2F - Robustesse
0x30 - Shiney
0x31 -
0x32 -
0x33 -
0x34 -
0x35 -
0x36 -
0x37 - Status (Poison, etc)
0x38 - Niveau
0x39 - PV actuel
0x3A - PV max
0x3B - Attaque
0x3C - Défense
0x3D - Vitesse
0x3E - Attaque Spé.
0x3F - Défense Spé.
0x40 -
0x41 - Espèce
Générateur de pokémon sauvage: (Prend l'adresse du pokémon dans R0, l'espèce dans R1, le niveau dans R2 et un autre nombre dans R3 (généralement 0x19 or 0x20): 0x3DC70
Générateur de pokémon pour le Givepokemon: 0xA02D0
Flag Decrypter (Prend le numero du flag dans R0; Renvoie sont statut dans R0): 0x6E6F4
Flag Setter (Prend le numero du flag dans R0): 0x6E6A4
Flag Clearer (Prend le numero du flag dans R0): 0x6E6CC
Variable Decrypter (Prend le numéro de la variable dans R0; Renvoie l'adresse de la variable dans R0): 0x6E478
Flag Pokémon Vue/Capturé (Prend le numéro du Pokémon dans R0 et un index dans R1 (0: Vérifier vue, 1: Vérifier capturé, 2: Définir vue, 3: Définir capturé); Renvoie le résultat dans R0): 0x104E1C
Nombre aléatoire (Renvoie un nombre de 16-bit dans R0): 0x44E8C
QuotienDivision (Prend le numérateur dans R0 et le dénominateur dans R1;Renvoie le quotient dans R0): 0x1E243C
ResteDivision (Prend le numérateur dans R0 et le dénominateur dans R1;Renvoie le reste dans R0): 0x1E2AA8
ModifiéMétéo (Prend l'effet météo dans R0): 0x7B124
Et maintenant les trouvailles de notre chère communauté
GetMoney : 0x09FF0C
Spoiler
Entrer:
r0: adresse de la clé de décryptage
Sortie:
r0: argent détenu
Attention car cette routine modifie le contenu de r1 et r2.
r0: adresse de la clé de décryptage
Sortie:
r0: argent détenu
Attention car cette routine modifie le contenu de r1 et r2.
Spoiler
Entrer:
r0: adresse de la clé de décryptage
r1: Somme d'argent à affecter
Attention car cette routine modifie le contenu de r2 et r3.
r0: adresse de la clé de décryptage
r1: Somme d'argent à affecter
Attention car cette routine modifie le contenu de r2 et r3.
Spoiler
Entrer:
r0: adresse de la clé de décryptage
r1: Somme d'argent à ajouter
Attention car cette routine modifie le contenu de r2 et r3.
r0: adresse de la clé de décryptage
r1: Somme d'argent à ajouter
Attention car cette routine modifie le contenu de r2 et r3.
Spoiler
Entrer:
r0: adresse de la clé de décryptage
r1: Somme d'argent à déduire
Attention car cette routine modifie le contenu de r2 et r3.
r0: adresse de la clé de décryptage
r1: Somme d'argent à déduire
Attention car cette routine modifie le contenu de r2 et r3.
GetObjFromPC: 0x10DEA8
Spoiler
Entrer:
r0: position de l'objet dans le pc
Sortie:
r0 = index de l'objet
Attention car cette routine modifie le contenu de r1.
r0: position de l'objet dans le pc
Sortie:
r0 = index de l'objet
Attention car cette routine modifie le contenu de r1.
Spoiler
Entrer:
r0: position de l'objet dans le pc
Sortie:
r0 = quantité de l'objet
Attention car cette routine modifie le contenu de r1.
r0: position de l'objet dans le pc
Sortie:
r0 = quantité de l'objet
Attention car cette routine modifie le contenu de r1.
Spoiler
Entrer:
r0: index de l'objet
r1: qantité
Sortie:
r0 = 1 (si succé) ou 0 (si echec)
r0: index de l'objet
r1: qantité
Sortie:
r0 = 1 (si succé) ou 0 (si echec)
Spoiler
Entrer:
r0: index de l'objet
r1: qantité
r0: index de l'objet
r1: qantité
GetObjFromBag: 0x09A93C
Spoiler
Entrer:
r0: sac (1=objets, 2=objets rare, 3=pokéballs, ...)
r1: position de l'objet
Sortie:
r0 = index de l'objet
Attention car cette routine modifie le contenu de r2.
r0: sac (1=objets, 2=objets rare, 3=pokéballs, ...)
r1: position de l'objet
Sortie:
r0 = index de l'objet
Attention car cette routine modifie le contenu de r2.
Spoiler
Entrer:
r0: sac (1=objets, 2=objets rare, 3=pokéballs, ...)
r1: position de l'objet
Sortie:
r0 = quantité de l'objet
Attention car cette routine modifie le contenu de r2.
r0: sac (1=objets, 2=objets rare, 3=pokéballs, ...)
r1: position de l'objet
Sortie:
r0 = quantité de l'objet
Attention car cette routine modifie le contenu de r2.
Spoiler
Entrer:
r0: index de l'objet
r1: qantité
Sortie:
r0 = 1 (si succé) ou 0 (si echec)
r0: index de l'objet
r1: qantité
Sortie:
r0 = 1 (si succé) ou 0 (si echec)
Spoiler
Entrer:
r0: index de l'objet
r1: qantité
Sortie:
r0 = 1 (si succé) ou 0 (si echec)
r0: index de l'objet
r1: qantité
Sortie:
r0 = 1 (si succé) ou 0 (si echec)
CalcStats: 0x03E354
Spoiler
Entrer:
r0: adresse du pokémon dont les stats doivent être recalculé
Cette routine calcul les stats d'un pokémon à l'aide des 80 bytes qui définissent un pokémon, elle modifie les 20 bytes suivant ces 80 bytes pour leur affecter la bonne valeur. Cf ce lien si vous voyez pas de quoi je parle.
r0: adresse du pokémon dont les stats doivent être recalculé
Cette routine calcul les stats d'un pokémon à l'aide des 80 bytes qui définissent un pokémon, elle modifie les 20 bytes suivant ces 80 bytes pour leur affecter la bonne valeur. Cf ce lien si vous voyez pas de quoi je parle.
MoveBytes: 0x09FA06
Spoiler
Entrer:
r0: destination
r1: depart
r2: nombre de bytes à copier
r0: destination
r1: depart
r2: nombre de bytes à copier
ExecScript: 0x069B94
Spoiler
Entrer:
r0: offset du script
r0: offset du script
Number2Caract: 0x008DE4
Spoiler
Entrer:
r0: adresse où seront stocker les caractères
r1: nombre
r2: index
r3: nombre de caractères maximum
index:
r0: adresse où seront stocker les caractères
r1: nombre
r2: index
r3: nombre de caractères maximum
index:
Code: [Sélectionner]
0 = normal (par exemple 324 sera affiché "324"
1 = respect du nombre de caractère avec espace (donc si r3 = 4 alors 324 sera affiché " 324", noté l'espace avant le 3)
2 = respect du nombre de caractère avec 0 (donc si r3 = 4 alors 324 sera affiché "0324")
Ok il n'y en à pas beaucoup, mais le but c'est pas de chercher le plus de routines possible mais de donner celle dont on à eu besoin, alors si vous en avez vous aussi partagé les, je mettrais le post à jour.