La void

C'est ici que l'on parle du tweaking trick, et seulement de ça. Que vous ayez trouvé quelque chose, envie de participer aux recherches ou besoin d'aide à ce sujet, ce forum est le bon !
Ankeraout
Glitchologue Élite
Messages : 63
Enregistré le : ven. 2 nov. 2012 22:57

La void

Message par Ankeraout » dim. 16 févr. 2014 12:47

Bon bah comme un forum sur le tweaking trick ne serait pas complet sans un pavé sur la void et que personne semble motivé pour le faire, je m'en occupe x)

Bref bonjour à tous !
Aujourd'hui on va voir la void et ses spécificités, comment elle fonctionne, où on peut sauvegarder etc.
Tenez vous prêts, c'est parti.

Alors vous savez peut-être que la void, en plus d'afficher des localisations "aléatoires", génère un décalage par rapport à la localisation normale. Je m'explique :
On sait que les maps sont découpées en morceaux de 32x32.
Chacune de ces maps peuvent être assemblées à d'autre pour former une plus grande map.

L'exemple de Pokémontre S.A. :
Dans Pokémontre, la map est constituée d'un seul morceau de 32x32, cela représente une map.
Vous savez sans doute que la map se répète de façon oblique, comme c'est le cas pour Pokémontre :
Image
Mais ce que vous ne savez pas, c'est que le décalage est en fait la map qui se répète vers la droite avec un bloc de décalage vers le haut à chaque répétition vers la droite.

Si vous avez bien suivi, vous avez deviné ce que ça donne pour une map de 2x2 :
Image


La téléportation :
Maintenant que vous connaissez la base, il faut que je vous explique la téléportation trouvée par Effray :
Tout d'abord, la téléportation consiste à monter dans la void, sauvegarder à une localisation, reset, et redescendre.
Mais comment ça marche ?

Lorsque vous entrez dans la void, vous avez forcément une localisation de chargée : c'est ce qu'on appelle la centerpiece.
Cette centerpiece définit entre autres ce que vous allez trouver dans la void, et on peut toujours y revenir car c'est une localisation qui restera fixe.
Lorsque vous sauvegardez et resetez dans une localisation, le jeu charge la localisation dans laquelle vous avez sauvegardée en tant que centerpiece.
Ainsi, lorsque vous retournerez à l'endroit d'où vous êtes partis (le point d'entrée dans la void), vous trouverez la localisation dans laquelle vous avez sauvegardée.


Le risque de perte de sauvegarde
Par contre comme vous le savez, il existe dans la void des localisations qui ne fonctionnent pas, et qui peuvent faire crasher le jeu au rechargement de la partie et ainsi niquer votre sauvegarde.
Pour éviter cela, Effray a trouvé une technique : il suffit d'aller dans le pokédex et en ressortir, avant de sauvegarder.
Si le jeu a planté, vous avez évité une perte de sauvegarde. Sinon, vous pouvez sauvegarder, c'est safe !


Les maps/localisations
Maintenant on va rentrer dans un aspect plus technique du jeu, les maps.
On va prendre l'exemple de Sinnoh, qui est la plus grande map du jeu.
Cette map a un certain ID, attaché à une matrice de localisations et à une matrice de fragments de map de 32x32.
Les matrices de localisations et de map sont chargées entièrement dans la RAM de la DS.

La matrice à laquelle nous allons nous intéresser plus particulièrement est la matrice des localisations.
Je l'ai découverte tout à l'heure en direct dans une convo avec BUGLITCH et ImFrozz, mais elle "bouge" dans la RAM à chaque redémarrage du jeu.
La première fois que je l'ai trouvée, elle était à l'adresse 0x22900d2, mais elle tourne toujours par là.

Elle est assez simple à retrouver, du moins sur émulateur :
Allez dans n'importe quel bâtiment qui tient en une seule map de 32x32 (Pokémontre S.A. par exemple), faites une recherche pour la valeur 257 dans la RAM (2 octets / 16 bits)
Sortez et cherchez maintenant 7710, et la valeur que vous trouverez sera un des descripteurs de la matrice : la largeur et la hauteur de la map.
Vous n'avez qu'à multiplier ces deux valeurs entre elles pour savoir le nombre d'octets après ces deux valeurs qui correspondent à une localisation.
Le début de la matrice se trouve après les deux valeurs.

Il y a quand même quelque chose d'amusant dans tout ça !
Vous avez sans doute deviné qu'on peut calculer l'offset de la localisation actuelle en appliquant cette formule :
Localisation = offset_matrice + (largeur_matrice * map_y) + map_x
Où offset_matrice vaut le début de la matrice (après le descripteur largeur/hauteur), largeur_matrice la largeur de la map en sections de 32x32, map_x et map_y valent les coordonnées x et y de la section de map actuelle.

Si vous voulez une représentation plus parlante des descripteurs que j'ai trouvés, voici une structure en C :

Code : Tout sélectionner

struct map {
  unsigned char map_width;                                // Largeur de la map
  unsigned char map_height;                               // Hauteur de la map
  unsigned short map_matrix_number;                       // ID de la matrice de map à charger (inutile en soi puisqu'elle est
                                                          // chargée plus loin)
  unsigned char map_width2;                               // = map_width
  unsigned char map_height2;                              // = map_height
  unsigned short locations_matrix[map_width][map_height]; // Contient les IDs des localisations
  unsigned char padding[];                                // PADDING (environ 2700 - 6 - map_width * map_height (peut varier))
  unsigned short map_matrix[map_width][map_height];       // Contient les IDs des maps affichées
};
Mais vous aurez sans doute remarqué que si on va dans Pokémontre S.A., et qu'on inverse le sens des données de la matrice (on part de la première valeur aux descripteurs), on trouve :
0008 0101 8d00 0101 0000
Ce qui correspond à... tenez-vous bien... La suite de localisations que l'on obtient en montant dans Pokémontre S.A., c'est à dire :
Pokémontre S.A.
Pré Floraville
C. Com. Voilaroc
Pré Floraville
Zone mystère

/!\ SI VOUS TROUVEZ DES VALEURS COMME 0800 0101 008d 0101 0000, c'est que votre éditeur hexadécimal est réglé sur Little-Endian. Sur DesMuME, il est possible de régler l'observateur de RAM sur Big-Endian.

Mais souvenez-vous, cela paraît plutôt logique non ?
Car lorsqu'on monte, la coordonnée y diminue (c'est l'inverse de la normale, mais en informatique tout est géré comme ça, même votre écran !)
Ainsi il est possible de prévoir toutes les localisations que vous croiserez en montant dans Pokémontre S.A. !
Il suffit de regarder les valeurs à reculons !

En fait, lorsque vous montez dans Pokémontre SA, vous croisez des localisations en rapport avec des données présentes dans la RAM, par exemple si vous croisez une donnée du genre 01fe, vous aurez la Salle Originelle ! CECI N'ETAIT QU'UN EXEMPLE.

Si vous n'êtes pas trop bêtes, vous pourrez en déduire par exemple pourquoi Fake-Black-Sinnoh existe !


La sweet du topic
Si des idées de trucs à expliquer me viennent à l'esprit, j'éditerai le topic, n'hésitez pas à me poser des questions en réponse, j'y répondrai ou alors je complèterai le topic en fonction ;)
Modifié en dernier par Ankeraout le mer. 19 févr. 2014 21:50, modifié 2 fois.

Avatar du membre
Buglitch
Webmaster
Messages : 454
Enregistré le : sam. 22 sept. 2012 21:38
Localisation : La ville de Perma en Italie
Contact :

Re: La void

Message par Buglitch » dim. 16 févr. 2014 16:06

Très bon choix de couleurs pour ta représentation de la void ;)
XeR a écrit :Buglitch, un homme, un humour, une légende.

Code : Tout sélectionner

+---------+---------+---------+---------+
|         | Normal  | Glitch  |   A.R   |
+---------+---------+---------+---------+
| Legit   |   Oui   |   Non   |   Non   |
+---------+---------+---------+---------+
| Triche  |   Non   |   Non   |   Oui   |
+---------+---------+---------+---------+
:dvo:

Effray
Glitchologue Élite
Messages : 32
Enregistré le : lun. 1 oct. 2012 15:48

Re: La void

Message par Effray » dim. 23 févr. 2014 01:41

Je me permet de répondre, même si je ne suis plus un pilier du tweak, complètement dépasser par tous vos chiffre et technique et autre calcule. Je ne suis qu'un joueur de pokemon qui a une passion du tweak.

Je viens de lire a peu près tous les nouveau sujet. Je ne suis pas d'accord avec tous ce qu'il y a d'écrit, notamment sur ce sujet, mais en parti on va dire que si. J'ai plusieurs idée a moi, plusieurs choses jamais tester. Beaucoup de regrets, notamment que la grande team est sauter. Quand on a fais disparaître nos ancien sujet. On a fais disparaître, notre base de donnée. Et les gens qui vont avec.

Maintenant, quoi que j'avance on me contredit avec des terme que je ne peut pas (et surtout que je n'ai pas envie) d'apprendre. On avais trouver des choses, pas seulement pour les personne qui veulent Arceus, comme par exemple, pouvoir rentrer dans le safari, sans passer par le garde a l'entrée et donc, utiliser ses poke-ball et le poke-radar pour faire des chaînes et trouver des shiney. Mais rien que le faite de l'évoquer, on ses fais incendier sur Shiny Hunter. Du coup ces dans mon ordi, et celui de Jord4n, et sa ne sortira jamais.

Car il ne faut pas oublier, le tweak ce n'es pas que Arceus, mais aussi, le reste, comme cette petite chose au dessus.
On a toujours utiliser la méthode bourrin et même si on a pas eu Arceus, on a des petites choses marrante.

Je n'avance plus ce que je pense sur PRAMA, car a chaque fois je passe pour ce que je ne suis pas ;) et je test mes théories qui ne marche pas d'avance. Mais au moins j'essaye de mon coter, ces déjà sa. Et ces la seule raison pour laquelle je continue a garder mon grade, car je le fais de mon coter, sans rien dire, mais je continue.

Courage a la team futur, il seront sûrement meilleur que les anciens !

Avatar du membre
Buglitch
Webmaster
Messages : 454
Enregistré le : sam. 22 sept. 2012 21:38
Localisation : La ville de Perma en Italie
Contact :

Re: La void

Message par Buglitch » dim. 23 févr. 2014 14:55

Tu sait Effray, c'est vrai que beaucoup de membre de la "nouvelle Équipe Tweaking-trick" utilise plein de chiffre, de technique et de calcule.
Mais il reste des membres (comme moi :hap: ) qui s'intéresse beaucoup moins à ces chiffres et beaucoup plus à l’expérimentation, l'exploration.

Je pense qu'il y a plein de gens qui serait très intéressé par tes découvertes ;)

:ugeek: Aller revient ! regarde tout ce qu'on peut faire ! :geek:
XeR a écrit :Buglitch, un homme, un humour, une légende.

Code : Tout sélectionner

+---------+---------+---------+---------+
|         | Normal  | Glitch  |   A.R   |
+---------+---------+---------+---------+
| Legit   |   Oui   |   Non   |   Non   |
+---------+---------+---------+---------+
| Triche  |   Non   |   Non   |   Oui   |
+---------+---------+---------+---------+
:dvo:

Ankeraout
Glitchologue Élite
Messages : 63
Enregistré le : ven. 2 nov. 2012 22:57

Re: La void

Message par Ankeraout » lun. 24 févr. 2014 10:59

XD
En attendant les gars, ~86400 pas en bas on a des localisations selon moi :hap:
Là où on croyait avoir de la zone mystère infinie...

Effray
Glitchologue Élite
Messages : 32
Enregistré le : lun. 1 oct. 2012 15:48

Re: La void

Message par Effray » lun. 24 févr. 2014 12:24

J'ai fais 120 000 pas APRÈS Fake Sinnoh. Y a d'autre localisation effectivement, même en bas on avait essayer. D'après ton tableau, qui est juste d'ailleur, j'avais le même a une époque.

Je monter en diagonale gauche pour avoir toujours une nouvelle localisation. Sa marche, j'ai eu de belle chose a teleporter. Mais j'ai fini par me pommer.

BUGLITCH je ne peux pas revenir dans ces condition, j'ai pas d'équipe, il en faudrait au moins deux une pour Benji qui a des techniques qui me dépasse. Et une pour moi, qui utilise rien, qui par sur des théorie foireuse qui s'avère fausse. Sauf pour la téléportation, qui au début étais un coup de bol, et que ensuite on a peaufiner pour éviter les perte de Save et etc.

Sans team ces impossible. Et en plus les deux se valent. Nous on par au pif et voila et Benji par sur des choses concrète mais longue a mettre en place.

Je respecte son travail qui est bon, même très bon. Il a fait des choses formidable sur mon forum. Mais on a des désaccord. Sur certain point ou il est certain de lui pour la void, moi pas. Mais sa, ces une autre histoire.

Ankeraout
Glitchologue Élite
Messages : 63
Enregistré le : ven. 2 nov. 2012 22:57

Re: La void

Message par Ankeraout » lun. 24 févr. 2014 12:49

On est les deux seuls encore sur le TT je crois, parce que je cherche de mon côté en me basant sur le code du jeu etc, et personne ne m'aide vraiment. Eiyeron n'a pas l'air d'avoir le temps, j'ai perdu le contact avec Divided, y'a plus que BUGLITCH qui pourrait être avec toi, mais bon de mon côté maintenant on va être obligé de partir au pif aussi je pense...

Effray
Glitchologue Élite
Messages : 32
Enregistré le : lun. 1 oct. 2012 15:48

Re: La void

Message par Effray » lun. 24 févr. 2014 12:57

Ah 2 voir 3 on est pas assez. Ces vérifier et revérifier. On a les idée qui arrive mais pas le monde pour tester.

La seule chose que je peux dire quand j'ai eu ma HoO ces que j'ai utiliser la calculette sans faire exprès. Et que au lieu d'avoir la série normale de zone. A la place de pré floraville, il y avait un Mont Abrupte. Avec la cendre qui tombe si je me souvient bien, ma HoO étais fausse, mais s'en étais déjà une.

Je sais que si on veux du monde, Tom et toujours la. On peux compté sur lui.

Des idée j'en ai. J'ai un truc que j'ai jamais pus vérifier car a chaque fois que j'y pence j'ai sois pas ma ds, soit je suis en plein milieu d'une void.

Avatar du membre
Buglitch
Webmaster
Messages : 454
Enregistré le : sam. 22 sept. 2012 21:38
Localisation : La ville de Perma en Italie
Contact :

Re: La void

Message par Buglitch » lun. 24 févr. 2014 17:08

Effray a écrit :On a les idée qui arrive mais pas le monde pour tester.
Moi, si on a besoin de tester des trucs je suis là, ;) je pense que les chiffres sont important mais on est obligé de passer par la pratique, il ne faut pas rester que dans la théorie.
Je pense que l'on peut crée UNE seul Team ! soudé ! (voilà j'ai motivé tout le monde) Ensemble on y arriveras !!! tout est possible !!! YOUPI ! :D
... :3
XeR a écrit :Buglitch, un homme, un humour, une légende.

Code : Tout sélectionner

+---------+---------+---------+---------+
|         | Normal  | Glitch  |   A.R   |
+---------+---------+---------+---------+
| Legit   |   Oui   |   Non   |   Non   |
+---------+---------+---------+---------+
| Triche  |   Non   |   Non   |   Oui   |
+---------+---------+---------+---------+
:dvo:

Nax
Glitchologue Élite
Messages : 185
Enregistré le : mer. 30 mai 2012 10:34

Re: La void

Message par Nax » mar. 25 févr. 2014 06:02

Hey benji, ça faisait un bail !

Je suis content de voir que tu as trouvé le tableau des loca, on l'avait cherché ya longtemps, sans tenir compte de l'endianess... :lol:
Je suis encore plus content de voir que c'est alloué avec un petit malloc, ya moyen de corrompre la void en théorie.

Tiens moi au courant sur skype, je suis chaud pour me remettre sur le TT ! :3

Répondre