#5960 closed defect (fixed)
TOUCHE: Crashes in Spanish Version
Reported by: | SF/edea86 | Owned by: | wjp |
---|---|---|---|
Priority: | normal | Component: | Engine: Touche |
Version: | Keywords: | ||
Cc: | Game: | Touché: The Adventures of the Fifth Musketeer |
Description
ScummVM version: tested in 1.2, 1.3 and 1.4, and crashes in all of them Language: Spanish, Talkie version Platform: Linux (Ubuntu 11.10) ScummVM crashes and ends here: -In Le Mans, inside the armory, when trying to grab the file that is on the wall -In Le Mans, after examining the boot behind the curtain there is a dialogue, and it is in the crossroads when it crashes, right after Geoffroi asks Henri to take the talisman back to Fifi.
Ticket imported from: #3483383. Ticket imported from: bugs/5960.
Attachments (1)
Change History (24)
by , 13 years ago
Attachment: | touche-es.24 added |
---|
comment:1 by , 13 years ago
I forgot to copy the error:
"User picked target 'touche-es' (gameid 'touche')... Looking for a plugin supporting this gameid... Touche Engine Starting 'Touche: The Adventures of the Fifth Musketeer' scummvm: engines/touche/graphics.cpp:74: static int Touche::Graphics::getCharWidth16(uint8): La declaración «chr >= 32 && chr < 32 + _fontSize» no se cumple. Abortado"
And it also happens with the subtitles off.
comment:2 by , 13 years ago
Summary: | Spanish version: Crash in the crossroad (Le Mans) → TOUCHE: Crashes in Spanish Version |
---|
comment:3 by , 13 years ago
edea86: Could you please attach a text file to this bug with a file listing of your Touche datafiles including file MD5sums. The output of a tool such as http://www.md5summer.org or a recursive md5sum would be optimal. This allows us to identify your language variant exactly and quantify the differences from the English version. I hope that one of our developers will have the same variant, unfortunately Touche is quite hard to get copies of, especially in language variants, so this might take a while to look at.
If you can do some interactive debug with us sometime in #scummvm on freenode, then this may get fixed... but without interactive access to the SP variant... this is very difficult to fix.
comment:4 by , 13 years ago
Thanks for checking into it.
According to the ScummVM wiki, the datafiles for the game are: -TOUCHE.DAT -OBJ -V*
I tried the game with the minimum files needed, I also removed the voices files, and it still crashes the same way, so the problem (I guess) should be in either TOUCHE.DAT or OBJ which are the only files that I kept in the game folder.
I used the "md5sum" command in the Ubuntu terminal:
d3c81cb2f8f7eb4a4852f30264bde7ec OBJ
39e9d914996324e7662720b4d5fa4816 TOUCHE.DAT
comment:5 by , 13 years ago
I ran MD5sums on my English version. The OBJ file has the same MD5 as yours, but the english TOUCHE.DAT is 6de2714bef18056f93fcf6e160be8a66 (Not really surprising).
In order to progress, we will probably have to do some interactive debugging as I don't have the SP version.
If you are capable, get the latest development code and compile it... This will help: http://wiki.scummvm.org/index.php/Git#Retrieving_the_code http://wiki.scummvm.org/index.php/Compiling_ScummVM/GCC
When this is working, if you contact myself or another interested developer on the IRC channel #scummvm at freenode, we should be able to debug..
comment:6 by , 13 years ago
See http://sourceforge.net/support/tracker.php?aid=2040311 for potentially relevant background info on the Spanish font table.
comment:7 by , 13 years ago
I've just added some specific debugging code to help with this. Could you try with the next nightly build (or compile from the latest git sources yourself), and run scummvm with
./scummvm --debugflags=charset
You'll get a lot of debugging output starting with 'stringwidth:' and 'raw:'. Please copy-paste the last two of those lines right before the error. They'll likely contain some characters missing in the in-game font. If that is the case, we'll be able to add them with this extra information.
comment:8 by , 13 years ago
Looking a bit closer at the specific numbers in #2040311, the Spanish version is probably just using the code page 850 encoding.
comment:9 by , 13 years ago
Owner: | set to |
---|---|
Resolution: | → fixed |
Status: | new → pending |
comment:10 by , 13 years ago
If this is indeed CP850, this is now fixed by e8ef680400. Edea, could you verify it is working properly in the next nightly build or a compile from latest git sources? If it no longer crashes, please also double check that there are no wrong letters in the sentence that used to crash ScummVM.
comment:11 by , 13 years ago
Status: | pending → new |
---|
comment:12 by , 13 years ago
Thank you for working on it! I'll try it as soon as I actually learn how to compile...
comment:13 by , 13 years ago
edea86: If you really have trouble doing that, you can use a precompiled daily build from here instead: http://buildbot.scummvm.org/builds.html
comment:14 by , 13 years ago
Status: | new → closed |
---|
comment:15 by , 13 years ago
Sorry, I hadn't had the time to test it until now. I've downloaded today's build (1.5.0git2626-gb918149), Debian 32bits version since I am using Linux Mint. I've tried to grab the file in the armory and it still crashes, error is slightly different (it says 71 instead of 74):
~/Juegos/debian-x86-master-b918149e $ ./scummvm User picked target 'touche-es' (gameid 'touche')... Looking for a plugin supporting this gameid... Touche Starting 'Touche: The Adventures of the Fifth Musketeer' Connected to Alsa sequencer client [14:0] ALSA client initialized [128:0] scummvm: ../../src-master/src/engines/touche/graphics.cpp:71: static int Touche::Graphics::getCharWidth16(uint8): La declaración `chr >= 32 && chr < 32 + _fontSize' no se cumple. Abortado
comment:16 by , 13 years ago
That's too bad. Have you had a chance to try the debugging mode I suggested earlier?
Repeating here for convenience:
./scummvm --debugflags=charset
You'll get a lot of debugging output starting with 'stringwidth:' and 'raw:'. Please copy-paste the last two of those lines right before the error. They'll likely contain some characters missing in the in-game font. If that is the case, we'll be able to add them with this extra information.
comment:17 by , 13 years ago
Resolution: | fixed |
---|---|
Status: | closed → new |
comment:18 by , 13 years ago
"Coger" is the last word I see before ScummVM closes:
stringwidth: Coger raw: 43 6F 67 65 72 stringwidth: Son de tama�os diferentes. raw: 53 6F 6E 20 64 65 20 74 61 6D 61 A4 6F 73 20 64 69 66 65 72 65 6E 74 65 73 2E stringwidth: Son de tama�os diferentes. raw: 53 6F 6E 20 64 65 20 74 61 6D 61 A4 6F 73 20 64 69 66 65 72 65 6E 74 65 73 2E stringwidth: �M�sieu! �No toqu�is mis herramientas! raw: AD 4D EF 73 69 65 75 21 20 AD 4E 6F 20 74 6F 71 75 82 69 73 20 6D 69 73 20 68 65 72 72 61 6D 69 65 6E 74 61 73 21 scummvm: ../../src-master/src/engines/touche/graphics.cpp:71: static int Touche::Graphics::getCharWidth16(uint8): La declaración «chr >= 32 && chr < 32 + _fontSize» no se cumple. Abortado
Missing characters are "ñ", "é" and "¡", not sure what is wrong with what should be "Monsieur"
comment:19 by , 13 years ago
I added the missing character in that last string as well. It was using an apostrophe-like character in ¡M'sieu!
(The broken characters in that console debugging output are not really related to what you see in ScummVM itself, by the way. It's just using a different charset than your terminal.)
comment:20 by , 13 years ago
edea86: Can you download the latest daily build, which includes wjp's fix and confirm here if this has fixed both reported crashes? If so, we can then close this bug.
comment:21 by , 13 years ago
Tested both crashes in today's build and both are fixed now! Thank you very much!
comment:23 by , 13 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
"Examine" the boot, it crashes after the dialogue in the crossroad