Rispondi 
[Rosso fuoco] Addio Intro
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,393
Registrato: 09-10-2014
Reputazione: 20
Mi Piace Ricevuti: 1390
PokéMoney: 1,718.00₱
Messaggio: #1
Addio Intro
Stanchi di quella maledetta intro, che comprende la guida sui comandi, la storiella con pikachu in miniatura ed il Professor Oak che ci saluta tutte le volte?
Perfetto, ELIMINIAMOLA!PacmanPacmanPacman

- Attenzione: nessun pokémon ha subito violenze o menomazioni a seguito di questa procedura -

Apriamo il nostro Hex Editor di fiducia ed apportiamo queste modifiche:

Codice:
0x12EB54: 45 66 05 08
0x054A68: 3C 4C 20 68 00 49 01 E0
0x054A7E: 34 4E
0x054B3A: 00 00 00 00

Salviamo e proviamo...ci ritroveremo direttamente nella nostra cameretta!

-.- BUG1: il nome del player.

Saltando l'intro saltiamo anche la parte relativa alla selezione del nome. Quando inizieremo il gioco infatti il nostro personaggio si chiamerà "ù".
Ora per quanto non abbia niente contro chiunque si chiami "ù", anche chi ha questo nome converrà con me sul fatto che non sia proprio il massimo, vediamo quindi come risolvere.
Abbiamo due possibilità: applicare un nome dinamico (cioè a discrezione del giocatore), oppure un nome statico (fisso, a discrezione di chi crea l'hack).

- Nome Dinamico
Avevo già riportato questo metodo in una guida ad hoc ma dato che è molto veloce lo riscriverò. In un semplice script (che può essere calpestabile, applicato ad un ow, di livello e chi più ne ha più ne metta), inserire il comando callasm 0x809FC91. Apparirà la classica schermata per rinominare il protagonista. Se viene premuto B ovviamente il nome rimarrà ù.
Questo comando può essere utilizzato in qualsiasi momento del gioco e quante volte si vuole.

- Nome Statico
Se scegliamo questa via abbiamo addirittura due possibilità, vediamo il perché. Il gioco stiva molte informazioni del player in una memoria difficilmente accessibile, poiché sappiamo il punto di partenza ma non di arrivo, dal momento che gli offset della RAM cambiano di volta in volta. Adesso le soluzioni sono: scrivere una routine che insegua tutte le strade in cerca del giusto offset, oppure distruggere questa capacità che ha la ram di cambiare ed avere degli offset fissi.
Non credo ci sia una grossa preferenza, diciamo che sia molto discrezionale la scelta dell'una o dell'altra, forse per un principiante sarà più sicuro lasciare tutto inalterato, così da essere sicuro che non ci saranno problemi derivanti da alterazioni, anche se non ci dovrebbero essere.
Distruggendo tuttavia questa dinamicità si può accedere più velocemente ad alcune informazioni ed alterare alcuni elementi.
Insomma a voi la scelta.

- Non alterando il DMA (la dinamicità diciamo):

Inseriamo, tramite xse per esempio, all'interno della nostra ROM i nomi statici del personaggio maschile e di quello femminile ed annotiamo i rispettivi offset (massimo 7 caratteri e FF finale, quindi 8 byte in tutto)
Compiliamo questa routine di FBI

al posto di "pointer to boy name" inseriremo l'offset del nome del personaggio maschile, ed al posto di "pointer to girl name" quello per il personaggio femminile.
Compiliamo ed inseriamo in uno spazio vuoto che termini sempre con 00 o 04 o 08 o 0C.
In un qualsiasi tipo di script richiamiamolo con il comando callasm 0x8XXXXXX+1 dove al posto delle XX va l'offset +1 dove avete inserito la routine.

- Distruggendo il DMA (crediti Sagiri)

Cambiamo questi byte ai relativi offset:

Codice:
0x0804C13C: 24 18


cambiare con

Codice:
0x0804C13C: 00 24


e successivamente

Codice:
0x0804C064: 01 40


cambiare con

Codice:
0x0804C064: 00 21

a questo punto abbiamo distrutto il DMA...bene...ed ora?

Semplicemente in uno script inseriamo writebytetooffset, vediamo con quali valori.
L'offset di partenza è 0x02024588 dove deve essere posta la prima lettera del nome. Il nome deve essere di massimo 7 caratteri. Ogni carattere deve essere convertito in hex (utile utilizzare xse e prendere i vari byte).
Per esempio, ne La Vendetta di Mew (pubblicità occulta) il protagonista si chiama Dante, quindi avrò...

Codice:
writebytetooffset 0xBE 0x2024588
writebytetooffset 0xD5 0x2024589
writebytetooffset 0xE2 0x202458A
writebytetooffset 0xE8 0x202458B
writebytetooffset 0xD9 0x202458C
writebytetooffset 0xFF 0x202458D
writebytetooffset 0xFF 0x202458E
writebytetooffset 0xFF 0x202458F

gli FF indicano lo spazio vuoto.


-.- BUG2: ID

Saltando l'intro noteremo che l'ID potrebbe essere uguale a tanti 00...come fare?

- Se non abbiamo alterato il DMA
Onestamente a me lo assegna normalmente, ma alcuni hanno detto che non lo fa, per il momento lascio in sospeso, se qualcuno riscontra il problema lo scriva e compilerò la guida.

- Se abbiamo disattivato il DMA
Come per il nome utilizziamo il writebytetooffset. L'offset di partenza è 0x02024592 e si estende per 4 byte, dove i primi 2 saranno il trainer ID (sapete quello per gli scambi) e gli altri 2 il Secret ID (penso sia tipo per i concorsi ma non sono certo). Ovviamente qui si dovranno inserire solo i numeri, sempre tutto riconvertito (xse aiuta anche qui!).

Questa è una guida un po' provvisoria come avete potuto vedere, avvertitemi dovessero esserci problemi.

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]

[Immagine: Targhetta_e_MMe.png]
(Questo messaggio è stato modificato l'ultima volta il: 22-10-2017 09:37 AM da eMMe97.)
18-06-2015 06:29 PM
Cerca Cita
 Mi piace ricevuti da: ...Splash , Шахтар , bonzi , MegaTorterra , Flygon
...Splash
Carmina Docta
*****
Offline

Messaggi: 2,225
Registrato: 29-12-2014
Reputazione: 17
Mi Piace Ricevuti: 541
PokéMoney: 2,843.00₱
Messaggio: #2
RE: Addio Intro
Mh, e quindi di che genere saremo quando elimineremo la intro?
Si può essere di tutti e due i generi o che?

Ex Hacker.
Ad oggi collaboro solamente per il progetto Pokèmon Generation!
Mi occupo di musica, passa dal mio canale!
E nada, in passato ho creato/restaurato/upgradato alcune patch che erano andate perdute o che presentavano dei pesanti bug.
Eccone alcune:
Project Origine (restaurata) di Mitchel1
Patch Indoors
Traduzioni ITA pokemon Diamond e Heargold
Ultimate ASM patch (in continuo Sviluppo)
Neo 8bit patch (restaurata) di KBMII
Snow Patch (by ...Splash)
Ikarus Lost Property (non mia ma la ho postata su questo forum, ve la consiglio)


Supporto:
[Immagine: uoOycEi.png]

[Immagine: 122knxf.png]
CONTEST VINTI: 1
Storyline.
[Immagine: w1xq2v.png]
18-06-2015 06:37 PM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,393
Registrato: 09-10-2014
Reputazione: 20
Mi Piace Ricevuti: 1390
PokéMoney: 1,718.00₱
Messaggio: #3
RE: Addio Intro
Allora saremo un maschietto e ci chiameremo "ù".
Per il nome ho già trovato la soluzione, la sto testando, per il genere al momento non ho la soluzione, scusate Sad

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]

[Immagine: Targhetta_e_MMe.png]
18-06-2015 06:41 PM
Cerca Cita
 Mi piace ricevuti da: ...Splash
...Splash
Carmina Docta
*****
Offline

Messaggi: 2,225
Registrato: 29-12-2014
Reputazione: 17
Mi Piace Ricevuti: 541
PokéMoney: 2,843.00₱
Messaggio: #4
RE: Addio Intro
Allora questa è la guida che fa per me!
Si, sono un maschilista ma me ne frego (io volevo un sistema per non far uscire l'opzione femminile e anche la intro...quindi ho preso due piccioni con una fava!)
Allora aspetto la guida per la modifica del nome!

Ex Hacker.
Ad oggi collaboro solamente per il progetto Pokèmon Generation!
Mi occupo di musica, passa dal mio canale!
E nada, in passato ho creato/restaurato/upgradato alcune patch che erano andate perdute o che presentavano dei pesanti bug.
Eccone alcune:
Project Origine (restaurata) di Mitchel1
Patch Indoors
Traduzioni ITA pokemon Diamond e Heargold
Ultimate ASM patch (in continuo Sviluppo)
Neo 8bit patch (restaurata) di KBMII
Snow Patch (by ...Splash)
Ikarus Lost Property (non mia ma la ho postata su questo forum, ve la consiglio)


Supporto:
[Immagine: uoOycEi.png]

[Immagine: 122knxf.png]
CONTEST VINTI: 1
Storyline.
[Immagine: w1xq2v.png]
18-06-2015 07:47 PM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,393
Registrato: 09-10-2014
Reputazione: 20
Mi Piace Ricevuti: 1390
PokéMoney: 1,718.00₱
Messaggio: #5
RE: Addio Intro
Ah ma se il tuo problema è solo il nome maschile perché la ragazza non vuoi usarla basta che tu faccia un repoint del puntatore all'offset 0x0300500C, sarebbe preferibile una routine asm, ma anche un wbto può fare al caso tuo Wink
Mi raccomando NON più di 7 lettere per il nome e poi per finire metti un FF (se utilizzi meno lettere quelle inutilizzate cambiale con un FF).

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]

[Immagine: Targhetta_e_MMe.png]
18-06-2015 08:38 PM
Cerca Cita
Bonnox
Signore del Tempo un po' imbranato
*****
Offline

Messaggi: 1,931
Registrato: 06-07-2014
Reputazione: 8
Mi Piace Ricevuti: 454
PokéMoney: 2,146.75₱
Messaggio: #6
RE: Addio Intro
bello, bravo! nonostante non sappia nulla su fire

per il sesso del personaggio potresti fare la famosa "finta intro" con un multichoice e da lì wbto...
(Questo messaggio è stato modificato l'ultima volta il: 18-06-2015 09:04 PM da Bonnox.)
18-06-2015 09:04 PM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,393
Registrato: 09-10-2014
Reputazione: 20
Mi Piace Ricevuti: 1390
PokéMoney: 1,718.00₱
Messaggio: #7
RE: Addio Intro
Si infatti cercavo di ricreare proprio quello, ma non riesco a trovare l'offset per applicare il wbto :'(
Se riuscissi a trovarlo basterebbe cambiare con il valore 0x01 nel caso della girl...però trovarlo -.-'

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]

[Immagine: Targhetta_e_MMe.png]
18-06-2015 09:13 PM
Cerca Cita
Bonnox
Signore del Tempo un po' imbranato
*****
Offline

Messaggi: 1,931
Registrato: 06-07-2014
Reputazione: 8
Mi Piace Ricevuti: 454
PokéMoney: 2,146.75₱
Messaggio: #8
RE: Addio Intro
allora fai così:

unisci

http://bulbapedia.bulbagarden.net/wiki/S...ainer_info

con

(18-06-2015 09:20 PM)Bonnox Ha scritto:  h02024EB2 ore, minuti, secondi, sessagesimi di secondo di gioco

in ruby è lì in giro, mentre potresti provare a cercarlo nella memoria per fire. sempre che non sia protetto dal DMA Tongue
18-06-2015 10:37 PM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,393
Registrato: 09-10-2014
Reputazione: 20
Mi Piace Ricevuti: 1390
PokéMoney: 1,718.00₱
Messaggio: #9
RE: Addio Intro
Mah...speriamo di riuscirci...se riesco a trovare l'offset e fare quello che voglio ottenere (senza bug ovviamente), sento Andrea se mi da la possibilità di fare un tutorial integrando una sua routine e spiego per filo e per segno come creare una nuova intro molto riadattata per quelli sodi come me xD

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]

[Immagine: Targhetta_e_MMe.png]
18-06-2015 10:58 PM
Cerca Cita
MegaTorterra
Glitched trainer
***
Offline

Messaggi: 292
Registrato: 04-05-2017
Reputazione: 1
Mi Piace Ricevuti: 102
PokéMoney: 536.75₱
Messaggio: #10
RE: Addio Intro
So che come sempre rispondo a discussioni molto vecchie ma volevo fare qualche domanda... Cos'è il DMA?
Se lo "distruggo" avrà ripercussioni sul resto del gioco?
13-08-2018 12:42 PM
Cerca Cita
Шахтар
Il mio nick si legge Shakhtar!
*****
Offline

Messaggi: 592
Registrato: 12-05-2017
Reputazione: 9
Mi Piace Ricevuti: 317
PokéMoney: 1,129.25₱
Messaggio: #11
RE: Addio Intro
(13-08-2018 12:42 PM)MegaTorterra Ha scritto:  So che come sempre rispondo a discussioni molto vecchie ma volevo fare qualche domanda... Cos'è il DMA?
Se lo "distruggo" avrà ripercussioni sul resto del gioco?

il DMA è la dinamicità del nome che scegli

Tranquillo non succede nulla l'ho fatto nella mia Hack

La mia Hack Rom:
Pokémon DAVD Edition

Guida sui suoni GBA, inserire tracce di quinta e quarta gen nella terza:
Guida avanzata di Sappy by Шахтар e LD3005


[Immagine: zpmfVKU.gif]
Shakhtar Donetsk
[Immagine: XoEvjk8.gif]

Supportiamo Pokémon: La vendetta di Mew (by eMMe97)^.^
[Immagine: 51ppxl.png]
13-08-2018 05:49 PM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,393
Registrato: 09-10-2014
Reputazione: 20
Mi Piace Ricevuti: 1390
PokéMoney: 1,718.00₱
Messaggio: #12
RE: Addio Intro
No no fermi...c'è bisogno di qualche chiarimento in più.
I dati del giocatore (come, per esempio, nome, sesso, etc. ), sono stivati in offset dinamici.
In pratica se io voglio trovare il nome eMMe nel gioco, non saprò l'indirizzo preciso dove andarlo a cercare, perché l'indirizzo cambierà di volta in volta (tecnicismo. l'offset della ram è dinamico).
Tramite la "distruzione" del dma, renderò questo indirizzo statico, cioè sarà sempre quello.
Può comportare di "male" che alcune routine che lavorano sul dma non funzioneranno più, ma basterà utilizzare un wbto, quindi molto più semplice se si ha una certa praticità.
Dipende tutto dal livello di hacking a cui sei, magari studiati un po' la cosa su una rom di prova e vedi come va.
13-08-2018 06:40 PM
Cerca Cita
 Mi piace ricevuti da: Шахтар , MegaTorterra
Rispondi 




Utente(i) che stanno guardando questa discussione: 1 Ospite(i)
Powered by MyBB, © 2002-2019 MyBB Group. Copyright © | 2019 Pokémon Hacking