Opened 12 years ago

Closed 12 years ago

#3180 closed defect (fixed)

TOUCHE: Exits at some points

Reported by: SF/quest2 Owned by: cyxx
Priority: normal Component: Engine: Touche
Keywords: Cc:
Game: Touché: The Adventures of the Fifth Musketeer

Description

Game/engine: Touche. (complete game)
Spanish version. (touche-es)

Problem is present in all Linux SVN snapshots.

Last version I tried:
ScummVM 0.10.0svn (May 2 2007 02:51:28)
Features compiled in: Vorbis FLAC MP3 ALSA zLib

My system is Ubuntu Feisty Fawn 7.04

At some points, the game crash and exits with this error in terminal:

ScummVM SVN: engines/touche/graphics.cpp:62: static int Touche::Graphics::getCharWidth16(uint8): Assertion `chr >= 32 && chr < 32 + _fontSize' failed.

Some examples when the error is reprocuced:
- When entering the first door of the tavern (kitchen)
- When entering the upper path when going to france.
- A lot more.

After that, I tried to hex-edit "TOUCHE.DAT" file and removed some spanish special characters like accents, ¡, ¿, É,Á,í, etc... with partially success, as I could pass some points that before I couldn't, but I don't know exactly what I was doing or what character is causing problems (if any).

Ticket imported from: #1712107. Ticket imported from: bugs/3180.

Attachments (2)

touche-es.4 (3.4 KB ) - added by SF/quest2 12 years ago.
Savegame before entering the upper path of france way
TOUCHE.EXE.zip (75.5 KB ) - added by SF/quest2 12 years ago.
Original game DOS executable

Download all attachments as: .zip

Change History (10)

by SF/quest2, 12 years ago

Attachment: touche-es.4 added

Savegame before entering the upper path of france way

comment:1 by fingolfin, 12 years ago

Owner: set to cyxx
Summary: Touche (Linux) Exits at some pointsTOUCHE: Exits at some points

comment:2 by cyxx, 12 years ago

Could you attach to this bug report the original interpreter executable ?
I need it to extract the spanish charset data.
Thanks.

by SF/quest2, 12 years ago

Attachment: TOUCHE.EXE.zip added

Original game DOS executable

comment:3 by SF/quest2, 12 years ago

I attached original executable as requested.

I also noticed, for example, characters like B5(hex) produces the mentioned behaviour, in the way to france screen, when pointing a tree with the mouse (it crashes/exits just before the word "Árbol" had to appear). I commented the assert (debug) line in the source graphics.cpp, recompiled and corrupted graphics appeared instead of the crash/exit, then I added a line in the source code to bypass B5(hex) character (hard-substituted it with a simple "A") in the char drawing function and recompiled again. After that, no more graphic corruption on that part, so the problem must be on that way. Sorry for the mistakes as I'm not a programmer, and also my english is poor.
File Added: TOUCHE.EXE.zip

comment:4 by cyxx, 12 years ago

I added the charset data from the original interpreter, so now, ScummVM should use the same pixmaps as the original to display the texts (previously, ScummVM would use the english charset data).

Could you test that it really fixes the issue ?

comment:5 by cyxx, 12 years ago

Status: newpending

comment:6 by SF/quest2, 12 years ago

Status: pendingnew

comment:7 by SF/quest2, 12 years ago

I tested it and now it works! It behaves exactly as the original executable, and no more crashes.
Thank you, issue is fixed.

comment:8 by sev-, 12 years ago

Resolution: fixed
Status: newclosed
Note: See TracTickets for help on using tickets.