Benvenuto Visitatore(Log In|Registrati)

4 Pagine V  < 1 2 3 4 >  
Reply to this topicStart new topic
> Traduzione giochi Legend, (già: "problemi del traduttore" Consigli per chiunque voglia
Alpobemp
messaggio12 Feb 2009, 18:31
Messaggio #51



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (Tsam @ 12 Feb 2009, 17:07) *
Ve la butto lì. So che probabilmente mi prenderò delle secchiate in testa. Ma non è possibile illustrare il lavoro che state facendo, partendo magari da un esempio semplice di un gioco liberato, così da spiegare al popolo il bellissimo lavoro che fate? Ok, torno a nascondermi.. ciao
tsam


Non so se ho compreso bene quello che intendi dire, ma tempo fa, ormai, ho rilasciato su IAGTG quella che avrebbe dovuto essere la prima parte di una specie di tutorial sulle traduzioni "fatte in casa", che però è restata, finora, l'unica parte. Lì analizzavo e cercavo di spiegare, il più possibile "terra terra" ferri del mestiere, tecniche ed approcci direttamente su alcune ag che ho tradotto. Sono fermamente intenzionato a pubblicare tutte le specifiche dei giochi che ho tradotto o di cui ho lavorato alla patch, relative per lo più ai dialoghi e ai testi, prima o, più realisticamente, poi.

Ciao,
Alberto


--------------------
--
alpobemp at libero punto it
 
katoble
messaggio13 Feb 2009, 09:15
Messaggio #52





Gruppo: Gamer
Messaggi: 24
Iscritto il: 23 January 09
Utente Nr.: 15.901
BGE Might and Magic VI,VII,VIII, Morrowind
SO WinXP




Ho una bella notizia (forse) ed una brutta notizia.
La bella è che sono riuscito a scompattare l'archivio shanstr.dat con Huffpack, un programma che a quato ho capito dovrebbe decomprimere gli archivi codificati con Huffman, tuttavia mi ha decompresso un solo file grande il doppio dell'archivio mentre con dragon me ne rilevava più di uno quindi non so se è un risultato positivo.

La brutta notizia è che il file è ancora tutto da decodificare. Se qualcuno ha in mente come lo si può fare glielo posso uploadare...
 
DK
messaggio13 Feb 2009, 12:54
Messaggio #53



Gruppo icone

Gruppo: Admin
Messaggi: 2.672
Iscritto il: 27 August 04
Utente Nr.: 1.509
BGE Indy and The Last Crusade
SO Windows7

OGI Supporter




Non so che programma hai usato di preciso, ma un huffpack che ho trovato sulla rete mi dice che non è un archivio HuffPack. A meno di non ricomprimerlo, ma in quel caso non ha senso.
Dovresti vedere se quello che hai scompresso, è leggibile (basta aprire anche col blocco note).
In realtà ricordavo una discussione in merito ai giochi legend, infatti sul forum di ScummVM c'è qualcosa.
Magari possiamo dargli queste dritte riguardo l'huffman, visto mai gli sia d'aiuto.
 
Micartu
messaggio13 Feb 2009, 13:11
Messaggio #54



Gruppo icone

Gruppo: SMod
Messaggi: 10.006
Iscritto il: 7 May 04
Da: Regione dell'Albero d'Oro
Utente Nr.: 1.400
BGE Elvira 1
SO WinXP




Direi di lasciare l' "onore" ad Alpo visto che è lui che si è preso la briga di contattare uno degli autori del gioco. CHe ne dici Alpo? Sei iscritto al forum di scummvm?


--------------------
 
katoble
messaggio13 Feb 2009, 13:40
Messaggio #55





Gruppo: Gamer
Messaggi: 24
Iscritto il: 23 January 09
Utente Nr.: 15.901
BGE Might and Magic VI,VII,VIII, Morrowind
SO WinXP




CITAZIONE (DK @ 13 Feb 2009, 12:54) *
Non so che programma hai usato di preciso, ma un huffpack che ho trovato sulla rete mi dice che non è un archivio HuffPack. A meno di non ricomprimerlo, ma in quel caso non ha senso.
Dovresti vedere se quello che hai scompresso, è leggibile (basta aprire anche col blocco note).


Non so infatti bene quale sia il proposito del programma però qualcosa mi ha estratto. Il testo come ho detto non è in chiaro e quindi non so se è un file utile o no.
 
Micartu
messaggio13 Feb 2009, 14:48
Messaggio #56



Gruppo icone

Gruppo: SMod
Messaggi: 10.006
Iscritto il: 7 May 04
Da: Regione dell'Albero d'Oro
Utente Nr.: 1.400
BGE Elvira 1
SO WinXP




Credo che il programma invece di dare errore abbia cercato di interpretare a "modo suo" l'archivio e abbia generato un file in realtà inservibile. Però non si sa mai nella vita, magari una botta di fortuna...
Magari uppa su megaupload o da qualche parte il "risultato" e poi linkalo qui, ma soprattutto linka il sito dove hai trovato il programma (per capire di che si tratta).


--------------------
 
katoble
messaggio13 Feb 2009, 16:00
Messaggio #57





Gruppo: Gamer
Messaggi: 24
Iscritto il: 23 January 09
Utente Nr.: 15.901
BGE Might and Magic VI,VII,VIII, Morrowind
SO WinXP




Questo è il documento estratto: Shannara
Il problema è che cercando scaricavo tutti i possibili programmi che scompattassero l'archivio e siccome la maggior parte non servono a nulla non metto tra i Segnalibri tutti i siti dai quali scarico.
 
Alpobemp
messaggio13 Feb 2009, 19:58
Messaggio #58



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (Micartu @ 13 Feb 2009, 13:11) *
Direi di lasciare l' "onore" ad Alpo visto che è lui che si è preso la briga di contattare uno degli autori del gioco. CHe ne dici Alpo? Sei iscritto al forum di scummvm?


Ma quale "onore"! ("onere", semmai.)

Sì, credo di essere iscritto, devo avere risposto ad una discussione su Dragonsphere e il mio intervento è passato inosservato come un costume da zorro a carnevale. Meglio se scrive un frequentatore abituale di scummvm.

EDIT:
CITAZIONE (katoble @ 13 Feb 2009, 16:00) *
Questo è il documento estratto: Shannara
Il problema è che cercando scaricavo tutti i possibili programmi che scompattassero l'archivio e siccome la maggior parte non servono a nulla non metto tra i Segnalibri tutti i siti dai quali scarico.


Non mi torna. Nel file originario c'erano anche delle parti evidentemente non compresse (verso l'indirizzo 0x4130) che non vengono conservate nel file di output. Credo che la faccenda sia più complessa e che non si risolva semplicemente applicando un decompressore "già pronto". Purtroppo, spesso l'attività del reverse engineering s'incanala per una strada di "lacrime, sudore e sangue" (senza menzionare altri umori fisiologici).

EDIT 2
Interessante il fatto che effettivamente le immagini sono in chiaro o in un formato elementare. Provate ad aprire il file SHAN009.PIC con il notepad, e capirete cosa intendo dire.

Ciao,
Alberto

Messaggio modificato da Alpobemp il 13 Feb 2009, 23:49


--------------------
--
alpobemp at libero punto it
 
Micartu
messaggio14 Feb 2009, 10:59
Messaggio #59



Gruppo icone

Gruppo: SMod
Messaggi: 10.006
Iscritto il: 7 May 04
Da: Regione dell'Albero d'Oro
Utente Nr.: 1.400
BGE Elvira 1
SO WinXP




Io sono registrato ma ho all'attivo 3 post, quindi immagino che verrei bellamente ignorato.
C'è qualcuno che magari è più inserito? Sennò Alpo se non sbuca nessuno se mi scrivi qui il testo del messaggio da inserire posto io.


Messaggio modificato da Micartu il 14 Feb 2009, 11:11


--------------------
 
katoble
messaggio22 Feb 2009, 18:57
Messaggio #60





Gruppo: Gamer
Messaggi: 24
Iscritto il: 23 January 09
Utente Nr.: 15.901
BGE Might and Magic VI,VII,VIII, Morrowind
SO WinXP




Ci sono novità? Se è improbabile trovare una soluzione per tradurre shannara allora mi butto su qualche altro gioco.
 
Alpobemp
messaggio23 Feb 2009, 14:50
Messaggio #61



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (katoble @ 22 Feb 2009, 18:57) *
Ci sono novità? Se è improbabile trovare una soluzione per tradurre shannara allora mi butto su qualche altro gioco.


Guarda, se hai voglia e fretta di farti le ossa con qualche titolo, ti posso consigliare Rent A Hero che presenta difficoltà tecniche praticamente nulle, visto che i testi sono editabili praticamente con un qualsiasi text editor.

CIao,
ALberto


--------------------
--
alpobemp at libero punto it
 
Alpobemp
messaggio24 Feb 2009, 16:27
Messaggio #62



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (DK @ 13 Feb 2009, 12:54) *
Non so che programma hai usato di preciso, ma un huffpack che ho trovato sulla rete mi dice che non è un archivio HuffPack. A meno di non ricomprimerlo, ma in quel caso non ha senso.
Dovresti vedere se quello che hai scompresso, è leggibile (basta aprire anche col blocco note).
In realtà ricordavo una discussione in merito ai giochi legend, infatti sul forum di ScummVM c'è qualcosa.
Magari possiamo dargli queste dritte riguardo l'huffman, visto mai gli sia d'aiuto.



Buffo.

Decisamente.

Ci sono occasioni in cui, a me è capitato qualche volta nel mondo del lavoro, ti dai da fare per mesi e mesi, forse anche anni per poi arrivare ad un risultato che, ti accorgi, era stato non solo raggiunto da altri, ma per giunta anche molto prima e molto meglio (e molto oltre). A questi pionieri, probabilmente è mancata una cassa di risonanza, una qualche autopromozione del proprio lavoro, o forse consideravano semplicemente di avere fatto qualcosa che non aveva valore oltre il semplice esercizio tecnico.

Un'altra considerazione che vale la pena fare, se vogliamo trarre un insegnamento da quanto tra poco sarà evidente, è che spesso, non facciamo le cose più ovvie, proprio perché banali; una tra queste è RTFM (Read The Fucking Manual), ossia, nel nostro caso, leggere cio' che ci viene proposto di leggere. Se qualcuno lo avesse fatto, avrebbe potuto leggere in quel topic un'intreressantissima affermazione, da far saltare sulla sedia:
CITAZIONE
There is another tool there which works on vocab and strings for all games from Spellcasting 101 through Callahan's Crosstime Saloon. Later games did not have vocab.dat but strings file format did not change that much. Unfortunately, all of the game logic is in the executable, even some strings are there.


Avrebbe quindi potuto fiondarsi sull'IF Archive (famosissimo sito di avventure testuali, ormai una sorta di repository), e dopo un breve ricerca localizzare i due oggetti in questione.

Bene, a questo punto ci sono tre notizie, una ottima, una buona, ed una meno buona.

La notizia ottima è che i programmi funzionano per tutte le avventure Legend da Timequest fino a Callahan Crosstime Saloon, estraggono il vocabolario (ha senso fino ad Eric the Unready, dopo di che l'interfaccia diventò completamente punta e clicca) ed ecco in allegato l'estrazione delle frasi di Shannara File Allegato  linee_di_testo_di_Shannara.zip ( 243.22k ) Numero di download: 9
.

La notizia buona è che, dato che l'autore ha accluso anche i codici sorgente dei due programmi, non vedo in teoria motivo per cui non si possano scrivere dei programmi di effetto contrario che reinseriscano nei file originali le frasi modificate.

La notizia meno buona, ma ce lo aspettavamo, è che nel caso delle avventure ibride testuali-grafiche, da Timequest fino a Eric the Unready, purtroppo restano molti aspetti irrisolti, primo tra tutti l'incognita sugli effetti eventuali sul parser modificando stringhe e vocabolario. Vale a dire, cosa verrà fuori palralndo in italiano ad un parser inglese?
Restano poi fuori tutte quelle frasi e parole che già sappiamo compilate dentro l'eseguibile, su cui si dovrà operare "a mano" e con molte limitazioni, oltre ad eventuali scritte in formato grafico.

Ciao,
Alberto

EDIT: Come al solito parlo sempre troppo presto, mi sono accorto che si fa molto uso delle variabili all'interno delle stringhe di testo, questo può rappresentare un possibile ostacolo alla buona riuscita di un'eventuale traduzione.

Messaggio modificato da Alpobemp il 24 Feb 2009, 16:43


--------------------
--
alpobemp at libero punto it
 
The Ancient One
messaggio24 Feb 2009, 17:03
Messaggio #63



Gruppo icone

Gruppo: Admin
Messaggi: 30.471
Iscritto il: 18 April 04
Da: Britannia
Utente Nr.: 1.377
pulley-in-the-middle

BGE Ultima 7
Playing Ultima 7: "Il Portale Oscuro" IN ITALIANO!

Dungeon Master 1 (PC - DosBox)
Sonic (Wii)
Runaway (PC)

SO WinXP




WOWOWOWOWOW!

Alpo, sei un mito!!!!! bananab.gif
Vedere tutto il testo decompresso di Shannara è un emozione!

Complimenti per la scoperta!
Coraggio, che forse è la volta buona che ci mettiamo a tradurre le avventure della Legend! n5.gif


--------------------
 
The Ancient One
messaggio24 Feb 2009, 17:05
Messaggio #64



Gruppo icone

Gruppo: Admin
Messaggi: 30.471
Iscritto il: 18 April 04
Da: Britannia
Utente Nr.: 1.377
pulley-in-the-middle

BGE Ultima 7
Playing Ultima 7: "Il Portale Oscuro" IN ITALIANO!

Dungeon Master 1 (PC - DosBox)
Sonic (Wii)
Runaway (PC)

SO WinXP




CITAZIONE (Alpobemp @ 24 Feb 2009, 16:27) *
EDIT: Come al solito parlo sempre troppo presto, mi sono accorto che si fa molto uso delle variabili all'interno delle stringhe di testo, questo può rappresentare un possibile ostacolo alla buona riuscita di un'eventuale traduzione.

Ho dato solo un'occhiata rapida (è quasi un Mb!), ma levariabili mi sembra che si riferiscano solo ad oggetti e nomi dei PNG.
Se fosse così, resterebbe il problema degli articoli, ma potrebbe non essere troppo grave, no?


--------------------
 
Alpobemp
messaggio24 Feb 2009, 17:39
Messaggio #65



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (The Ancient One @ 24 Feb 2009, 17:05) *
CITAZIONE (Alpobemp @ 24 Feb 2009, 16:27) *
EDIT: Come al solito parlo sempre troppo presto, mi sono accorto che si fa molto uso delle variabili all'interno delle stringhe di testo, questo può rappresentare un possibile ostacolo alla buona riuscita di un'eventuale traduzione.

Ho dato solo un'occhiata rapida (è quasi un Mb!), ma levariabili mi sembra che si riferiscano solo ad oggetti e nomi dei PNG.
Se fosse così, resterebbe il problema degli articoli, ma potrebbe non essere troppo grave, no?


Non lo so, dipende; ho visto delle cose tipo <%s%sn't think%s [...]> .

Ora, tanto per far capire anche gli altri, %s sta per un qualsiasi valore che, si presume, verrà passato dall'eseguibile e che la parte di codice che "spedisce" le frasi a video appiccicherà in corrispondenza. Quindi nel caso in questione, verranno passati tre valori (diversi, è ovvio, anche se il simbolo "%s" formalmente è lo stesso, ma questo non ci deve fuorviare). E' chiaro che la frase è così costruita per potere essere utilizzata sia nel caso del singolare che del plurale, cioè, tanto per fare un esempio, dovrebbe suonare sia "Egli non pensa che ..." sia "Essi non pensano che ..." , in inglese "He doesn't think ..." "They don't think" . Nel primo caso i tre valori della %s sono ('He ' , 'does' , 's' ) nel secondo ('They ', 'do' , '') .

Ora, nell'ottica di una traduzione, mi sembra ipotizzabile che nel migliore dei casi queste stringhe siano contenute nell'eseguibile in chiaro, e che vadano tradotte coi limiti delle lunghezze che sappiamo. E se così non fosse? Oppure, che succede quando, per necessità, nella frase tradotta tolgo i riferimenti alle variabili? il programma crasha?

Ciao,
Alberto

Messaggio modificato da Alpobemp il 24 Feb 2009, 17:41


--------------------
--
alpobemp at libero punto it
 
The Ancient One
messaggio24 Feb 2009, 18:30
Messaggio #66



Gruppo icone

Gruppo: Admin
Messaggi: 30.471
Iscritto il: 18 April 04
Da: Britannia
Utente Nr.: 1.377
pulley-in-the-middle

BGE Ultima 7
Playing Ultima 7: "Il Portale Oscuro" IN ITALIANO!

Dungeon Master 1 (PC - DosBox)
Sonic (Wii)
Runaway (PC)

SO WinXP




Hai fatto bene a spiegare.

A questo punto come procediamo?
Non ci resta che provare, dico bene?
O hai altre indagini che intendi eseguire prima?
-diego

PS
Scusa le domande a raffica, Alpo, ma sono abbastanza "eccitato" dalle tue ultime scoperte! :-)


--------------------
 
Alpobemp
messaggio25 Feb 2009, 10:12
Messaggio #67



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (The Ancient One @ 24 Feb 2009, 18:30) *
Hai fatto bene a spiegare.

A questo punto come procediamo?


Beh, serve un esperto c++, che io non conosco moltissimo, che capisca cosa fa in dettaglio il programma di estrazione delle frasi e se e come si possa scrivere un programma di effetto opposto che riceva in input il file delle frasi tradotte e le reinserisca dentro il relativo file delle stringhe compresse, contrraggiornando anche puntatori, lunghezze delle frasi e quant'altro (spero che non esista in qualche altro file l'informazione della dimensione del file delle stringhe, per esempio, ma ne ho viste di tutti i colori).
Se non si trova il modo di modificare le frasi, non si possono nemmeno fare le prove di cui parlavamo ieri (quelle sugli effetti della modifica delle frasi con le variabili %s), da cui si può valutare la fattibilità o meno dell'intero progetto (che sarebbe, ci tengo a risottolinearlo, di entità cosmica, perché in una botta sola ci ritroviamo tra capo e collo qualcosa come una decina di avventure da tradurre in italiano).
Quindi questo programmino (o questi due, c'è anche quello del vocabolario per le avventure ancora testuali) sarebbe propedeutico a tutto il resto.

CITAZIONE
Non ci resta che provare, dico bene?


Eeeeeeeeesatto!

CITAZIONE
O hai altre indagini che intendi eseguire prima?


Guarda, io sto provando a dare un'occhiata ai sorgenti dei programmi, ma , benché siano molto brevi e compatti, sto andando molto a rilento perché praticamente lo sto leggendo cercando info su ogni istruzione, ripensandola in delphi, che sarebbe il "linguaggio" che parlo (e anche male).

Il geniaccio, in questi casi, penso che sarebbe DK.

CITAZIONE
PS
Scusa le domande a raffica, Alpo, ma sono abbastanza "eccitato" dalle tue ultime scoperte! :-)


Eh, lo so, ma sempre meglio andarci con i piedi di piombo. Per esempio, ancora non ho capito perché non vengono listate in output dal programma la serie di parole in chiaro verso la parte iniziale del file SHANSTR.DAT.

Ciao,
Alberto


--------------------
--
alpobemp at libero punto it
 
The Ancient One
messaggio25 Feb 2009, 11:18
Messaggio #68



Gruppo icone

Gruppo: Admin
Messaggi: 30.471
Iscritto il: 18 April 04
Da: Britannia
Utente Nr.: 1.377
pulley-in-the-middle

BGE Ultima 7
Playing Ultima 7: "Il Portale Oscuro" IN ITALIANO!

Dungeon Master 1 (PC - DosBox)
Sonic (Wii)
Runaway (PC)

SO WinXP




Grazie delle risposte, Alpo!

CITAZIONE
Eh, lo so, ma sempre meglio andarci con i piedi di piombo.

Io purtroppo di programmazione non so assolutamente niente, quindi non posso aiutare.

Viceversa sono assolutamente disponibile per ogni altro aiuto (tradure qualche frase, eseguire prove, ecc).

Tienici informati!
-diego


--------------------
 
Micartu
messaggio25 Feb 2009, 19:05
Messaggio #69



Gruppo icone

Gruppo: SMod
Messaggi: 10.006
Iscritto il: 7 May 04
Da: Regione dell'Albero d'Oro
Utente Nr.: 1.400
BGE Elvira 1
SO WinXP




beh che dire....ottime notizie! Purtroppo dobbiamo rimanere con i piedi per terra.
D'altra parte ce lo imamginavamo che sarebbe stato ocmplesso tradurre un'avventura Legend con parser, anche avedno tools pronti e finiti e tutto perfezionato sarebbe cmq difficile, vista la natura stessa del parser, preposizioni, verbi, generi maschili e femminili degli oggetti.
Vediamo un po' dove si arriverà...io se arriverete un giorno a poter lavorare a Spellcasting o Eric o Death Gate ci sono e lo dico già da ora.


--------------------
 
The Ancient One
messaggio26 Feb 2009, 01:08
Messaggio #70



Gruppo icone

Gruppo: Admin
Messaggi: 30.471
Iscritto il: 18 April 04
Da: Britannia
Utente Nr.: 1.377
pulley-in-the-middle

BGE Ultima 7
Playing Ultima 7: "Il Portale Oscuro" IN ITALIANO!

Dungeon Master 1 (PC - DosBox)
Sonic (Wii)
Runaway (PC)

SO WinXP




Mi sono permesso di cambiare il titolo della discussione, visto che ormai ha preso una piega ben diversa!


--------------------
 
Alpobemp
messaggio5 Mar 2009, 17:22
Messaggio #71



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (Gufino @ 3 Mar 2009, 19:00) *
Shannara:
ho scaricato i sorgenti, appena avrò tempo vedrò un pò. PS: perchè il c++ non è un linguaggio "decente"?


Perché non è semplicemente leggibile. Come tu dici del Delphi, a me non piace la sintassi compatta del C .
Preferisco rinunciare alla sintesi e scrivermi tutte le librerie che mi servono per avere strumenti a basso livello, che rischiare di non riuscire a rileggere quello che ho scritto io stesso, a distanza di tempo. Inoltre è molto pericoloso, anche troppo.

CITAZIONE
:P:P:P Sarà per la mia età (sono vicino ai 30) e per il mio background informatico ma io tuttora considero C e C++ i miei linguaggi preferiti eheheh. Delphi l'ho usato pochissimo, non è male, ma in generale non mi piace proprio la sintassi di tutti i derivati di ObjectPascal. Cmq a prescindere da ciò, se la compressione è una Huffman senza tweak troppo esotici, non dovrebbe essere una impresa ardua scrivere un compressore, ho combinato di molto peggio in progetti del genere biggrin2a.gif

PS: scusate l'off-topic, da ora in poi le note relative a Shannara le scriverò nel thread apposito blush.gif


Sì; ci tengo a precisare che abbiamo solo i decompressori.
Il relativo compressore (da sviluppare da zero) non deve essere solo un compressore, deve essere completamente compatibile, e già guardando il file prodotto dall'estrattore mi pare che abbia estratto solo quello che gli "interessava", lasciando stare altri contenuti (per esempio una serie di parole in chiaro; ma anche altro, magari? boh, chi lo sa ...) .

Ciao,
Alberto


--------------------
--
alpobemp at libero punto it
 
Syxtem
messaggio11 Mar 2009, 19:40
Messaggio #72



Gruppo icone

Gruppo: UST Member
Messaggi: 497
Iscritto il: 17 February 03
Utente Nr.: 2.153
SO Win95




Ti dirò... mi ha intrigato un po' questo caso e mi sono messo a dare un'occhiata pure io.
Innanzitutto ti dico che sono d'accordo sul fatto che il decompressore non effettui il dump di tutti i dati, ma non credo riguardi i vocaboli che dici te. Mi riferisco soprattutto ai flag dei segmenti, che nel dump non vengono riportati.
Cmq mi son messo a guardare qualcosa. Ora come ora sto valutando se è più conveniente scrivere il compressore direttamente in c o in java, come invece preferirei (purtroppo in java non esistono i tipi numerici unsigned ^^' ).
CITAZIONE
ho visto delle cose tipo <%s%sn't think%s [...]> .

Probabilmente questa frase va bene così, non mancano cose che il decompressore non ha estratto. In C esistono diverse funzioni che sfruttano queste cose. La più classica ad esempio è la printf (per stampare a video) che fa uso di questi marcatori per inserire il contenuto di variabili nel testo da mostrare.
Mentre in Pascal (e quindi forse anche in Delphi, anche se mi sembrava che lì le cose le avessero potenziate un po'), se non ricordo male, si aveva una struttura del tipo:
CODICE
writeln('Stringa1 =',var1,' e Stringa2 =',var2)

in C la cosa diventa:
CODICE
printf("Stringa1 = %s e Stringa2 = %s",var1,var2)

Poi a seconda del tipo di dato, si deve usare un certo tipo di "marcatore", per indicare al compilare come deve rappresentare il contenuto della variabile (ad esempio come numero o come carattere).
Magari puoi dare un'occhiata qui: http://www.cplusplus.com/reference/clibrar...dio/printf.html
Guardi gli esempi e capisci subito.

Per questo dico che secondo me ci vanno. Molto probabilmente quella stringa viene data in pasto all'eseguibile così com'è e tramite funzioni di questo tipo poi si decide che valore sostituire a quei marcatori. Probabilmente si tratta di testo non costante che può variare nel gioco (io non ne ho idea visto che non l'ho mai giocato... anzi, non ho la più pallida idea di che gioco sia. Ho capito solamente che è un'avventura testuale), nel caso in cui il giocatore possa ad esempio scrivere il nome del proprio personaggio... oppure nelle frasi che si riferiscono a certi oggetti che il personaggio tiene nell'inventario e devono tenere conto se il giocatore ne possiede più di uno per coniugare la frase al singolare o plurale.... etc etc... I casi possono essere tanti.
Cmq ci tengo a sottolineare che a mio avviso è un po' improponibile tradurre un'avventura testuale inglese in questo modo proprio perchè, come qualcuno ha già fatto notare, il parser ragionerà in inglese su frasi in italiano e perciò secondo me ne verrà una schifezza. Già temo per tutte le coniugazioni dei verbi fatte ad cazzum e gli articoli completamente sballati.
Forse converrebbe di più rifare il gioco, con un linguaggio come Inform o simili (che ha già le librerie per avere un parser in italiano). Strada che hanno adottato molti per tradurre vecchi giochi col progetto "From Hell". Magari chiedete a RGrassi per queste cose, che lui ne capisce più di me.

Ad ogni modo come funziona il decompressore più o meno l'ho capito. Non ho avuto molto tempo invece per farmi un'idea precisa di come sono organizzate le informazioni correttamente dentro il file.
Da notare che non si tratta di una codifica Huffman "classica" in quanto il compressore si crea, inoltre, anche un dizionario con alcuni vocaboli che, in virtù di questo, possono essere letti in chiaro a partire dell'offset 0x412E del file SHANSTR.DAT
In questo caso invece di risalire tramite i bit alla singola lettera, si arriva direttamente a tutta la parola. Ora non so in base a cosa siano state scelte queste parole per entrare nel dizionario. Probabilmente in base alla loro frequenza. In questo caso si avrebbe probabilmente un tot di parole scelte per essere inserite nel dizionario. Per questo farebbe comodo un confronto con un altro file, in modo da determinare se questo numero è fisso o variabile (ad esempio potrebbe essere "metti nel dizionario tutte le parole con frequenza >= X).
L'unica cosa che finora sembra chiara è che, per calcolare la frequenza di queste parole, vengano considerate come parole le stringhe separate da spazi (pare solo da spazi a vedere il file... non ci sono parole nel dizionario che terminano con simboli diversi da spazi o lettere). Cioè, nel caso ci siano 2 frasi così:
CODICE
I am tall
I am young

le frequenze calcolate dovrebbero essere:
CODICE
"I "=2
"am "=2
"tall"=1
"young"=1

e non ad esempio "I am "=2
Inoltre beh... dettagli tecnici... i nodi sono identificati da due byte (short) [b1][b2]:
Nodo interno: bit più significativo = 1
Nodo foglia: bit più significativo = 0 (quindi vengono ribaltati tutti i bit, facendo quello xor con 0xFFFF)
Se è una foglia inoltre si controlla se si tratta di un carattere "normale" o se si punta ad una parola del dizionario. In questo caso si guarda il singolo byte (quello meno significativo dei 2) e la regola è:
Carattere: bit più significativo = 0
Parola del dizionario: bit più significativo = 1
Questo è lecito in quanto la codifica adottata è l'ASCII a 7bit.
Nel caso si abbia a che fare con una parola del dizionario, questo byte non rappresenta un carattere, ma bensì un indice (che viene perciò normalizzato, riportando a 0 il bit più significativo) che viene utilizzato per navigare tra il vettore di parole del dizionario.

PS: Ah... ho notato adesso che le parole contenute nel dizionario sono per l'appunto 128 (0-127)... questo fa intuire che la strada giusta sia l'ipotesi per la quale vengano scelte le 128 parole più frequenti blush.gif


--------------------
 
Alpobemp
messaggio11 Mar 2009, 23:01
Messaggio #73



Gruppo icone

Gruppo: IAGTG Member
Messaggi: 2.658
Iscritto il: 1 June 05
Da: Roma
Utente Nr.: 1.733
SO Altro

OGI Supporter


Spolveratore (2)


CITAZIONE (Syxtem @ 11 Mar 2009, 19:40) *
CITAZIONE
ho visto delle cose tipo <%s%sn't think%s [...]> .

Probabilmente questa frase va bene così, non mancano cose che il decompressore non ha estratto. In C esistono diverse funzioni che sfruttano queste cose. La più classica ad esempio è la printf (per stampare a video) che fa uso di questi marcatori per inserire il contenuto di variabili nel testo da mostrare.


Guarda, questo è pacifico, tant'è vero che io stesso parlavo già di "variabili", nel senso che cose di questo genere sono comunissime nei parser delle avventure testuali (nell'AGI e anche nello SCI della Sierra) ; la mia paura e le mie perplessità erano esattamente quelle che esprimi tu, ma potrebbero esserci delle scappatoie possibili, provando a "piegare" le traduzioni verso espressioni più generalistiche, magari omettendo l'uso delle variabili nelle frasi tradotte, ove fosse possibile. Il problema è vedere se ciò non possa mandare in abend il motore del gioco, ma a questo punto ritorniamo da capo a dodici, nel senso che per fare questo esperiemento dobbiamo essere in grado di potere reinserire le frasi tradotte nei file di gioco e per far ciò ci serve un compressore compatibile.

Comunque per una settimana circa non potrò frequentare, dunque ... buon lavoro!

Ciao,
Alberto

Messaggio modificato da Alpobemp il 11 Mar 2009, 23:04


--------------------
--
alpobemp at libero punto it
 
Syxtem
messaggio11 Mar 2009, 23:50
Messaggio #74



Gruppo icone

Gruppo: UST Member
Messaggi: 497
Iscritto il: 17 February 03
Utente Nr.: 2.153
SO Win95




Beh... io ormai sono in periodo di esami, perciò posso guardarci solo di tanto in tanto. Ad ogni modo questo è lo schema del file compresso... o per lo meno dovrebbe qualcosa che vi si avvicina di molto blush.gif
CODICE
InizioFile
[2 byte]    : N°Segmenti
[6 byte]*N°Segm    : Descrizione dei segmenti:
            {2 byte}: N° Stringhe
            {2 byte}: Dimensione del segmento compresso
            {2 byte}: Flags
([2 byte]*N°Stringhe)*N°Segm : Dimensione della stringa compressa, per ogni stringa di ogni segmento
                   L'elenco è in ordine crescente: prima ci sono tutte le stringhe del 1° segmento, poi quelle del 2° etc.
[2 byte]    : Dimensione del tabella di huffman (n° nodi?)
[2 byte]*N°Nodi    : Elenco dei nodi dell' HuffmanTree
[2 byte]    : Indirizzo del N° Parole nel dizionario
[2 byte]*N°Parole: Indirizzi delle parole dizionario
[2 byte]    : Dimensione del dizionario (n° totale di byte parole)
[1 byte]*N°ByteParole: Elenco delle parole
[......]    : Elenco di bit per la codifica Huffman (testo compresso)
FineFile

Poi magari guarderò se effettivamente tutte le informazioni sono corrette, visto che ora come ora non ho il tempo di controllare tutto scrupolosamente.


--------------------
 
The Ancient One
messaggio12 Mar 2009, 10:09
Messaggio #75



Gruppo icone

Gruppo: Admin
Messaggi: 30.471
Iscritto il: 18 April 04
Da: Britannia
Utente Nr.: 1.377
pulley-in-the-middle

BGE Ultima 7
Playing Ultima 7: "Il Portale Oscuro" IN ITALIANO!

Dungeon Master 1 (PC - DosBox)
Sonic (Wii)
Runaway (PC)

SO WinXP




Grandi, ragazzi!

Ci capisco sempre meno, ma vi adoro!!! n5.gif


--------------------
 

4 Pagine V  < 1 2 3 4 >
Reply to this topicStart new topic
1 utenti stanno leggendo questa discussione (1 visitatori e 0 utenti anonimi)
0 utenti:

 

Modalità di visualizzazione: Normale · Passa a: Lineare · Passa a: Outline


Versione Lo-Fi Oggi è il: 4th November 2026 - 07:44