Benvenuto Visitatore(Log In|Registrati)
14 Nov 2010, 20:59
Messaggio
#1
|
|
|
Gruppo: IAGTG Member Messaggi: 2.658 Iscritto il: 1 June 05 Da: Roma Utente Nr.: 1.733 SO Altro OGI Supporter ![]() Spolveratore (2) |
Carissimi,
come alcuni di voi già sanno, è da qualche anno che mi incaponisco sulla traduzione di Dragonsphere, che per me è un grande capolavoro misconosciuto e sottovalutato, così come anche Rex Nebular, e un po' meno, Return of the Phantom. Sia il primo che il secondo si ispirano a due grandi cicli della Sierra, King's Quest e Space Quest, e si collocano grossomodo come coevi di KQ V e SQ IV. Insomma, per farla breve, qualcosa avevo ottenuto, ma di qualità tecnica assolutamente insufficiente, e che non reputo dignitoso pubblicare. Sebbene il codice che ho sviluppato, per quanto primitivo e rozzo, possa allo stato attuale dell'arte tradurre dialoghi, descrizioni ed estrarre alcune risorse grafiche, non ricomprime i testi (o per meglio dire lo fa con compressione zero), ed è necessario entrare più nel merito del motore originario (MADS engine) per gestire meglio le risorse ed evitare qualunque possibilità che il testo tradotto possa causare un qualche overflow di memoria ed andare a sovrapporsi a regioni di codice. Allo stato attuale non vengono gestiti i caratteri speciali come le accentate e non si può fare molto per adattare all'italiano la "grammatica" che è basata sull'inglese, ma che in teoria è modificabile. Di recente alcune persone interessate a tradurre Rex Nebular nelle loro lingue, un francese ed uno spagnolo, mi hanno contattato, anche su queste pagine, ma non potuto dare loro le risposte che si aspettavano. Insomma, per andare al dunque, mi sono finalmente deciso di mettere da parte il mio solito vizio di lavorare da solo, e di lanciare un progetto che abbia come finalità la creazione di un ambiente integrato per modificare e tradurre un gioco basato sul motore MADS in un'altra lingua. Le premesse sono buone, credo, e ho diverso materiale e conoscenze che posso mettere a disposizione. Prima di dare diffusione della cosa su altre pagine, preferisco parlarne qui che è il luogo che per me è di riferimento nella scena delle traduzioni amatoriali di ag (senza intenzione di aprire polemiche con chicchessia) e a cui devo molto (avere persone come DK, solo per citare chi conosco di più, è una vera ricchezza). Servono programmatori esperti in C e assembler intel (soprattutto a 16 bit), sebbene il codice che ho finora sviluppato sia in Delphi (pessimo Delphi, per essere più esatti), e persone che abbiano conoscenze di algoritmi di compressione tipo il LZ77. Se si trovasse qualcuno che possedesse entrambe le competenze, sarebbe il massimo. [Expert C and intel (mostly 16bit) assembly programmers are needed, although the code I have written until now is Delphi (actually a bad Delphi) and also people having knowledge of compression algorithms like LZ77 are needed. If anybody were skilled in both requirements, it would be great.] Ciao, Alberto CITAZIONE
-------------------- --
alpobemp at libero punto it |
|
|
|
![]() |
2 Dec 2010, 12:14
Messaggio
#2
|
|
|
Gruppo: IAGTG Member Messaggi: 2.658 Iscritto il: 1 June 05 Da: Roma Utente Nr.: 1.733 SO Altro OGI Supporter ![]() Spolveratore (2) |
-------------------- --
alpobemp at libero punto it |
|
|
|
2 Dec 2010, 16:22
Messaggio
#3
|
|
|
Gruppo: Gamer Messaggi: 11 Iscritto il: 17 May 08 Utente Nr.: 13.251 SO Altro |
Capita qualche volta di non saper come cancellare un post sbagliato e di rimediare alla bell'e meglio. (se un moderatore puo' togliere il mio post precedente grazie)
CITAZIONE Tu conosci assembler intel 16bit o delphi? Una certa pratica col primo ce l'ho. ---------------------------------- Vorrei chiederti cosa intendi con la seguente: CITAZIONE è necessario entrare più nel merito del motore originario (MADS engine) per gestire meglio le risorse ed evitare qualunque possibilità che il testo tradotto possa causare un qualche overflow di memoria ed andare a sovrapporsi a regioni di codice. Non capisco perche' temi che il testo vada a sovrascrivere codice eseguibile visto i file HAG che modifichi sono risorse esterne. Se il problema di "entrare nel merito del motore" sono le eventuali maggiori dimensioni del testo tradotto, allora prova a dare un'occhiata al codice di gestione dei file HAG in ScummVM: dovrebbe essere un buon punto di partenza. ---------------------------------- Riguardo la routine di compressione del testo ho sentito dreammaster, che ha scritto la classe FabDecompressor in ScummVM (come pure il codice HAG di cui sopra). Non che sperassi avesse scritto un compressore senza motivo, comunque sempre meglio chiedere prima. In un post precedente dici di aver gia' del codice a compressione zero - che dal codice di FabDecompressor dovrebbe in realta' espandere i file del 12%-13%. Mi chiedevo se, visto che in fondo stai solo a (non) ricomprimere del testo, la differenza sia cosi' grande in termini assoluti da giustificare lo sforzo di riscrivere la routine di compressione. peres |
|
|
|
2 Dec 2010, 19:33
Messaggio
#4
|
|
|
Gruppo: IAGTG Member Messaggi: 2.658 Iscritto il: 1 June 05 Da: Roma Utente Nr.: 1.733 SO Altro OGI Supporter ![]() Spolveratore (2) |
Capita qualche volta di non saper come cancellare un post sbagliato e di rimediare alla bell'e meglio. (se un moderatore puo' togliere il mio post precedente grazie) CITAZIONE Tu conosci assembler intel 16bit o delphi? Una certa pratica col primo ce l'ho. ---------------------------------- Vorrei chiederti cosa intendi con la seguente: CITAZIONE è necessario entrare più nel merito del motore originario (MADS engine) per gestire meglio le risorse ed evitare qualunque possibilità che il testo tradotto possa causare un qualche overflow di memoria ed andare a sovrapporsi a regioni di codice. Non capisco perche' temi che il testo vada a sovrascrivere codice eseguibile visto i file HAG che modifichi sono risorse esterne. Se il problema di "entrare nel merito del motore" sono le eventuali maggiori dimensioni del testo tradotto, allora prova a dare un'occhiata al codice di gestione dei file HAG in ScummVM: dovrebbe essere un buon punto di partenza. Sono risorse esterne, sì, ma vengono scompattate e caricate a runtime. In effetti le mie perplessità sono proprio legate a non sapere "di quanto mi posso "allargare" con la dimensione del testo tradotto"? E sapere come è strutturato un file HAG non mi serve, proprio per il ragionamento che tu giustamente porti, a niente (è un problema di sapere in quali buffer o variabili (e di quali dimensioni) il programma "parcheggia" il testo. (Per entrare nel tecnico: carica il testo di una stanza tutto insieme in un buffer di memoria per poterlo accedere più velocemente? e quanto è grande questo buffer? e domande del genere.) E questo, ne convengo con te, è un tipo di problema che esula completamente dal tentativo di tradurre la routine di compressione in codice 32bit . CITAZIONE ---------------------------------- Riguardo la routine di compressione del testo ho sentito dreammaster, che ha scritto la classe FabDecompressor in ScummVM (come pure il codice HAG di cui sopra). Non che sperassi avesse scritto un compressore senza motivo, comunque sempre meglio chiedere prima. grazie dell'interessamento. CITAZIONE In un post precedente dici di aver gia' del codice a compressione zero - che dal codice di FabDecompressor dovrebbe in realta' espandere i file del 12%-13%. Mi chiedevo se, visto che in fondo stai solo a (non) ricomprimere del testo, la differenza sia cosi' grande in termini assoluti da giustificare lo sforzo di riscrivere la routine di compressione. peres Non sono per niente convinto che funzioni con altre risorse, come quelle grafiche. In fondo il "mio" algoritmo a compressione zero consiste semplicemente nello scrivere il file "compresso" in pacchetti di 16 byte in chiaro, anteponendo ovviamente la word xFFFF che il decompressore interpreta esattamente in questo modo, ricopiando in output i 16 byte seguenti. La coda finale del file, che ovviamente va da 0 a 15 byte, la gestisco un po' a cavolo ed empiricamente, aggiungendo "case of" il numero di byte rimasti, delle code di caratteri predeterminate facendo delle prove con delle frasi di lunghezza da 1 a 15. Come puoi capire è una "pezza". Ciao, Alberto -------------------- --
alpobemp at libero punto it |
|
|
|
3 Dec 2010, 04:40
Messaggio
#5
|
|
|
Gruppo: Gamer Messaggi: 11 Iscritto il: 17 May 08 Utente Nr.: 13.251 SO Altro |
CITAZIONE In effetti le mie perplessità sono proprio legate a non sapere "di quanto mi posso "allargare" con la dimensione del testo tradotto"? In ScummVM i buffer sono allocati in funzione della dimensione delle risorse, quindi l'unico limite e' la memoria disponibile nel sistema. Lo puoi verificare nel codice (verso la riga 60 di /engines/m4/compression.cpp). ---------------- CITAZIONE E sapere come è strutturato un file HAG non mi serve, proprio per il ragionamento che tu giustamente porti, a niente (è un problema di sapere in quali buffer o variabili (e di quali dimensioni) il programma "parcheggia" il testo. Se hai capito in questo modo allora non mi sono spiegato a dovere. Come dicevo sopra non sono i buffer in memoria quelli di cui ti devi preoccupare: piuttosto devi ricostruire correttamente l'indice del file HAG, perche' e' da questo che si calcolano le dimensioni dei buffer. Dal codice per la lettura dei file HAG di ScummVM (stesso sorgente di prima) si capisce che la cosa non e' particolarmente difficile. Sempre analizzando lo stesso file di cui sopra, si capisce che le risorse non devono essere per forza compresse: basta scrivere nell'indice che il file ha le stesse dimensioni prima e dopo la compressione. Questo dovrebbe essere ancora piu' semplice della compressione zero. ---------------- CITAZIONE Non sono per niente convinto che funzioni con altre risorse, come quelle grafiche. E perche' il decompressore dovrebbe rifiutare uno stream LZSS valido? Nel codice non ho visto nessuna routine che giudichi la qualita' della compressione. peres |
|
|
|
Alpobemp MADS Engine 14 Nov 2010, 20:59
TheRuler Ho visto che tempo addietro (il tuo post e' de... 15 Nov 2010, 10:38
Tsam Caro Alpo, al di là dell'ovvio supporto per un... 15 Nov 2010, 12:09
The Ancient One Come sai non posso aiutarti, però quando ci incont... 15 Nov 2010, 19:09
Alpobemp CITAZIONE (The Ancient One @ 15 Nov 2010, 19... 19 Nov 2010, 16:28
The Ancient One Ragfox ha messo la news in prima pagina.
Speriamo... 19 Nov 2010, 18:39
TheRuler Mi sono loggato sulla webchat (http://webchat.free... 19 Nov 2010, 18:40
redice molto velocemente:
conosco bene l'assembly x86... 20 Nov 2010, 00:40
Alpobemp CITAZIONE (redice @ 20 Nov 2010, 00:40) m... 23 Nov 2010, 23:44
Alpobemp CITAZIONE (Alpobemp @ 23 Nov 2010, 23:44)... 24 Nov 2010, 17:02
The Ancient One Redice, continui a stupirmi! 20 Nov 2010, 09:50
The Ancient One Redice, continui a stupirmi! 20 Nov 2010, 09:50
redice Resto in attesa, usa pure i pm del forum 24 Nov 2010, 17:05
Alpobemp Ho sviluppato un piccolo programma che estrae dai ... 28 Nov 2010, 00:20
peres CITAZIONE (Alpobemp @ 28 Nov 2010, 08:20)... 1 Dec 2010, 03:47
Alpobemp CITAZIONE (peres @ 1 Dec 2010, 03:47) CIT... 1 Dec 2010, 10:16
TheRuler Alpo, 28 Nov 2010, 11:22
Ragfox :bow: 28 Nov 2010, 14:11
The Ancient One Rinnovo i miei complimenti! 29 Nov 2010, 12:10
Micartu Forse potreste provare a presentare queste ultime ... 3 Dec 2010, 12:01
peres CITAZIONE (Micartu @ 3 Dec 2010, 20:01) F... 5 Dec 2010, 16:17
The Ancient One Alpo, giusto per curiosità, qualche novità? 15 Dec 2010, 11:37
Alpobemp CITAZIONE (The Ancient One @ 15 Dec 2010, 11... 15 Dec 2010, 12:13
The Ancient One Grande, Alpo! 15 Dec 2010, 12:24
Alpobemp CITAZIONE (The Ancient One @ 15 Dec 2010, 12... 15 Dec 2010, 15:34
Alpobemp Ci sono novità.
I file dei font sono stati interp... 13 Jan 2011, 20:00
TheRuler UAO! Fantastica notizia.
E' possibile se... 13 Jan 2011, 20:29
Alpobemp CITAZIONE (TheRuler @ 13 Jan 2011, 20:29)... 13 Jan 2011, 22:26
Ragfox Se ti metti a tradurre, sappi che in me troverai s... 13 Jan 2011, 20:42
Alpobemp CITAZIONE (Ragfox @ 13 Jan 2011, 20:42) S... 13 Jan 2011, 22:18
Ragfox CITAZIONE (Alpobemp @ 13 Jan 2011, 22:18)... 13 Jan 2011, 23:57
redice Alpo quindi stai seguendo una strada diversa? Il c... 14 Jan 2011, 02:46
Alpobemp CITAZIONE (redice @ 14 Jan 2011, 02:46) A... 14 Jan 2011, 11:22
redice Io te lo sto chiedendo adesso, non ti serve più? 14 Jan 2011, 12:02
Alpobemp CITAZIONE (redice @ 14 Jan 2011, 12:02) I... 14 Jan 2011, 14:17
The Ancient One Alpo, non mi trattare male il redice, altrimenti v... 14 Jan 2011, 17:39
redice CITAZIONE (Alpobemp @ 14 Jan 2011, 14:17)... 14 Jan 2011, 20:45
The Ancient One CITAZIONE (redice @ 14 Jan 2011, 20:45) C... 15 Jan 2011, 09:52
Alpobemp CITAZIONE (The Ancient One @ 15 Jan 2011, 09... 16 Jan 2011, 02:06
hrvg Hello,
I use "extracthag", it extracts ... 22 Jan 2011, 21:54
Alpobemp CITAZIONE (hrvg @ 22 Jan 2011, 21:54) Hel... 23 Jan 2011, 00:07
hrvg Sorry, it is "Rex Nebular".
Good week-en... 23 Jan 2011, 01:24
Alpobemp Piccolo aggiornamento, adesso è possibile modifica... 3 Feb 2011, 01:29
The Ancient One Lode al grande, Alpo! 3 Feb 2011, 12:15
DK QUOTE Al momento per scrivere "è" tocca ... 3 Feb 2011, 13:34
Alpobemp CITAZIONE (DK @ 3 Feb 2011, 13:34) CITAZI... 3 Feb 2011, 14:04
DK In effetti questa sarebbe la soluzione più elengan... 4 Feb 2011, 10:16
Alpobemp CITAZIONE (DK @ 4 Feb 2011, 10:16) In eff... 17 Feb 2011, 11:48
The Ancient One Sei strepitoso, Alpo!!!!
C... 17 Feb 2011, 12:37
DK Bravo! Alla fine è uscita una bella cosa! 17 Feb 2011, 23:08
hrvg Hello,
Bravo Alpobemp.
Congratulations.
Please, h... 21 Feb 2011, 14:42
Alpobemp CITAZIONE (hrvg @ 21 Feb 2011, 14:42) Hel... 21 Feb 2011, 16:08
hrvg Hello Alberto,
Thanks
It's perfect.
My folder... 21 Feb 2011, 19:10
Chesnok CITAZIONE Firstly look the listing of contents by ... 21 Feb 2011, 19:48
hrvg Thank you for your help.
Yes, my error.
My comman... 21 Feb 2011, 20:19
hrvg OK,
I have 5 files:
MESSAGES, VOCAB, FONTCONV.FF... 21 Feb 2011, 21:00
hrvg Hello,
I extract 5 files "FONTCONV, FONTMAIN,... 23 Feb 2011, 03:49
Alpobemp Ehm, didn't I mention it?
No error.
That progr... 23 Feb 2011, 09:42
hrvg Ah, all right!
I would be patient now.
Thank... 23 Feb 2011, 14:11
The Ancient One Nuova news sul sito! 24 Feb 2011, 11:07
Alpobemp Per fortuna che ho rilasciato perlomeno l'eseg... 25 Feb 2011, 17:30
hrvg I don't know if these files can to help you.
R... 25 Feb 2011, 17:51
Alpobemp Thanks, but this is just a sketch.
The code necess... 25 Feb 2011, 23:59
jsbrigo ...assurdo!!! ma ti hanno rubato il pc... 26 Feb 2011, 15:04
Raulpuro Hello,
sorry to resurrect this old thread, ... 28 Feb 2013, 17:21
Alpobemp CITAZIONE (Raulpuro @ 28 Feb 2013, 17:21)... 28 Feb 2013, 18:45
Raulpuro QUOTE (Alpobemp @ 28 Feb 2013, 18:45) QUO... 28 Feb 2013, 19:31
Anyman Alpobemp, can you help with translation of Dragons... 1 Jul 2014, 21:16
Alpobemp CITAZIONE (Anyman @ 1 Jul 2014, 22:16) Al... 2 Jul 2014, 10:32
Alpobemp To Anyman and whoever out there:
it seems that mad... 2 Jul 2014, 13:37
Anyman We can put files to HAG via MAD Tractor
But how t... 2 Jul 2014, 19:08
Raulpuro Hi,
Two applications for mads engine,
hagut... 12 Mar 2015, 14:55
Alpobemp CITAZIONE (Raulpuro @ 12 Mar 2015, 14:55)... 12 Mar 2015, 17:23
Raulpuro QUOTE (Alpobemp @ 12 Mar 2015, 17:23) Hi,... 12 Mar 2015, 19:09
Raulpuro Hi,
Sorry for the double post, Well, finally yo... 1 Jul 2015, 17:06
Alpobemp CITAZIONE (Raulpuro @ 1 Jul 2015, 18:06) ... 2 Jul 2015, 09:47
Raulpuro QUOTE (Alpobemp @ 2 Jul 2015, 10:47) QUOT... 2 Jul 2015, 21:39
Alpobemp CITAZIONE (Raulpuro @ 2 Jul 2015, 22:39) ... 3 Jul 2015, 10:34
Raulpuro QUOTE (Alpobemp @ 3 Jul 2015, 11:34) QUOT... 4 Jul 2015, 02:46
Alpobemp CITAZIONE (Raulpuro @ 4 Jul 2015, 03:46) ... 4 Jul 2015, 21:52
Alpobemp CITAZIONE (Alpobemp @ 4 Jul 2015, 22:52) ... 5 Jul 2015, 17:07
Raulpuro QUOTE (Alpobemp @ 5 Jul 2015, 18:07) QUOT... 5 Jul 2015, 21:17
Raulpuro QUOTE (Alpobemp @ 5 Jul 2015, 18:07) QUOT... 6 Jul 2015, 10:31
Alpobemp CITAZIONE (Raulpuro @ 6 Jul 2015, 11:31) ... 6 Jul 2015, 10:40
Raulpuro Hi,
Well, the application is already completed... 8 Oct 2015, 22:39
Alpobemp CITAZIONE (Raulpuro @ 8 Oct 2015, 23:39) ... 8 Oct 2015, 23:27
Raulpuro QUOTE (Alpobemp @ 8 Oct 2015, 23:27) QUOT... 12 Nov 2015, 18:07
TheRuler Alpone, non trovo più in rete il tuo extracthag, m... 26 Dec 2015, 23:02
Alpobemp CITAZIONE (TheRuler @ 26 Dec 2015, 23:02)... 27 Dec 2015, 12:08
TheRuler CITAZIONE (Alpobemp @ 27 Dec 2015, 12:08)... 27 Dec 2015, 12:41
Gharlic Spera che non fosse un velato invito a spargergli ... 27 Dec 2015, 16:47![]() ![]() |
| Versione Lo-Fi | Oggi è il: 3rd November 2026 - 15:54 |