[THEORIE] Les localisations et la RAM.
Posté : lun. 5 nov. 2012 16:16
/!\ Pour comprendre ce texte, il vous faut un minimum de connaissances en informatique.
En montant vers fake sinnoh, vers les 11000 pas j'ai vu qu'il y avait une alternance entre la zone mystère et féli-cité, puis une loooooooooooooo...ooongue traversée dans féli-cité.
J'ai pensé que le void étant un bug non prévu par game=fric, il faut bien qu'il pioche ses localisations quelque part.
Dans les registres ? Impossible. Il n'y a pas 4194304 registres dans une NDS.
Dans la RAM ? Possible.
J'ai pensé que féli-cité correspondait à une certaine valeur dans la RAM, disons 0x00 (CECI EST UN EXEMPLE).
Tous les 32 pas, la localisation actuelle change.
Donc si la localisation dans Sinnoh correspond à cette équation :
Localisation = Off + (y / 32) * n + (x / 32) (Pas sûr de cette démonstration)
Où X est la position en abscisse du joueur et Y en ordonnées en admettant que X=0 et Y=0 correspond au coin haut-gauche de l'écran.
Off correspond à l'offset des données de localisation de Sinnoh dans la RAM et n au nombre de carrés de 32x32 de Sinnoh.
Le résultat de la division est arrondi à l'inférieur.
Alors il serait plus simple de trouver la valeur correspondant à la salle originelle dans la RAM et trouver ainsi sa localisation
Etant donné que je suis sur émulateur, je pense être le mieux placé pour ce genre de choses.
Je m'y mets dès maintenant !
En montant vers fake sinnoh, vers les 11000 pas j'ai vu qu'il y avait une alternance entre la zone mystère et féli-cité, puis une loooooooooooooo...ooongue traversée dans féli-cité.
J'ai pensé que le void étant un bug non prévu par game=fric, il faut bien qu'il pioche ses localisations quelque part.
Dans les registres ? Impossible. Il n'y a pas 4194304 registres dans une NDS.
Dans la RAM ? Possible.
J'ai pensé que féli-cité correspondait à une certaine valeur dans la RAM, disons 0x00 (CECI EST UN EXEMPLE).
Tous les 32 pas, la localisation actuelle change.
Donc si la localisation dans Sinnoh correspond à cette équation :
Localisation = Off + (y / 32) * n + (x / 32) (Pas sûr de cette démonstration)
Où X est la position en abscisse du joueur et Y en ordonnées en admettant que X=0 et Y=0 correspond au coin haut-gauche de l'écran.
Off correspond à l'offset des données de localisation de Sinnoh dans la RAM et n au nombre de carrés de 32x32 de Sinnoh.
Le résultat de la division est arrondi à l'inférieur.
Alors il serait plus simple de trouver la valeur correspondant à la salle originelle dans la RAM et trouver ainsi sa localisation
Etant donné que je suis sur émulateur, je pense être le mieux placé pour ce genre de choses.
Je m'y mets dès maintenant !