Difference between revisions of "TraduSCI Manual"

From SCI Wiki
Jump to navigationJump to search
Line 6: Line 6:
 
 
 
 
  
[[SCI_Resource_Utilities#TraduSCI|TraduSCI]] is a program I have developed to make simpler and better the task of translating games based on the SCI system by Sierra On-Line, in particular TraduSCI supports all games which makes use of 'Message' chunks to store strings (we will discuss about this format later).
+
===<br /> License ===
  
&nbsp;
+
<blockquote>
===&nbsp;<br />Needs for Translation===
+
TraduSCI was made by Enrico Rolfi and is open source (GPL license), it can be freely used and modified. This program is distributed without any warranty and the author does not respond of eventual damages provoked in any way by its use.
 +
 
 +
In this SCI1.1/SCI32 translation package the following third party tools are also present: SCI Resource Dumper by Vladimir Gneushev, that is supplied in a version from me purposely modified. SCI Decoder VGA is by Carl Muckenhoupt and has been modified by me as well.
 +
 
 +
Audio.exe for playing game voices is a tool from the SCI1Utils.7z package available at the SCI Viewer web page.
 +
 
 +
WinGraph32 is a version for Windows of the VCG open source tool, compiled by DataRescue and whose sources are available from their web site.
 +
 
 +
None of these persons (myself included) is in any way affiliated to Sierra, that holds copyright on SCI technologies and on all the games listed in this handbook.
 +
</blockquote>
 +
 
 +
 
 +
===<br /> Introduction ===
 +
 
 +
<blockquote>
 +
This handbook speaks about SCI and teaches how to translate a SCI game.
 +
 
 +
This is made much simpler by the use of these tools of translation. In particular SCIaMano offers a file format which is backward compatible and usable with every SCI game.
 +
 
 +
Lets start opening SCIaMano and selecting the command Open Volume…
 +
 
 +
Now we will have to select a file whose name is typically RESOURCE.MAP, that is a map of all the files contained in the Volume (typically called RESOURCE.000).
 +
</blockquote>
 +
 
 +
===<br /> Messages ===
 +
 
 +
<blockquote>
 +
At this point we will be able to select from a list the file of Messages (with extension .MSG) that we want to modify. Messages are simply the sentences visualized in the game. If problems occur during this operation, it will be possible to use another extractor tool for the data in the volume, the program named SCI Resource Dumper, as described in the Appendix of this handbook.
 +
 
 +
Once chosen and loaded the file that we want to modify, it is suggested to save a copy in a working directory. For being able to use these files in the game, therefore replacing the original sentences with our translations, it will be enough to place these files in the same directory of the game, or in an appropriate directory PATCHES where present, or wherever specified in the configuration file RESOURCE.CFG/ RESOURCE.WIN of the game.
 +
 
 +
Please pay attention cause there might already be other Messages files in the directory of the game, then in order to create our translation we will have to translate these latter in place of the old ones extracted from the volume. We can load them in SCIaMano using the command Load file…
 +
 
 +
Once loaded a file, we will be shown a list of all the sentences in the file, with a series of labels (initially numerical).
 +
</blockquote>
 +
 
 +
===<br /> Labels ===
 +
 
 +
<blockquote>
 +
The labels of the list (noun, verb, case) identify the event as a result of which the current message will be visualized in the game.
 +
 
 +
As an example if we have the sentence “I cannot open the door because it is locked!”, then the noun could be “door”, the verb “open” and the case “the door is locked”. Often we will need to associate to every number a symbolic name, for better clarity.
 +
 
 +
The label “talker” identifies the game character that will read the sentence associated to the event. The label “sequence” is used when the occurring of an event triggers the visualization of more than a single sentence; that typically happens in a cutscene, for example.
 +
 
 +
The Index label simply represents the order in which the sentences are stored in a file.
 +
 
 +
It is possible to order messages by any of these labels, by clicking on the respective column of the list. A clearer vision may be obtained, for example, of all the sentences that involved a particular noun.
 +
 
 +
Names can be assigned to every number that identifies a label, using the fields in the bar at the top of the interface. This modification will affect all the sentences that share the same label number. It is possible, moreover, from the Labels menu, to export the associations “number = name” in a text file in order to Import them in another Msg file (but consider that this only makes sense for certain types of labels. Talkers and Verbs are surely of global meaning, while Nouns have different numbers in every file.)
 +
 
 +
But the names of the nouns can be imported from an heap file (extension .HEP), using the appropriate menu command and selecting a Volume as made previously, or from a standalone .hep file.
 +
</blockquote>
 +
 
 +
===<br /> Graphs ===
 +
 
 +
<blockquote>
 +
For better clarity, it is possible to visualize the sentences in a graph, that is in the format of WinGraph.
 +
 
 +
Note: if the graph window is left open and a sentence is modified, these modifications will not be updated in the graph automatically!
 +
</blockquote>
  
First of all make sure you've played the game you're about to translate at least once in a recent past to be sure that the translation will get to its best. However most of the times we'll peek at the game's backgrounds to refresh your memories. For this matter I have included Vladimir Gneushev's ViewView2 tool, which lets us able to display images and objects of most recent SCI games. Another program by Vladimir that I have included is SCI Resource Dumper, which let us able to extract data from most of the SCI1.1 and SCI32 games. In the following list of games it is also noticed whenever a particular game is supported by one these two tools. For games not supported by SCIResDump we will use SCI Decoder VGA, which is also very good for displaying images. The version which I put into the archive has some important changes from the original one of Carl Muckenhoupt, in particular I added the ability to support Police Quest I and a function to extract all game's data to disk. All these tools I just listed are located into the /Tools directory of the program package.
+
===<br /> Clones ===
  
===Supported Games===
+
<blockquote>
 +
In order to visualize a message for more than a single event, it can be cloned, thus assigning the same text to a different event. The messages whose text is not modifiable are clones.
  
If you have a game which is in the following list but it has not been tested (or it is not listed even being a SCI1.1/SCI32 game itself) let me know, also please tell me if you was able to use it.
+
In order to modify a clone, select the Cloning command in the Navigation menu. Selecting this same command it is also possible to create a new clone, in case the sentence currently selected was not a clone already.
  
&nbsp;
+
If the cloned text is not that of a single sentence, but rather that of a sequence of sentences, then you will be offered the opportunity to duplicate the entire sequence of sentences so as to be able to modify them all. The alternative to this will be to banally replace the entire sequence with a single sentence, that -obviously- is not advised.
  
===SCI1.1===
+
After doing some cloning operations, it is recommended to verify in game the functionality of the sentences being involved, because in some cases of unconventional use of the scripts, it would be possible to cause fatal errors.  
<div align="center">
+
</blockquote>
{| class="wikitable sortable" width="975" border="1" cellpadding="5" align="center"
 
! width="170" | Name
 
! width="105" | SCI Version
 
! width="55" align="center" | SDV
 
! width="55" align="center" | SRD
 
! width="110" align="center" | ViewView2
 
! width="80" align="center" | Fonts
 
! width="400" | Notes
 
|-
 
| width="170" valign="top" | Eco Quest I
 
| width="105" align="center" valign="top" | 1.ECO.013
 
| width="55" align="center" valign="top" | Yes
 
| width="55" align="center" valign="top" | No
 
| width="110" align="center" valign="top" | No
 
| width="80" align="center" valign="top" | Extended
 
| width="400" valign="top" | Resource file have a number from 0 to 3 as extension.
 
|-
 
| width="170" valign="top" | Quest for Glory I (VGA remake)
 
| width="105" align="center" valign="top" | 2.000.411
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | SCIResDump must be '˜forced' with the following parameters /m3 /v1 /p1 from command line.
 
|-
 
| width="170" valign="top" | Police Quest I (VGA remake)
 
| width="105" align="center" valign="top" | 1.001.029
 
| width="55" align="center" valign="top" | Yes
 
| width="55" align="center" valign="top" | No
 
| width="110" align="center" valign="top" | No
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | SCI Decoder is only able to display object images, not backgrounds.
 
|-
 
| width="170" valign="top" | Quest for Glory III
 
| width="105" align="center" valign="top" | 1.001.050
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | <br />
 
|-
 
| width="170" valign="top" | Island of Dr. Brain 1
 
| width="105" align="center" valign="top" | 1.001.053
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | <br />
 
|-
 
| width="170" valign="top" | Island of Dr. Brain 2
 
| width="105" align="center" valign="top" | 1.001.053
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | King's Quest 6
 
| width="105" align="center" valign="top" | 1.001.054
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | <br />
 
|-
 
| width="170" valign="top" | Space Quest IV (windows)
 
| width="105" align="center" valign="top" | 1.001.064
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Eco Quest II
 
| width="105" align="center" valign="top" | 1.001.065
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Extended
 
| width="400" valign="top" | <br />
 
|-
 
| width="170" valign="top" | Space Quest 5
 
| width="105" align="center" valign="top" | 1.001.067
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | <br />
 
|-
 
| width="170" valign="top" | Pepper's Adventures in time (AKA Twisty History)
 
| width="105" align="center" valign="top" | 1.001.072
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Laura Bow 2
 
| width="105" align="center" valign="top" | 1.001.072
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | SCIResDump is able to extract Message files in 'RESOURCE.MSG', while you have to '˜force' it with the following parameters /m3 /v1 /p1 for 'RESOURCE.000'.
 
|-
 
| width="170" valign="top" | Freddy Pharkas
 
| width="105" align="center" valign="top" | 1.cfs.081
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | &nbsp;
 
|-
 
| width="170" valign="top" | Quest for Glory III (Italian)
 
| width="105" align="center" valign="top" | L.rry.083
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Objects only (v56)
 
| width="80" align="center" valign="top" | Extended
 
| width="400" valign="top" | <br />
 
|-
 
| width="170" valign="top" | Leisure Suit Larry 6 (DOS/Win)
 
| width="105" align="center" valign="top" | 1.001.113
 
| width="55" align="center" valign="top" | No
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Yes
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" |
 
|}</div>
 
<br />
 
  
===SCI1.1===
+
===<br /> Audio ===
<div align="center">
+
 
{| class="wikitable sortable" width="975" border="1" cellpadding="5" align="center"
+
<blockquote>
! width="170" | Name
+
One of the problems inherent to cloning is that clones typically references directly to the audio of its original sentences. When a clone gets transformed to a normal sentence by the user, it is necessary to also specify a new audio reference for it, since the reference to the original sentence is gone. This is made in automatic by the program, which creates a copy of the reference to the original audio. But for that to be possible it is necessary to modify the file that contains the references to the audio, that is an Audio MAP file (extension .map, not to be confused with the maps of the Volumes). In order to do this you can -again- load a MAP file from a Volume.
! width="105" | SCI Version
+
 
! width="55" align="center" | SRD
+
Obviously, should our game not offer audio voices, then we won't have any MAP files to modify.
! width="110" align="center" | ViewView2
+
 
! width="80" align="center" | Fonts
+
When saving changes to a message file with a MAP loaded inside, a MAP file will be created in the same directory of the MSG, also overwriting a potentially existing MAP file with the same name!
! width="400" | Notes
+
 
|-
+
ATTENTION: For games with voices, if you choose not to modify the .MAP file during the transformation of a clone, the sentence will never be visualized in the game! The game will not find the audio for the sentence, and therefore the sentence will disappear quickly from the screen. In order to verify that all the sentences in our file of messages have a reference in the file of map of the audio, you can choose Verify messages in Map... from the Audio menu and then select the .map that you will use in the game. A list of eventual omissions will be shown. Obviously, clones will figure between the omissions, and so will the sentences that are not spoken in the game, like those written in the interfaces -and this is totally normal.
| width="170" valign="top" | Quest for Glory IV
+
Once a MAP file is loaded, it is also possible to load the RESOURCE.AUD file that contains the waveforms, by means of the appropriate command in the Audio menu. From the same menu it will also be possible to play the voices through your speakers!
| width="105" align="center" valign="top" | 2.000.000
+
</blockquote>
| width="55" align="center" valign="top" | Yes
+
 
| width="110" align="center" valign="top" | Yes
+
===<br /> Glossary ===
| width="80" align="center" valign="top" | Base
+
 
| width="400" valign="top" | SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
+
<blockquote>
|-
+
The glossary is a text file in which we can take note of all the translations of important words, names, places and any other thing that we want the program to verify for us. In order to add a word to the glossary, just select it in both the field MESS and the field TRANS and choose the command "Add selection" from the Glossary menu. Definitions in the wordlookup.txt file can also be added manually, but the glossary must first be created and it must be in the same directory of the Messages file.
| width="170" valign="top" | Quest for Glory IV (German)
+
 
| width="105" align="center" valign="top" | 2.000.000
+
When we will choose to verify the words in the current file of messages -through the menu command “Check words”- the program will analyze every sentence and will count every occurrence of each definition, and then try to find them in the translations text. SCIaMano simply checks that N occurrences of each definition are present N times in the corresponding translated sentence.
| width="55" align="center" valign="top" | Yes
+
 
| width="110" align="center" valign="top" | Yes
+
This mechanism is mostly reliable, although it can sometimes get confused as it does not try to match the exact words (i.e., it would assume both lampaDARIO and Dario as valid occurrences of Dario).  
| width="80" align="center" valign="top" | Extended
+
</blockquote>
| width="400" valign="top" | SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
+
 
|-
+
===<br /> Other functions ===
| width="170" valign="top" | Gabriel Knight (Floppy and CD)
+
 
| width="105" align="center" valign="top" | 2.000.000
+
<blockquote>
| width="55" align="center" valign="top" | Yes
+
Other functions are available from the File menu.
| width="110" align="center" valign="top" | Yes
+
 
| width="80" align="center" valign="top" | Extended
+
It is possible to Import the sentences directly from another Messages file using “Import from Message”, or to compare the sentences in the current file with those of another file using “Compare with Message”.
| width="400" valign="top" | SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
+
 
|-
+
Moreover it is possible to export all the sentences to a text file in order to import them back later on. As an example, it is good practice to export the sentences in order to perform a grammar check using a word processor, and then import them back in.  
| width="170" | Torin's Passage
+
</blockquote>
| width="105" align="center" valign="top" | 2.100.002
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Gabriel Knight 2
 
| width="105" align="center" valign="top" | 2.100.002
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | King's quest VII
 
| width="105" align="center" valign="top" | 2.100.002
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Phantasmagoria
 
| width="105" align="center" valign="top" | 2.100.002
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Quest for Glory IV (CD)
 
| width="105" align="center" valign="top" | 2.100.002
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Yes
 
| width="80" align="center" valign="top" | Base
 
| width="400" valign="top" | SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
 
|-
 
| width="170" | Shivers (Windows)
 
| width="105" align="center" valign="top" | 2.100.002
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Phantasmagoria 2
 
| width="105" align="center" valign="top" | 3.000.000
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Leisure Suit Larry 7
 
| width="105" align="center" valign="top" | 3.000.000
 
| width="55" align="center" valign="top" | Yes
 
| width="110" align="center" valign="top" | Yes
 
| width="80" align="center" valign="top" | Extended
 
| width="400" valign="top" | Resource files are named as 'RESMAP.000' and 'RESSCI.000'.
 
|-
 
| width="170" | RAMA
 
| width="105" align="center" valign="top" | 3.000.000
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" | Shivers 2
 
| width="105" align="center" valign="top" | 3.000.000
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" | Lighthouse
 
| width="105" align="center" valign="top" | 3
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|-
 
| width="170" valign="top" | Space Quest 6
 
| width="105" align="center" valign="top" | 3
 
| width="55" align="center" valign="top" | ?
 
| width="110" align="center" valign="top" | ?
 
| width="80" align="center" valign="top" | ?
 
| width="400" valign="top" | Not verified.
 
|}
 
</div>
 
  
Note: this list is not complete and will be likely completed at future time. In columns, SDV stands for SCI Decoder VGA, SRD for SCI Resource Dumper. The actual meaning of this provided info is explained in the following paragraphs.
+
===<br /> Special characters ===
  
&nbsp;
+
<blockquote>
 +
Basically SCI does not offer accented characters in the Font files used by the games, so we will have to supply them using alternative font files. Often it is possible to find them in other SCI games which were already translated (like German versions). Some of these fonts are included in the Fonts directory of TraduSCI. You can rename them accordingly to replace them to those used by the game (i.e. we want to replace the 0.fon, then we can rename one of the fonts that I have supplied as 0.fon and put it in the game directory.)
  
===Things to do in the beginning===
+
As an alternative, it is possible to create our own font or to modify the original ones of the game being translated, using third party programs, like SCI Studio by Brian Provinciano.
 +
</blockquote>
  
First thing first: choose which game to translate from the above list (however I'm not sure it is complete, besides just make sure you're trying to translate a SCI1.1 or a SCI32 game with strings stored in Message files). Some games could require some additional tools apart form those I included to use together with TraduSCI that cannot do all the job by itself of course. Now you have to extract game data using SCI Resource Dumper or SCI Decoder VGA. Depending from the version of your game, data might be contained in different types of archives, but usually you will have a 'RESOURCE.MAP' file (name might slightly differ) which stores references to actual data which is then contained inside one or more numbered files like 'RESOURCE.000'. Sometimes, there are also a 'MESSAGE.MAP' and 'RESOURCE.MSG' files which contains only Message data (which are the strings in the game that you have to translate). You have to tell the program which files to process, and a few directions on their formats. To make things easier, copy your resource files into SCIResDump folder, then open a DOS Prompt shell and type:
 
  
<div align="center"><code>SCIResDump /m&lt;SCI_Version&gt; /v&lt;SCI_Version&gt; /p&lt;SCI_Version&gt; /h /n&lt;Volume&gt; &lt;Resource_Map&gt; -1</code></div>
+
<div align="center">[[File:cp_ibm437.gif]]</div>
  
where &lt;SCI_Version&gt; should be 1 or 3 and depends on the version of the SCI game you're about to extract (for SCI32 games is 3, for earlier 1); those three arguments identifies the format of data, thus you can play with them if something goes wrong. (Note: sometimes you can omit these parameters and SCIResDumper will try to guess the format by itself, however it's safer to specify them). Replace &lt;Volume&gt; with the path of the file with data, usually 'RESOURCE.000', and &lt;Resource_Map&gt; with the path to the resource map, most likely 'RESOURCE.MAP'. That's what you should get:
+
<blockquote>
 +
The code page used by SCI games is the IBM437 shown above.
 +
</blockquote>
  
<div align="center"><code>SCIResDump /m3 /v3 /p3 /h /nRESOURCE.000 RESOURCE.MAP -1</code></div>
+
===<br /> Imaging ===
  
and the result, if nothing goes the wrong way, will be hundreds of files extracted into the program folder. Now with much patience (lucky enough, this only have be done once) select them all in Windows and store them in a separate folder.
+
<blockquote>
 +
It is possible to view and to modify images using FotoSCIhop, the supplied program. You can load .p56 and .v56 files using the procedure previously described of reading from a Volume, or you can load a single file.
  
<div align="center">[[Image:SCI_Resdumper.jpg]]</div>
+
We can use the arrow keys of our keyboard in order to slide between the several images of animated sequences.
  
If the game you are about to translate is not supported by SCI Resource Dumper, you may want to use SCI Decoder VGA instead. To do so, you have to copy all the archives you want to extract files from (usually 'RESOURCE.MSG', 'MESSAGE.MAP', 'RESOURCE.000' and 'RESOURCE.MAP') into the program folder and run it. On the left you'll get a list of all the data from the loaded archive, all of which may be extracted in block by hitting the X key. Should you have the need to only extract one single file, just use the D key instead. Then, by pressing Enter you can display an image, whenever one is selected of course. Even when using SCI Decoder it is heavily suggested to store extracted files into a separate folder, as described earlier. When a separate MESSAGE archive is present, you'll have to repeat this operation once again, just remember to drag out of the program folder the 'RESOURCE.MAP' file previously processed or the program will try to extract data from that one again.
+
Displaying images is useful in order to understand which context the contained sentences in a Message file are associated with. Just by selecting a .p56 file that has the same index of our .msg file of interest, we will be able to collect more information for a particular room of the game.
  
Together with these files you will need Patches files enclosed in the game by Sierra. These files are factory updates to game bugs and they're also used by translator to actually modify the original English strings in the archives. They are situated in the game folder and their names are usually an index (reads: a number) followed by an extension (i.e. Message files have '.MSG'). This same method of providing Patches is used in TraduSCI to translate the game, as you might have imagined. When a Patch file is put into the game directory, the game itself will find and use it in place of its original data.
+
Modifying images is way more complex, and you must use a third party drawing software that is trusted to not compromise some aspects of our original images.  
 +
</blockquote>
  
<div align="center">[[Image:TraduSCI-PatchFiles.jpg]]</div>
+
[[File:palette.png]]
  
&nbsp;
+
===<br /> Color lookup table ===
  
===A brief description of some SCI file types===
+
<blockquote>
 +
A SCI image is always associated to a Color Table. This palette is essential for the correct visualization of an image, therefore the FotoSCIhop tool will not allow you to modify the colors of a palette, or at least it will try to avoid doing so. A modification might indeed cause problems in the visualization of the images in the game. Let’s take, for example, a typical SCI Palette like the one shown in the above figure; the last color (that, among other things, is not defined in the table, as indicated by the cross) is transparent, and represents an area that must not appear in the image (it will be replaced by other images). Now, try to think what would happen if this color would be changed; the blue areas would also appear in the game!
  
Let's take a look at the extracted file in your folder and to their extensions. Those ending with .HEP, .SCR and .VOC are related to the game script (actually of minor interest for you, but strictly depending on the game), while .v56, .P56 and .PAL are respectively background images, object images and color palettes, then there are .FON which are fonts and finally the most important MSG which contains strings from game dialogues. Other file types are of no interest for translating. It is worth telling that files with similar indexes are often related to a particular location in the game, i.e. an image named 100.P56 is related to the dialogues in 100.MSG then you can load 100.P56 into ViewView2 and discover which location is this; notice that sometimes similar indexes are also related between each other, just like 100.P56 and 101.v56. This is frequent in locations that have many interactive objects.
+
The first colors in the sample image, those enclosed by the green rectangle, are invariant almost in all the rooms of the game, because they are the colors used to draw the characters of the game.
  
&nbsp;
+
The last red colors are the so-called translucent colors. The objects drawn using those colors will appear like shadows on the underlying image.
  
===The Message file format===
+
However these are just general rules, but they can change from game to game. For example not every SCI game has support for translucent colors or the same number of constant colors. Therefore it is important to try to preserve the characteristics of the original image palette.
  
That's the format which contains all the game dialogues, but also some technical data of no interest for you translating. Each string also owns a programmer's comment which however is not actually showed up in the game (so you won't disturb translating it). Message files may contain up to 64000 strings, but usually they only contain a number from 5 to 500 strings. TraduSCI's own Message format (TraduSCI2) is much similar to the one used by Sierra, but it also contains some useful data for the translation, in fact it stores both the translated and the original version of each string, and also it remembers the last string which you were looking at when you saved the file, so that you can continue translating from the exact point you left your work. Sierra's own format is more limited instead, since it only allows you to store one version of each string, so if you decide to use this format, keep in mind that only your translated version of each string will be saved, thus not allowing you to make corrections much easily. Obviously TraduSCI supports both these formats, but the interesting fact is that also Sierra games support TraduSCI2 format! In fact I have designed this format in a way that it is compatible with Sierra games, so my suggestion is to use it for your translation and make things easier. Remember that when using a TraduSCI format file with a Sierra game as a Patch file every yet untranslated string will be shown up in the game as the original. My suggestion is to use my format, however the program will let you choose which format you prefer to use when you save a copy of your file (but remember that once saved in Sierra format original strings are replaced with translated one when they have been specified). A side note is that TraduSCI works exclusively in RAM, and when you load a file it is automatically stored in memory in TraduSCI format. Thus, until you 'unload' it from memory (closing the program or loading another file) both version of strings will be available, regardless if you recently saved the file in Sierra format. Sometimes (who knows, one must consider that) it might be useful to save in the original Sierra format, in fact TraduSCI format is bigger (it contains twice the data) and I have no idea of how this could influence the interpreter of oldest SCI games. However consider that these files only contains text, so they're pretty small and it's unlikely that their size might become fatal even for a DOS game.
+
Some files, also, do not have an associated color table. In these cases, FotoSCIhop automatically creates a fake color table made of grays (that will not be included in the file when saving changes). A table of colors from the corresponding menu command can eventually be inserted (but, unlike the table of grays, it will be saved within the file in case of modifications).  
 +
</blockquote>
  
===TraduSCI in brief===
+
===<br /> Drawing tools ===
  
Following is a brief explanation of the main TraduSCI elements (Menubar, buttons and stuff).
+
<blockquote>
 +
Poorly designed software, like Microsoft Paint for example, tend to change the order of the colors used in the image; but also professional programs like Adobe Photoshop (Adobe has surely taken this name from our tool!) can be inadequate, since they are studied to work on 24 bit or 32 bit graphics, and not on 256 colors, palette-based graphics.
  
===Message Menu:===
+
A similar situation could happen in an inadequate software: suppose that the color 250 is blue, but also color number 15 has the exact same tonality of blue, and that the unreliable drawing software associates all the blues of the same tonality to color number 15 of the palette. Suppose that color 250 was transparent in the game, while color 15 was not. Then, in the game, the blue colors will also appear, where they should have been transparent instead.
  
{| cellpadding="5"
+
It is therefore suggested to use software that respects the order of the colors duplicated in the palette. Following is a list of freeware software that responds to this need:
| width="85" valign="top" | '''Open...'''
 
| Loads a Message file into memory. The following file formats are supported: Sierra Message, TraduSCI1.0 Message and TraduSCI2 Message.
 
|-
 
| width="85" valign="top" | '''Save'''
 
| Saves to disk changes made to the current file. If the file is in Sierra format, you will be asked if you want the program to convert the format into TraduSCI's own, so to be able to store both original and translated version of each string. When you try to save changes to a TraduSCI1.0 file, the program will let you acknowledge to convert it to TraduSCI2 format, being the old format no more supported for saving.
 
|-
 
| width="85" valign="top" | '''Save as...'''
 
| Allows you to save a copy of the current file in Sierra or TraduSCI's format. NOTE: TraduSCI1.0's format is not supported anymore at saving time.
 
|-
 
| width="85" valign="top" | '''Export Strings...'''
 
| Exports strings and comments from the current file to a text file (.TXT), to let you read through dialogues as a script. Another useful meaning for this function is to do a Grammar Checking of the strings using a more specific text editing software, such as Microsoft Word.
 
|-
 
| width="85" valign="top" | '''About...'''
 
| The typical copyright message that never misses the call out.
 
|-
 
| width="85" valign="top" | '''Exit'''
 
| You have to know programming well to understand that one, but seriously speaking, keep in mind that if you're trying to close the program without saving first, you'll be given a warning.
 
|}
 
  
&nbsp;
+
[http://www.humanbalance.net/gale/us/ -GraphicsGale]
  
===Strings Menu:===
+
[http://www.memecode.com/image.php -i.Mage]
  
From this menu you can access almost every operation available to do on strings. That includes all that operations which can be accessed using your keyboard's shortcuts. The only function which is only usable within the menu is the Search Bar one. The main purpose of this menu, is to get to know of the keyboard shortcuts indeed, I never lose time to going into the menu with the mouse myself. For precision: Enter equals to the Go button.
+
-iDraw Chara Maker
  
&nbsp;
+
[http://www.yildun.com/wscanner.html -Yildun Scanner]
  
===Font Menu:===
+
[http://www.eclipse-game.com/?dat=7 -GrafX 2]
  
Not everyone uses the same Windows version. Not everyone likes the same screen resolution and a 15 inches monitor just like me and, also we other computer addicted sight is not always excellent (I wonder why...?). Then there's a nice Font menu to set up the size of the displayed text. The setting you choose will be saved inside your Message file, assuming that you're using TraduSCI2 format, of course.
+
As an alternative you can also use the following shareware tools:
  
&nbsp;
+
[http://www.cosmigo.com/promotion/index.php -Pro Motion]
  
===Interface:===
+
[http://www.iota.co.uk/tca/home/home.html -The Complete Animator]
 +
</blockquote>
  
It's a bit cheap but functional. I like it that way cause all of these buttons and functions in Word just give me an headache :) Arrows (also works holding down Ctrl the chosen direction) lets you choose the previous or next phrase. You can also directly wrote the phrase number you desire into the phrase number field and press Ctrl Enter of the 'Go' button to jump to that. On the left side the SCI version, phrases count, and file format are shown. Finally three fields in the bottom contains in order the original phrase, the translated phrase and the programmer's comment related to that phrase (*hint* remember to read comments they're useful sometimes). Then there's a normally hidden section which is the Search Bar. You can make it appear from the Strings menu or by hitting the Ctrl B shortcut. Once activated you'll be presented two fields, one for the searched word, the other one for the replacement word. Also there are the usual 'Search' and 'Replace' buttons, and on the left you can choose to search your word in both the Original String field or the Translated string one, and if the search should be Case Sensitive or not.
+
===<br /> Modifying Images ===
  
NOTE: certain games doesn't support special characters and marks required in some languages, like &egrave; &eacute; &agrave; &ugrave; &igrave; &ograve; and so on, cause the font set in the game is not an 'international' one and it allows only character commonly used in English. That doesn't mean that you do not have to use them in TraduSCI, of course, you can make your own set of international characters for the game later, indeed. Please read the end of this document for more information.
+
<blockquote>
 +
In order to modify an image, it must be exported to a Bitmap file by means of the Image menu. After the exported Bitmap file has been modified, it must be imported again from the same menu. Then a new file can be created or you can simply save changes to the original file.
  
&nbsp;
+
An important thing to remember is that SCI files often have various images inside, that obviously will have to be modified where necessary. On the bar on top of the program it's indicated how many cells and cycles are contained in the current file (every cycle is composed of a number of cells).
 +
</blockquote>
  
===Using ViewView 2===
+
===<br /> Script ===
  
As I said at first, often you might need to use ViewView 2 to display images that are dialogue related. To do this, load ViewView 2 and press the 'Load Picture...' button. From your dedicated folder, choose the '.P56' file whose index is the same as your current '.MSG' file. If there's none, then choose 'Load View...' and search for a .v56 file with a similar index instead. Once loaded, you can use other arrow controls to view other images in the same file or to load the next file, using the 'Next' button, which reads one by one all the files from the current directory. Most of the times, you'll be able to find an image which helps to understand the game location you're about to translate.<br />
+
<blockquote>
&nbsp;
+
Modifying a script is a very rarely necessary operation to being able to translate a SCI game. In some cases, like that of Quest for Glory I (VGA), some strings are present inside the Heap that must be translated, and this can be made without problems with an hex editor, using the usual techniques of “modify-without-changing-the-length-of-the-original-word” and of “adding-blank-spaces-if-the-new-word-is-shorter”.
  
<div align="center">[[Image:ViewView.jpg]]</div>
+
Relatively to SCI32, a program is available in the TraduSCI package that is named SCI Dumper Script and that allows to disassemble the scripts.  
 +
</blockquote>
  
&nbsp;
+
===<br /> Conclusions ===
  
===The Translation===
+
<blockquote>
 +
Remember that all the files that you modify (MSG, MAP, P56, V56, FON, SCR, HEP, and whatever) must be placed in the directory of the game to be used.
 +
</blockquote>
  
Now you can create a folder where you'll store all translated files, to avoid confusing them with the original English ones. Now you can load TraduSCI. From the Message menu, select 'Open...' and select the Message file you'd like to translate, you can choose them in any order, as game locations are not ordered by increasing numbers (you can also search for the first game location using ViewView 2 of course, but that decision's up to you). And that's how your translating job begins... The strings that you should translate will be shown in the 'Original' field while the lower field is meant to be used for Translations. The font size for these two fields may be choose from the Font menu. You can freely jump between strings without worrying since your changes are stored in memory as you type them. Notice that in some games (those dubbed by actors, actually) you could find certain strange things wrote in CAPITAL letters inside parenthesis (). Don't worry about them, just keep them unchanged or even remove them since they're not displayed by the game being them only a reference for actors when acting. If you choose to translate them be sure to write these in CAPITAL letters, or else they'll be displayed by the game and they're spoilers sometimes! There are times where you can find words that are aligned, just like a poem or something, if that is the case, you may want to test in-game for the result of the translation, cause the font set used by TraduSCI is different by the one used inside the game, and the alignment might be lost.
+
===<br /> Appendix ===
  
<div align="center">[[Image:TraduSCI-Vieweng.jpg]]</div>
+
<blockquote>
  
&nbsp;
 
  
===Special Characters===
+
Now there is a list that offers a general overview on the several possibilities offered by the existing tools, at the moment that I’m writing this handbook. Some of these programs, those so to speak “essential”, have been already included in TRADUSCI!
  
What most of the SCI games doesn't come with is a set of font with special characters cause they do not exists or do not get used in English. In the list of the games in the first part of this document it is specified whenever a game is shipped with 'Extended' character set. Characters in SCI are described inside Font files (ending in '.FON') and just like you can Patch a particular Message in the game, you can practically do the same thing with fonts, by providing the game an alternate font in the game's directory to load instead of the original one. In the /Fonts folder of this package I have included a number of SCI Extended fonts that I've found inside international versions of games (Spanish, Italian, German, French versions usually do). To use them, you just have to drag them inside the game's directory, but in order to find the most suitable for your game you have to do a few tries and guess. However keep in mind that font files with the same index are usually much similar, i.e. two files named both 0.FON are undoubtedly two version of the same font, and should be interchangeable. If you want to know which font files you have to provide to a game take a look at the folder where you put the files extracted from the RESOURCE archives and look for .FON file (there should be at least a dozen of them.)
+
SCI Resource Dumper by Vladimir Gneushev allows you to extract data from the majority of SCI1.1 and SCI32 games. For games unsupported by SCI Resource Dumper we will use the program SCI Decoder VGA, that it is also good to visualize the images. The version that I have included has a few modifications from the original one of Carl Muckenhoupt. All these programs can be found in the Tools directory.
  
&nbsp;
+
A program that I have not included but that is useful in order to modify the Fonts, is SCI Studio by Brian Provinciano. Another product of Brian that I have included instead is SCI VGA View Editor, that can be used for Eco Quest I.
  
===Verify Translation===
+
</blockquote>
  
Once you complete a file, you can drag it into the game folder and start it for verification. Beware of not replacing original game patches, just make sure you move them into another folder. You can also save the game at various place into the game, so you can reload the game next time you have to try another file an wont need to replay the entire game from the beginning. Plus, it's enough to consider good a file assumed that the game correctly display a couple phrases from it, indeed TraduSCI is object oriented and won't do mistakes: if a couple phrases works, they all must do too. Anyway when you've done translating the entire game you can give it to a tester guy and save you all the bug fix work.
+
===<br /> SCI1.1 Games ===
  
&nbsp;
+
{| border="1" cellpadding="5" align="center"
 +
! Name
 +
! align="center" | SRD
 +
! align="center" | FotoSCIhop
 +
! align="center" | Font Set
 +
! Notes
 +
|- valign="top"
 +
| Eco Quest I
 +
| align="center" | No
 +
| align="center" | No*
 +
| align="center" | Extended
 +
| Resource file have a number from 0 to 3 as extension.
 +
|- valign="top"
 +
| Quest for Glory I (VGA remake)
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| SCIResDump must be 'forced' with the following parameters /m3 /v1 /p1 from command line.
 +
|- valign="top"
 +
| Police Quest I (VGA remake)
 +
| align="center" | No
 +
| align="center" | No*
 +
| align="center" | Base
 +
|
 +
SCI Decoder is only able to display object images, not backgrounds.
  
===End User License===
+
For MSGs, sciresdump must be forced using these parameters /nRESOURCE.MSG MESSAGE.MAP -1
 +
|- valign="top"
 +
| Quest for Glory III
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| -
 +
|- valign="top"
 +
|
 +
Island of Dr. Brain 1
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| -
 +
|- valign="top"
 +
|
 +
Island of Dr. Brain 2
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| King's Quest 6
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| -
 +
|- valign="top"
 +
| Space Quest IV (windows)
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Eco Quest II
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Extended
 +
| -
 +
|- valign="top"
 +
| Space Quest 5
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| -
 +
|- valign="top"
 +
| Pepper's Adventures in time (aka Twisty History)
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Laura Bow 2
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| SCIResDump must be 'forced' with the following parameters /m3 /v1 /p1 for 'RESOURCE.MSG'.
 +
|- valign="top"
 +
| Freddy Pharkas
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| -
 +
|- valign="top"
 +
| Quest for Glory III (Italiano)
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Extended
 +
| -
 +
|- valign="top"
 +
| Leisure Suit Larry 6 (dos/win)
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| -
 +
|}
  
 
<blockquote>
 
<blockquote>
''TraduSCI is a program by Enrico Rolfi (Endroz) and it is shareware, it may be freely distributed only when shipped together with this original documentation and only if such distribution is not for commercial purposes. It can't be modified or altered in any way without the written permission of the author. This program is provided without any warranty and the author is not responsible for any damage caused directly or indirectly by its usage. Although it is shareware, this program is royalty free, but if you decide to translate a game using that, I'd be glad to be informed of such and to receive comments suggestion and general feedback from you. Inside this translation package for SCI1.1/SCI32 games there are a few external tools: SCI Resource Dumper and View View 2 were made by Vladimir Gneushev, and the former has been slightly modified by Enrico Rolfi. SCI Decoder VGA is a program by Carl Muckenhoupt and it has also been modified by Enrico Rolfi to add new features needed for translation of newer games. None of these peoples (myself included) is affiliated in any way to Sierra On-Line, which has copyrights on the SCI system and on each and every game developed using it.''
+
* You can use SCI Decoder VGA to display the images.
 
</blockquote>
 
</blockquote>
  
&nbsp;
+
===<br /> SCI32 Games ===
  
===Last but not Least===
+
{| border="1" cellpadding="5" align="center"
 +
| Name
 +
| align="center" | SRD
 +
| align="center" | FotoSCIhop
 +
| align="center" | Font set
 +
| Notes
 +
|- valign="top"
 +
| Quest for Glory IV
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
 +
|- valign="top"
 +
| Quest for Glory IV (German)
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Extended
 +
| SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
 +
|- valign="top"
 +
| Gabriel Knight (Floppy e CD)
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Extended
 +
| SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
 +
|- valign="top"
 +
| Torin's Passage
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Gabriel Knight 2
 +
| align="center" | Yes
 +
| align="center" | Yes**
 +
| align="center" | ?
 +
| -
 +
|- valign="top"
 +
| King's quest VII
 +
| align="center" | Yes
 +
| align="center" | Yes**
 +
| align="center" | ?
 +
| -
 +
|- valign="top"
 +
| Phantasmagoria
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Quest for Glory IV (CD)
 +
| align="center" | Yes
 +
| align="center" | Yes
 +
| align="center" | Base
 +
| SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
 +
|- valign="top"
 +
| Shivers (Windows)
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Phantasmagoria 2
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Leisure Suit Larry 7
 +
| align="center" | Yes
 +
| align="center" | Yes**
 +
| align="center" | Extended
 +
| Resource files are named as 'RESMAP.000' and 'RESSCI.000'.
 +
|- valign="top"
 +
| RAMA
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Shivers 2
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| LightHouse
 +
| align="center" | ?
 +
| align="center" | ?
 +
| align="center" | ?
 +
| Not verified.
 +
|- valign="top"
 +
| Space Quest 6
 +
| align="center" | Yes
 +
| align="center" | Yes**
 +
| align="center" | ?
 +
| See&nbsp;Notes below...
 +
|}
 +
 
 +
<blockquote>
 +
Note: this list is not complete and will be likely completed at future time. In columns, SRD stands for SCI Resource Dumper.
 +
 
 +
**It occurs sometimes that View files contain a strange structure named "Link". You'll be able to edit the images, but any LINK structure will not be saved.
 +
</blockquote>
  
I think I said it all, now it's all upon you. Obviously I must say that translating Message files as TraduSCI does not make certain games entirely translated. Sometimes, you might need to translate graphical object like books, or paintings, main screen titles and so on. In such cases you have to use different techniques which I'm not covering into this manual, however you can contact me if you have any question about them and want some help.
+
===<br /> Conclusion ===
  
 
<blockquote>
 
<blockquote>
''Enrico Rolfi (Endroz)''<br />
+
You have to extract game data using SCI Resource Dumper or SCI Decoder VGA. Depending from the version of your game, its data might be contained in different types of archives, but usually you will have a 'RESOURCE.MAP' file (name might slightly differ) which stores references to actual data which is then contained inside one or more numbered files like 'RESOURCE.000'. Sometimes, there are also a 'MESSAGE.MAP' and 'RESOURCE.MSG' files which contains only Message data (which are the strings in the game that you have to translate). You have to tell the program which files to process, and a few directions on their formats. To make things easier, copy your resource files into SCIResDump folder, then in Windows, open a Command Prompt shell and type:
[mailto:maczoxx@libero.it maczoxx@libero.it]<br />
+
 
http://www.GabrielKnight2K.tk
+
<code>SCIResDump /m<SCI_Version> /v<SCI_Version> /p<SCI_Version> /h /n<Volume> <Resource_Map> -1</code>
 +
 
 +
where <SCI_Version> should be 1 or 3 and depends on the version of the SCI game you're about to extract (for SCI32 games is 3, for earlier 1); those three arguments identifies the format of data, thus you can play with them if something goes wrong. Also refer to the previous compatibility table for hints. (Notice: sometimes you can omit these parameters and SCIResDumper will try to guess the format by itself, however it's safer to specify them). Replace <Volume> with the path of the file with data, usually 'RESOURCE.000', and <Resource_Map> with the path to the resource map, most likely 'RESOURCE.MAP'. That's what you should get:
 +
 
 +
<code>SCIResDump /m3 /v3 /p3 /h /nRESOURCE.000 RESOURCE.MAP -1</code>
 +
 
 +
and the result, if nothing goes the wrong way, will be hundreds of files extracted into the program folder. Now with much patience (luckily enough, this only has to be done once) select them all in Windows and store them in a separate folder.
 +
 
 +
If the game you are about to translate is not supported by SCI Resource Dumper, you may want to use SCI Decoder VGA instead. To do so, you have to copy all the archives you want to extract files from (usually 'RESOURCE.MSG', 'MESSAGE.MAP', 'RESOURCE.000' and 'RESOURCE.MAP') into the program folder and run it. On the left you'll get a list of all the data from the loaded archive, all of which may be extracted in block by hitting the X key. Should you have the need to only extract one single file, just use the D key instead. Then, by pressing Enter you can display an image, if one is selected of course. Even when using SCI Decoder it is heavily suggested to store extracted files into a separate folder, as described earlier. When a separate MESSAGE archive is present, you'll have to repeat this operation once again, just remember to drag out of the program folder the 'RESOURCE.MAP' file previously processed or the program will try to extract data from that one again.  
 
</blockquote>
 
</blockquote>
  

Revision as of 23:39, 4 August 2015

By Enrico Rolfi (Endroz)


See TraduSCI Manual (old)

 


License

TraduSCI was made by Enrico Rolfi and is open source (GPL license), it can be freely used and modified. This program is distributed without any warranty and the author does not respond of eventual damages provoked in any way by its use.

In this SCI1.1/SCI32 translation package the following third party tools are also present: SCI Resource Dumper by Vladimir Gneushev, that is supplied in a version from me purposely modified. SCI Decoder VGA is by Carl Muckenhoupt and has been modified by me as well.

Audio.exe for playing game voices is a tool from the SCI1Utils.7z package available at the SCI Viewer web page.

WinGraph32 is a version for Windows of the VCG open source tool, compiled by DataRescue and whose sources are available from their web site.

None of these persons (myself included) is in any way affiliated to Sierra, that holds copyright on SCI technologies and on all the games listed in this handbook.



Introduction

This handbook speaks about SCI and teaches how to translate a SCI game.

This is made much simpler by the use of these tools of translation. In particular SCIaMano offers a file format which is backward compatible and usable with every SCI game.

Lets start opening SCIaMano and selecting the command Open Volume…

Now we will have to select a file whose name is typically RESOURCE.MAP, that is a map of all the files contained in the Volume (typically called RESOURCE.000).


Messages

At this point we will be able to select from a list the file of Messages (with extension .MSG) that we want to modify. Messages are simply the sentences visualized in the game. If problems occur during this operation, it will be possible to use another extractor tool for the data in the volume, the program named SCI Resource Dumper, as described in the Appendix of this handbook.

Once chosen and loaded the file that we want to modify, it is suggested to save a copy in a working directory. For being able to use these files in the game, therefore replacing the original sentences with our translations, it will be enough to place these files in the same directory of the game, or in an appropriate directory PATCHES where present, or wherever specified in the configuration file RESOURCE.CFG/ RESOURCE.WIN of the game.

Please pay attention cause there might already be other Messages files in the directory of the game, then in order to create our translation we will have to translate these latter in place of the old ones extracted from the volume. We can load them in SCIaMano using the command Load file…

Once loaded a file, we will be shown a list of all the sentences in the file, with a series of labels (initially numerical).


Labels

The labels of the list (noun, verb, case) identify the event as a result of which the current message will be visualized in the game.

As an example if we have the sentence “I cannot open the door because it is locked!”, then the noun could be “door”, the verb “open” and the case “the door is locked”. Often we will need to associate to every number a symbolic name, for better clarity.

The label “talker” identifies the game character that will read the sentence associated to the event. The label “sequence” is used when the occurring of an event triggers the visualization of more than a single sentence; that typically happens in a cutscene, for example.

The Index label simply represents the order in which the sentences are stored in a file.

It is possible to order messages by any of these labels, by clicking on the respective column of the list. A clearer vision may be obtained, for example, of all the sentences that involved a particular noun.

Names can be assigned to every number that identifies a label, using the fields in the bar at the top of the interface. This modification will affect all the sentences that share the same label number. It is possible, moreover, from the Labels menu, to export the associations “number = name” in a text file in order to Import them in another Msg file (but consider that this only makes sense for certain types of labels. Talkers and Verbs are surely of global meaning, while Nouns have different numbers in every file.)

But the names of the nouns can be imported from an heap file (extension .HEP), using the appropriate menu command and selecting a Volume as made previously, or from a standalone .hep file.


Graphs

For better clarity, it is possible to visualize the sentences in a graph, that is in the format of WinGraph.

Note: if the graph window is left open and a sentence is modified, these modifications will not be updated in the graph automatically!


Clones

In order to visualize a message for more than a single event, it can be cloned, thus assigning the same text to a different event. The messages whose text is not modifiable are clones.

In order to modify a clone, select the Cloning command in the Navigation menu. Selecting this same command it is also possible to create a new clone, in case the sentence currently selected was not a clone already.

If the cloned text is not that of a single sentence, but rather that of a sequence of sentences, then you will be offered the opportunity to duplicate the entire sequence of sentences so as to be able to modify them all. The alternative to this will be to banally replace the entire sequence with a single sentence, that -obviously- is not advised.

After doing some cloning operations, it is recommended to verify in game the functionality of the sentences being involved, because in some cases of unconventional use of the scripts, it would be possible to cause fatal errors.


Audio

One of the problems inherent to cloning is that clones typically references directly to the audio of its original sentences. When a clone gets transformed to a normal sentence by the user, it is necessary to also specify a new audio reference for it, since the reference to the original sentence is gone. This is made in automatic by the program, which creates a copy of the reference to the original audio. But for that to be possible it is necessary to modify the file that contains the references to the audio, that is an Audio MAP file (extension .map, not to be confused with the maps of the Volumes). In order to do this you can -again- load a MAP file from a Volume.

Obviously, should our game not offer audio voices, then we won't have any MAP files to modify.

When saving changes to a message file with a MAP loaded inside, a MAP file will be created in the same directory of the MSG, also overwriting a potentially existing MAP file with the same name!

ATTENTION: For games with voices, if you choose not to modify the .MAP file during the transformation of a clone, the sentence will never be visualized in the game! The game will not find the audio for the sentence, and therefore the sentence will disappear quickly from the screen. In order to verify that all the sentences in our file of messages have a reference in the file of map of the audio, you can choose Verify messages in Map... from the Audio menu and then select the .map that you will use in the game. A list of eventual omissions will be shown. Obviously, clones will figure between the omissions, and so will the sentences that are not spoken in the game, like those written in the interfaces -and this is totally normal. Once a MAP file is loaded, it is also possible to load the RESOURCE.AUD file that contains the waveforms, by means of the appropriate command in the Audio menu. From the same menu it will also be possible to play the voices through your speakers!


Glossary

The glossary is a text file in which we can take note of all the translations of important words, names, places and any other thing that we want the program to verify for us. In order to add a word to the glossary, just select it in both the field MESS and the field TRANS and choose the command "Add selection" from the Glossary menu. Definitions in the wordlookup.txt file can also be added manually, but the glossary must first be created and it must be in the same directory of the Messages file.

When we will choose to verify the words in the current file of messages -through the menu command “Check words”- the program will analyze every sentence and will count every occurrence of each definition, and then try to find them in the translations text. SCIaMano simply checks that N occurrences of each definition are present N times in the corresponding translated sentence.

This mechanism is mostly reliable, although it can sometimes get confused as it does not try to match the exact words (i.e., it would assume both lampaDARIO and Dario as valid occurrences of Dario).


Other functions

Other functions are available from the File menu.

It is possible to Import the sentences directly from another Messages file using “Import from Message”, or to compare the sentences in the current file with those of another file using “Compare with Message”.

Moreover it is possible to export all the sentences to a text file in order to import them back later on. As an example, it is good practice to export the sentences in order to perform a grammar check using a word processor, and then import them back in.


Special characters

Basically SCI does not offer accented characters in the Font files used by the games, so we will have to supply them using alternative font files. Often it is possible to find them in other SCI games which were already translated (like German versions). Some of these fonts are included in the Fonts directory of TraduSCI. You can rename them accordingly to replace them to those used by the game (i.e. we want to replace the 0.fon, then we can rename one of the fonts that I have supplied as 0.fon and put it in the game directory.)

As an alternative, it is possible to create our own font or to modify the original ones of the game being translated, using third party programs, like SCI Studio by Brian Provinciano.


Cp ibm437.gif

The code page used by SCI games is the IBM437 shown above.


Imaging

It is possible to view and to modify images using FotoSCIhop, the supplied program. You can load .p56 and .v56 files using the procedure previously described of reading from a Volume, or you can load a single file.

We can use the arrow keys of our keyboard in order to slide between the several images of animated sequences.

Displaying images is useful in order to understand which context the contained sentences in a Message file are associated with. Just by selecting a .p56 file that has the same index of our .msg file of interest, we will be able to collect more information for a particular room of the game.

Modifying images is way more complex, and you must use a third party drawing software that is trusted to not compromise some aspects of our original images.

Palette.png


Color lookup table

A SCI image is always associated to a Color Table. This palette is essential for the correct visualization of an image, therefore the FotoSCIhop tool will not allow you to modify the colors of a palette, or at least it will try to avoid doing so. A modification might indeed cause problems in the visualization of the images in the game. Let’s take, for example, a typical SCI Palette like the one shown in the above figure; the last color (that, among other things, is not defined in the table, as indicated by the cross) is transparent, and represents an area that must not appear in the image (it will be replaced by other images). Now, try to think what would happen if this color would be changed; the blue areas would also appear in the game!

The first colors in the sample image, those enclosed by the green rectangle, are invariant almost in all the rooms of the game, because they are the colors used to draw the characters of the game.

The last red colors are the so-called translucent colors. The objects drawn using those colors will appear like shadows on the underlying image.

However these are just general rules, but they can change from game to game. For example not every SCI game has support for translucent colors or the same number of constant colors. Therefore it is important to try to preserve the characteristics of the original image palette.

Some files, also, do not have an associated color table. In these cases, FotoSCIhop automatically creates a fake color table made of grays (that will not be included in the file when saving changes). A table of colors from the corresponding menu command can eventually be inserted (but, unlike the table of grays, it will be saved within the file in case of modifications).


Drawing tools

Poorly designed software, like Microsoft Paint for example, tend to change the order of the colors used in the image; but also professional programs like Adobe Photoshop (Adobe has surely taken this name from our tool!) can be inadequate, since they are studied to work on 24 bit or 32 bit graphics, and not on 256 colors, palette-based graphics.

A similar situation could happen in an inadequate software: suppose that the color 250 is blue, but also color number 15 has the exact same tonality of blue, and that the unreliable drawing software associates all the blues of the same tonality to color number 15 of the palette. Suppose that color 250 was transparent in the game, while color 15 was not. Then, in the game, the blue colors will also appear, where they should have been transparent instead.

It is therefore suggested to use software that respects the order of the colors duplicated in the palette. Following is a list of freeware software that responds to this need:

-GraphicsGale

-i.Mage

-iDraw Chara Maker

-Yildun Scanner

-GrafX 2

As an alternative you can also use the following shareware tools:

-Pro Motion

-The Complete Animator


Modifying Images

In order to modify an image, it must be exported to a Bitmap file by means of the Image menu. After the exported Bitmap file has been modified, it must be imported again from the same menu. Then a new file can be created or you can simply save changes to the original file.

An important thing to remember is that SCI files often have various images inside, that obviously will have to be modified where necessary. On the bar on top of the program it's indicated how many cells and cycles are contained in the current file (every cycle is composed of a number of cells).


Script

Modifying a script is a very rarely necessary operation to being able to translate a SCI game. In some cases, like that of Quest for Glory I (VGA), some strings are present inside the Heap that must be translated, and this can be made without problems with an hex editor, using the usual techniques of “modify-without-changing-the-length-of-the-original-word” and of “adding-blank-spaces-if-the-new-word-is-shorter”.

Relatively to SCI32, a program is available in the TraduSCI package that is named SCI Dumper Script and that allows to disassemble the scripts.


Conclusions

Remember that all the files that you modify (MSG, MAP, P56, V56, FON, SCR, HEP, and whatever) must be placed in the directory of the game to be used.


Appendix


Now there is a list that offers a general overview on the several possibilities offered by the existing tools, at the moment that I’m writing this handbook. Some of these programs, those so to speak “essential”, have been already included in TRADUSCI!

SCI Resource Dumper by Vladimir Gneushev allows you to extract data from the majority of SCI1.1 and SCI32 games. For games unsupported by SCI Resource Dumper we will use the program SCI Decoder VGA, that it is also good to visualize the images. The version that I have included has a few modifications from the original one of Carl Muckenhoupt. All these programs can be found in the Tools directory.

A program that I have not included but that is useful in order to modify the Fonts, is SCI Studio by Brian Provinciano. Another product of Brian that I have included instead is SCI VGA View Editor, that can be used for Eco Quest I.


SCI1.1 Games

Name SRD FotoSCIhop Font Set Notes
Eco Quest I No No* Extended Resource file have a number from 0 to 3 as extension.
Quest for Glory I (VGA remake) Yes Yes Base SCIResDump must be 'forced' with the following parameters /m3 /v1 /p1 from command line.
Police Quest I (VGA remake) No No* Base

SCI Decoder is only able to display object images, not backgrounds.

For MSGs, sciresdump must be forced using these parameters /nRESOURCE.MSG MESSAGE.MAP -1

Quest for Glory III Yes Yes Base -

Island of Dr. Brain 1

Yes Yes Base -

Island of Dr. Brain 2

? ? ? Not verified.
King's Quest 6 Yes Yes Base -
Space Quest IV (windows) ? ? ? Not verified.
Eco Quest II Yes Yes Extended -
Space Quest 5 Yes Yes Base -
Pepper's Adventures in time (aka Twisty History) ? ? ? Not verified.
Laura Bow 2 Yes Yes Base SCIResDump must be 'forced' with the following parameters /m3 /v1 /p1 for 'RESOURCE.MSG'.
Freddy Pharkas Yes Yes Base -
Quest for Glory III (Italiano) Yes Yes Extended -
Leisure Suit Larry 6 (dos/win) Yes Yes Base -
  •  You can use SCI Decoder VGA to display the images.


SCI32 Games

Name SRD FotoSCIhop Font set Notes
Quest for Glory IV Yes Yes Base SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
Quest for Glory IV (German) Yes Yes Extended SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
Gabriel Knight (Floppy e CD) Yes Yes Extended SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
Torin's Passage ? ? ? Not verified.
Gabriel Knight 2 Yes Yes** ? -
King's quest VII Yes Yes** ? -
Phantasmagoria ? ? ? Not verified.
Quest for Glory IV (CD) Yes Yes Base SCIResDump must be 'forced' to SCI32 mode using the following parameters /m3 /v3 /p3 from the command line.
Shivers (Windows) ? ? ? Not verified.
Phantasmagoria 2 ? ? ? Not verified.
Leisure Suit Larry 7 Yes Yes** Extended Resource files are named as 'RESMAP.000' and 'RESSCI.000'.
RAMA ? ? ? Not verified.
Shivers 2 ? ? ? Not verified.
LightHouse ? ? ? Not verified.
Space Quest 6 Yes Yes** ? See Notes below...

Note: this list is not complete and will be likely completed at future time. In columns, SRD stands for SCI Resource Dumper.

    • It occurs sometimes that View files contain a strange structure named "Link". You'll be able to edit the images, but any LINK structure will not be saved.


Conclusion

You have to extract game data using SCI Resource Dumper or SCI Decoder VGA. Depending from the version of your game, its data might be contained in different types of archives, but usually you will have a 'RESOURCE.MAP' file (name might slightly differ) which stores references to actual data which is then contained inside one or more numbered files like 'RESOURCE.000'. Sometimes, there are also a 'MESSAGE.MAP' and 'RESOURCE.MSG' files which contains only Message data (which are the strings in the game that you have to translate). You have to tell the program which files to process, and a few directions on their formats. To make things easier, copy your resource files into SCIResDump folder, then in Windows, open a Command Prompt shell and type:

SCIResDump /m<SCI_Version> /v<SCI_Version> /p<SCI_Version> /h /n<Volume> <Resource_Map> -1

where <SCI_Version> should be 1 or 3 and depends on the version of the SCI game you're about to extract (for SCI32 games is 3, for earlier 1); those three arguments identifies the format of data, thus you can play with them if something goes wrong. Also refer to the previous compatibility table for hints. (Notice: sometimes you can omit these parameters and SCIResDumper will try to guess the format by itself, however it's safer to specify them). Replace <Volume> with the path of the file with data, usually 'RESOURCE.000', and <Resource_Map> with the path to the resource map, most likely 'RESOURCE.MAP'. That's what you should get:

SCIResDump /m3 /v3 /p3 /h /nRESOURCE.000 RESOURCE.MAP -1

and the result, if nothing goes the wrong way, will be hundreds of files extracted into the program folder. Now with much patience (luckily enough, this only has to be done once) select them all in Windows and store them in a separate folder.

If the game you are about to translate is not supported by SCI Resource Dumper, you may want to use SCI Decoder VGA instead. To do so, you have to copy all the archives you want to extract files from (usually 'RESOURCE.MSG', 'MESSAGE.MAP', 'RESOURCE.000' and 'RESOURCE.MAP') into the program folder and run it. On the left you'll get a list of all the data from the loaded archive, all of which may be extracted in block by hitting the X key. Should you have the need to only extract one single file, just use the D key instead. Then, by pressing Enter you can display an image, if one is selected of course. Even when using SCI Decoder it is heavily suggested to store extracted files into a separate folder, as described earlier. When a separate MESSAGE archive is present, you'll have to repeat this operation once again, just remember to drag out of the program folder the 'RESOURCE.MAP' file previously processed or the program will try to extract data from that one again.