[Snes] Goof Troop

Aperto da sawakita29, Marzo 16, 2010, 01:21:13

Discussione precedente - Discussione successiva

sawakita29

Ciao a tutti!
Ho trovato qualche giorno fa delle vostre traduzioni e subito mi ha affascinato l idea di provare a tradurre qualche gioco con le mie manine.
Ho letto varie guide e ben o male pian pianino sono arrivato penso ad un buon punto :)
vi spiego cosa ho fatto e il problema che mi ritrovo ora.

1. Ho aperto il gioco con l emu e ho individuato la prima parte di testo che compare.
2. Tramite il testo sono riuscito a trovare la tabella dei caratteri del gioco e l'ho creata.
3. Ho aperto il gioco con translhextion e la tabella creata in precedenza
4. Ho cercato il dialogo che avevo trovato in precedenza con il gioco.
5. Ho fatto espandere la rom con Lunar Expander

E qui il problema... Ho letto della questione dei puntatori anche se non sono riuscito sinceramente a capire bene come funzionano, da quello che ho capito ne esistono diversi tipi e a seconda del gioco si potrebbero avere anche determinati problemi.

Questo è il testo cancellato di una sola finestra di dialogo:



Ovviamente il testo che ho tradotto in italiano non entra e quindi in teoria dovrei usare la tecnica dei puntatori giusto?
Ma come faccio a far si che quello spazio vuoto vada a cercarsi il testo di quella finestra in un altro offset?

scusate se sono ignorante in questo campo ma sono determinato a riuscire a tradurre perchè mi piace un sacco sta cosa! :)

Nerox92

Cosa non hai capito di preciso?
Comunque hai gia letto le guide dei sadnes vero?

sawakita29

sisi le ho lette...
praticamente non ho capito bene la storia dei puntatori anche se ne ho capito il funzionamento...
se ad es. dopo aver fatto l'espansione alla rom e aver scritto la frase in una parte di memoria completamente libera non riesco a far si chi nella parte di memoria originale si colleghi a quel determinato offset per prendere il testo italiano
se vedete lo screenshot forse riuscite a capire meglio :)

Phoenix

Tutto sta nel trovare la tabella dei puntatori (che solitamente si trova poco sopra o poco sotto il testo).
La tabella dei puntatori non è altro che una lista di indirizzi in cui andare a prendere il testo.
Il gioco passa in rassegna uno alla volta questi indirizzi per capire dove andare a trovare il testo da visualizzare. Per le Rom SNES i puntatori hanno un formato fisso che dovrebbe essere esplicato nelle guide che hai letto.

Dovresti provare a cercare il puntatore relativo alla tua frase e vedere se dopo di quello si trovi il puntatore alla frase successiva.
Se così è hai trovato la tabella.

Fatto questo dovrai calcolare, a partire dall'offset in cui vuoi mettere il nuovo testo, il nuovo puntatore e sostituirlo a quello vecchio. In questo modo il gioco, quando leggerà quel puntatore, andrà a prendersi il testo dalla nuova posizione.
Phoenix
****************
membro di SadNES cITy
I gruppo italiano di traduzione ROM
http://www.sadnescity.it
*****************************

sawakita29

sembra semplice ma non ne vengo fuori.
allora mi sono posizionato all inizio dove inizia la frase che si trova all offset 389098
come da guid ho calcolato 389098-200=388898 che poi diventa 8898 e infine 9888.
quindi 9888 dovrebbe essere quello che mi serve giusto? Ma ora che cosa devo fare? come trovo il puntatore e come lo sostituisco? Leggendo la guida non capisco  :(  

Phoenix

a parte che se non ho intuito male. Tu gli offset li stai considerando in decimale, mentre quel 200 è un valore in esadecimale.

0x200 -> 512 in decimale. Quindi, anceh volendo, il puntatore è calcolato male.

Devi convertire tutti i valori in esadecimale. Translhextion, accanto all'offset in decimale mette quello in esadecimale (0x)
Phoenix
****************
membro di SadNES cITy
I gruppo italiano di traduzione ROM
http://www.sadnescity.it
*****************************