Rispondi 
[Gba] [Guida] Pre-battle mugshots
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 238
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 186
PokéMoney: 531.00₱
Messaggio: #1
[Guida] Pre-battle mugshots
In questa guida vi mostro come avere i mugshot prima di una battaglia come contro i superquattro.

[Immagine: jfAFfZ2.png]

Edit: potrà sembrare una guida lunga ma in realtà si tratta di inserire 3 routine, una tabella di palette e di alcune modifiche ai bytes, quindi ne vale la pena Smile


Smeraldo (I)

Tool necessari:
-XSE
-un Hex Editor (ad esempio HxD)
-Thumb Editor & Assembler (<- in fondo a quella discussione trovate il download)
-Free Space Finder


Pokéball Prima parte: espansione della rom (se non l'avete già fatto in precedenza, non necessario nella rom inglese)

-Aprire XSE
-File->Apri->scegliete la vostra rom
-Strumenti->ridimensionatore rom
-assicuratevi che sia selezionato "FF" vicino a byte spazio libero e cliccate espandi
-eventualmente potete tornare in Strumenti->ridimensionatore rom e fare "riduci" a 16 MB (in origine la rom italiana è di 14 mb)


Pokéball Seconda fase: Inserimento della prima routine

-Aprite Free Space Finder
-Aprite la vostra rom e cercate per 200 bytes, facendo anche "cerca dall'offset: E3D0B0"
-Trovate un offset che termina per 0, 4, 8 o C e mettetelo da parte

-Aprite Thumb editor
-Copiate il codice seguente nello spazio bianco:
-Andate nel tab "compile" e selezionate "insert into rom"
-inserite l'offset trovato sopra e cliccate compile

-Aprite HxD
-Aprite la vostra rom
-Fate Cerca->Vai a... e nel campo "offset" inserite B0F58
-in questo punto sostituite i valori con questi:
00 48 00 47 XX XX XX YY
Al posto delle X dovete inserire "al contrario" l'offset che avete usato sopra + 1. Ad esempio se il vostro offset è E47DD2, al posto delle XX dovete mettere D2+1 7D E4, quindi D3 7D E4.
Al posto delle Y mettete 08 o 09: usate 09 se l'offset supera le 6 cifre, omettendo quella più significativa, es: 1A3F2D4-> D5 F2 A3 09.


Pokéball Terza fase: Inserimento della seconda routine

-Aprite Free Space Finder
-Aprite la vostra rom e cercate per 200 bytes, facendo anche "cerca dall'offset: E3D0B0"
-Trovate un offset che termina per 0, 4, 8 o C e mettetelo da parte

-Aprite Thumb editor
-Copiate il codice seguente nello spazio bianco:
-Andate nel tab "compile" e selezionate "insert into rom"
-inserite l'offset trovato sopra e cliccate compile

-Aprite HxD
-Aprite la vostra rom
-Fate Cerca->Vai a... e nel campo "offset" inserite B5E8C
-in questo punto sostituite i valori con questi:
00 48 00 47 XX XX XX YY
Al posto delle X dovete inserire "al contrario" l'offset che avete usato sopra +1 . Ad esempio se il vostro offset è E47DD2, al posto delle XX dovete mettere D2+1 7D E4, quindi D3 7D E4.
Al posto delle Y mettete 08 o 09: usate 09 se l'offset supera le 6 cifre, omettendo quella più significativa, es: 1A3F2D4-> D5 F2 A3 09.


Pokéball Quarta fase: Inserimento della table delle palette per lo sfondo

Dato che con questa hack è possibile cambiare lo sfondo del mugshot, in questa fase prepariamo una table con i pointers alle palette.

-Aprite Free Space Finder
-Aprite la vostra rom e cercate per 1024 bytes, facendo anche "cerca dall'offset: E3D0B0"
-Trovate un offset che termina per 0, 4, 8 o C e mettetelo da parte

-Aprite HxD
-Aprite la vostra rom
-Fate Cerca->Vai a... e nel campo "offset" inserite l'offset trovato sopra
-Selezionate un numero a piacere di righe, minimo 2, massimo 64
-Fate tasto destro e cliccate su "Riempimento selezione" e nel campo "valori esadecimali inserite "00 00 00 08" (o 09 se siete negli offsets con più di 6 cifre) e cliccate "ok"; abbiamo appena creato una table di pointers.
-Negli offsets subito successivi (che tra l'altro dovrebbero essere tutti FF) incollate (con ctrl+b) questi bytes:
Queste sono le palette dei superquattro e del campione originali.
-Ora modificate gli "00 00 00 08" inseriti sopra con gli offsets "al contrario" degli offset delle palette che avete appena inserito (stavolta senza +1). Ad esempio se il vostro offset è E47DD2, al posto degli 00 dovete mettere D2 7D E4, quindi D2 7D E4.
Il primo "00 00 00 08" deve diventare un pointer alla prima paletta, il secondo alla seconda e così via. Il massimo delle palette utilizzabili è 255 e noi abbiamo appena inserito le prime 5.


Pokéball Quinta fase: Inserimento della terza routine

-Aprite Free Space Finder
-Aprite la vostra rom e cercate per 200 bytes, facendo anche "cerca dall'offset: E3D0B0"
-Trovate un offset che termina per 0, 4, 8 o C e mettetelo da parte

-Aprite Thumb editor
-Copiate il codice seguente nello spazio bianco:
-Modificate table2: .word 0xYYXXXXXX in fondo con l'offset della vostra table di pointers (se l'offset è E47DD2 inserite 08E47DD2, se l'offset supera le 6 cifre, tipo 1E47DD2, inserite 09E47DD2)
-Andate nel tab "compile" e selezionate "insert into rom"
-inserite l'offset trovato sopra e cliccate compile

-Aprite HxD
-Aprite la vostra rom
-Fate Cerca->Vai a... e nel campo "offset" inserite 14786E
-in questo punto sostituite i valori con questi:
01 49 08 47 00 00 XX XX XX YY
Al posto delle X dovete inserire "al contrario" l'offset che avete usato sopra + 1. Ad esempio se il vostro offset è E47DD2, al posto delle XX dovete mettere D2+1 7D E4, quindi D3 7D E4.
Al posto delle Y mettete 08 o 09: usate 09 se l'offset supera le 6 cifre, omettendo quella più significativa, es: 1A3F2D4-> D5 F2 A3 09.


Pokéball Sesta fase: Modifica di alcuni bytes

Aprite HxD
-Aprite la vostra rom
-Fate Cerca->Vai a... e nel campo "offset" inserite 147896
-in questo punto sostituite i valori con questi:
00 00 00 00
-Fate Cerca->Vai a... e nel campo "offset" inserite B1411
-in questo punto sostituite il byte con 78

Pokéball Sesta fase: Scegliere quali colori visualizzare
In questa ultima fase vi spiego come utilizzare tutto quello appena inserito, il che è sorprendentemente semplice:
Nello script del vostro allenatore vi baserà modificare questo byte che solitamente è 0x0

trainerbattle 0x0 0x50 0x0 @msg1 @msg2

modificatelo in 0x100 se volete utilizzare le prime palette, cioè quelle di Fosco (viola)
modificatelo in 0x200 se volete utilizzare le seconde palette, cioè quelle di Ester (verdi)
e così via.

Fine!


Rosso Fuoco (I) porting a cura di @Manuxn

Crediti per le routine originali a Jambo51.

Pokéball La prima routine è quella che attiva il byte inutilizzato all'interno del trainerbattle:

Pokéball La seconda routine carica i mugshots, utilizzando gli sprite dei rispettivi trainer:

Pokéball Ora va creata la tabella con le palette da utilizzare per il background, che deve essere del tipo:

Pokéball La terza routine carica le palette del background dei mugshots:

Pokéball Andare all'offset 0x08080145 e cambiare il byte da 88 a 78.

Pokéball Infine nello script del trainerbattle bisogna impostare il terzo parametro, che sarà 0x0 nel caso in cui non volessimo i mugshots, mentre in caso contrario va impostato con il valore dell'indice della palette che vogliamo utilizzare (100 per la prima, 200 per la seconda, ecc.), es:

P.S. se c'è qualcosa di poco chiaro rispondete alla discussione!



Smeraldo (U)
Rosso Fuoco (U)

(Questo messaggio è stato modificato l'ultima volta il: 19-08-2019 08:45 AM da EddyHg80.)
07-04-2017 12:21 PM
Cerca Cita
 Mi piace ricevuti da: Carl_J90 , Explosion100 , Flygon
Manuxn
Nabbo Selvatico
*
Offline

Messaggi: 23
Registrato: 25-06-2019
Reputazione: 1
Mi Piace Ricevuti: 19
PokéMoney: 135.00₱
Messaggio: #2
RE: [Guida] Pre-battle mugshots
Ciao @EddyHg80 , ti lascio il porting su Rosso Fuoco (I), così puoi ampliare la guidaWink
07-08-2019 04:18 PM
Cerca Cita
 Mi piace ricevuti da: Flygon
EddyHg80
Essere distratto è il mio forte
***
Offline

Messaggi: 238
Registrato: 25-11-2016
Reputazione: 6
Mi Piace Ricevuti: 186
PokéMoney: 531.00₱
Messaggio: #3
RE: [Guida] Pre-battle mugshots
(07-08-2019 04:18 PM)Manuxn Ha scritto:  Ciao @EddyHg80 , ti lascio il porting su Rosso Fuoco (I), così puoi ampliare la guidaWink

Fantastico!

Per adesso inserisco solo il link al tuo post perche sono senza pc per qualche giorno!
Poi sistemo il thread.
08-08-2019 12:02 PM
Cerca Cita
 Mi piace ricevuti da: Manuxn
Rispondi 




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