Opened 21 years ago

Closed 21 years ago

Last modified 5 years ago

#8202 closed patch

EGA LOOM: More text-drawing hackery

Reported by: eriktorbjorn Owned by: fingolfin
Priority: normal Component: Engine: SCUMM
Version: Keywords:
Cc: Game: Loom


This patch fixes most of the remaining text-drawing issues I've seen in EGA Loom. Hopefully it's more correct than my previous text hackery.

The most noticeable issues were that text was drawn in the wrong position, and with the wrong colour. There were two reasons for this: First of all, the actor's talk colour was greater than 15. We fixed that yesterday, but only when the colour was set by decodeParseString, not when it was set by o5_actorSet().

Fixing the text position was just a matter of extending the hack that was already there for Indy 3. I hope someone else understands this better than I do. (I noticed it has been extended to cover both versions of Indy 3 now. The snapshot I based the patch on didn't.)

The next issue was that text wasn't erased properly. I've changed string.cpp and charset.cpp so that it should erase the correct rectangle. I think the old code assumed that most text was drawn as one or two lines of left-adjusted text, while most of the text in Loom is centered.

Finally, I changed charset.cpp to add a drop-shadow to Loom's text. I still don't know if it should do that to all text, or if it's conditional.

The only remaining text-drawing issue I've seen is that text doesn't mask the background. This is noticeable the first time you examine the Great Loom.

Ticket imported from: #728483. Ticket imported from: patches/307.

Attachments (1)

loom-text.diff (3.6 KB ) - added by eriktorbjorn 21 years ago.
Patch against an April 26 CVS snapshot

Download all attachments as: .zip

Change History (3)

by eriktorbjorn, 21 years ago

Attachment: loom-text.diff added

Patch against an April 26 CVS snapshot

comment:1 by fingolfin, 21 years ago

Owner: set to fingolfin
Status: newclosed

comment:2 by digitall, 5 years ago

Component: Engine: SCUMM
Game: Loom
Note: See TracTickets for help on using tickets.