Salve a tutti, sono Vash.
Il buon Brusba mi ha gentilmente concesso questo spazio (graaaaaaaazie brusba) per poter dare in pasto al web le mie inutilità che, come lui, programmo o studio nel tempo libero.
La mia prima inutilità riguarda un j-rpg (Japanese Role Play Game per i profani) per PSX, Hoshigami.
Potrei scopiazzarvi un breve riassunto da qualche sito per farvi capire di cosa parla questo gioco e per farvene un’idea, ma la verità è che non ne ho la minima idea manco io per cui se non lo so io, che vi frega a voi? Qualcuno dirà:”Ma perché ti metti a sfacchinare su un gioco che manco conosci?” e io risponderò:”Bella domanda, ogni tanto me la pongo anche io”.
Vabbè… chiudiamo l’angolo dell’ilarità e torniamo alle cose serie. Ho programmato un bel Dumper (sempre per i profani, estrattore di testo) per i dialoghi (NB SOLO i dialoghi) di, appunto, Hoshigami. Prima che chiediate il codice sorgente per analizzarlo e capacitarvi del mio genio sappiate che questo programma merita il premio di Dumper più vago del secolo. Mi spiego meglio. Il testo del gioco sta tutto in un file chiamato Demo.DAT (emo scriviamolo in minuscolo, va..) che, presumo, è un archivio. Non trovando i puntatori di questo archivio dopo una rapida ricerca stavo per abbandonare tutto quando ho visto che il testo era in un formato molto strano e aveva delle costanti alla fine e all’inizio del testo, così basandomi su una intuizione e affidandomi alla fortuna ho scritto questo bel dumper.
Qualcuno schifato dirà:”Bhè bravo, ma ora non si può nemmeno espandere…” e io, facendomi grasse risate dirò:”Buah buah buah (le grasse risate ndV), il mio culo non ha limiti, in questi dump metà spazio è occupato da commenti in giapponese (quindi unicode ndV) assolutamente inutili, per cui una volta tradotto il testo basterà riportare il file al suo peso originale e reinserirlo.”
Ora un esempio pratico su come, eventualmente, tradurre.
Ecco un Dump:
(! =============================================
ƒfƒBƒ\[ƒ‹Š×—Ž
=============================================
—- MAP —-
‚È‚µ:ƒAƒhƒxƒ“ƒ`ƒƒƒp[ƒg
—- Character ID —-
1:ƒtƒ@ƒY
4:ƒVƒ‹ƒtƒ@ƒgƒX
7:ƒŒƒCƒ}ƒŠ[
—- Global Flags —-
nothing
—- Temporary Flags —-
nothing
—- Special Animation —-
nothing
—- Face in Window —-
0:04ƒtƒ@ƒY ‹Á‚«
1:32ƒVƒ‹ƒtƒ@ƒgƒX ‰ö‚µ‚Þ
============================================= )(!–BGM–)(ply -1)
(!–”wŒi–)(%bp 0)(wtm 60)
(%fp 1)(wtm 20)(win 2)
(say “Silphatos\n\”I have some disturbing news…\”")(wfg 127)
(win 0)(wtm 5)(%fp 0)(wtm 10)(win 2)
(say “\h\n\”What’s wrong?\”")(wfg 127)
(win 0)(wtm 5)(%fp 1)(wtm 10)(win 2)
(say “Silphatos\n\”I just received word that the town of\n Dissoal was attacked by the Valaimian\n army.\”")(wfg 127)
(win 0)(wtm 5)(end)
Le parti da tradurre sono tutte quelle precedute da (say ” e, la prima parola (a meno che non sia la continuazione delle frasi precedenti) è il nome di chi parla, Silphatos in questo caso. Quel /n vuol dire che la frase va a capo per cui usatelo saggiamente (non avrete spazio infinito a schermo). Se vorrete aggiungere una finestra potrete farlo ma dovrete stare attenti a rispettare certi parametri, prendiamo come esempio questa frase, presa da un altro dump:
((win 1)
(say “\f01Zelstan\n\”If you knew that much…”)(wfg 127)
(say “\f01 If you knew that Vugtis is\n intent on destroying\n everything, why do you still”)(wfg 127)
(say “\f01 want him to return to\n Mardias?\”")(wfg 127)
(win 0)
potrete aggiungere una frase così:
(win 1)
(say “\f01Zelstan\n\”If you knew that much…”)(wfg 127)
(say “\f01 If you knew that Vugtis is\n intent on destroying\n everything, why do you still”)(wfg 127)
(say “\f01 want him to return to\n Mardias?\”)(wfg 127)
(say “\f01 frase nuova\”")(wfg 127)
(win 0)
Come vedete ho aggiunto una frase finale, rispettando la sintassi comune del gruppo di frasi, togliendo le doppie virgolette alla ex-ultima frase e aggiungendole all’ultima creata da me. Superfluo dire che questa cosa è inutile perché volendo basta continuare a scrivere sulla stessa riga aggiungendo /n vari, ma sta a voi decidere. Passiamo alla fase di pulizia. I commenti da, eventualmente, cancellare…quali sono? Facile, è tutto ciò che è compreso fra (! e ) ovvero se per esempio trovate:
(! =============================================
ƒfƒBƒ\[ƒ‹Š×—Ž
=============================================
—- MAP —-
‚È‚µ:ƒAƒhƒxƒ“ƒ`ƒƒƒp[ƒg
—- Character ID —-
1:ƒtƒ@ƒY
4:ƒVƒ‹ƒtƒ@ƒgƒX
7:ƒŒƒCƒ}ƒŠ[
—- Global Flags —-
nothing
—- Temporary Flags —-
nothing
—- Special Animation —-
nothing
—- Face in Window —-
0:04ƒtƒ@ƒY ‹Á‚«
1:32ƒVƒ‹ƒtƒ@ƒgƒX ‰ö‚µ‚Þ
=============================================)
Questo è tutto un commento e potrete usarlo. Occhio a non cancellare l’apertura o la chiusura del commento altrimenti mandate tutto in vacca… Per ora questo è tutto, se mi verrà in mente altro o ci saranno domande scriverò qualcosa di nuovo.
Download Hoshigami Dumper 0.9 (Eseguibile Win32).
A presto per il reinseritore!
Pubblicato il 29 aprile 2008 alle 02:04 da Vash