#9737 closed defect (fixed)
SHERLOCK: Serrated Scalpel italian fan traslation unknown MD5
Reported by: | dego93 | Owned by: | dreammaster |
---|---|---|---|
Priority: | normal | Component: | Engine: Sherlock |
Version: | Keywords: | ||
Cc: | maiolica | Game: | Sherlock Holmes: Case of the Serrated Scalpel |
Description
Scummvm version 1.10.0 git3186-g442edb6
the game semms to be unknown
Game: The lost file of sherlock holmes - The case of the serrated scalpel
launguage: italian fan traslation
"music.lib", 0, "68ae2f7684ecf903bd60a00bb6bae195", 366465
"talk.lib", 0, "1a547f96476a3a50cf6f0d599a4f5bcc", 247406
Attachments (1)
Change History (14)
comment:1 by , 8 years ago
Component: | --Unset-- → Engine: Sherlock |
---|
comment:2 by , 8 years ago
Summary: | The case of the serrated scalpel italian fan traslation unknown → The case of the serrated scalpel italian fan traslation unknown MD5 |
---|
comment:3 by , 8 years ago
Summary: | The case of the serrated scalpel italian fan traslation unknown MD5 → SHERLOCK: Serrated Scalpel italian fan traslation unknown MD5 |
---|
comment:5 by , 8 years ago
the translation is completed
the site is http://www.oldgamesitalia.net/traduzioni/lost-files-sherlock-holmes-case-serrated-scalpel
i can't start the game in scummvm with the translation
comment:6 by , 8 years ago
Thanks. It does seem like it does just install the translation over a user's existing copy, which is good. However, it comes with an executable installer, which I'm a bit leery of blinding running on my system. And I don't have any convenient VM set up right now that I could run it in.
I'm honestly not sure how to proceed.. I don't want to just blindly add in the MD5 unless someone is willing to run the installer and verify whether this resulting patched version will actually run when it has a proper detection entry. And I'm not in a position myself to do that anytime soon.
comment:7 by , 8 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → closed |
On reflection, I've decided to commit in the detection entry and leave it flagged as unstable. So it will only be available in daily builds, and not the release ones yet. If you, or anyone else, can test the game and ensure it works fine, I'll flag it as properly supported.
comment:8 by , 8 years ago
Cc: | added |
---|
I've tested the game with the patch, 2 issues:
- the game is detected as spanish: The Case of the Serrated Scalpel (DOS/Spanish)
- ScummVM crashes when, after talking to Watson in the first screen, the user clicks on any dialogue choice:
Microsoft Visual C++ Runtime Library Assertion failed File: engines/sherlock/fonts.cpp Line: 193 Expression: c > 32
(tested with ScummVM latest git on Windows 7)
comment:9 by , 8 years ago
Whoops. My fault on the first point. I didn't change the language in the detection entry I copied and modified from Spanish to Italian.
As for the second point, I was afraid of that. Sherlock has it's own mini-scripting system in text strings. Normally characters/bytes can be from 0 to 255, but only a subset are used for actual printable characters. So the original English version used some of the higher numbers for various different instructions. Unfortunately, when foreign language versions were introduced, they started including extra accented characters, and they had to start shifting around the indexes of these opcodes. That's essentially what the error means.. it likely got confused from executing some of these opcodes incorrectly, and then gave an error.
Tell me, it's kind of hard for me to tell for sure from the webpage.. is the patch based on the English version? In which case, changing the detection entry to Italian may stop it doing the special changes it does for the Spanish version and fix your problem.
comment:10 by , 8 years ago
I am not entirely sure on which version the patch was based on, I suspect one of the foreign versions, since accented characters are part of the italian language.
If it can help you I'm attaching a .diff file that patch the english version to the italian one.
by , 8 years ago
Attachment: | patch.diff added |
---|
comment:11 by , 8 years ago
I've corrected the language for the detection. However, I'm not sure if that will make any difference - the engine has special code in multiple different places to handle the special cases of the different languages, and without knowing what the original language is, that should be the same for this new Italianized version, I won't be able to put in any special handling for it.
comment:12 by , 8 years ago
I've asked in the forum, the translation was based on the english version.
The game is now detected as italian, the old crash is gone.
I've noticed another one: in the first screen, when I open the inventory, or click the "Use" or "Give" button ScummVM crashes with this error:
Couldn't find inventory item - Message!
comment:13 by , 8 years ago
Well, that's a bit of improvement, at least. At a guess, I'd say they translated the internal inventory item names to Italian, where they should have left them in English. If you look here:
https://github.com/scummvm/scummvm/blob/master/engines/sherlock/scalpel/scalpel.cpp#L965
You'll see that irrespective of the language, a set of named inventory items are set up. In particular, "Message" is one of the two default items in the player's inventory, and the error indicates that it can't find any item with that name.
At this point, there are two options.. someone has to either look into redeveloping the translation patch so it's compatible with ScummVM's Sherlock engine, or to fork the ScummVM and submit changes to the Sherlock engine to replace the inventory item names specifically for the Italian version. In either case, it may end up being a non-trivial undertaking, so it's not something I could commit to right now, even if I could get the diff you provided to work. Maybe you can convince the original authors of the patch to look into the matter further.
Because an MD5 for it is added in, I need more information about this version.