Benvenuto Visitatore(Log In|Registrati)

3 Pagine V   1 2 3 >  
Reply to this topicStart new topic
> Decompilare/Ricompilare file lua di scratches
Micartu
messaggio18 Dec 2011, 17:15
Messaggio #1



Gruppo icone

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




Dunque, tra una correzione a Kq2vga e l'altra mi ero messo dietro a cercare di implementare la traduzione italiana di scratches graffi mortali sulla versione director's cut americana che aggiunge pure un pezzo di gioco/espansione e un finale alternativo al gioco base. In futuro si potrebbe anche tradurre il finale alternativo e il breve pezzo di espansione. Ho avuto subito un'amara sorpresa, sia il gioco base che la Director's vengono visualizzati a schermo in maniera corretta solo con risoluzioni 4:3 questo perché il gioco base ha le jpeg che compongono gli elementi di graifca fissa (tipo chessò una bibbia che ingrandisce quando la apri) a 800x600 quindi forza la grafica a quella risoluzione. La director's è stata portata a 1024x768 quindi anche lì nisba. In pratica se si forzano risoluzioni 16:10 o 16:9 si avranno gli scenari mobili dove si cammina perfetti e gli ingrandimenti statici super deformati, l'unica è giocarci quindi in finestra... e la cosa non è risolvibile a meno di non ricreare tutte le jpeg in versioni a 16:10 o 16:9 (non impossibile ma ci vorrebbe un masochista).
Detto questo... i res di gioco sono perfettamente estraibili e ricompattabili e contengono l'audio e appunto le jpeg.
I testi del gioco sono in un file chiamato scratches.sc che non è altro che un lua da 500kb compilato.

E qui iniziano i peni di segugio amari XD
Il lua del gioco base è il 5.0 ok con l'aiuto di un amico l'abbiamo estratto.
Il lua del gioco director's è 5.1 e l'abbiamo estratto con un tools che ogni 2x1 andava in crhash. per miracolo però ci siamo riusciti.

Il lua è un linguaggio, c'è la parte in cima del file che inizia con il nome del file audio o della stringa di testo a cui il testo corrisponde e gli fa seguire la riga di testo perfettamente traducibile ed espandibile. sotto questo blocco c'è il codice.

Ho provato a copiare e incollare le prime tre frasi di gioco italiane sul file director's cut, e poi a ricompilare sto lua 5.1
quando lo ricompilo con lo stesso tools che l'ha estratto mi viene indicato una serie di errori su determinate righe e quindi non compila.
Questi errori sono nella parte del codice, e sono una serie di "end" fuori dalla graffa di determinate porzioni di codice.
Se li rimuovo il tools poi compila, ma quando uso il file così ottenuto, il gioco non parte e mi indica un problema di "core".

Adesso purtroppo non riesco a capire come ovviare a questa cosa.
se qualcuno ci capisce di ricompilazioni allego qui un rar contenente il file .sc della director's cut originale e la sua versione decompilata in lua e con qualche riga tradotta.

http://www.mediafire.com/?8y2r37vmq4veeu2

sono 200kb di allegato

Qualcuno sa aiutarmi? o cmq sa ricompilare il lua 5.1 senza servirsi dei pochi luac.exe compiler creati da ragazzi? C'è modo di compilarlo con altri software?

Edito: una cosa... quegli "end" di più (si fa per dire) non credo siano veri errori, li ha anche il gioco base. Credo siano i ricompilatori caserecci che non fanno al caso nostro, o forse in fase di decompilazione viene scasianto qualcosa (ma questo non lo credo molto possibile).

Messaggio modificato da Micartu il 18 Dec 2011, 17:33


--------------------
 
Gharlic
messaggio18 Dec 2011, 22:05
Messaggio #2


Il Grafobrancio
Gruppo icone

Gruppo: UST Member
Messaggi: 6.607
Iscritto il: 11 February 03
Utente Nr.: 2.151
SO Win2000


Archeologo professionista (50)


A prescindere dall'aspetto tennico, siccome Scratches mi è piaciuto un sacco, conta pure su di me per eventuali betatest o traduzioni o altro ancora, insomma, basta che sia in grado di farlo. biggrin2a.gif

Ah, puoi anche sostituire l'audio della edizione italiana nella DC?


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

«Io ritengo, senza ombra di dubbio, che l'UST sia il miglior gruppo di traduzioni amatoriali che l'Italia abbia avuto negli ultimi 150 anni.» S.B.
 
Micartu
messaggio18 Dec 2011, 22:12
Messaggio #3



Gruppo icone

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




Si può fare senza problemi ma non vorrei che un problema stupido come il ricompilare un lua già decompilato mandasse tutto a monte. Se si dovessero tradurre le frasi sarebbe davvero poca roba, l'espansione è corta molto corta.
Se vuoi farti un'idea apri il lua che ho allegato con notepad++ e cerca "manor" vedrai che prima o poi becchi una stringa italiana con quella parola, la parte tra quella parola e la fine c'è solo da fare copia e incolla dal file dell'edizione italiana, la parte sopra a quella parola è da tradurre.

Messaggio modificato da Micartu il 18 Dec 2011, 22:14


--------------------
 
Gharlic
messaggio18 Dec 2011, 22:24
Messaggio #4


Il Grafobrancio
Gruppo icone

Gruppo: UST Member
Messaggi: 6.607
Iscritto il: 11 February 03
Utente Nr.: 2.151
SO Win2000


Archeologo professionista (50)


Sono circa 160 stringhe. Posso farcela! biggrin2a.gif
Comunque prima aspetto che la roba tennica sia risolta.


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

«Io ritengo, senza ombra di dubbio, che l'UST sia il miglior gruppo di traduzioni amatoriali che l'Italia abbia avuto negli ultimi 150 anni.» S.B.
 
Micartu
messaggio18 Dec 2011, 22:36
Messaggio #5



Gruppo icone

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




Massì ma poi ti aiuto io e se si aggiunge qualcun altro diventano 50 righe a testa pochissimo. Il problema è la ricompilazione, con tutti gli smanettoni che ci sono in questa sezione vorrei capire se si può compilare quel lua usando il motore lua direttamente (che io trovo come sorgenti) senza dover usare i tools artigianali di varie altre persone. Magari se si potesse anche confermare che effettivamente è un lua 5.1 sarebbe ancora meglio.

Il resto del lavoro è selezionare le jpeg che contengono testi dal pacchetto del gioco base ed editare se ce ne sono con photoshop (nessun problema nemmeno qui son tutte jpeg) quelle poche dell'espansione.

Messaggio modificato da Micartu il 18 Dec 2011, 22:37


--------------------
 
Gharlic
messaggio18 Dec 2011, 23:05
Messaggio #6


Il Grafobrancio
Gruppo icone

Gruppo: UST Member
Messaggi: 6.607
Iscritto il: 11 February 03
Utente Nr.: 2.151
SO Win2000


Archeologo professionista (50)


Posso anche dedicarmi al ritocco grafico, eventualmente...


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

«Io ritengo, senza ombra di dubbio, che l'UST sia il miglior gruppo di traduzioni amatoriali che l'Italia abbia avuto negli ultimi 150 anni.» S.B.
 
Micartu
messaggio18 Dec 2011, 23:24
Messaggio #7



Gruppo icone

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




Sì sì anche io e ovviamente sarà (sempre che ci siano non ho ancora guardato bene) al massimo 4-5 jpeg. Erano già poche quelle del gioco base :-D
Ora speriamo che Dk o Gufino ol il Rullo passino di qui ;-)


--------------------
 
Gharlic
messaggio18 Dec 2011, 23:26
Messaggio #8


Il Grafobrancio
Gruppo icone

Gruppo: UST Member
Messaggi: 6.607
Iscritto il: 11 February 03
Utente Nr.: 2.151
SO Win2000


Archeologo professionista (50)


Scusa, ma fammi capire una cosa, l'espansione sta all'inizio del gioco? O alla fine? O diluita nel gioco? Insomma in cosa consiste?


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

«Io ritengo, senza ombra di dubbio, che l'UST sia il miglior gruppo di traduzioni amatoriali che l'Italia abbia avuto negli ultimi 150 anni.» S.B.
 
Micartu
messaggio18 Dec 2011, 23:41
Messaggio #9



Gruppo icone

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




Dunque... come ben sai il gioco base aveva un finale molto criptico, nella director's cut in una delle sere hanno nascosto la possibilità di non andare a dormire per poter così arrivare ad un finale alternativo più esauriente.

Come seconda cosa hanno aggiunto una story mode dove un uomo torna alla casa mesi dopo gli eventi del gioco base. Quando sei nei menu iniziali e fai nuova partita ti chiede se vuoi giocare a quest'aggiunta o al gioco normale.

Inoltre hanno creato per la director's cut una patch ufficiale che porta le textures e tutto da 800x600 a 1024x768, ovviamente chi come me ha u n monitor 16:10 o non 4:3 deve giocare in finestra, perché anche se forzi la risoluzione a 16:10 le jpeg restano a 1024x768 e il motore del gioco non aggiunge i bordi neri ai lati (che cazzata che hanno fatto i Nucleosys). Questa patch ufficiale pesa 700mb e ia tempi era un record considerando che il gioco in sé è di soli 500 mb.

L'audio invece è ed è sempre stato in .ogg.

Tra l'altro su amazon la director's cut è in vendita a 1 dollaro e 90 centesimi usata, a 4 dollari nuova il prezzo di 1-2 caffé.

Messaggio modificato da Micartu il 18 Dec 2011, 23:44


--------------------
 
DK
messaggio19 Dec 2011, 23:23
Messaggio #10



Gruppo icone

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

OGI Supporter




Ipotesi.
Forse la decompilazione non avviene correttamente, forse dovuta a questo:
QUOTE
Known bugs
1. Luadec sometimes can't determine block endings
2. Unassigned local variables might hide useful assignment blocks

E quindi, il decompilato, va risistemato per ricompilarlo correttamente.
Ad occhio, mi pare che aggiunga degli "end" in più, ma non sempre sono gli ultimi a dover essere tolti.
E comunque, si dovrebbe controllare la logica degli if.
Cioè, la funzione deve avere un "end" ma anche ogni "if".
Ma ho dato giusto un'occhiata al volo.
Ho provato anche questo tool, ma non riconosce il file.
 
Micartu
messaggio19 Dec 2011, 23:30
Messaggio #11



Gruppo icone

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




Se può servirti, ma non credo, posso allegare anche un file decompilato con un decompiler 5.0 del sc della versione base italiana e non director's cut. Ma chissà che anche quello in alcuni punti non venga decompilato male.... Ho notato che le voci sono più o meno le stesse ma strtutrate diverse.

Messaggio modificato da Micartu il 19 Dec 2011, 23:38


--------------------
 
Micartu
messaggio19 Dec 2011, 23:38
Messaggio #12



Gruppo icone

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




Qui c'è un link che contiene l'sc lua 5.0 del gioco base italiano come lo si trova una volta installato e la sua versione estratta, se estratta bene non saprei, non ho mai provato a ricompilarla per vedere se funziona, non trovavo il ricompilatore della 5.0

http://www.mediafire.com/?ca1ihqbq6al165i

EDITO:
discorso da profano della programmazione... anche se non è preciso, qui ho questo:

file base italiano: il file inizia con le frasi italiane e termina con un'ultima frase italiana poi inizia il codice, il codice non è in mezzo al testo.
un esempio di ocme si presenta:

CITAZIONE
dlg00000a = "Arrivai a Blackwood Manor un gelido sabato mattina, attraversando una fitta coltre di nebbia."
dlg00000b = "Il tempo non prometteva niente di buono e la zona era immersa in una calma innaturale, ma ne rimasi subito rapito."
dlg01101 = "Pronto?"
dlg01201 = "Michael! Sono io."
dlg01102 = "Jerry! \200 un piacere sentire la tua voce."
dlg01202 = "Vedo che quel pezzo d'antiquariato funziona!"
dlg01103 = "Mi hai letto nel pensiero! Temevo che la cornetta mi si sbriciolasse in mano."
dlg01203 = "Allora, come l'hai trovata? Ti piace la dimora?"
dlg01104 = "\200... un po' presto per dirlo. Sono colpito, questo \232 certo!"
dlg01204 = "Hai un tono strano... Tutto bene?"


le diciture dlg+numero è il numero del file audio a cui corrisponde la riga di testo.

File director's cut: il file inizia con le frasi inedite dell'espansione, poi dove finisce l'ultima frase dell'espansione iniziano le frasi del gioco base, nello stesso ordine del gioco base e finiscono allo stesso modo, poi finite le frasi inizia il codice.

Il recompilatore dà degli errori solo sulla parte del codice non sulle frasi quelle sono perfettamente ok. Non sarebbe possibile creare un estrattore che estragga il solo testo? Oppurte un tools che ci permetta di reinserire il testo delle frasi (che abbiamo già estratte)? In pratica se il recompilatore si limitasse a reinserire sostituendole solo le frai e non il codice andrebbe penso oppure no?

Messaggio modificato da Micartu il 19 Dec 2011, 23:50


--------------------
 
redice
messaggio19 Dec 2011, 23:47
Messaggio #13



Gruppo icone

Gruppo: SMod
Messaggi: 6.917
Iscritto il: 19 August 10
Utente Nr.: 17.671
BGE Day of the Tentacle
SO WinXP


Direttore (58)


Anche io penso che il problema sia il tool che non decomprime correttamente.
Prima di tutto sarebbe da sistemare quello (o trovarne uno che funzioni), poi pensare al resto


--------------------
Il muto non si fa capire dal lama, il lama non si fa capire dal muto, il muto prova allora con una tromba, il lama invece perde la pazienza e comincia a prenderlo a sassate, il muto scappa e non sa cosa succede, voleva solo dire al lama che era muto, allora perchè il lama ha reagito così? Forse perchè in questa storia manca qualcosa, e questo qualcosa devi dirmelo tu.
 
Micartu
messaggio20 Dec 2011, 00:02
Messaggio #14



Gruppo icone

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




Sì lo penso anche io redice, anche perché il file del gioco base è un 5.0.1 per la precisione e i reocmpilatori della 5.0.2 trovano gli stessi errori che trovava il ricompilatore della director's cut, i medesimi precisi precisi, le stesse righe di codice. Attendo info per la cosa che ho buttato lì di un tools che reinserisca solo il testo che tra l'altro abbiamo già ed è pulitissimo, un tools che non cerchi di ricompilare tutto ma che prenda da un txt il testo e lo vada a mettere dove deve cioè nell'sc. Le frasi osno divise per righe non sforano mai su un'altra riga, non dovrebbe essere semplice poterlo fare?

Messaggio modificato da Micartu il 20 Dec 2011, 00:08


--------------------
 
Micartu
messaggio20 Dec 2011, 00:17
Messaggio #15



Gruppo icone

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




Quindi in attesa di una risposta sul mio ultimo quesito vediamo se qualcuno può vedere se la logica di quelle porzioni di codice gli torna, gli erroi segnalati sono tutti degli end.


--------------------
 
DK
messaggio20 Dec 2011, 12:05
Messaggio #16



Gruppo icone

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

OGI Supporter




Mi dici una frase inglese che puoi controllare subito nel gioco?
 
Micartu
messaggio20 Dec 2011, 12:07
Messaggio #17



Gruppo icone

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




certamente, la prima frase del gioco è: dlg00000a = "I arrived at Blackwood Manor one cold Saturday morning, amidst a thick veil of fog."




--------------------
 
DK
messaggio20 Dec 2011, 12:18
Messaggio #18



Gruppo icone

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

OGI Supporter




Vedi un po' se questo file funziona...
File Allegato  scratches.rar ( 159.62k ) Numero di download: 200
 
Micartu
messaggio20 Dec 2011, 12:22
Messaggio #19



Gruppo icone

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




Sei un mito ti basta come risposta? :-D

Messaggio modificato da Micartu il 20 Dec 2011, 12:24


--------------------
 
DK
messaggio20 Dec 2011, 15:25
Messaggio #20



Gruppo icone

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

OGI Supporter




Ok, ecco una cavolata che ho scritto in 10 minuti, quindi fa solo questo e potrebbero esserci bug blush.gif
File Allegato  scratchesut.rar ( 98.07k ) Numero di download: 184

Come si usa.
CODE
scratchesut x <nomefile.sc>

ed estrae il contenuto di quel file in un file scratches.sc.txt.

Poi si modifica a piacere questo file di testo, senza aggiungere o togliere righe.
Per reinserirlo, si usa:
CODE
scratchesut a <nomefile.sc>

Lui prende il cotenuto del file scratches.sc.txt e lo inserisce nel file .sc indicato.

Come ho detto, è basato sul scratches.sc che hai fornito te, quindi è davvero specifico per quel file lì. Dubito funzioni su altro.
Ma dovrebbe essere sufficiente per la traduzione. Fammi sapere se funziona.
 
Micartu
messaggio20 Dec 2011, 16:08
Messaggio #21



Gruppo icone

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




Grazie Dk lo provo subito e a breve faccio sapere.

Gharlic poi ti contatto non ti preoccupare. ;-)

Messaggio modificato da Micartu il 20 Dec 2011, 16:13


--------------------
 
Gufino
messaggio20 Dec 2011, 18:19
Messaggio #22





Gruppo: Gamer
Messaggi: 427
Iscritto il: 16 April 06
Da: Martina Franca (TA)
Utente Nr.: 2.854
BGE Neuromancer
SO WinXP


Spolveratore (8)


Oi Micartu, poi fai sapere se la soluzione di DK funziona bene blush.gif Io intanto sono riuscito a ricompilare il file lua inglese (usando un luac 5.1 ufficiale) e sistemando quegli END che davano problemi. Dalla mia esperienza di programmatore, si, ci sono degli END completamente a cazzo, o meglio, a volte c'è un doppio END a chiudere alcune funzioni. E' possibile che sia un errore del decompilatore. Spero che la soluzione di DK vada bene, ma in caso ci siano dei problemi, ti faccio provare lo script ricompilato da me e vediamo un po' se possiamo seguire quest'altra strada.


--------------------
Tex Murphy Italia: community italiana per i fan di Tex Murphy e delle avventure grafiche in generale. Unisciti a noi! Blog, Twitter e Facebook
 
Micartu
messaggio20 Dec 2011, 18:38
Messaggio #23



Gruppo icone

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




Grazie anche a te gufino, a breve vi farò sapere tutto. Nel senso che sto trasferendo il testo italiano del gioco base sulla director's poi farò dei test e vidiò.


--------------------
 
Micartu
messaggio20 Dec 2011, 18:54
Messaggio #24



Gruppo icone

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




Allora... sto inserendo il testo, dk il tools mi estrae un txt dove però alla voce dlg01208 c'è attaccata la voce successiva, senza il testo, così:

dlg01207
Perfetto! Ci risentiamo dopo.
dlg01208
dlg01108
Jerry, it's me.

in realtà dovrebbe essere così:

dlg01207
Perfetto! Ci risentiamo dopo.
dlg01208
Hello?
dlg01108
Jerry, it's me.

te lo segnalo per chiederti se devo sistemarla io a mano o se devi sistemare il tools perché magari reinserendo poi fa casini.


--------------------
 
DK
messaggio20 Dec 2011, 19:15
Messaggio #25



Gruppo icone

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

OGI Supporter




Non saprei, se guardi con un editor nel file originale, in effetti è proprio così, quindi direi che non v'è testo.
Credo che sia corretto, probabilmente la stessa frase è stata messa solo una volta, e poi richiamata a seconda delle necessità.
Indubbiamente questo complica un po' la traduzione che non si capisce bene come tradurre, però vedi se riesci ad aiutarti in base al gioco e alla versione del gioco base.

@Gufino
In realtà io ho solo fatto un estrattore di risorse testo. In pratica nel LUA bytecode, il testo è inserito all'inizio (più o meno), tutto di seguito.
Stringhe terminate da zero, precedute da un intero (4 byte) che indica la lunghezza.
Dovrebbe funzionare. Spero blush.gif
 

3 Pagine V   1 2 3 >
Fast ReplyReply 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: 18th June 2019 - 05:43