[NDS] Développement d'un outil de ROM Hacking HG/SS

Pages: 1 [2] 3

Asia81

  • Modérateur de section
  • 8357 posts
25 juillet 2015, 17:14
tout vient à point à qui sait attendre :)

Ribesg

  • Membre
  • 39 posts
25 juillet 2015, 18:34
Bien, mais du coup là c'est juste un starter editor pour le moment ?

Pour le moment, oui :)

Je suis en train d'implémenter un unpacker NARC. En fait, j'ai fini. C'est pas très long avec une bonne documentation :)
Maintenant il faut que je vois un peu le format des fichiers de message en eux-même. Ils sont peut-être compressés, ou pas. Il faut aussi que je fasse le repacker NARC.

hremeraude

  • Membre
  • 11384 posts
25 juillet 2015, 19:30
D'ailleurs, là quand tu changes le starter, le texte du prof est bien changé ?

Mickey`

  • Membre
  • 2746 posts

hremeraude

  • Membre
  • 11384 posts
25 juillet 2015, 19:35
:fail:

Pourquoi être si désobligeant en sachant pertinemment qu'il avait dit qu'il voulait faire ça ?  :hum:
Ces smiley en disent plus que les mots, c'est fort :o

Ribesg

  • Membre
  • 39 posts
25 juillet 2015, 19:48
D'ailleurs, là quand tu changes le starter, le texte du prof est bien changé ?
Non, c'est ce que je suis en train d'implémenter. Et au passage ça permet d'éditer n'importe quel texte, vu que pour passer de "Texte du prof édité automatiquement" à "Possibilité d'éditer tout texte", il suffit d'ajouter une combobox et un bouton à l'interface... ;)

hremeraude

  • Membre
  • 11384 posts
25 juillet 2015, 20:12
ah d'accord, ça aboutira courant août donc ^^

Ribesg

  • Membre
  • 39 posts
26 juillet 2015, 13:28
Je suis retombé sur UPR et j'ai ré-étudié le code. https://github.com/Dabomstew/universal-pokemon-randomizer

En fait, il y a vraiment beaucoup de choses là dedans (y compris plein de choses dont je n'ai pas besoin), mais il y a aussi beaucoup de choses déjà implémentées qui me feront gagner beaucoup de temps. J'ai donc décider de remplacer mon début d'implémentation par le code de ce projet. La licence de mon projet est alors automatique : vu que l'autre projet est GPLv3, le miens aussi ! (la GPL est une licence qui se comporte comme un virus). Ca tombe bien je n'arrivais pas à me décider.

J'ai presque fini de réimplémenter la v0.0.1 en utilisant UPR. Je dois aussi apporter quelque corrections au code d'UPR, par exemple il change les textes de la sélection de starters, mais systématiquement en anglais. Pour pouvoir faire cette partie je dois trouver un moyen de récupérer les noms des types dans la ROM, s'ils existent. J'ai déjà les noms de pokémons dans la langue de la ROM.

Ribesg

  • Membre
  • 39 posts
26 juillet 2015, 20:38
Et hop, version 0.0.2 https://github.com/Ribesg/PkmnEditor/releases/tag/v0.0.2

Permet de changer de starter, ce qui change automatiquement les bons textes, tout en conservant la langue. A noter que lesdits textes contiennent maintenant les 2 types du pokémon... s'il en a 2. La version 0.0.2 permet aussi de modifier n'importe quel texte.

Et cette version est compatible avec tout OS :) Enfin tout OS qui fait tourner Java... Au moins Windows Mac OSX et Linux.
Attention il faut Java 8 ! Si vous n'avez pas Java 8, vous avez déjà un problème de toutes façons x)

hremeraude

  • Membre
  • 11384 posts
27 juillet 2015, 16:49
cool, je vais essayer de me faire un p'tit truc sympa avant de partir en vacances :)

Asia81

  • Modérateur de section
  • 8357 posts
27 juillet 2015, 20:06
java, c'est pas ce qu'on apelle en général un gouffre à faille de sécurité ?
ou javascript je crois

Mourad1081

  • Membre
  • 205 posts
27 juillet 2015, 20:31
Ni l'un, ni l'autre, c'est Flash qui est réputé pour être un gouffre à faille de sécurité. Java est réputé pour sa lenteur (relatives aux autres langage haut niveau) due au fait qu'il y a un interpréteur qui s'intercale à l'exécution. Après, Ribesg peut me corriger.

Asia81

  • Modérateur de section
  • 8357 posts
27 juillet 2015, 20:40
autant pour moi

Guitoh

  • Membre
  • 5981 posts
27 juillet 2015, 21:03
euuu java est bourré de failles aussi hein, même si en java 8 on en entend moins parler (ça s'est ptetre calmé remarque)

Ribesg

  • Membre
  • 39 posts
27 juillet 2015, 21:16
Haha, du dénigrement gratuit de Java. Classique.

Sachez que le JRE (la chose qui éxécute du bytecode Java (code Java compilé) sur votre PC) n'a pas plus de bugs qu'une autre machine virtuelle. Si vous utilisez un langage genre C ou C++, donc sans machine virtuelle, c'est vous qui faites les bugs, bien souvent beaucoup plus.

Le mythe du Java "lent", ça date des premières versions de Java. Aujourd'hui, une application développée en Java sera bien souvent (beaucoup) plus rapide qu'une application développée en C++, principalement grâce au fait qu'il est très compliqué de faire du code C++ parfait, alors que Java gère beaucoup de choses compliquées tout seul (genre la mémoire !). On peut comparer le vieux Java lent au nouveau Java (7/8) de la même façon que l'on peut comparer le JavaScript d'avant V8 (BEAUCOUP plus lent que Flash) au JavaScript d'après V8 (OMG comme c'est rapide).

Enfin bref même si quand on parle de code 100% parfait Java est légèrement plus lent que C++ au début (ensuite le compilateur JIT* entre en action et là on a des performances rigoureusement identiques), quand on se rend compte que le code parfait n'existe pas, Java > All.

On entend beaucoup parler des failles de sécurités de Java pour la même raison qu'on entend beaucoup parler des failles de sécurité de Windows (alors que PommeOS c'est la grosse bugfest, cf. l'incroyable faille "goto fail") : ça tourne sur la majeure partie des machines du monde.

* En gros, le JRE (enfin, la JVM quoi) va détecter qu'un bout de code est exécuté plutôt souvent, et va décider de le compiler en assembleur pour pouvoir l'exécuter plus vite par la suite. JIT = "Just In Time", on compile juste avant / pendant l'exécution, contrairement au C++ qui est compilé de façon statique... Ce qui fait que son compilateur est bien moins efficace :D

PS : Oui j'aime Java, principalement parce que j'ai la chance d'avoir l'expérience requise permettant de se rendre compte que, ben, en fait, c'est bien Java.

yago58

  • Invité
27 juillet 2015, 21:33
Bien, la discution anti-Java et pro-Java va stopper maintenant. Risbesg, tu programmes comme tu veux à partir du moment où ça fonctionne correctement.

Je connais assez le forum pour savoir que ce genre de discussion dérape rapidement.

Guitoh

  • Membre
  • 5981 posts
27 juillet 2015, 21:37
uhm, disons que pour un truc autant utilisé que java, se rendre compte qu'il y'a un max de failles (192 dont 25 critiques corrigés pour la dernière version) ça fait regarder d'un mauvais oeil, surtout quand tu sais que les applis en C, si y'a des failles, c'est juste parce que le dev a mal codé son truc.

Perso pour la vitesse d’exécution je suis prêt à te croire les yeux fermés, je code pas en java et php se traîne une réputation de lenteur similaire qui n'a plus lieu d'être, j'imagine facilement que c’est pareil pour java.

Par contre java n'est pas le best déso, et ce ne serait-ce que parce que tu est obligé d'installer un programme tiers :3

édit : raaah yago pas drole :(

Ribesg

  • Membre
  • 39 posts
27 juillet 2015, 21:48
Java n'a pas plus de failles, il est seulement plus observé. Donc parmi toutes les failles, on en trouve + que pour d'autres systèmes moins étudiés.

Sinon pour revenir au sujet, quelqu'un l'a essayé ce programme ? Pas de bugs à signaler ? Je suis très habitué aux noms français des pokémons, donc si quelqu'un habitué aux noms anglais veut faire une partie pour tester... ;)

Sinon là je ne sais pas ce que sera la prochaine étape, mais très probablement l'édition de dresseurs. Viendra ensuite l'édition de pokémons sauvages. Il semble y avoir ce qu'il faut dans les sources que j'ai récupérées, j'aurai peut-être des choses à modifier pour l'une ou l'autre de ces tâches, comme j'ai dû le faire pour le changement de texte du choix des starters.

Je ne sais pas encore. A suivre donc. :)

PS : Désolé Yago, je suis tombé dans le piège des trolls !

Asia81

  • Modérateur de section
  • 8357 posts
27 juillet 2015, 22:21
Ouais bon yago faut pas abuser non plus.
Le delete de post + cette remarque sur une simple question même pas "trolleuse"... ca fait beaucoup la

yago58

  • Invité
27 juillet 2015, 22:35
Où vois-tu de l'abus sur ce topic ? tu te trompe de topic, il me semble.

Quant au posts delete, tu sors des conneries.

Guitoh

  • Membre
  • 5981 posts
27 juillet 2015, 22:36
@ribesg : j'avais pas pour intention de troller, juste que yago tue le débat dans l'oeuf qui est pas drole ;)
bon courage pour la suite en tout cas

Asia81

  • Modérateur de section
  • 8357 posts
27 juillet 2015, 22:36
Bien, la discution anti-Java et pro-Java va stopper maintenant. Risbesg, tu programmes comme tu veux à partir du moment où ça fonctionne correctement.

Je connais assez le forum pour savoir que ce genre de discussion dérape rapidement.

yago58

  • Invité
27 juillet 2015, 22:42
@ribesg : j'avais pas pour intention de troller, juste que yago tue le débat dans l'oeuf qui est pas drole ;)
bon courage pour la suite en tout cas

Je sais bien que l'intention première c'est pas de troller, mais c'est pas l'endroit, merci pour l'oeuf dur, manque la mayo.

Bien, la discution anti-Java et pro-Java va stopper maintenant. Risbesg, tu programmes comme tu veux à partir du moment où ça fonctionne correctement.

Je connais assez le forum pour savoir que ce genre de discussion dérape rapidement.

C'est pourtant la vérité.




@Ribesg, pour les dresseurs il faudra prendre en compte le fait du pokématos, si tu veux je peux te fournir une liste complète des dresseurs.





« Modifié: 27 juillet 2015, 22:53 par Yago »

Ribesg

  • Membre
  • 39 posts
28 juillet 2015, 20:23
Hmm, je viens de regarder et pour les trainers je peux avoir leurs noms, classes et pokemons. Par contre je n'ai pas leur emplacement.
Il faudrait que je vois comment trouver leurs emplacements, il doit y avoir un id ou quelque chose comme ça, et une liste de map quelque part.

EDIT : Donc il semblerait que le format des données soit identique en D/P/Pt/HG/SS, ça devrait faciliter mes recherches de ce coté :)
EDIT2 : Très bien, donc le trainer ne porte pas l'information de son emplacement. Ca doit plutôt être les maps qui références les trainers. Hm.
« Modifié: 28 juillet 2015, 20:40 par Ribesg »

yago58

  • Invité
28 juillet 2015, 20:50
J'ai les emplacements, et les ID :)

Ribesg

  • Membre
  • 39 posts
28 juillet 2015, 20:54
Ah bien ! Tu sais où je peux trouver la liste des emplacements aussi ? Je voudrais afficher les noms des emplacements dans la langue de la ROM, avec le texte de la ROM.

Quoique si je recherche les noms des emplacements dans tous les textes, je peux trouver où ils sont en fait, de la même façon que j'ai trouvé les types.

EDIT: Hop, j'ai trouvé les noms des emplacements :) Fichier de messages 279
« Modifié: 28 juillet 2015, 20:59 par Ribesg »

yago58

  • Invité
28 juillet 2015, 21:02
Les ID+ nom du dresseur, et lieu de rencontre, mais je peux pas te fournir les pokémon.

Ribesg

  • Membre
  • 39 posts
28 juillet 2015, 21:10
En fait il me faut un mapping N°Dresseur => N°Location :)
Le reste j'ai !

yago58

  • Invité
28 juillet 2015, 21:12
552   Gamin Luc  route 3 ?
« Modifié: 28 juillet 2015, 21:16 par Yago »

Ribesg

  • Membre
  • 39 posts
28 juillet 2015, 21:34
Ça correspond à ce que je vois pour le numéro et le nom. La route ben je sais pas ;)

Pages: 1 [2] 3    En haut ↑