#8201 closed patch
EGA LOOM: Text drawing hackery (don't apply)
Reported by: | eriktorbjorn | Owned by: | fingolfin |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Loom |
Description
This is a very incomplete - quite possibly buggy - attempt at fixing the EGA Loom intro. Please don't apply any of it to CVS unless you're sure of what you are doing, as I haven't even tried to do any regression testing.
Two of the changes are to Scumm_v5::decodeParseString(). Opcode 6 is changed to mean centered text instead of left-adjusted (does that mean opcode 4 should mean left-adjusted?), and opcode 10 (which is used both for the copy protection screen and for the messenger nymph scene) is stubbed. I have absolutely no idea what it's supposed to do.
The third change is to CHARSET_1(), and is an attempt to fix line breaking in the GF_AFTER_V3 case. Always setting _charset->_nextTop to 8 and _charset->_nextLeft to 0 makes no sense to me.
Ticket imported from: #727971. Ticket imported from: patches/306.
Attachments (1)
Change History (9)
by , 22 years ago
Attachment: | loom-text.diff added |
---|
comment:1 by , 22 years ago
By the way, I noticed that the patch fixes the costume bug (Bobbin not rising to his feet) at the end of the intro. That's probably because of the stubbed opcode 10.
comment:2 by , 22 years ago
Note that I have three versions of Loom, and two of Indy 3 EGA. In one of the Loom version, and one of the Indy 3 EGA versions (the mac one), text is not centered but rather is moved to the left (by 160 pixel, as an estimate...), and some actor's don't properly appear. The other versions don't have that problem.
I haven't tried your patch yet, but it seems it might fix 2 of my 5 versions; but I wonder if it might break the other 3... if it does, we have to worry about how we can distinguish between these different versions :-/
comment:3 by , 22 years ago
The subopcode 10 change is most probably wrong; rather, I think one of the other subopcodes has to be fixed
comment:4 by , 22 years ago
That thought did occur to me too. If so it may be related to the left/center confusion, because this is what it looked like when I hacked descumm3 to handle the hypothetical opcode 10:
[03EA] (14)
print(255,[Left(),Unk10(1024),Pos(100,48),Color(143),Text("Rise,
son of Cygna.")]);
So it appears early, and right after the "left". I think.
comment:5 by , 22 years ago
Come to think about it, Color(143) seems rather odd for a 16-colour game. Though since 143 = 15 + 128, perhaps the eighth bit has a special meaning. Text shadowing, perhaps, like in http://www.mobygames.com/images/shots/original/932686296-00.gif
Or maybe all text is drawn shaded, and it's just not visible on a black background?
comment:6 by , 22 years ago
I put the third change in CVS, the other two were "wrong" but nicely pointed me at the problematic spot, and the proper (I hope) solution is now in CVS.
comment:7 by , 22 years ago
Owner: | set to |
---|---|
Status: | new → closed |
comment:8 by , 6 years ago
Component: | → Engine: SCUMM |
---|---|
Game: | → Loom |
Patch against an April 25 CVS snapshot