Opened 12 years ago

Closed 12 years ago

Last modified 12 years ago

#5992 closed defect (fixed)

AGOS: Simon1 Amiga - Display problem with German letters

Reported by: SF/zaurak Owned by: Kirben
Priority: normal Component: Engine: AGOS
Version: Keywords:
Cc: Game: Simon the Sorcerer 1

Description

Version:ScummVM 1.5.0git2166-g1452327 (Jan 30 2012 11:39:37) System: Windows XP SP3 Game: Simon the Sorcerer, Amiga disk, German version

The letters ä, ö, ü and ß from the German alphabet aren't displayed correctly. See screenshots from Amiga and ScummVM.

Ticket imported from: #3492874. Ticket imported from: bugs/5992.

Attachments (3)

simon1-ger-amiga-scummvm.png (125.0 KB ) - added by SF/zaurak 12 years ago.
ScummVM Screenshot
simon1-ger-amiga-amiga.png (50.7 KB ) - added by SF/zaurak 12 years ago.
Amiga Screenshot
simon1-amiga-detection.png (50.2 KB ) - added by SF/zaurak 12 years ago.
ScummVM detection

Download all attachments as: .zip

Change History (9)

by SF/zaurak, 12 years ago

ScummVM Screenshot

by SF/zaurak, 12 years ago

Attachment: simon1-ger-amiga-amiga.png added

Amiga Screenshot

comment:1 by digitall, 12 years ago

zaurak: Please confirm that your game is detected as "Simon1 (Floppy/German)" or similar i.e. the language has been correctly detected.

This should be accounted for by the german_simonFont data table in engines/agos/charset-fontdata.cpp

Unless this data is wrong or otherwise the font characters are not correctly display by Common code, then the issue is probably either that the version's language is not reported as German.

by SF/zaurak, 12 years ago

Attachment: simon1-amiga-detection.png added

ScummVM detection

comment:2 by SF/zaurak, 12 years ago

I re-added the game to ScummVM, to be sure. It is detected as Amiga AGA floppy German (detection screenshot attached), but the bug is still present. Do the Amiga versions use that charset-fontdata.cpp, too?

comment:3 by digitall, 12 years ago

This is tricky code to follow as it is fairly complex and tangled.. But I can't see any difference in the usage of fonts for Amiga in the function which uses these tables i.e. void AGOSEngine::windowDrawChar(WindowBlock *window, uint x, uint y, byte chr)

However, the string rendering code here has two different function paths, Amiga and Non-Amiga i.e. void AGOSEngine::renderString(uint vgaSpriteId, uint color, uint width, uint height, const char *txt) - Non-Amiga void AGOSEngine::renderStringAmiga(uint vgaSpriteId, uint color, uint width, uint height, const char *txt) - Amiga Though neither seem to access the font table directly, it is possible that the code differences in the Amiga string rendering are causing the German font glyphs to be truncated, or that the string rendering code for Amiga fails to use the Non-English font data...

An AGOS dev with Amiga and Windows/DOS versions of Simon1 will need to investigate (I only have Simon1 Win/DOS, so can't look at this).

comment:4 by Kirben, 12 years ago

Owner: set to Kirben
Resolution: fixed
Status: newclosed

comment:5 by Kirben, 12 years ago

The glitches were due to ScummVM lacking the extra font data required by the German Amiga version of Simon the Sorcerer 1.

I added the font data for the German Amiga version of Simon the Sorcerer 1 to ScummVM Git, use the next daily snapshot of ScummVM GIT.

comment:6 by SF/zaurak, 12 years ago

Works fine now, thanks!

Note: See TracTickets for help on using tickets.