I whish I knew whether I am implementing an original bug here or if this is intended behavior. But it does achieve text output faithful to the original. And it even does actually look better...
This commit aims at getting the text almost pixel-exact like the original (from disasm and from comparison with an emulator).
It seems that the original messed up the upscaling (from 320x200 to 640x400). The whole method how they do it is weird. The text is rendered on a 320x200 pixel surface and this surface gets blitted in the center of a 640x400 pixel screen. Sometimes they
seem to assume to draw onto 320x200, sometimes onto 640x400 (e. g. the line height for the paragraph headlines is assumed to be 11, although the font height is 18; and it will use height 18 for all the other text lines). Also, the orginal will use different printing methods for the headlines and for the text blocks below, which also doesn't help to get this right...
Now, some credits text lines are still off by 1 pixel vertically due to my method of upscaling (at the very last moment in drawDirtyRects()). I find this a much cleaner approach than the original method which is just hacking up the whole graphics code to use 640x400 coords (except for the places they forgot, see above). But this also means I can't hit the odd lines for text positioning, thus the one pixel off sometimes...
The font style is diiferent for various strings (e.g. verbs are drawn outlined instead of shaded, converse line are drawn normally instead of shaded).
Also implement sjis version of "bullet" for the converse strings.
- The Japanese font is drawn in double resolution on the top layer. The rest of the graphics gets drawn in standard VGA resolution on the bottom layer, then scaled 2x and merged with the top layer.
- Adjust mouse handling. In dual layer mode the event manager reports mouse coordinates in double resolution, so these have to be scaled down.
Reorganize font code into sub classes to allow independent rendering of the Japanese ROM font. No actual implementation for the Japanese rendering yet.
This is, I think, the English and French floppy versions of
Judgment Rites. They were included with The White Label Doubles
collection, along with the talkie version of 25th Anniversary.
Unexpected, but a pleasant surprise since I already had the
talkie version of Judgment Rites.
The CD also contains a German version, but ScummVM already
(mis)identifies that one as the German CD version.
This one comes from Interplay's 10 Year Anniversary Anthology:
Classic Collection. Unfortunately, it only gets partway through
the intro before erroring out with "Tried to access file index 6
for file 'credit00.shp', which doesn't exist".
it's dangerous to disable a keymap because you could lose the action state.
Now we just enable another keymap - and disable it after we are done. So
we don't lose the action state. This fixes a problem with the hero walking
along a sign and hit the action button. We are starting the text sequence.
Once this is over and you have released the cursor keys during read, the actor
would still move.