Shin Megami Tensei I [Snes]

Aperto da inutilities, Luglio 19, 2007, 01:47:46

Discussione precedente - Discussione successiva

Gemini

CitazioneIl problema è che non sono riuscito a trovare il modo in cui in questo tipo di file si possa inserire un rit. a capo.
*XX indica il ritorno a capo, /XX per la fine di una stringa. Fossi in te implementerei quello più comune come ritorno a capo normale in ogni caso e aggiungerei il valore esadecimale per indicare quello codificato con F0, in questo modo eviteresti il problema del codice associato anche al nome del protagonista.

Tra l'altro sarei pure per trasformare quella sfilza di codici esadecimali in un linguaggio a tag. È inutile averceli lì come cifre senza senso in cui compaiono in mezzo anche caratteri ASCII. Creano solo confusione e possono indurre ad errori parecchio frequenti.

mog_tom

Forse sarebbe meglio rivedere l'editor e farlo tutto incolonnato con lo stesso numero di caratteri per riga del gioco...
13:18:06 Roberto intanto
13:18:07 Roberto inizia col descrivermi
13:18:14 Roberto con dovizia di particolari
13:18:15 me ho appena mandato 5 euri ai processati del g8
13:18:20 Roberto il tuo pene

inutilities

Dopo qualche settimana di silenzio passata a trovare un modo per tentare di levigare le ruvidità del programma ( :ciaotriste: Credo di essermi andato ad infilare in qualcosa di più grande di me),
e dopo aver intrapreso più di una strada per giungere a tale scopo tra cui una visualizzazione ad albero per ora accantonata per la lenta macchinosità nell'apportare anche semplici modifiche,
ora, essendo partito dal freddo essenzialismo degli inizi(mog_tom capirà), sono giunto a qualcosa di un pò più psichedelico:
(L'immagine è una GIF con due fotogrammi e cambia ogni 8 sec., per lo meno dovrebbe... )

By inutilities at 2007-09-05
Aspetto ansioso i commenti della critica. :preghiera:

Sephiroth 1311

Sephiroth 1311
****************
membro di SadNES cITy
I gruppo italiano di traduzione ROM
http://www.sadnescity.it
*****************************
Fidati di chi ama leggere, fidati di chi porta sempre con sé un libro di poesie. Guarda con sospetto chi ti dice che non ha tempo, che la letteratura è una bella  cosa, che quando si è giovani  si può leggere, ma poi? Mente, non gliene importa nulla. Mente sapendo di mentire.
Roberto Cotroneo

mog_tom

13:18:06 Roberto intanto
13:18:07 Roberto inizia col descrivermi
13:18:14 Roberto con dovizia di particolari
13:18:15 me ho appena mandato 5 euri ai processati del g8
13:18:20 Roberto il tuo pene

Sephiroth 1311

CitazioneLo penso anch'io.
Questa è la versione finale del tool o c'è ancora altro su cui lavorare?


(OFFTOPIC)Mog, i MP di questi giorni li hai letti? Attendo risposta :P (/OFFTOPIC)
Sephiroth 1311
****************
membro di SadNES cITy
I gruppo italiano di traduzione ROM
http://www.sadnescity.it
*****************************
Fidati di chi ama leggere, fidati di chi porta sempre con sé un libro di poesie. Guarda con sospetto chi ti dice che non ha tempo, che la letteratura è una bella  cosa, che quando si è giovani  si può leggere, ma poi? Mente, non gliene importa nulla. Mente sapendo di mentire.
Roberto Cotroneo

inutilities

Oddio dipende che cosa intendi per finale,
se intendi finale per completamente funzionante(a parte qualche eventuale bug che mi potrebbe essere sfuggito) si lo è,
se invece intendi finale come <"basta capitolo chiuso, non ho più intenzione di lavorarci su"> no non lo è,
anche perchè le mie originarie e presuntuose intenzioni iniziali erano ben altre...
comunque speravo in una critica un pò più bacchettona del tipo
"Io nel tool che uso per tradurre posso fare questo, questo e quest'altro mentre nel tuo non c'è ne traccia",
"Noi :chitrovasole: professionisti usiamo XXXXXX e quello si che è un programma serio",
"A noi :chitrovasole: professionisti i tool per tradurre piace costruirli su misura progetto per progetto"
(Se non si fosse capito vi stavo chiedendo quali tool usate per tradurre in modo da poter prendere qualche spunto, :idea: oppure dei consigli per migliorare..)

(OFFTOPIC)Domanda: Ma il refresh della pagina è >Risposta A)automaitco B)automatico con java attivato C)manuale (/OFFTOPIC)

Vash

per quanto mi riguarda i miei tool sono dumper in command line che portano il testo in txt xD
Vash the stampede
il tifone umanoide
la calamità naturale
l'uomo da 60 miliardi di $$


TRIGUN ONE WORD ONE WORLD

Gemini

Citazione(Se non si fosse capito vi stavo chiedendo quali tool usate per tradurre in modo da poter prendere qualche spunto, :idea: oppure dei consigli per migliorare..)
Proprio come Vash, anche io preferisco scrivere un programma su misura per ogni gioco in modo che converta tutto in materiale facilmente modificabile, per cui dump su txt per il testo, bmp per la grafica e via discorrendo. Se proprio serve, creo anche qualcosa con un'interfaccia grafica per le modifiche più spinose, come il menu a sprite di Chrono Cross o una classe per eseguire l'anteprima a video del testo tradotto ed evitarsi di dover formattare tutto a video con l'emulatore sott'occhio.

E se vuoi un consiglio su come migliorare il programma, secondo me dovresti mettere i codici di ritorno a capo prima di "\r\n", non dopo. Di norma tutti i programmi di gestione dei testi da inserire/estrarre funzionano così, per cui mi fa un po' strano vedere lo standard "distorto". Potresti anche rendere più esplicita parte dei tag, visto che in alcuni casi è vitale inserirne di extra e se il traduttore (magari esterno, quindi non ha molta dimestichezza con la sintassi dei dump) non sa come agire pesca un po' a caso dal mazzo oppure si arrangia e lascia tutto come sta cambiando solo il testo. Poi vabbè, magari tu ti trovi più comodo così, per cui ignora pure il mio suggerimento se lo trovi inopportuno. ^_^

inutilities

Citazionesecondo me dovresti mettere i codici di ritorno a capo prima di "\r\n", non dopo
No è che ho pensato che proprio l'abitudine avrebbe portato l'utente ad andare a capo semplicemente premendo "invio", quindi magari quando inziava a scrivere la nuova riga si sarebbe accorto del tag di nuova riga presente sopra e/o sotto la riga corrente anche grazie al contrasto dei colori..., certo con lo stesso ragionamento se ne sarebbe potuto accorgere anche se il tag fosse stato a fine riga, ma almeno così si risparmia un "backspace"
( :( mi rendoconto da me che come motivo è alquanto fragile)

CitazionePotresti anche rendere più esplicita parte dei tag
Qui non ho ben capito cosa intendessi dire, spiegerò un pò meglio come funziona. Ci sono quattro tipi di tag.
Il primo è "[COD<XX>]" ed è riconosciuto(più o meno bene)automaticamente e l'utente può solamente spostarlo ma non modificarlo.
Il secondo e il terzo sono "[NP<XX>]"(New Page) e "[NL<XX>]"(New Line) e possono essere impostati, aggiunti o tolti dall'utente, per aggiungerli si può sia scrivere il tag che {XX}.
Il quarto è "@testo@" che viene impostato nella scheda "Configurazione Specifica"(come gli altri), esempio pratico: {F0}=@Protagonista@=8, allora {F0} è il codice, @...@ è quello che appare nell'editor, 8 è la dimensione in caratteri, cioè nella riga equivale ad una parola di 8 caratteri. E come per sopra possono essere impostati, aggiunti o tolti dall'utente, per aggiungerli si può sia scrivere il tag che {XX}.
(Tutti i codici "XX" possono essere più di un byte)

Citazioneper quanto mi riguarda i miei tool sono dumper in command line che portano il testo in txt
CitazioneProprio come Vash, anche io preferisco scrivere un programma su misura per ogni gioco in modo che converta tutto in materiale facilmente modificabile,
Mi potrebbe essere utile comunque qualche informazione :pensieroso: del tipo: che argomenti prende in input, con quale criterio rinomina i file creati, c'è uno standard o qualcosa che va per la maggiore, si ottiene un dump pulito cioè con solo del testo...

Vash

guarda, per quanto mi riguarda, capisco come funzionano i puntatori (se ci sono) e poi tramite quelli dumpo il testo e se ci sono dei caratteri speciali li segno (per esempio su ps2 se c'è l'iconetta del pulsante X metto <X>) e poi cerco di togliere tutti i byte inutilifiltrandoli direttamente dal dumper...certo poi il reinserter è come un palo nel c*lo però almeno hai un dump pulitissimo
Vash the stampede
il tifone umanoide
la calamità naturale
l'uomo da 60 miliardi di $$


TRIGUN ONE WORD ONE WORLD

Gemini

CitazioneIl primo è "[COD<XX>]" ed è riconosciuto(più o meno bene)automaticamente e l'utente può solamente spostarlo ma non modificarlo.
Parlavo proprio di questo. Possibile che non si capisca a che serve? Mi pare un po' difficile lavorare con una cosa messa lì in mezzo al testo e di cui non si sa la funzione. È un timer, una pausa, un codice per il colore, un flag per attivare il corsivo? Il traduttore a trovarsi una roba del genere in mezzo al testo ci rimane solo spiazzato e lavora per supposizioni.

CitazioneMi potrebbe essere utile comunque qualche informazione :pensieroso: del tipo: che argomenti prende in input, con quale criterio rinomina i file creati, c'è uno standard o qualcosa che va per la maggiore, si ottiene un dump pulito cioè con solo del testo...
L'input varia a seconda del tipo di testo. La maggior parte dei giochi memorizza le informazioni del kernel (statistiche, HUD, nomi degli oggetti ricorrenti) direttamente in un solo file e li collega in qualche modo tra di loro (codice, un formato tipo archivio, ecc...). In quel caso localizzo i puntatori (o quello che il gioco usa) ed estraggo da lì tutto il testo (in utf8, per facilitare il supporto di lingue multiple), inventando dei nomi per ogni file prodotto.
Nelle parti più automatizzate, come i dialoghi in gioco (o in battaglia, se ci sono), il nome lo genero ovviamente in maniera automatica (non avrebbe senso altrimenti xD) con qualcosa tipo "dial_%.3d".

Per quanto riguarda il testo vero e proprio, ho già detto che il mio standard è utf8, la versione a lunghezza variabile di unicode, e uso dei tag molto simili all'HTML. Eccoti un esempio preso dall'ultimo gioco su cui sono al lavoro:



ミッドガルズ城




「よし!!」

「ダオスの城にのりこもう!!」




「今重要な会議をしているから、
 入らない方がいい」

La prima parte serve per dire al reinseritore quanti blocchi di frasi sono presenti nel testo, mentre <Text block 1, 11:0559>XXX<End of block> hanno una funzione un po' più incasinata, oltre a quella ovvia di tenere il testo abbastanza ordinato. Dato il modo assurdo in cui sono stati salvati i puntatori dello script (in mezzo alle informazioni degli eventi...), ho aggiunto delle informazioni apposite in formato <%.2X:%.4X> per dire al reinseritore dove scrivere il puntatore nuovo e che tipo di finestra (%.2X, cambia il colore o tipo del box). Poi tutti gli altri tag sono abbastanza semplici da capire (<Name %d> stampa una variabile nome, <New> cancella la finestra e riparte da una pulita, ecc...).

inutilities

Sorry :P , mi sono dimenticato di dire cosa significhino "[COD<XX>]" e "@........@".
Il primo rappresenta l'ignoto, cioè sta a significare tutti quei codici di cui ancora non se ne sa il significato, mentre il secondo rappresenta i codici noti, cioè codici di cui se ne sa il l'esatto significato.
ESEMPIO PRATICO
nell'immagine del post del "07-09-2007, 21:47" nel fotogramma in cui sono presenti anche i tag in giallo "@.....@", nella seconda riga tra i tre punti è presente il seguente tag "[COD<FE071E>]", mettiamo il caso che io in qualche modo venga a conoscenza che quei tre byte "FE071E" stiano a significate una pausa di 3 secondi, allora cosa faccio vado nella scheda "Configurazione Specifica" e alla voce "Codici Hex Noti" aggiungo ",{FE}{07}{1E}=@Pausa 3 sec@=0", come mostrato nell'immagine seguente.

By inutilities at 2007-09-09

Poi torno nella scheda "Traduci su ricerca" et B) voilà<-(potrebbe non scriversi così)

By inutilities at 2007-09-09
d'ora in poi i codici "FE071E" saranno riconosciuti come "@Pausa 3 sec@".

Se poi invece intendevi dire "Ma come, ancora non sei riuscito a scoprire cosa significano i codici nel testo!?", beh caro Gemini purtroppo ho una spada di Damocle che oscilla paurosamente sopra la mia testa rappresentata dal fatto che non so niente di assembler, e quindi i codici devo dedurli dall'esperienza con il gioco, e per ora(o per sempre, boh!) ho accantonato la traduzione e il gioco per dedicarmi un pò di più allo sviluppo del programma.
La logica dell'editor è molto simile alla tua e anchio uso l'Utf8, solo che non ho idea di come si possano inserire gli ideogrammi Giapponesi!!?

Vash intendi forse dire che con il reiserter devi reinserire i dump uno ad uno!? Perchè se così fosse definirlo un palo :o è un eufemismo. O forse ti riferivi alla difficoltà di dover scrivere un reiserter con dei dump filtrati in tal modo...

Vash

no beh io faccio il reinserter in cmd e poi mi faccio un ciclo for...la difficoltà sta, come hai detto anche tu, nel gestire bene tutte le eccezioni

cmq ottimo il filtraggio dinamico ;)
Vash the stampede
il tifone umanoide
la calamità naturale
l'uomo da 60 miliardi di $$


TRIGUN ONE WORD ONE WORLD

inutilities

Vi avevo già accennato alla difficoltà che si ha nella mia zona ad avere una connessione internet ma se a questa si aggiunge anche la sfiga... :smadonno: modem al centro assistenza per quindici giorni(boh! ma che l'anno portato alla NASA) per poi :blink: darmene uno nuovo...
Va bè bando alle ciance, lo sviluppo del programma prosegue, ora funziona anche su Linux, ho aggiunto piccole migliorie grafiche ma niente di che, anzi come dice il proverbio "le mani inoperose(dovute alla non connessione) sono lo strumento del demonio"(non so se esista davvero un proverbio del genere, ma così me lo ricordavo). Ora dovrei testarlo per trovare eventuali problemi, sopratutto con l'Utf-8(a questo punto c'ero già 2 settimane fà, maledetto modem), ma avrei bisogno di aiuto o/e collaborazione. Più esattamente avrei bisogno di un gioco in Giapponese semplice semplice, anche già tradotto, di cui sia facile scrivere un dumper, già si conosca almeno una table, e gli indirizzi da cui estrarre i dump(me ne bastano una ventina).
Certo che se voi siete già in possesso di ciò, potreste testarlo voi, no?

P.s. Ma non c'erano altri messaggi, per email avevo ricevuto alcune notifiche!?