Community
SCI Programming => SCI Syntax Help => Topic started by: Shaklin on August 06, 2018, 03:47:27 AM
-
Hello,
my native language is not english, but I try my best :).
I use SCICompanion and I have a problem with the Vocab Editor.
I can't use "umlauts" (ä,ö,ü and ß).
(https://i.imgur.com/yLcYbo5.jpg)
I also can't properly read german Vocab original files: ( example: Space Quest 3, german):
I open it with SCI Studio 3+, because SCICompanion do not want open it.
(https://i.imgur.com/qQuDDam.jpg)
(kämpfe = k„mpfe)
If I add "ä", then it does not save..
What I do wrong? Which Editor should I use?
-
Shaklin.
You're doing the right thing. SCICompanion and SciStudio does not support Extended ASCII Codes (including table CP850).
As far as I know, there are no such editors.
-
Extended ASCII is not supported in any SCI0 version. SCI01 does support extended ASCII, but few games were made with it. Some SCI0 games were ported to SCI01 for the German release.
-
Daventry
Thank you :). Oh that's bad.. I can use umlauts in Text Editor (with modifized Font it works fine in game). But in Vocab Editor it's not allowed to use umlauts.
I wanted to translate a game, but with that restriction, it's not optimal..
lskovlun
I'm not sure, what you mean.
If I open Space Quest 3 (german), SCICompansion say it's SCI0. And it has umlauts (in game).
The Translation is in file vocab.910
The only Problem I can't see the umlauts in the Vocab Editor.
You said SCI01 support extended ASCII.. so I opened Laura Bow II and tried to add umlauts in the Vocab Editor. It does not work. So it's a problem with the Vocab Editor.
(Text Editor works fine).
-
Shaklin
Version SCI of games:
http://wiki.scummvm.org/index.php/Sierra_Game_Versions#SCI_Games
SQ3 de is SCI01.
The claim that the version SCI0 does not support extended symbols of ASCII is misleading.
Colonel's Bequest is SCI0 game.
(http://i64.tinypic.com/8wmrsy.png)
The truth is just the translated message text. I have not tried text input (and vocab editing) for SCI0. But I think it should work.
Try this. Write without umlauts in the Vocab, and then in the hex editor replace the individual letters.
hangen - > hängen
-
But it doesn't matter, SCI0 or SCI1, I can't add umlauts anyway with the Vocab Editor.
I have to use SCI Studio 3+.
As I said "Text Editor" works fine.
What a coincidence, I work on laura bow 1 :)
(https://i.imgur.com/xWxSMdq.jpg)
Text no problem..
But Vocab Text is a problem.
I already tried it to edit it with a Hexeditor or Notepad++, but it seems compressed or other format, idk.. I can't find any words in there:
(https://i.imgur.com/jjoZF7Q.jpg)
Is there a way to export it in a "readable" format?
Or can I "convert" a vocab file to another version (SCI0 to SCI1)?
-
You're right that you can't add umlauts with the vocab editor in SCICompanion, and I guess for SCI01 this is an unnecessary limitation (i.e. a bug).
For SCI0 though, Sierra's vocab resource format only supports chars in the range 0-127.
-
Then I do not understand this limitation, because I thought you can make with that tool your own games or translations...
Anyway, I found for me a solution.. I open the vocab.000 file with SCI Studio 3+, then I write a word with umlaut. Then I use "save as" and save it under a new typ-name (vocab.900).
I reopen it (vocab.900). Now I can use umlauts.
The only problem is, if the umlaut on first position (example: "über"), then it does not save. On other position it works (example "bücher"). My solution is to add a space (example " über") and then I delete the space with a hexeditor.
If I start the game I get now this message:
"WARNING: SCI0: Found SCI01 vocabulary in disguise!"
But it seems the game works fine and I can use german umlauts words.
(I still hope someone has a better solution or an Editor : ) )
EDIT: After editing I rename vocab.900 back to vocab.000 and put it in the game folder.
-
Then I do not understand this limitation, because I thought you can make with that tool your own games or translations...
Both SCI Companion and SCI Studio create game packages that run on Sierra's interpreters, hence they are limited to the functionality contained in those interpreters.
-
Shaklin
Try this file. Write, if it works correctly.
-
Daventry
Thank you for your help :). But I see no difference.
Vocab.000 still 127 chars limitation and with my solution I still can't save a word with an umlaut on first position..
-
I just removed the 127-character limit check. Thought it would have an effect. We'll have to deal in detail with the algorithm. :( :)
-
I tried it now with both files:
vocab.000:
Umlaut on first position: still 127 chars limit message
Word with umlaut on other position: it save, but if I reload the file, all data are corrupt.
And with my vocab.900:
I still can't save a word with an umlaut on first position.
But thanks again for your help :).
-
A'ight kids, this comes with absolutely no warranties: an SCI Companion build that considers 010/910 to be valid text parser dictionaries, and all characters are considered valid. I altered the checks.
Yes, the preview in the sidebar doesn't recognize 910 as a text parser dictionary, but it will open.
-
Kawa, thanks.
-
fyi, I believe the 127 char limit is because the word vocab resource uses the high bit as the string terminator. So hex-editing your way around this or removing the check while saving will produce corrupt resources from the interpreter's point of view.
Correct fixes to SCI Companion are probably:
- don't do this 0-127 check if we're using the "vocabTraits_900" kind of vocab. (Maybe that's what Kawa did?)
- make SCI Companion open German SQ3 properly (since if I understand correctly, that's the SCI0-ish interpreter where >127 chars are supported?) - probably just some bugs in the version detection stuff.
-
(Maybe that's what Kawa did?)
Close. There's no version check, I just made it not do the 0-127 check at any time.
Couldn't find a German SQ3 yesterday, so I used la Poursuite des Pectoraux Puissants for my minimal testing. I did confirm though that French LSL3 does use vocabs 900 and 910 as predicted, while the English version uses vocab 000.
-
Maybe it's my fault, but it does not work for me.. No more "Invalid word" error message, but it do not save words with umlauts and the data is corrupt after saving.
And my own vocab.000 it can't open. Only SCI Studio 3+ can open/read it.
I uploaded both files (original vocab.000 from the game The Colonel's Bequest and my own vocab.000 with german umlauts). example word with umlaut: über | about
Thank you wala for your help :). that's very nice of you all.
Or should I export it as vocab.910? Idk... slowly it's getting too complicated for me. :-\ :D
-
Or should I export it as vocab.910? Idk... slowly it's getting too complicated for me. :-\ :D
Here's what I've found.
SCI0: no umlaut support anywhere, uses vocab.000.
SCI01: umlaut support in fonts and vocabs, uses vocab.900 for English and vocab.910 for non-English.
Colonel's Bequest is an SCI0 game, since it uses vocab.000.
My theory: If you want it to support umlauts, it must be an SCI01 game. This involves replacing the interpreter. You must also save the parser dictionary as vocab.900 instead of 000, assuming you don't need the ability to switch languages. If you do want that ability you must provide both vocab.900 (English) and vocab.910 (German), and write each string as English text#GDeutscher Text, add something to switch with, and possibly even more changes.
Edit: also you need a 902/912 pair for conjugations or whatever they are, the "happened > happen" things, and a 901/911 pair for the grammar blackbox.
-
Kawa agrees.
Shaklin.
For the translation of SCI0, you can use recoding, as in Spanish translations. Additional characters are in the lower half of the ASCII table. Here is an example,
(http://i66.tinypic.com/28wmecg.png)
-
That's clever. I like it.
-
Kawa agrees.
Shaklin.
For the translation of SCI0, you can use recoding, as in Spanish translations. Additional characters are in the lower half of the ASCII table. Here is an example,
You'll still need Kawa's special "no validate" build of SCI Companion for this, of course (and also '|' isn't available to repurpose since that's the divider character for the vocab editor).
-
SCI0: no umlaut support anywhere, uses vocab.000.
Yes.. but with my vocab.000 I can use umlauts, it works in game.
If I start the game (I bought GOG Version), then I get this message:
"WARNING: SCI0: Found SCI01 vocabulary in disguise!"
But it seems the game works fine and I can use german umlauts words.
Daventry
I'm not sure if I understand you right..
For the text Editor I already edited the fonts:
https://i.imgur.com/APlAxeo.jpg
https://i.imgur.com/Syr3yzQ.jpg
https://i.imgur.com/xWxSMdq.jpg
It works fine.
But in Vocab Editor you can't use that ("invalid word error").
And with the new SCICompanion (by Kawa) you get no more "invalid word error", BUT it does not save words with umlauts (if you reload it, the words are gone).
EDIT:
Oh, you mean the umlauts must be above 127 chars?
EDIT2:
Ok, that makes no sense : D
Because you have then to enter the ascii char (< for ü for example) on your keyboard. But I want to use the right umlauts on the keyboard when typing in game.
-
Yes.. but with my vocab.000 I can use umlauts, it works in game.
If I start the game (I bought GOG Version), then I get this message:
"WARNING: SCI0: Found SCI01 vocabulary in disguise!"
But it seems the game works fine and I can use german umlauts words.
That's a strange error message... is it using ScummVM as the interpreter or something?
And with the new SCICompanion (by Kawa) you get no more "invalid word error", BUT it does not save words with umlauts (if you reload it, the words are gone).
Right, because it's saving a SCI0 vocab resource, which only permits chars <= 127.
Looking at the version detection code in SCI Companion, it looks like the presence of vocab resource 0 tells SCI Companion that the game uses SCI0 vocab resources. Otherwise it will use SCI01 style vocab resources (which should allow saving chars >127, at least with Kawa's build). So you might be able to remove vocab 0 and replace it with a SCI01 vocab 900 and have it work? I dunno...
-
Yes, it use ScummVM.
I think i get this message, because I use my own SCI01 vocab.000 in a SCI0 game. But it works fine..
Right, because it's saving a SCI0 vocab resource, which only permits chars <= 127.
Ok, thanks for the info. I suspected that from Daventry posting. I didn't know that before.
Then I have no chance to use umlauts with the SCI0 vocab file. I can't use other ascii chars, because you have to TYPE it with your physical KEYBOARD.
Otherwise it will use SCI01 style vocab resources (which should allow saving chars >127, at least with Kawa's build). So you might be able to remove vocab 0 and replace it with a SCI01 vocab 900 and have it work? I dunno...
I think I already done that:
http://sciprogramming.com/community/index.php?topic=1781.msg11696#msg11696
-
Might it make sense to have an SCI0.1 template game for some non-English game creation? How practical would it be to port the existing SCI0 template game to SCI0.1?
-
I think I already done that:
http://sciprogramming.com/community/index.php?topic=1781.msg11696#msg11696
But did you *delete* vocab.000?
-
Collector
Or a converter tool would be good.. SCI0 vocab to SCI01.
troflip
You mean the original in resource file? That's not necessary.
If you have the vocab.000 file in game folder, then the game use this instead the original in resource file.
It's like a "patch" file.
(BTW, I do not want change/edit any original files).. I just use extern files.
Like my translation patch for Laura Bow II:
https://www.gog.com/forum/laura_bow_series/other_languages
-
Shaklin
Note, on monkeygames.uz there are many games of Sierra in German language.
I just yesterday read about the structure of vocab.000. I had never dealt with this issue before. There's no way to add umlauts to the vocab.000.
You have four ways.
1. Translate messages only. Typing from the keyboard to leave in English.
"open the door" not öffnen (aufmacht) die Tür
2. Translate messages and add to vocab.000:
oeffnen, ueber, dass... etc.
In read.me tell everyone how to enter commands.
3. More complicated. Edit the font.
Replace in font
: -> Ö
; -> ö
" -> Ä
' -> ä
{ -> Ü
[ -> ü
_ -> ß
$ -> :
% -> ;
^ -> "
& -> '
In text messages replace all occurrences of a characters : on $, ; on %, " on ^, ' on &.
In vocab.000 add necessary words:
[ber (instead über)
;ffnen (instead öffnen)
T[r
da_
G'stezimmer
etc.
4. More more complicated. :)
I'm not sure that will work.
Get sciv.exe from SQ3 German or Larry3 French or Larry3 German or KQ1 (SCI remake).
These games were written with SCI01 interpreter.
Use vocab.900 instead vocab.000.
Edit vocab.910 normaly.
-
Daventry
Thank you for your help :).
1. No.. everything in german or nothing :P :)
2. I thought about that too, but I'm not satisfied with that..
3. I already tried it. It makes no sense, because you can't use öäüß on your physical keyboard (if you use it and you write "öffnen", the game say "this game don't know this word"). You have to write the right char on your physical keyboard, for example [ffnen.. it is only an "optical effect".
4. Maybe I try it with sciv.exe (just curious if it works : )), but I do not want override any original files..
I think, I just use my own vocab.000. It works fine. What's wrong with my solution?
I can open it with SCI Studio 3+. The only problem is, if a word begins with an umlaut.
(http://sciprogramming.com/community/index.php?topic=1781.msg11696#msg11696)
-
You don't understand the idea from point 3!
Replace in games font
; -> ö
...
On physical german keyboard simbol "ö" is located on key ";" (english). Inside the game does not need to switch the keyboard layout! Use english layout!
You type: ;ffnen. But you see on monitor: öffnen.
You add to vocab word ;ffnen and Game Interpreter responds intelligently.
This method works. This is how several games are translated into Spanish and Russian.
-
Now I understand it :). Thank you :).
But GOG Version use ScummVM and its automatically german keyboard layout.
Idk yet how to change it.. I check it then.
EDIT: Oh, you have to change it in Windows.. idk if it a good solution.. I have to change z and y, too...
-
Alt + Shift :)
or Win + Space
Ja?
I didn't notice that also need to be changed z and y. I don't use german keyboard every day. Never ever. :)
-
I like in general your idea with the replacement of vocab file. We should try. We have also translated the entire text from Laura 1. But nobody has ever worked on a dictionary.
-
:)
And many other chars.. but if my vocab.000 not work (whatever reason) then this is my 2nd choice.
I wish SCI Studio 3+ would save words beginning with umlauts..
Btw, I tried to replace SCIV.EXE, but it seems the GOG version (ScummVM) does not use it. I can delete the file and the game still works. So this solution is not an option.
I searched translations for this game, but found none.. You translated it into russian?
EDIT:
I tried it with DosBox.. (SCIV.EXE from the game sq3).. it wants all vocab files.. and then I get the error "script.968 not found". But none of both games have this script file..
-
Shaklin
SkummVM does not use files the *.exe, only resource.
Here is the Spanish translation.
https://drive.google.com/file/d/0Bxzz5E3RsIrONEhIQVd4eHZVeFU/view
Laura 1 - only messages have been translated into Russian. The game is still at the ready. It'll be ready in about a year. We are preparing first the 3 other games.
There is a complete translation into Russian KQ4 and SQ3. SQ3 translated from English version, not German. Both games are on the engine SCI0.
https://www.old-games.ru/game/download/761.html (fourth download file)
https://www.old-games.ru/game/download/117.html (second download file)
-
Oh ok, thank you for the links :). Good too see, some still love the old games and are not forgotten.
-
Hello,
I finally found time to finish it.
Thanks again to all and Kawa for the tool. I finally found out how to write umlauts.
1. I renamed the vocab.000 to vocab.910
2. In tool "SCICompanion" Menu --> Game/Version detector/Parser vocab 900 on (then reload the game)
I can now use umlauts, but i have to write it like this:
ä „
ö ”
ü
ß á
(ü you can't see, but it's still there)
3. Export it as patch file and renamed it again to vocab.000
(But it works only with ScummVM :()
german files under:
http://shaklin.com (under translations / laura bow 1)