#3101 closed defect (fixed)
BASS: v0.0303 missing/wrong characters in LINC terminal
Reported by: | SF/njoly | Owned by: | eriktorbjorn |
---|---|---|---|
Priority: | normal | Component: | Engine: Sky |
Version: | Keywords: | ||
Cc: | Game: | Beneath a Steel Sky |
Description
While playing BASS on my v0.0303 floppy version; i noticed some characters problems in LINC terminal. One seems specific to the french language, but another is present also for english and german ...
- While playing with french language the 'á' character (0xe1) is incorrectly shown as '<' ('ionisé < 96%' vs. 'ionisé á 96%' in the screenshot). - Il all languages (english/french/german), the '/' character is not displayed at all ... This leads to incorrect temperature display in the screenshot '2000000K1000K' vs. '2000000K/1000K'.
This game, run under DosBox emulation, does not show this small characters problems.
njoly@calamity [~/games]> uname -a NetBSD calamity.sis.pasteur.fr 4.99.12 NetBSD 4.99.12 (CALAMITY) #6: Mon Feb 26 00:02:14 CET 2007 njoly@calamity.sis.pasteur.fr:/local/src/NetBSD/obj/i386/sys/arch/i386/compile/CALAMITY i386 njoly@calamity [~/games]> scummvm -v Using configuration file: /home/njoly/.scummvmrc ScummVM 0.10.0svn (Feb 27 2007 00:06:24) Features compiled in: MP3 zLib njoly@calamity [~/games]> scummvm -p sky sky Using configuration file: /home/njoly/.scummvmrc Looking for sky Trying to start game 'Beneath a Steel Sky' Found BASS version v0.0303 (1413 dnr entries) [...]
Ticket imported from: #1669564. Ticket imported from: bugs/3101.
Attachments (2)
Change History (12)
by , 18 years ago
Attachment: | skyreactor.png added |
---|
comment:1 by , 18 years ago
It's probably because of our attempts at patching up the LINC character set to get rid of some other character glitches. See the patchLINCCharset() function in engines/sky/text.cpp
by , 18 years ago
Attachment: | skyreactor2.png added |
---|
Reactor status screenshot with characters problems fixed
comment:2 by , 18 years ago
Thanks for the hint.
I had a look, and locally fixed the characters problems in this function.
- Add missing definition and path for the 'á' character: const uint16 a_acute[] = { 0x0000, 0x1000, 0x2000, 0x0000, 0x3000, 0x0800, 0x3800, 0x4800, 0x3800, 0x0000, 0x0000, 0x0000, 0x0000, 0x3800, 0x7000, 0x7000, 0x7800, 0x3C00, 0x7C00, 0xFC00, 0x7C00, 0x3800, 0x0000, 0x0000 }; - Add 2 more patchChar() calls, only activated for v303 to avoid unexpected behaviour for other version. if (SkyEngine::_systemVars.gameVersion == 303) { patchChar(charSetPtr, 5, charHeight, 28, a_acute); patchChar(charSetPtr, 5, charHeight, 98, slash); }
I'm attaching a new snapshot, taken from patched ScummVM, where characters are correctly displayed like in the original game (under DosBox).
File Added: skyreactor2.png
comment:3 by , 18 years ago
Owner: | set to |
---|
comment:4 by , 18 years ago
This patch looks sensible to me. Thanks njoly.
Torbjörn / lavosspawn, what do you think? Could one of you apply this patch_
comment:5 by , 18 years ago
It looks like our patching of the LINC character set is actually the wrong approach. Back when we first added support for BASS, it didn't work in DOSbox. Now it does, so I played 0.0372 (the only one I have the original EXE for) up to the point where you first enter LINC space. There was no problem with characters like '/', '<' or '>' at all.
So perhaps our text decoding is buggy?
comment:6 by , 18 years ago
I've just made a change that should fix this problem - could you please verify this? - and do away with the LINC charset patching completely.
Apparently, we were actually using the control panel font in the LINC terminals, and the LINC font in the control panel. (Well, actually we were using the control panel font in the control panel, but only because we deliberately used the "wrong" font.)
comment:7 by , 18 years ago
I confirm that the lastest revision (without LINC charset patching), fix the v0.0303 characters problems.
Thanks a lot.
comment:8 by , 18 years ago
Owner: | changed from | to
---|---|
Resolution: | → fixed |
Status: | new → closed |
comment:9 by , 18 years ago
Great work, Torbjörn, as usual.
And thanks for the reporting & testing, Nicolas.
comment:10 by , 18 years ago
Great! That charset patching hack always did bother me slightly, but until recently I just assumed it was a bug in the original game. Thanks for verifying that it works for you now.
Reactor status screenshot with characters problems