Autore: Shinichi (http://www.romhacking.it/forums/index.php?action=profile;u=645)
Versione: Non definita
Lingue: Inglese -> Italiano
Stato: In corso
Percentuale: 1%
FFMQ è un gioco "insolito" per la serie Final Fantasy: la passione per i GDR e la mia voglia di divertirmi con una rom impegnativa (Square... ^^) hanno dato vita a questa traduzione che riprendo dopo una lunga sospensione per cause di real life.
Ho iniziato questa traduzione tempo fa, dietro le quinte, quando iniziando a tradurre rom "consigliate" quindi facili trovai la cosa poco interessante, per di più i giochi su cui mi esercitavo non mi piacevano
La scelta della rom da tradurre cadde su questo gioco dato che è molto particolare per essere un gioco della serie Final Fantasy, da appassionato mi ha incuriosito molto ed in più non è stato mai tradotto
Premetto che questo gioco ha delle tecniche di programmazione di cui allora non sapevo nulla e di cui tutt'ora non riesco a trovare nessuna citazione in alcun testo (come il font a catena di cui parlerò in seguito)
Armato di tutta la logica, programmi, e nozioni possibili ( ma soprattutto della prima) mi posi l'obiettivo di cercare tutte le tecniche di programmazione a me sconosciute.
Ciò che capii in poco tempo è che quella rom conteneva diverse tecniche di codifica e decodifica di testo e offset che si possono trovare sulle guide, diversi tipi di gestione del testo e sopratutto che molte tecniche non mi erano note e che il primo passo per tradurre la rom sarebbe stato fare chiarezza su queste.
Detto questo torno al presente, precisamente a ieri in cui nella chiave USB trovo gli appunti frutto del lavoro di 1 mese di studio, e anche la traduzione avviata.
Ho deciso di tenere solo gli appunti sulle tecniche scoperte e i byte speciali (gestori di alcuni eventi) e la table originale che ho ritrovato , una lista di offset con relative spiegazioni e di cancellare la vecchia traduzione dato che per il particolare tipo di gestione delle mte ho deciso di tradurre tramite dumping, cosa che prima decisi di non fare.
Nei seguenti post spiegherò le scoperte tecniche sul gioco, quelle che so padroneggiare, quelle che ho scoperto ma non so gestire e quelle che ancora sono ignote.
Spero troviate il worklog interessante , durante i lavori postero gli aggiornamenti e vi chiederò pareri sia tecnici che "estetici".
Nei seguenti post le tecniche scoperte e quelle che lo sono di meno .
mi spiace, ma devi conformare il topic al Regolamento della sezione.
Citazionemi spiace, ma devi conformare il topic al Regolamento della sezione.
di nulla, ieri avevo sonno e da gran niubbazzo l'ho dimenticato, tutto sistemato ^^
IL FONT A CATENA - 100 %
Innanzi tutto voglio dire che i programmatori della square mi hanno proprio voluto male XD
fra le prime cose che cercai subito di risolvere (dopo aver capito di fronte a che rom mi trovavo a altro..) fu la tabella dei font
Salto la parte di ricerca relativa classica, quella in cui ho trovato la parola senza mte e ho trovato poi la sua stringa nella rom montando la table e di conseguenza il ritrovamento di mte semplici
dopo poco noto anche la tecnica del dizionario ed i byte trigger, e penso " me ne occupo piu tardi, ora penso alle mte"
andando avanti nella ricerca individuo il blocco di testo del dialogo iniziale, cosi trovo anche quello e aggiungo le nuove mte scoperte
ad un certo punto la sorpresa! la parole "rainbow island" erano identificate da un unico byte! assenza totale di byte trigger! Ed in piu un altra stranezza:alcune mte codificavano i caratteri codificati da altre due (o piu) mte messe assieme!
Per fare chiarezza decido di trovare la tabella del font , se mai ce ne fosse una,da subito e uso questo espediente:
Vado nella tabella che mi ero costruito fatta da caratteri, numeri, alcuni simboli ed mte semplici e cerco le mte stesse riscrivendone una coppia adiacente (ossia corrispondente a due valori ex consecuitivi come 00 e 01) nel search rx con byte che codificassero singoli caratteri (come è nelle normali table) separate da un punto interrogativo (quello che dovrebbe rappresentare il byte di stacco fra due mte)
Nulla da fare, pochi risultati che nel translextion non hanno beccato nulla, ma riprovo, questa volta con mte CORTE (due mte adiacenti da 2 caratteri)
BINGO! fra i risultati appare una tabella con la successione delle mte, la riconosco dall'ordine dei caratteri e delle mte che corrispondeva in parte a quello della mia table
Ed ecco la stranezza: alcune mte nel translhextion comparivano con coppie di lettere colorate, in pratica le stesse mte codificavano la successione di due (o piu) mte che facevano riferimento a loro volta a dei caratteri base, a volte byte di codifica mte e caratteri base erano assieme, un macello insomma :lol:
Inserisco tutte le mte trovate nella tabella e annoto le "stranezze" dopo di che vedo d i trovare il modo di editare la table dovendo cosi capire come funzionava questa " catena di mte"
in pratica i programmatori per comprimere il testo hanno cercato le sequenze di lettere ricorrenti e dopo averle trovate hanno compresso il testo solo per 1 sequenza, hanno addato la mte alla table e fatto questo hanno di nuovo cercato mte!
Caso rarissimo: sequenze di diverse mte erano piu frequenti di sequenze fatte da lettere singole e cosi mi sono spiegato il perche della stranezza.
Ai fini pratici su quale filo logico è costruita la table? La table non viene caricata tutta assieme ma la rom ricostruisce il processo logico all'inverso usato dai programmatori per comprimere il testo!
Al caricamento di ogni mte vengono conrollate le mte precedentamente caricate e se un byte contenuto è gia stato caricato in riferimento ad una serie di lettere la mte viene caricata sostituendo ai byte che codifica queli che questi ultimi codificano
Per capirci se a=60
e se la prima mte è codificata dal byte 00
# 60 61 #62 63 # 00 01
dato che si parte da 00 abbiamo legato il byte 00 a 60 61(ab) e 01 a 62 63(cd)
alla terza mte vengono controllate le mte precedenti e dato che sono state dichiarate allora si procede da principio : 00 01 = 60 61 62 63 = abcd
quindi arrivati alla mte vengono controllate le precedenti mte per sapere se i byte codificano altri byte e di conseguenza avere la mte completa
La ricerca e il riutilizzo della tabella MTE è completa al 100 %
Fra poco rimarro senza pc per 3 giorni nei quali continuero il progetto a casa e dopo tornero a postare, magari dopo i vostri commenti ^^
Esiste il tasto edit. Usa quello invece di postare due messaggi nel giro di pochi minuti.
Sorry, [spam mode=off] :rolleyes:
bhè complimentoni a te a il solito accidenti alla squaresoft/square-enix....
CitazioneNei seguenti post spieghero le scoperte tecniche sul gioco, quelle che so padroneggiare, quelle che ho scoperto ma non so gestire e quelle che ancora sono ignote
Sarebbe meglio di no. In questa sezione vanno inseriti soltanto i progressi del progetto, non le spiegazioni tecniche (per quelle basta fare una piccola introduzione nel primo post). Se vuoi fare una cronistoria completa di tutti i progressi tecnici puoi aprire un topic apposito nella sezione romhacking e raccogliere tutto il materiale lì.
CitazioneSarebbe meglio di no. In questa sezione vanno inseriti soltanto i progressi del progetto, non le spiegazioni tecniche (per quelle basta fare una piccola introduzione nel primo post). Se vuoi fare una cronistoria completa di tutti i progressi tecnici puoi aprire un topic apposito nella sezione romhacking e raccogliere tutto il materiale lì.
Non vedo perché mai dovrebbe farlo, tu stesso pubblicavi i tuoi lavori nei progressi di Dracula X.
Quindi continua pure e postare qui, daltronde è il tuo topic sul progetto e te lo gestisci come meglio ti sembra ;)
CitazioneNon vedo perché mai dovrebbe farlo, tu stesso pubblicavi i tuoi lavori nei progressi di Dracula X.
Io dicevo solo di cosa si trattava a grandi linee, non come erano stati fatti nei minimi dettagli. Questa non è la sezione adattata per le spiegazioni tecniche. Le 3000 sezioni diversificate non stanno mica lì per sport.
senza scannarci su cosa e dove è meglio postare le cose vorrei far notare che i post su progetti sono sempre stati utilizzati in molti modi. la filosofia è quella del, a parte il post iniziale (soggetto a delle regole che bisogna rispettare per ovvi motivi e descritte nel regolamento) il resto della discussione è a ruota libera. in molti casi si è discusso di sottigliezze riguardanti differenze tra versioni oppure si sono postati semplici ma doverosi complimenti (senza arrivare alla melassa stucchevole, gbarl ne è un esempio).
morale: shinichi, questa area è lo spazio che romhacking.it mette a disposizione dei suoi utenti che vogliono portare avanti un progetto di traduzione e rendere partecipe la comunità tutta dei progressi fatti. sei libero di farci ciò che preferisci. l'appunto di gemini non è completamente sbagliato (raccogliere il materiale utile in una sezione più "a vista" per chi vuole imparare) ma non si può costringere nessuno a farlo ne prevedere quello che verrà scritto su questo topic. l'idea è quella di postare eventuali domande generiche nella sezione romhacking. qualora ve ne fossero, shinichi, la comunità ti sarà grata se li posterai in una sezione più facilmente raggiungibile e identificabile affinchè le persone possano imparare dai tuoi progressi. per il resto lo spazio è tuo, fanne ciò che ritieni opportuno. una cronistoria? perchè no. buon lavoro e benvenuto.
In bocca al lupo.
Lavorare su qualsiasi cosa sia Square può davver far venire un gran brutto mal di testa. :)
grazie ^^ questa volta sono determinato a finire il progetto
Alla luce di quel che avete detto posterò domande riguardo l'estetica e la programmazione nella sezione apposita e qua i progressi fatti,magari anche la spiegazione di come mi sono scannato
anche se non ho postato (volevo mettere qualcosa di nuovo nel secondo post ma i puntatori non danno vita facile) il lavoro continua e ora perdo la testa con gli offsets (puntatori a due byte <_< ma intravedo una luce...), magari fra un po traduco i menu (operazione gia fatta in precedenza) e posto gli screen
per la serie "anche l'occhio vuole la sua parte" :)
Ciao, Shinichi
ciao shinichi,a che punto sei?
Mod, non si dovrebbe chiudere? Non ci sono aggiornamenti da secoli :/
Sposto in progetti abbandonati.