Romhacking.it Forums

Traduzioni => Rom Hacking => Discussione aperta da: Magnetic_dud il Gennaio 21, 2006, 23:55:58

Titolo: Puntatori Game Boy
Inserito da: Magnetic_dud il Gennaio 21, 2006, 23:55:58
Sto traducendo una rom (rpg) per gbc jap>>ita e ho trovato tutto, script, posizioni tiles, puntatori, table ecc...
ho già fatto l'hacking gfx all'80%
il testo? solo 25 frasi.... ^_^
le frasi però sono troppo corte per diventare decenti in italiano.
Per fortuna c'è un esagerazione di spazio libero, che uso per rimettere le frasi :D

il problema sono i puntatori, a 3 bit.
Attualmente ho cambiato 25 frasi, cambiando i puntatori a mano...
siccome non ho la pazienza infinita (script di 600k :(), volevo farlo fare in automatico

ma.... non ho trovato nessun programma che li cambi in automatico

cosa mi consigliate?
gizmo? Ma è user-UNfriendly, non ci capisco una mazza  <_<

un altro prog?

il problema è che i puntatori sono messi alla c@xx0 di cane!
Tra puntatore e puntatore ci sono 4 OPPURE 5 byte.
non sono riuscito a capire alcuna relazione matematica, sembra che sia a caso :(
Titolo: Puntatori Game Boy
Inserito da: Gemini il Gennaio 22, 2006, 02:08:42
Probabilmente i puntatori sono inseriti dentro qualche sequenza tipo script degli eventi, che richiama i dialoghi a seconda dell'evento con cui si interagisce, stile Tales of Phantasia per Psx. Se ho indovinato il caso, dubito che un programma generico vada bene. Dovresti farne (o fartene fare) uno su misura.
Titolo: Puntatori Game Boy
Inserito da: |GeO| il Gennaio 23, 2006, 22:13:46
E acnhe lì sono dolori, si parla di capire tutti i tag/opcode per gli eventi, non è un lavoretto da due minuti. :D
Titolo: Puntatori Game Boy
Inserito da: Magnetic_dud il Gennaio 23, 2006, 23:32:46
Ecco, magari potrei piano piano cambiare tipo 5 frasi per volta? (l'inversione da 4 bit a 5 bit avviene all'incirca ogni 10-15 puntatori)

C'è un programma che lo fa?
O devo farlo da me?
Quasi quasi me lo fo da me...
Titolo: Puntatori Game Boy
Inserito da: Gemini il Gennaio 24, 2006, 00:49:54
Non c'è nulla del genere, per cui scrivi pure il tuo programma personalizzato.
Titolo: Puntatori Game Boy
Inserito da: mentz il Gennaio 24, 2006, 09:27:38
Volevo capirci qualcosa anch'io....
Il testo sono solo 25 frasi....Per cui saranno circa 25 puntatori....
Perché parli di 600kb di script ?

Non ho mai sentito parlare di puntatori a 3 byte, solitamente o sono una half-word (2 byte) o una word (4 byte)....

Non trascurare l'ultimo byte anche se dovesse essere sempre uguale
xx xx xx 05
xx xx xx 05
etc
etc

I programmi per ripuntare (almeno come li concepisco io) devono avere un riferimento o come lo chiamo io byte-puntatore....

ossia un "qualcosa" che sta all'inizio o fine frase che viene usato dal sistema per localizzare il testo....

Trovarli è facile...Basta prendere il byte indicato dal puntatore stesso...
Se però becca proprio del testo, bisogna fare attenzione al byte precedente (ossia quello che sta alla fine della frase precedente)...

Insomma bisogna studiarsi bene la faccenda...
Calcolare eventuali ripetizioni dei puntatori...
E cosa da non sottovalutare, bisogna controllare se i puntatori seguano l'andamento del testo, o siano mescolati gli uni con gli altri...

Prova a postare un hex dump dei puntatori...
E' possibile che quel byte in + ogni tanto stia ad indicare l'inizio di un blocco di puntatori (prova a calcolare il puntatore di quel byte in più e vedi se lo trovi in giro per la rom - provane più di uno)


Ho fatto già una cosa del genere per Bof1 e Bof2 gba (e lì parliamo di 4096 puntatori, con una marea di puntatori ripetuti e non lineari rispetto al testo)
Titolo: Puntatori Game Boy
Inserito da: |GeO| il Gennaio 24, 2006, 13:32:25
Mi ricordo bene quello di cui parla Mentz, è stato veramente un bel macello, e ai tempi senza il suo programma sarebbe stato un suicidio...
Titolo: Puntatori Game Boy
Inserito da: yuumeikai il Gennaio 24, 2006, 15:29:15
CitazioneVolevo capirci qualcosa anch'io....
Il testo sono solo 25 frasi....Per cui saranno circa 25 puntatori....
Perché parli di 600kb di script ?
Se leggi, capirai che le frasi tradotte e ripuntate a mano sono attualmente 25 e il testo complessivo s'aggira intorno ai 600 KB.

@Magnetic_dud: sicuro come l'oro, quei byte significativi tra un pointer e l'altro servono a qualcosa (vedi: tipo di scrolling del testo, tipo di portrait da mostrare, pause negli offset, colore del testo, etc.). Devi solo scoprire a cosa servono smanettandoci sopra.

Così elimini un paio di problemi.
Titolo: Puntatori Game Boy
Inserito da: Magnetic_dud il Gennaio 24, 2006, 19:10:15
si ha ragione yuumeikai mi sono spiegato male.
ha ragione anche mentz, i puntatori sono a 4 byte. Il primo è fisso a 12 (hex)

Dunque ecco qua un esempio:

Offset      0  1  2  3  4  5  6  7   8  9  A  B  C  D  E  F

00018280   02 FF FF 10 5B 01 12 00  C0 73 10 57 01 12 00 F0   .ÿÿ.[...Às.W...ð
00018290   73 10 66 01 12 00 20 74  10 31 00 12 00 50 74 10   s.f... t.1...Pt.
000182A0   4D 01 12 00 80 74 10 35  00 12 00 B0 74 10 2F 00   M...€t.5...°t./.
000182B0   12 00 E0 74 10 43 01 12  00 10 75 10 3A 00 12 00   ..àt.C....u.:...
000182C0   40 75 10 31 00 12 00 A0  75 10 2B 02 12 00 A0 75   @u.1... u.+... u
000182D0   10 34 00 12 00 D0 75 10  7A 01 12 00 00 76 10 2A   .4...Ðu.z....v.*
000182E0   00 12 00 30 76 10 31 02  12 00 60 76 10 34 00 12   ...0v.1...`v.4..
000182F0   00 90 76 10 3D 00 12 00  C0 76 10 7A 01 12 00 F0   .?v.=...Àv.z...ð
00018300   76 10 6F 01 12 00 20 77  10 3E 00 12 00 50 77 10   v.o... w.>...Pw.
00018310   3D 02 12 00 80 77 10 6F  01 12 00 B0 77 0E FE 23   =...€w.o...°w.þ#
00018320   00 02 FF FF 01 67 29 00  60 1C 20 0E 8E 11 07 01   ..ÿÿ.g).`. .Ž...
00018330   23 01 02 FF FF 10 6F 01  12 00 E0 77 10 3D 00 12   #..ÿÿ.o...àw.=..
00018340   11 01 72 10 6F 01 12 00  AD 77 23 00 02 FF FF 01   ..r.o...­w#..ÿÿ.


puntatore1
posizione 0x018287
originale era: 1211E440 che vuol dire posizione 0x0440e4
rimesso a: 0x0033c0 >> 1200C073

puntatore2
orig: 1211FB40 >> 0x0440fb   
0x01828E!! distanza di 7 tra puntatore e puntatore   
rimettere a: 0x0033f0 >> 00f073   

puntatore3   
0x01228E+7 >> 18295!   
orig: 12111741 >> 0x044117   
rimettere a: 0x003420 >> 12002074   

4   
Rimettere a:   0x003450
Originale:   12113241
Offset:   0x1829c
Nuovo:   12005074

poi la distanza sembra rimanere 4 byte per i prossimi 10 dialoghi
ecc...

ora provo a modificare i valori tra pnt e pnt e vedo cosa succede  ;)
ciao
Titolo: Puntatori Game Boy
Inserito da: mentz il Gennaio 25, 2006, 10:13:56
hmmmm....
Ho notato un metodo per risparmiarsi la vita sui puntatori...
(in caso di costruzione del programma puntatore...)

allora... se i puntatori vengono visti così:

$12 $XX $XX $XX $10
abbiamo solamente 2 byte che dividono un puntatore da un altro...
quindi in automatico si va lisci come l'olio....

Mancano solo da capire i byte nel testo che richiamano il puntatore stesso...
così da poter fare il calcolo per il ripuntamento automatico...

Inoltre bisognerebbe estrarsi tutti i puntatori per capire se l'andamento è lineare (la miglior cosa) o no...

Capito questo creare il programma è una vera cavolata...
(se mi stuzzica l'appetito posso anche farlo io... :mr green: )
Titolo: Puntatori Game Boy
Inserito da: Phoenix il Gennaio 25, 2006, 13:44:06
Comunque a me sembra che i pointers siano solo quelli che cominciano con 12 e gli altri byte serviranno a qualcos'altro...
Titolo: Puntatori Game Boy
Inserito da: mentz il Gennaio 25, 2006, 15:10:15
Quelli del testo sembra che lo siano....
Degli altri mi interessa poco...
Basta che il testo sia ripuntato...
Titolo: Puntatori Game Boy
Inserito da: Magnetic_dud il Gennaio 26, 2006, 12:32:23
ho aggieggiato un po':

1. se si sostituisce 12, succedono dei casini. con alcuni valori si pianta tutto, con 13 l'avatar del personaggio esce e rientra dalla scena in loop e il testo è illeggibile
2. il byte prima del 12 setta la palette da utilizzare per la foto del personaggio che parla
3. il byte prima di quello del punto 2 è quello che seleziona la faccia dell'omino che sta parlando (ho sostituito 57 con 77 è venuta fuori un espressione buffissima :))
4. il byte prima di quello del punto 3 non si può toccare altrimenti la frase va in loop

quindi il puntatore ha questa struttura:

faccia_da_usare numero_palette $12 numero_banco XX XX $10
...
ovvero quello che aveva detto mentz ;)

per xx si usa la regola standard per il gb :D
Titolo: Puntatori Game Boy
Inserito da: mentz il Gennaio 26, 2006, 14:55:56
Allora ti manca poco per aver svelato tutto l'arcano...

Citazione
Mancano solo da capire i byte nel testo che richiamano il puntatore stesso...
così da poter fare il calcolo per il ripuntamento automatico...

Titolo: Puntatori Game Boy
Inserito da: yuumeikai il Gennaio 26, 2006, 15:14:00
Come sospettavo quei byte aveva una funzione specifica.
Smanettando s'impara (coniato fresco fresco). :D
Titolo: Puntatori Game Boy
Inserito da: mentz il Gennaio 26, 2006, 15:50:56
CitazioneCome sospettavo quei byte aveva una funzione specifica.
Smanettando s'impara (coniato fresco fresco). :D
E' proprio vero...
Titolo: Puntatori Game Boy
Inserito da: Jegriva il Gennaio 26, 2006, 20:27:23
Per la cronaca e curiosità mia, che gioco è?
Titolo: Puntatori Game Boy
Inserito da: mentz il Gennaio 26, 2006, 20:52:01
CitazionePer la cronaca e curiosità mia, che gioco è?
Così si perde il fascino dell'auto-repointer...
Titolo: Puntatori Game Boy
Inserito da: Magnetic_dud il Febbraio 10, 2006, 20:10:12
CitazioneCosì si perde il fascino dell'auto-repointer...
(sono stato un po' occupato)
Ok il gioco è:
uno dei tre Meitantei Conan.
Come mai uno dei tre?
Perchè gli scemi della Banpresto avevano programmato nel 2000 UN SOLO gioco che per motivi di marketing è stato diviso in 3 episodi:
-Karakuri Temple
-Kigantou Hihou Densetsu
-Norowaretakouro

Infatti se uno hackera si accorge che:
1. lo script è UGUALE (e quindi non so ESATTAMENTE quanto sia lungo :()
2. le tile sono le STESSE (eccezione: menu e intro)

La partita viene trasferita da gioco a gioco con la classica password.
Il font utilizzato presenta anche un 200inaio di kanji, ma non ne ho visto mai uno, nè sono mai riuscito a farne comparire uno (la table è completa)
Forse perchè hanno deciso di farlo diventare un gioco da bambini in una fase successiva.
O forse perchè un kanji disegnato con soli 8x8 pixel è illeggibile.

SEMBRA bellino, poi ho un monte di traduttori jap che lo vogliono tradurre
La gfx/sfx è PIETOSA.
Titolo: Puntatori Game Boy
Inserito da: Jegriva il Febbraio 10, 2006, 23:06:26
Mitico! Io avevo scoperto quella serie (che sinceramente detesto e ridicolizzo con un vecchio gioco per Psx, che allora mi era parso molto originale.

Penso che la vers GBC abbia un gameplay molto simile.
Titolo: Puntatori Game Boy
Inserito da: mentz il Febbraio 13, 2006, 13:36:19
Ma venendo al sodo...

Come proseguono gli studi per poter tirare fuori un bel repointer ?

tricks & tips:
per sapere se i puntatori seguono in maniera lineare il testo, basta analizzarli e vedere se hanno una crescita continua...(la situazione che ognuno si auspicherebbe di avere).

Ti basterebbe un hex dump della table dei puntatori e poi col notepad sostituire le parti che non interessano con un ritorno a capo (questo il notepad non lo fa, ma un editor esadecimale sì) o con uno spazio vuoto....
Titolo: Puntatori Game Boy
Inserito da: Magnetic_dud il Febbraio 13, 2006, 23:52:40
Il problema è che non ci ho capito molto bene su come è organizzato il testo.
La primissima frase che compare (sai la password?) è a $20522. La prima frase sensata che sono riuscito a vedere è a $20002.
Ogni tanto ci sono delle pause nei blocchi di testo lunghissime: ci sono le tile.
La prima frase che appare nel testo del gioco è a $440E4.
Sembrerebbe che il testo sia organizzato in blocchi e in mezzo a questi blocchi risiede i gfx.
Ai (anzi, al) traduttori ho dato uno script di 29 pagine di word a corpo 10 che ho estratto a partire da $440E4.
Dopo 10 frasi però, il testo SALTA 24 pagine di testo!!
è per questo che i miei traduttori non sono molto contenti. Non hanno la garanzia 100% che quello che tradurranno sia veramente visualizzato al 100%
Sembrerebbe che SIMPATICAMENTE il testo sia "un po' qui un po' li" :@
Possibile?
Forse perchè gli scemi hanno tagliato in 3 episodi un gioco che era progettato per essere unico???


ps: è normale che la ricerca con il translextion non funzioni?
Titolo: Puntatori Game Boy
Inserito da: |GeO| il Febbraio 14, 2006, 09:39:35
Il testo è ascii? Se è così la ricerca dovrebbe funzionare. Se c'è bisogno di una table devi fare attenzione a fare la ricerca utilizzando la table, altrimenti è normale che non funzioni. Per il testo devi controllare i puntatori, come diceva mentz, e provare ad estrarre tramite la loro lettura. Se il testo è ancora incasinato ti tocca fare come ha fatto mentz con bof e mappare tutto...
Titolo: Puntatori Game Boy
Inserito da: mentz il Febbraio 14, 2006, 10:31:44
In teoria, gli sviluppatori mettono le parti del gioco dove vogliono...
Bisognerebbe capire che cosa avevano in mente quando hanno fatto il tutto...

ma la table dei puntatori sta insieme al blocco testo e grafica o è separata?
Titolo: Puntatori Game Boy
Inserito da: Magnetic_dud il Febbraio 14, 2006, 15:47:41
La table è a $18287
il primo blocco di testo è a $20002
il primo blocco di grafica è a $28000
l'ultimo blocco di testo che son riuscito a vedere è all'incirca a $50000 (non ricordo e non me lo son segnato...)