Rispondi 
[Gba] Editare Animazione Porte
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,531
Registrato: 09-10-2014
Reputazione: 24
Mi Piace Ricevuti: 1738
PokéMoney: 2,150.50₱
Messaggio: #1
Editare Animazione Porte
NON APRITE QUELLA PORTA!

Sì la citazione calza a pennello, perché per me è stato peggio di un horror...
Avete cambiato i tile e non siete riusciti a creare un'animazione decente della porta che si apre? Avete provato 800 tools che vantano la descrizione "serve per editare le porte" e non hanno funzionato?
Ottimo, non mi sentirò solo almeno xD
Ecco qui la soluzione!
N.B. se volete conservare un minimo di stima per il programmatore originale del gioco vi consiglio di non continuare con la lettura, perché è una cosa allucinante.

La ricerca è stata condotta dal sottoscritto per un mese intero e ha trovato soluzione grazie al contributo dell'utente Lost Heart, a cui vanno i miei ringraziamenti. Tuttavia questa guida sarà a prova di niubbo estremo come me Wink

Per prima cosa creiamo l'animazione della porta, che sia scorrevole o "apribile a spinta" poco importa, dobbiamo iniziare con una immagine 16px di base per 48px di altezza, dove verranno riportate le 3 animazioni (la porta completamente chiusa non fa parte dell'animazione). Per chiarire meglio vi lascio questa immagine come esempio/base.

[Immagine: o6id81.jpg]

ricordiamoci di colorarla con la paletta che abbiamo utilizzato per la porta chiusa e di indexare l'immagine.
Una volta fatto ciò inseriamola nella rom come file NON compresso, mi raccomando (io ho utilizzato NLZ - non UNLZ - perché è molto facile per inserire immagini non compresse). Mi raccomando l'immagine NON deve essere COMPRESSA!
Non importa inserire la paletta, perché nel gioco c'è già.

Bene, adesso arriva la parte che mi ha "affascinato"...io farò l'esempio di Fire Red (U), ma il procedimento è lo stesso.
Rechiamoci alla tabella contenente tutte le porte, ecco gli offset per tutte le versioni inglesi. Ringraziate Lost Heart per la ricerca e condivisione.

Codice:
AXVE: 30F9B4
AXPE: 30F944
BPRE: 35B5D8
BPGE: 35B5B8
BPEE: 497174

Io mi recherò all'offset 0x35B5D8, dato che utilizzo Fire Red (U).
Ogni porta occupa 12 byte totali, adesso vi spiego la loro funzione.

- byte 0,1: questi 2 byte identificano il numero del tile in cui abbiamo l'immagine della porta. Spiego meglio. Aprendo aMap sulla destra troviamo tutti i quadratini per costruire la nostra mappa. Andando su un quadratino, in basso a sinistra vediamo scritto, per esempio, "Block: §08". quello è il numero del blocco. I byte sono due perché il numero è a 4 cifre, cioè il numero 08 in realtà è letto dal gioco 0008, che se inserito nella tabella della porta verrà scritto invertito, cioè 08 00. Il blocco con numero 12C sarà letto come 012C, che inserito nella tabella diventerà 2C 01. E così via.

- byte 2: questo è il byte del suono che viene riprodotto durante l'animazione. Se il byte è 00 si avrà il suono della porta normale, se 01 il suono sarà della porta scorrevole.

- byte 3: qui viene indicato il numero di quanti tiles formano la porta. Se la porta è normale, quindi solo 1 tile allora vedremo scritto 00, se la porta è costituita da 2 tiles (che possono essere disposti in verticale o orizzontale), allora vedremo scritto 01.

- byte da 4 a 7: qui andrà inserito l'offset dell'immagine che abbiamo creato all'inizio. Niente di più semplice.

- byte da 8 a 11: qui arriva il bello, come disse quello che ingoiò il rastrello e rifece solo il manico... xD
Allora io ho trovato scritto che questo è il puntatore dell'offset delle palette. Non è vero. Questo è l'offset del numero della paletta che la porta deve utilizzare. Mi spiego meglio.
Ammettiamo che la mia porta chiusa sfrutti i colori della paletta 11 di aMap. In hex il numero 11 equivale a B, quindi verrà letto come 0B.
Adesso il puntatore che va inserito nei byte 8/11 della tabella della porta deve rimandare ad un offset dove saranno presenti questi byte

0B 0B 0B 0B 0B 0B 0B 0B

Perché tutti questi 0B? Una paletta è composta da 16 colori. Ogni byte di questa tabella comprende 2 colori. In questo caso prendiamo soltanto i colori della paletta 0B. Ciò non toglie quindi che si possa attingere da varie palette, potrebbe servire, per esempio, se il muro dove è collocata la porta si trovasse in un'altra paletta. Ammettiamo che "la vernice" del muro si trovi nel quinto e sesto colore della paletta 02, mentre la porta comprenda tutti gli altri colori della paletta 08.
Ecco quindi che la tabella verrebbe:

08 08 02 08 08 08 08 08

Una volta fatto tutto salvate e...godetevi la vostra animazione senza bug Big Grin

EDIT: la guida non è risultata del tutto chiara, tanto che è stata posta una domanda in un topic proprio su questo procedimento.
Penso che chi si trovi in difficoltà possa leggere questa conversazione e forse trovare un chiarimento alla guida.

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]
(Questo messaggio è stato modificato l'ultima volta il: 31-07-2020 09:32 PM da eMMe97.)
22-12-2016 06:03 PM
Cerca Cita
 Mi piace ricevuti da: Explosion100 , E²VaN , Carl_J90 , marf7y , Manuxn , Flygon , IsMirrionis
Korrado1
Nuovo Arrivato
*
Offline

Messaggi: 19
Registrato: 14-12-2016
Reputazione: 0
Mi Piace Ricevuti: 5
PokéMoney: 93.00₱
Messaggio: #2
RE: Editare Animazione Porte
ciao emme97 quando vado all'offset 30F9B4 con hxd mi trova dello spazio libero infatti i byte sono tutti con FF è corretto o no? perdonami ma con le animazioni non sono mai stato in grado di capirle Undecided
22-12-2016 11:19 PM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,531
Registrato: 09-10-2014
Reputazione: 24
Mi Piace Ricevuti: 1738
PokéMoney: 2,150.50₱
Messaggio: #3
RE: Editare Animazione Porte
Quando si formula una domanda come la tua è necessario indicare a quale rom ci si riferisca.
Dato l'offset che hai indicato devo dedurre che tu utilizzi la rom di Pokémon Ruby versione inglese 1.0.
Se è così vuol dire che devi aver inserito qualche patch che ti ha cancellato dei dati di gioco, perché l'offset corrisponde perfettamente e quindi è corretto.
Se utilizzi una versione in italiano, quindi pokémon Rubino, è ovvio che gli offset cambieranno.

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]
23-12-2016 12:04 AM
Cerca Cita
Korrado1
Nuovo Arrivato
*
Offline

Messaggi: 19
Registrato: 14-12-2016
Reputazione: 0
Mi Piace Ricevuti: 5
PokéMoney: 93.00₱
Messaggio: #4
RE: Editare Animazione Porte
Perdonami se non sono stato preciso uso una rom di ruby usa comunque non ho applicato nessuna patch non penso che ci siano dei dati di gioco cancellati
La rom usa con quella inglese è differente o è la stessa ?
23-12-2016 12:14 AM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,531
Registrato: 09-10-2014
Reputazione: 24
Mi Piace Ricevuti: 1738
PokéMoney: 2,150.50₱
Messaggio: #5
RE: Editare Animazione Porte
Molto strano perché a me funziona.
Proviamo così. Te apri la rom con HxD, poi ti rechi su Cerca>Vai a...
Scrivi l'offset 30F9B4 e controlla che sia spuntata l'opzione "hex" e NON "dec" o "oct".
Alla voce "Offset relativo a" spunta la voce "Inizio" e poi click su "OK".
Il primo byte che vedi dovrebbe essere 21.

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]
23-12-2016 12:23 AM
Cerca Cita
Korrado1
Nuovo Arrivato
*
Offline

Messaggi: 19
Registrato: 14-12-2016
Reputazione: 0
Mi Piace Ricevuti: 5
PokéMoney: 93.00₱
Messaggio: #6
RE: Editare Animazione Porte
ho provato con una rom di ruby pulita e funziona allora avrò fatto qualcosa che mi ha cancellato dei dati nella rom in cui lavoro, mi sa che dovrò iniziare da zero un'altra rom grazie dell'aiuto e scusami per averti fatto perdere tempo
un'ultima cosa l'animazione della porta deve essere per forza di tre frame o anche di più?
(Questo messaggio è stato modificato l'ultima volta il: 23-12-2016 12:44 AM da Korrado1.)
23-12-2016 12:40 AM
Cerca Cita
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,531
Registrato: 09-10-2014
Reputazione: 24
Mi Piace Ricevuti: 1738
PokéMoney: 2,150.50₱
Messaggio: #7
RE: Editare Animazione Porte
Le domande non sono mai una perdita di tempo, magari possono aiutare anche altri che hanno riscontrato il tuo stesso problema Wink
Sicuramente ci sarà il modo di aumentare il numero di frame dell'animazione, ma onestamente non ho molta voglia di indagare oltre xD

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]
23-12-2016 12:55 PM
Cerca Cita
Korrado1
Nuovo Arrivato
*
Offline

Messaggi: 19
Registrato: 14-12-2016
Reputazione: 0
Mi Piace Ricevuti: 5
PokéMoney: 93.00₱
Messaggio: #8
RE: Editare Animazione Porte
Grazie mille dell'aiuto
23-12-2016 03:38 PM
Cerca Cita
 Mi piace ricevuti da: eMMe97
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,531
Registrato: 09-10-2014
Reputazione: 24
Mi Piace Ricevuti: 1738
PokéMoney: 2,150.50₱
Messaggio: #9
RE: Editare Animazione Porte
Guida aggiornata con il link della conversazione tra me e @Korrado1. Ringrazio quest'ultimo per avermi dato la possibilità di postare la sua domanda e rendere più completa e chiara la guida. Smile

[Immagine: 51ppxl.png] [Immagine: 1zlgf2o.png] [Immagine: http1t.png] [Immagine: 2i1cze0.png] [Immagine: 122knxf.png] [Immagine: veu3h5.png] [Immagine: 33u6d86.png]
27-12-2016 07:53 PM
Cerca Cita
 Mi piace ricevuti da: Korrado1
eMMe97
Professione: Genio
******
Offline

Messaggi: 1,531
Registrato: 09-10-2014
Reputazione: 24
Mi Piace Ricevuti: 1738
PokéMoney: 2,150.50₱
Messaggio: #10
RE: Editare Animazione Porte
Dopo tanto tempo ho riutilizzato questa guida per completare la mia ROM e ho trovato la spiegazione alla tabella della paletta che non riuscivo a capire tempo fa. Quindi, post aggiornato!
31-07-2020 09:34 PM
Cerca Cita
 Mi piace ricevuti da: Andrea , 80C
Rispondi 




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