Blabla du hackeur, votre journée en live
Mickey`
- Membre
- 2746 posts
01 septembre 2017, 22:56
C'est plus dans l'organisation de la map que j'ai du mal en fait
hremeraude
- Membre
- 11384 posts
01 septembre 2017, 23:09
Quand tu réalises que le discord sert à que dalle x)
Mickey`
- Membre
- 2746 posts
02 septembre 2017, 12:15
Nan c'est cool le Discord on parle parfois, j'avais juste la flemme x)
Arnik
- Membre
- 1812 posts
02 septembre 2017, 23:26
Je pourrais y faire un tour la semaine prochaine, je pense. J'ai une idée en tête et je suis encore à l'analyser.
Undi
- Modérateur de section
- 2515 posts
03 septembre 2017, 18:36
1j que j'suis sur le Discord et on est déjà 3 à se cassé la tête sur un nouveau défi.
Ça c'est de l'envie haha
Ça c'est de l'envie haha
hremeraude
- Membre
- 11384 posts
03 septembre 2017, 20:22
Quel défi ??
1j que j'suis sur le Discord et on est déjà 3 à se cassé la tête sur un nouveau défi.
Ça c'est de l'envie haha
Quel défi ??
Undi
- Modérateur de section
- 2515 posts
03 septembre 2017, 20:37
Le soucis de la WM
crackerwood
- Membre
- 14 posts
23 septembre 2017, 10:52
Bonjour à tous. Je profite de ce topic (en espérant que cest le bon) pour vous parler d'une idée de projet. Comme beaucoup de monde je voudrais faire une rom hack de émeraude. Mais en y rajoutant kanto façon pokemon or/argent/cristal. J'avais déjà fais une rom bien avancee mais j'ai eu de gros bug donc j'ai décidé de tout recommencer. J'ai une base de donnée toute prête. Je ne sais pas si ce projet aboutira un jour et c'est donc pour cela que je demande un avis. Voilà en gros ce que je voulais faire.
Un starter pichu comme jaune (oui je sais encore façon jaune)
Toutes les baies
Nuit et jour
Tout les pokemons en capture ou échange
Il y a quand même des points ou je suis encore à faire des recherche. Modifier la carte dresseur pour intégrer 16 badges (hoenn et kanto) ou dans le pire des cas faire les badges kanto en objet rare.
Créer une deuxième world map pour kanto (j'ai trouvé un log mais que pour rubis usa. Si ca avais été émeraude sa aurais été mieux)
Et bien sur la carte dans le pokedex également.
J'avais bien avancé car j'étais arrive à safrania mais j'avais tout fais bugge avec l'ajout de dresseur.
Voilà donc ma question. Un projet comme ca serait il intéressant ou tout cela serais fais pour rien?
Merci d'avoir lu. Je metterais a disposition les modification que je souhaitais faire après hébergement.
Bonne journée et n'hésitez pas à être franc.
Lien : fichier xls: Modifications ROM.xlsx
« Modifié: 23 septembre 2017, 10:57 par crackerwood »
Un starter pichu comme jaune (oui je sais encore façon jaune)
Toutes les baies
Nuit et jour
Tout les pokemons en capture ou échange
Il y a quand même des points ou je suis encore à faire des recherche. Modifier la carte dresseur pour intégrer 16 badges (hoenn et kanto) ou dans le pire des cas faire les badges kanto en objet rare.
Créer une deuxième world map pour kanto (j'ai trouvé un log mais que pour rubis usa. Si ca avais été émeraude sa aurais été mieux)
Et bien sur la carte dans le pokedex également.
J'avais bien avancé car j'étais arrive à safrania mais j'avais tout fais bugge avec l'ajout de dresseur.
Voilà donc ma question. Un projet comme ca serait il intéressant ou tout cela serais fais pour rien?
Merci d'avoir lu. Je metterais a disposition les modification que je souhaitais faire après hébergement.
Bonne journée et n'hésitez pas à être franc.
Lien : fichier xls: Modifications ROM.xlsx
Mickey`
- Membre
- 2746 posts
02 novembre 2017, 09:43
En voyant ce post, je me suis posé la question : on entend un peu tout et n'importe quoi sur l'apparition de Barpau dans Pokémon Emeraude. Est-ce que quelqu'un sait si des recherches ont déjà été menées et à quelles conclusions elles ont conduit ?
https://www.noelshack.com/2017-44-4-1509587431-screenshot-2017-11-02-02-49-48.png
En voyant ce post, je me suis posé la question : on entend un peu tout et n'importe quoi sur l'apparition de Barpau dans Pokémon Emeraude. Est-ce que quelqu'un sait si des recherches ont déjà été menées et à quelles conclusions elles ont conduit ?
yago58
- Invité
02 novembre 2017, 10:13
Route 119 - il ne se trouve que dans six cases (différentes pour chaque joueur, et qu'il convient donc de découvrir en les « testant » toutes) de l'ensemble du lac de ladite route.
Poképédia, et c'est vrai.
Poképédia, et c'est vrai.
Tédam
- Membre
- 409 posts
02 novembre 2017, 11:24
Salut l'equipe
Une valeur 16bit est généré tous les jours in-game, change aussi avec une phrase au village myokara qui doit dépendre sûrement de l' id dresseur.
Au moment de la pêche une routine calcul (je ne sais plus comment) les 6 valeurs et check si la case correspond.
Pour le ratio de rencontre il n'est pas trop tard une fois la case trouvee ~20/30 je pense j'ai pas vérifié.
Une valeur 16bit est généré tous les jours in-game, change aussi avec une phrase au village myokara qui doit dépendre sûrement de l' id dresseur.
Au moment de la pêche une routine calcul (je ne sais plus comment) les 6 valeurs et check si la case correspond.
Pour le ratio de rencontre il n'est pas trop tard une fois la case trouvee ~20/30 je pense j'ai pas vérifié.
Mickey`
- Membre
- 2746 posts
02 novembre 2017, 11:46
Ca pourrait être intéressant de mettre des routines sur ces mots pour modifier le truc ou créer des choses similaires
Tédam
- Membre
- 409 posts
02 novembre 2017, 14:06
Se soir je partage ca
Du coup y'a un discord RH?
Du coup y'a un discord RH?
Mickey`
- Membre
- 2746 posts
Tédam
- Membre
- 409 posts
03 novembre 2017, 03:08
Pour barpeau
Donc déjà si nous pêchons sur la bonne case il y a une chance sur deux de trouver barpeau.
Le seed change bien chaque jour et aussi grâce au phrase de myokara.
Il y a 447 case (1bF) mais il manque la 0,1,2,3 (je doute qu'elles seront utilisé) et les cases 69, 77, 90 un bug non prévu je suppose vu que nous pouvons pas pêcher dessus.
La 84 aussi mais elle est utilisé pour tous le pont.
Il manque quelques détail je ferai d'autre recherche plus tard surtout pour la phrase de myokara.
« Modifié: 03 novembre 2017, 03:12 par Tdam01 »
Code: [Sélectionner]
080B49F8 F7BAFDE6 bl 806F5C8h @Valeur au hasard (16b)
080B49FC 0400 lsl r0,r0,10h
080B49FE 0C00 lsr r0,r0,10h
080B4A00 2164 mov r1,64h @r1 = 64
080B4A02 F23CF8D7 bl 82F0BB4h @division par 64
080B4A06 0400 lsl r0,r0,10h
080B4A08 0C00 lsr r0,r0,10h @le reste de la division dans r0
080B4A0A 2831 cmp r0,31h @compare le reste avec 31
080B4A0C D906 bls 80B4A1Ch @inferieur ou egal peut etre un barpeau si on peche sur la bonne case
080B4A0E E03E b 80B4A8Eh @rencontre normal
Donc déjà si nous pêchons sur la bonne case il y a une chance sur deux de trouver barpeau.
Code: [Sélectionner]
080B4A1C 4820 ldr r0,=3005D8Ch
080B4A1E 6800 ldr r0,[r0]
080B4A20 4B20 ldr r3,=2E6Ah
080B4A22 18C0 add r0,r0,r3
080B4A24 8800 ldrh r0,[r0] @Seed de barpeau
080B4A26 F000F851 bl 80B4ACCh @stock le seed a l'adresse x2038C04
080B4A2A 2500 mov r5,0h @compteur boucle
080B4A2C 4E1E ldr r6,=1BFh @nombre de case pour pecher sur la route 119
080B4A2E F000F83D bl 80B4AACh @(seed x 41C64E6D)+3039 stocker a ladresse x2038C04
suivi "lsr r0,r0,10" ??
080B4A32 0069 lsl r1,r5,1h
080B4A34 466A mov r2,r13
080B4A36 1854 add r4,r2,r1
080B4A38 0400 lsl r0,r0,10h
080B4A3A 0C00 lsr r0,r0,10h
080B4A3C 1C31 mov r1,r6
080B4A3E F23CF8B9 bl 82F0BB4h @calcul la case qui contiendra barpeau (je n'arrive pas à comprendre cette routine ^^")
080B4A42 8020 strh r0,[r4] @stock la case dans la ram
080B4A44 0400 lsl r0,r0,10h
080B4A46 2800 cmp r0,0h @??
080B4A48 D100 bne 80B4A4Ch
080B4A4A 8026 strh r6,[r4]
080B4A4C 8820 ldrh r0,[r4]
080B4A4E 3801 sub r0,1h
080B4A50 0400 lsl r0,r0,10h
080B4A52 0C00 lsr r0,r0,10h
080B4A54 2802 cmp r0,2h @??
080B4A56 D902 bls 80B4A5Eh
080B4A58 1C68 add r0,r5,1
080B4A5A 0600 lsl r0,r0,18h
080B4A5C 0E05 lsr r5,r0,18h
080B4A5E 2D06 cmp r5,6h
080B4A60 D1E5 bne 80B4A2Eh @si égale à 6 fin de la boucle
080B4A62 464B mov r3,r9
080B4A64 2100 mov r1,0h
080B4A66 5E58 ldsh r0,[r3,r1] @position du joueur??
080B4A68 4642 mov r2,r8
080B4A6A 2300 mov r3,0h
080B4A6C 5ED1 ldsh r1,[r2,r3] @position du joueur??
080B4A6E 1C3A mov r2,r7
080B4A70 F7FFFF32 bl 80B48D8h @check la case de pêche actuel
080B4A74 0400 lsl r0,r0,10h
080B4A76 0C01 lsr r1,r0,10h
080B4A78 2500 mov r5,0h @boucle
080B4A7A 0068 lsl r0,r5,1h
080B4A7C 4468 add r0,r13
080B4A7E 8800 ldrh r0,[r0]
080B4A80 4281 cmp r1,r0 @compare case de pêche avec celle de barpeau
080B4A82 D0C9 beq 80B4A18h @si égal combat avec barpeau
080B4A84 1C68 add r0,r5,1
080B4A86 0600 lsl r0,r0,18h
080B4A88 0E05 lsr r5,r0,18h @ajoute 1 à la boucle (ils se font chier pour rien Oo)
080B4A8A 2D05 cmp r5,5h @si supérieur a 5 fin de boucle
080B4A8C D9F5 bls 80B4A7Ah
Le seed change bien chaque jour et aussi grâce au phrase de myokara.
Spoiler
Il y a 447 case (1bF) mais il manque la 0,1,2,3 (je doute qu'elles seront utilisé) et les cases 69, 77, 90 un bug non prévu je suppose vu que nous pouvons pas pêcher dessus.
La 84 aussi mais elle est utilisé pour tous le pont.
Il manque quelques détail je ferai d'autre recherche plus tard surtout pour la phrase de myokara.
Mickey`
- Membre
- 2746 posts
03 novembre 2017, 22:08
Excellent ! On en parle sur discord
hremeraude
- Membre
- 11384 posts
03 novembre 2017, 23:52
J'essaye un peu de comprendre la routine... en gros si j'ai bien suivi, move x,(nb)h ça veut dire que l'adresse de x devient nb.
Donc si c'est le cas,
Je suis pas sûr de bien confondre le fonctionnement de lsl sur 3 variables mais si ça multiplie r0 par r0 (ou alors que ça multiplie r0 par 2 ?), c'est quoi l'intérêt d'ensuite dire que r0 = 18 ?
Et aussi du coup c'est quoi le délire de dire que lsr ajoute 1 à la boucle ???
Donc si c'est le cas,
Code: [Sélectionner]
080B4A86 0600 lsl r0,r0,18h
080B4A88 0E05 lsr r5,r0,18h @ajoute 1 à la boucle (ils se font chier pour rien Oo)
Je suis pas sûr de bien confondre le fonctionnement de lsl sur 3 variables mais si ça multiplie r0 par r0 (ou alors que ça multiplie r0 par 2 ?), c'est quoi l'intérêt d'ensuite dire que r0 = 18 ?
Et aussi du coup c'est quoi le délire de dire que lsr ajoute 1 à la boucle ???
Mickey`
- Membre
- 2746 posts
04 novembre 2017, 00:04
mov rX, #val
Ca met la valeur val dans rX (val sur 8 bits maximum).
lsl rX, rY, #décalage
lsr rX, rY, #décalage
lsl/lsr décale les bits de rY de "décalage" vers la gauche/droite et le met dans rX (rY optionnel).
Si on fait un lsl r0, #0x1, ça décale les bits de r0 de un vers la gauche, ça correspond donc à une multiplication par 2 en décimal.
Quand y a à la suite un lsl/lsr, qui plus est de 0x18 = 24 bits, c'est pour vérifier que la valeur "testée" (ici r0) rentre bien sur 8 bits (dans le lsl, les bits 8-31 sont perdus, et dans le lsr, ces mêmes bits sont "réinjectés" avec des 0 ; du coup, y a que les bits 0-7 qui sont conservés).
« Modifié: 04 novembre 2017, 00:06 par Mickey` »
Ca met la valeur val dans rX (val sur 8 bits maximum).
lsl rX, rY, #décalage
lsr rX, rY, #décalage
lsl/lsr décale les bits de rY de "décalage" vers la gauche/droite et le met dans rX (rY optionnel).
Si on fait un lsl r0, #0x1, ça décale les bits de r0 de un vers la gauche, ça correspond donc à une multiplication par 2 en décimal.
Quand y a à la suite un lsl/lsr, qui plus est de 0x18 = 24 bits, c'est pour vérifier que la valeur "testée" (ici r0) rentre bien sur 8 bits (dans le lsl, les bits 8-31 sont perdus, et dans le lsr, ces mêmes bits sont "réinjectés" avec des 0 ; du coup, y a que les bits 0-7 qui sont conservés).
hremeraude
- Membre
- 11384 posts
04 novembre 2017, 00:26
Ah d'accord je vois, donc 18h c'est en fait 18 en hexa... du coup en binaire c'est b ?
Et donc ce qui me pose problème c'est rY sur le nombre de décalage :
lsl r0,r0,18h ça voudrait dire que ça multiplie r0 par 48 ?
ce qui signifierait que :
lsr r5,r0,18h le re-multiplie par 48 avant de l'injecté dans r5 et ensuite on compare la valeur de r5 avec 5 ?
Et donc ce qui me pose problème c'est rY sur le nombre de décalage :
lsl r0,r0,18h ça voudrait dire que ça multiplie r0 par 48 ?
ce qui signifierait que :
lsr r5,r0,18h le re-multiplie par 48 avant de l'injecté dans r5 et ensuite on compare la valeur de r5 avec 5 ?
Tédam
- Membre
- 409 posts
04 novembre 2017, 01:55
lsl r0,r0,18h tu décal les bits de r0 de 24(deci) vers la gauche
lsr r5,r0,18h tu décal les bits de 24(deci) vers la droite et stock dans r5
exemple:
J'ai écris qu'ils se sont fait chier pour rien parce que:
« Modifié: 04 novembre 2017, 01:59 par Tdam01 »
lsr r5,r0,18h tu décal les bits de 24(deci) vers la droite et stock dans r5
exemple:
Code: [Sélectionner]
mov r0, #0x2 @r0 = 0000 0002(hexa) = 0000 0000 0000 0000 0000 0000 0000 0010(bin)
lsl r0, r0, #0x18 @r0 = 0200 0000(hexa) = 0000 0010 0000 0000 0000 0000 0000 0000(bin)
lsr r5 ,r0, #0x18 @r5 = 0000 0002(hexa) = 0000 0000 0000 0000 0000 0000 0000 0010(bin)
J'ai écris qu'ils se sont fait chier pour rien parce que:
Code: [Sélectionner]
add r0,r5,1
lsl r0,r0,18
lsr r5,r0,18
cmp r5,5
=
add r5,1
cmp r5,5
Mickey`
- Membre
- 2746 posts
04 novembre 2017, 09:50
Pourquoi pas 48 ? ^^
Un décalage vers la gauche = x2. Si tu décales vers la gauche de 24 bits, tu multiplies rX par 2^24 (enfin au final non parce que tu perds des bits donc tu peux pas multiplier comme ça), et tu décales vers la droite de 24 bits, tu divises par 2^24 (mais même problème).
@Tdam01 : ils se sont fait chier, oui et non. Ce que tu as écrit est correct, mais comme je l'expliquais au-dessus, faire un lsl/lsr comme ça permet de s'assurer que la valeur tient sur 8 bits
Un décalage vers la gauche = x2. Si tu décales vers la gauche de 24 bits, tu multiplies rX par 2^24 (enfin au final non parce que tu perds des bits donc tu peux pas multiplier comme ça), et tu décales vers la droite de 24 bits, tu divises par 2^24 (mais même problème).
@Tdam01 : ils se sont fait chier, oui et non. Ce que tu as écrit est correct, mais comme je l'expliquais au-dessus, faire un lsl/lsr comme ça permet de s'assurer que la valeur tient sur 8 bits
Tédam
- Membre
- 409 posts
04 novembre 2017, 10:40
Oui bien-sur, mais je parle seulement dans le cas de cette routine,
il y a le mov r5,0 juste avant donc il n'avait pas de raison de faire ca
il y a le mov r5,0 juste avant donc il n'avait pas de raison de faire ca
Mickey`
- Membre
- 2746 posts
04 novembre 2017, 11:30
Quand tu travailles sur 8 bits en C, au moment de la compilation, le compilateur effectue souvent ce type de vérification. Je pense que c'est pas codé à la main. Sinon effectivement c'est inutile
yago58
- Invité
04 novembre 2017, 11:34
Tout ça pour un poiscaille miteux ahahahaha
hremeraude
- Membre
- 11384 posts
04 novembre 2017, 16:23
Ha oui d'accord merci, le shéma binaire/hexa est pas mal
exemple:Code: [Sélectionner]mov r0, #0x2 @r0 = 0000 0002(hexa) = 0000 0000 0000 0000 0000 0000 0000 0010(bin)
lsl r0, r0, #0x18 @r0 = 0200 0000(hexa) = 0000 0010 0000 0000 0000 0000 0000 0000(bin)
lsr r5 ,r0, #0x18 @r5 = 0000 0002(hexa) = 0000 0000 0000 0000 0000 0000 0000 0010(bin)
Ha oui d'accord merci, le shéma binaire/hexa est pas mal
Pichu388
- Membre
- 399 posts
26 novembre 2017, 15:33
Je pose ça là
Crédits : auradex, son site : https://auradex.deviantart.comVous l'imaginez spectre, psy/spectre ou spectre/fée ?« Modifié: 26 novembre 2017, 17:11 par Pichu388 »
Je pose ça là
inspiré de cette image (juste au niveau graphique)
Crédits : auradex, son site : https://auradex.deviantart.com
hremeraude
- Membre
- 11384 posts
26 novembre 2017, 17:05
Spectre tout court j'aurai dit, donc plus psy/spectre du coup.
(Et la couleur shiny est mieux que celle "normale", donc vaut mieux inverser les deux, parce que la shasse sur une hack rom voilà quoi...)
(Et la couleur shiny est mieux que celle "normale", donc vaut mieux inverser les deux, parce que la shasse sur une hack rom voilà quoi...)
Pichu388
- Membre
- 399 posts
26 novembre 2017, 17:10
Tu préfères la violette à la noire? Sinon oui, j'avais oublié de le mettre, il était censé être juste spectre unique
Mickey`
- Membre
- 2746 posts
26 novembre 2017, 19:28
T'as redimensionné l'image non ? T'as des problèmes de pixels
Pichu388
- Membre
- 399 posts
26 novembre 2017, 19:34
Ah bon? où ça, je vois pas, c'est l'image de base