Flight of the Amazon Queen
Συντονιστές: Maddog, Whacker, Vag, Giama
Flight of the Amazon Queen
Πρώτα να θυμήσω το προηγούμενο σχετικό post: http://www.mame.gr/phpBB2/viewtopic.php?t=925.
Όπως είπε και ο Maddog, αν ήμουν εργένης θα ήμουν πολύ παραγωγικός!
Τώρα λοιπόν που για κάμποσο καιρό θα λείπει η οικογένεια, θα ασχοληθώ (ήδη ξεκίνησα) με το Flight of the Amazon Queen.
Υπάρχουν τρόποι που μπορώ να σκεφτώ για να μεταφράσω το παιχνίδι:
1. Έχω τον κώδικα, να τον χρησιμοποιήσω (αλλά δεν ξέρω πώς).
2. Να κάνω rom hacking με το executable (την έκδοση για PC πάντα), αλλά είναι δύσκολο.
3. Να κάνω rom hacking στο αρχείο data που χρησιμοποιεί το SCUMMVM.
Αποφάσισα λοιπόν να πορευτώ με τον τρίτο τρόπο.
Ήδη έχω κάνει δύο πολύ σημαντικά πράγματα:
1. Πρόγραμμα που κάνει extract και insert όλα τα αρχεία που περιέχονται στο data αρχείο του SCUMMVM (ολοκληρώθηκε και δουλεύει άψογα).
2. Έκανα extract με το χέρι όλο το script του παιχνιδιού που περιέχεται στα αρχεία DOG. (Υπάρχει άλλο τόσο στα αρχεία CAT και κάμποσο ακόμα που είναι απλό text).
Ήταν μεγάλη ταλαιπωρία να το κάνω με το χέρι, αλλά είχα λόγο. Τα strings όπως βρίσκονται από τους pointers περιέχουν μέσα τους control χαρακτήρες. Τώρα πια όμως απλά αυτό το αγνοώ για την μετάφραση.
Για να μεταφραστεί τώρα το script απαιτείται ένας απλός text editor (π.χ. notepad) και δεν υπάρχει και κανένας περιορισμός ως προς το νέο μέγεθος. Αυτή η δουλειά μπορεί μάλιστα να δωθεί σε κάποιον μεταφραστή (όπως ο Rouchlogiama) για να προχωρήσει η δουλειά πιο γρήγορα.
Το επόμενο βήμα θα είναι να φτιάξω έναν DOG script inserter, που θα βάλει τα νέα μηνύματα εκεί που ήταν τα παλιά. Όλες τις ενδιάμεσες τιμές θα τις αφήνει ίδιες για να μην χαλάει τίποτα. Άρα ο μεταφραστής δεν θα σχοληθεί καθόλου με τέτοια. Στο τέλος θα πρέπει να κάνει update τους pointers, το header του αρχείου που εμπεριέχει το μέγεθός του και τιμές στις αρχές κάθε string που έχουν το μήκος τους!
Ουφ, μόνο που τα έγραψα εδώ κουράστηκα, για να το πραγματοποιήσω θα σκιστώ. Αλλά είναι ο καλύτερος τρόπος.
Μετά βέβαια ακολουθούν τα αρχεία CUT με την ίδια λογική (αλλά έχουν διαφορετική δομή).
Πληροφοριακά, υπάρχουν συνολικά 73 αρχεία DOG και 301 αρχεία CUT (πιο μικρά από τα DOG όμως).
Το script όλων των DOG μαζί βγήκε 140kb.
Υπολογίζω χονδρικά για το script των CUT να είναι 200kb, ενώ τα δύο text αρχεία είναι μαζί 40kb.
Δηλαδή μιλάμε για ένα script ΝΑ! 380kb!
Όπως είπε και ο Maddog, αν ήμουν εργένης θα ήμουν πολύ παραγωγικός!
Τώρα λοιπόν που για κάμποσο καιρό θα λείπει η οικογένεια, θα ασχοληθώ (ήδη ξεκίνησα) με το Flight of the Amazon Queen.
Υπάρχουν τρόποι που μπορώ να σκεφτώ για να μεταφράσω το παιχνίδι:
1. Έχω τον κώδικα, να τον χρησιμοποιήσω (αλλά δεν ξέρω πώς).
2. Να κάνω rom hacking με το executable (την έκδοση για PC πάντα), αλλά είναι δύσκολο.
3. Να κάνω rom hacking στο αρχείο data που χρησιμοποιεί το SCUMMVM.
Αποφάσισα λοιπόν να πορευτώ με τον τρίτο τρόπο.
Ήδη έχω κάνει δύο πολύ σημαντικά πράγματα:
1. Πρόγραμμα που κάνει extract και insert όλα τα αρχεία που περιέχονται στο data αρχείο του SCUMMVM (ολοκληρώθηκε και δουλεύει άψογα).
2. Έκανα extract με το χέρι όλο το script του παιχνιδιού που περιέχεται στα αρχεία DOG. (Υπάρχει άλλο τόσο στα αρχεία CAT και κάμποσο ακόμα που είναι απλό text).
Ήταν μεγάλη ταλαιπωρία να το κάνω με το χέρι, αλλά είχα λόγο. Τα strings όπως βρίσκονται από τους pointers περιέχουν μέσα τους control χαρακτήρες. Τώρα πια όμως απλά αυτό το αγνοώ για την μετάφραση.
Για να μεταφραστεί τώρα το script απαιτείται ένας απλός text editor (π.χ. notepad) και δεν υπάρχει και κανένας περιορισμός ως προς το νέο μέγεθος. Αυτή η δουλειά μπορεί μάλιστα να δωθεί σε κάποιον μεταφραστή (όπως ο Rouchlogiama) για να προχωρήσει η δουλειά πιο γρήγορα.
Το επόμενο βήμα θα είναι να φτιάξω έναν DOG script inserter, που θα βάλει τα νέα μηνύματα εκεί που ήταν τα παλιά. Όλες τις ενδιάμεσες τιμές θα τις αφήνει ίδιες για να μην χαλάει τίποτα. Άρα ο μεταφραστής δεν θα σχοληθεί καθόλου με τέτοια. Στο τέλος θα πρέπει να κάνει update τους pointers, το header του αρχείου που εμπεριέχει το μέγεθός του και τιμές στις αρχές κάθε string που έχουν το μήκος τους!
Ουφ, μόνο που τα έγραψα εδώ κουράστηκα, για να το πραγματοποιήσω θα σκιστώ. Αλλά είναι ο καλύτερος τρόπος.
Μετά βέβαια ακολουθούν τα αρχεία CUT με την ίδια λογική (αλλά έχουν διαφορετική δομή).
Πληροφοριακά, υπάρχουν συνολικά 73 αρχεία DOG και 301 αρχεία CUT (πιο μικρά από τα DOG όμως).
Το script όλων των DOG μαζί βγήκε 140kb.
Υπολογίζω χονδρικά για το script των CUT να είναι 200kb, ενώ τα δύο text αρχεία είναι μαζί 40kb.
Δηλαδή μιλάμε για ένα script ΝΑ! 380kb!
Δεν έχουμε φτάσει ακόμα πουθενά...paspartoo έγραψε:Λοιπον....εδω που φτασαμε...
Δυστυχώς είμαστε στην αρχή για αυτό το παιχνίδι, απλά τελευταία υπήρξε απίστευτη πρόοδος (στην θεωρία).
Πάντως μέσα σε λίγες μέρες αναίρεσα ο ίδιος ό,τι είχα πει στο πρώτο post.
Άλλαξα ρότα και πια φτιάχνω editor και όχι script inserter :-Ρ~
Ό λόγος είναι ότι συνάντησα δυσκολίες και αν έκανα όπως το έλεγα θα ήταν παλούκι (για να προγραμματίσω το πρόγραμμα εννοώ, όχι για την μετάφραση μετά).
Παράλληλα κατάλαβα γιατί εμφανίζονταν "τυχαίος" αριθμός από μηδενικά bytes ανάμεσα από τα μηνύματα. Αυτό ήταν και το κλειδί και τώρα το πρόγραμμα προχωράει. Ήδη διαβάζει τα μηνύματα σωστά. Έχω πια σχεδόν όλες τις γνώσεις για το αρχείο ώστε να το ξεσκίσω.
Όσοι είχαν το CD από την ημερίδα, ίσως να έχουν δει τον editor για το Flashback που είχα ως παράδειγμα. Κάπως έτσι θα δουλεύει ελπίζω.
Για δείτε τί κατάφερα να κάνω:
(1η στήλη: Α/Α, 2η στήλη: text block - δείτε ότι από το μήνυμα 21 αλλάζει, 5η στήλη: το μήκος του μηνύματος σε χαρακτήρες/bytes)
Ουσιαστικά κατάφερα να γεμίσω μια λίστα με τα μηνύματα του αρχείου και λίγα άλλα στοιχεία. Αυτή η λίστα θα είναι αόρατη στον χρήστη, αλλά εκεί πάνω θα γίνεται όλη η δουλειά (επόμενο βήμα του προγράμματος). Με αυτή θα είναι εύκολο να πηγαίνεις εμπρός-πίσω στα μηνύματα πανεύκολα, αλλά θα έχεις και έτοιμες και άλλες πληροφορίες αντί να τις υπολογίζεις on the fly (το πρόγραμμα δηλαδή).
Στο τελευταίο βήμα βέβαια θα γίνεται το insert...
Και μια άσχετη παρατήρηση:
Το * ακολουθείται από δύο bytes. Αυτό είναι μέρος του κειμένου, αλλά το πρόγραμμα (το παιχνίδι εννοώ) το καταλαβαίνει σαν κωδικούς. Πειραματίστηκα και βρήκα ότι το πρώτο είναι το delay και το δεύτερο είναι το animation.
Βέβαια αφού είναι μέρος του μηνύματος, ο μεταφραστής θα μπορεί εύκολα να το αλλάξει (αν και υποτίθεται ότι δεν πρέπει). Για παράδειγμα, έστω ότι ο Joe πηγαινοέρχεται δύο φορές. Αν θέλω, θα τον κάνω να πηγαινοέρχεται τρεις φορές :-Ρ~
Επειδή για απλή μετάφραση του κειμένου είναι περιττά, στην οθόνη του editor δεν θα εμφανίζονται. Θα μπορεί το μήνυμα (αφού είναι πάντα μια γραμμή) να εμφανίζεται σε πολλές γραμμές στον editor, κωδικός και γραμμή
(1η στήλη: Α/Α, 2η στήλη: text block - δείτε ότι από το μήνυμα 21 αλλάζει, 5η στήλη: το μήκος του μηνύματος σε χαρακτήρες/bytes)
Ουσιαστικά κατάφερα να γεμίσω μια λίστα με τα μηνύματα του αρχείου και λίγα άλλα στοιχεία. Αυτή η λίστα θα είναι αόρατη στον χρήστη, αλλά εκεί πάνω θα γίνεται όλη η δουλειά (επόμενο βήμα του προγράμματος). Με αυτή θα είναι εύκολο να πηγαίνεις εμπρός-πίσω στα μηνύματα πανεύκολα, αλλά θα έχεις και έτοιμες και άλλες πληροφορίες αντί να τις υπολογίζεις on the fly (το πρόγραμμα δηλαδή).
Στο τελευταίο βήμα βέβαια θα γίνεται το insert...
Και μια άσχετη παρατήρηση:
Το * ακολουθείται από δύο bytes. Αυτό είναι μέρος του κειμένου, αλλά το πρόγραμμα (το παιχνίδι εννοώ) το καταλαβαίνει σαν κωδικούς. Πειραματίστηκα και βρήκα ότι το πρώτο είναι το delay και το δεύτερο είναι το animation.
Βέβαια αφού είναι μέρος του μηνύματος, ο μεταφραστής θα μπορεί εύκολα να το αλλάξει (αν και υποτίθεται ότι δεν πρέπει). Για παράδειγμα, έστω ότι ο Joe πηγαινοέρχεται δύο φορές. Αν θέλω, θα τον κάνω να πηγαινοέρχεται τρεις φορές :-Ρ~
Επειδή για απλή μετάφραση του κειμένου είναι περιττά, στην οθόνη του editor δεν θα εμφανίζονται. Θα μπορεί το μήνυμα (αφού είναι πάντα μια γραμμή) να εμφανίζεται σε πολλές γραμμές στον editor, κωδικός και γραμμή
Να σκεφτείς ότι η γυναίκα μου είναι στην Ελλάδα περίπου τρισίμισι χρόνια και τους 18 μήνες από αυτά είναι έγκυος!Maddog έγραψε:Αυτό το παιδί θα είχε κάνει θαύματα αν δεν ήταν *τόσο* πάτερ φαμίλιας...
Αλλά από την άλλη, είμαι ο μοναδικός rom hacker με ακαδημία!
Ο Ιάκωβος ήδη μου μιλάει καί αγγλικά καί ελληνικά...
- Maddog
- Master Modelator
- Δημοσιεύσεις: 3768
- Εγγραφή: 26 Μάιος 2004 14:44
- Τοποθεσία: Κάποιο beach bar στο Ντουμπάι
- Επικοινωνία:
Επειδή πήγες γυρεύοντας: μη μαμάς τόσο πολύ, χακάρισε και λιγάκι!Vag έγραψε: Να σκεφτείς ότι η γυναίκα μου είναι στην Ελλάδα περίπου τρισίμισι χρόνια και τους 18 μήνες από αυτά είναι έγκυος!
Πάντως ο Ιάκωβος είναι η μοναδική σοβαρή ελπίδα για το rom hacking στην Ελλάδα, τουλάχιστον αυτός δεν υπάρχει πιθανότητα να παντρευτεί σύντομα!
Παππού όλος ο κόσμος ανησυχεί μήπως η σχέση σου με την πιτσιρίκα αποβεί μοιραία.
-Τι να κάνουμε παιδί μου...αν πεθάνει - πέθανε...
-Τι να κάνουμε παιδί μου...αν πεθάνει - πέθανε...
Ε, είμαι βιαστικός, να προλάβω να τα κάνω το ένα μετά το άλλο, ώστε μετά να έχω χρόνο για rom hacking.Maddog έγραψε:Επειδή πήγες γυρεύοντας: μη μαμάς τόσο πολύ, χακάρισε και λιγάκι!
Ήδη ετοιμάζομαι να ιδρύσω την ArabicRoms... εκτός βέβαια που θα γίνει και μέλος της GreekRoms (με το που μεταφράσει το πρώτο του παιχνίδι).Maddog έγραψε:Πάντως ο Ιάκωβος είναι η μοναδική σοβαρή ελπίδα για το rom hacking στην Ελλάδα, τουλάχιστον αυτός δεν υπάρχει πιθανότητα να παντρευτεί σύντομα!
Για ρίξτε μια ματιά στο πώς περίπου θα είναι το πρόγραμμα...
Πιθανόν κάποια πράγματα να αλλάξουν λίγο, κάποια άλλα θα προστεθούν.
Update: Έσβησα την εικόνα και έβαλα μια νεότερη παρακάτω.
Πιθανόν κάποια πράγματα να αλλάξουν λίγο, κάποια άλλα θα προστεθούν.
Update: Έσβησα την εικόνα και έβαλα μια νεότερη παρακάτω.
Τελευταία επεξεργασία από το μέλος Vag την 17 Ιούλ 2006 10:52, έχει επεξεργασθεί 1 φορά συνολικά.
Πολύ πλάκα έχει το παιχνίδι και καθώς δοκιμάζω τον editor ξαναθυμάμαι τις φοβερές του ατάκες...Ο Joe King έγραψε:Don't be ridiculous. I'd never part with my lucky bat. Besides, it's in storage back in the States.
Ο editor είναι πια σε working state, δηλαδή κάποιος μπορεί να ξεκινήσει να τον χρησιμοποιεί και ό,τι κάνει να το σώζει σε (προσωρινό, text) αρχείο ώστε να το φορτώσει αργότερα και να συνεχίσει.
Επίσης με ένα κουμπί γίνεται extract όλο το αγγλικό κείμενο σε αρχείο, άρα η δουλειά μπορεί να γίνει και με απλό notepad (και προσοχή).
Έσβησα την προηγούμενη screenshot και έβαλα καινούρια ώστε να φαίνονται οι τελευταίες αλλαγές:
Τώρα ο μεταφραστής θα βλέπει πόσο θέλει για να ολοκληρώσει τη μετάφραση του αρχείου, αλλά και πότε το ελληνικό μήνυμα έχει κάποιο λάθος. Γίνονται όλοι οι έλεγχοι που θα μπορούσαν, από εισαγωγή "περίεργων" χαρακτήρων, έως τον έλεγχο των control χαρακτήρων. Έτσι θα εκμηδενιστούν τα λάθη αλλά θα εξοικονομηθεί και χρόνος
Δουλεύει!
Ήδη μετέφρασα ένα ολόκληρο αρχείο DOG από το Interview, για δοκιμή :-}
EDIT (1/8/06):
Όλον αυτό τον καιρό που η γυναίκα μου έλειπε στο εξωτερικό, εγώ ασχολιόμουν κάθε μέρα με την Lola!
Για όποιον δεν κατάλαβε, Lola ονόμασα το παραπάνω πρόγραμμα, το οποίο πια ολοκληρώθηκε. Έχει δηλαδή ακόμα και το δικό του εικονίδιο, ψιλο-βοήθεια, τέτοιες φοβερές και τρομερές λεπτομέρειες δηλαδή.
Μετά την Lola, ξεκίνησα και την Azura, τον editor των .CUT αρχείων. Λόγω των ομοιοτήτων, έχει ολοκληρωθεί ήδη το 75% περίπου, μένουν 1-2 ψιλά και η δημιουργία του νέου .CUT αρχείου.
Και μια παιδική: το πρόγραμμα που κάνει extract και insert τα data αρχεία του ScummVM το ονόμασα Sparky!
Παράλληλα, έχω μιλήσει με τον Rouchlogiama ώστε να αναλάβει την μετάφραση του παιχνιδιού (έστω μαζί, αν όχι μόνος του) και του εξήγησα τα πάντα σχετικά με το Lola. Λόγω βέβαια των διακοπών και του ότι έμαθε να λουφάρει αφού τώρα απολύεται από τα στρατά, σιγά μην είδε καν το πρόγραμμα.
Παρατηρήστε ότι πια μπορεί ο χρήστης να επιλέξει την γραμματοσειρά που του αρέσει, αλλά πιο σημαντικό, το script που πρέπει. Αυτό είναι η γλώσσα, στην οποία θέλει να το μεταφράσει (ήταν απαραίτητο). Επίσης, τώρα όλες οι ρυθμίσεις αποθηκεύονται αυτόματα κατά την έξοδο, οπότε πάντα έχει τις αγαπημένες ρυθμίσεις του χρήστη, για ευκολία.
Ήδη μετέφρασα ένα ολόκληρο αρχείο DOG από το Interview, για δοκιμή :-}
EDIT (1/8/06):
Όλον αυτό τον καιρό που η γυναίκα μου έλειπε στο εξωτερικό, εγώ ασχολιόμουν κάθε μέρα με την Lola!
Για όποιον δεν κατάλαβε, Lola ονόμασα το παραπάνω πρόγραμμα, το οποίο πια ολοκληρώθηκε. Έχει δηλαδή ακόμα και το δικό του εικονίδιο, ψιλο-βοήθεια, τέτοιες φοβερές και τρομερές λεπτομέρειες δηλαδή.
Μετά την Lola, ξεκίνησα και την Azura, τον editor των .CUT αρχείων. Λόγω των ομοιοτήτων, έχει ολοκληρωθεί ήδη το 75% περίπου, μένουν 1-2 ψιλά και η δημιουργία του νέου .CUT αρχείου.
Και μια παιδική: το πρόγραμμα που κάνει extract και insert τα data αρχεία του ScummVM το ονόμασα Sparky!
Παράλληλα, έχω μιλήσει με τον Rouchlogiama ώστε να αναλάβει την μετάφραση του παιχνιδιού (έστω μαζί, αν όχι μόνος του) και του εξήγησα τα πάντα σχετικά με το Lola. Λόγω βέβαια των διακοπών και του ότι έμαθε να λουφάρει αφού τώρα απολύεται από τα στρατά, σιγά μην είδε καν το πρόγραμμα.
Παρατηρήστε ότι πια μπορεί ο χρήστης να επιλέξει την γραμματοσειρά που του αρέσει, αλλά πιο σημαντικό, το script που πρέπει. Αυτό είναι η γλώσσα, στην οποία θέλει να το μεταφράσει (ήταν απαραίτητο). Επίσης, τώρα όλες οι ρυθμίσεις αποθηκεύονται αυτόματα κατά την έξοδο, οπότε πάντα έχει τις αγαπημένες ρυθμίσεις του χρήστη, για ευκολία.
Ευχαριστώ για τα μικροσκοπικά γραμματάκια...Maddog έγραψε:Ωραίος, έστω και με μεγάλη καθυστέρηση!
Άντε, το 2017 που θα το έχεις ολοκληρώσει, θα το παίζουν τα παιδιά μου...
Respect Vag
Ο λόγος που είπα λίγο να ασχοληθώ με αυτό και πάλι, είναι επειδή ξαφνικά υπήρξε ενδιαφέρον από κάνα-δυο άλλους μεταφραστές. Στον έναν από αυτούς έστειλα ήδη τα προγράμματά μου για να ξεκινήσει την ρώσσικη μετάφραση. Ξέρει ότι υπάρχει ένα bug και μπορεί να σώζειτην δουλειά του μέχρι να το διορθώσω.
Γι αυτό και ολοκλήρωσα το Sparky, το πιο μικρό από τα τρία συνολικά προγράμματα. Το είχα να δουλεύει μεν, αλλά να σκάει σε κάποιες περιπτώσεις (τώρα σκάει σε λιγότερες) και στα ελληνικά. Τώρα μπορώ να το μοιραστώ και με άλλους. Ελπίζω σύντομα να βρω χρόνο να βρω το bug και να το διορθώσω. Αν αυτό γίνει, τότε θα ολοκληρώσω το Interview, καθώς είναι τελειωμένο το μεγαλύτερο κομμάτι.
Το 2017 θα έχω εγγόνια...