Opened 21 years ago
Closed 20 years ago
#1195 closed defect (fixed)
COMI: wrong text position
Reported by: | SF/logicdeluxe | Owned by: | eriktorbjorn |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Monkey Island 3 |
Description
ScummVM 0.5.3cvs (Aug 27 2003 16:57:28) When the screen switches from the overview to the beach, the first subtitle line is cut off at the left end. Load the savegame and see this happen three times!
Ticket imported from: #795938. Ticket imported from: bugs/1195.
Attachments (1)
Change History (15)
by , 21 years ago
comment:1 by , 21 years ago
comment:2 by , 21 years ago
Summary: | COMI: glitch when back on Blood Island → COMI: wrong text position |
---|
comment:3 by , 21 years ago
The "cutoff" only happens immediately after the room was loaded, it seems. Odd
comment:4 by , 21 years ago
Owner: | set to |
---|
comment:5 by , 21 years ago
Ah, using some printf's, I found at least the immediate reason: the text is off because xstart is not yet setup at the point the text is drawn: it's still at 0. I tried to insert calls to cameraMoved() and/or moveCamera() at he end of startScene(), but that didn't really help. I then inserted a call into CHARSET_1, which does make the text be positioned at the right spot, but only a tiny fraction of it is visible anyway, and this seems like an evil evil hack....
Hey Erik, maybe you have an idea?
comment:6 by , 21 years ago
I can't replicate this bug under 20040222 on a debian linux build, where as it was occuring in 20040131 (there was also a bug in the way that the ocean waves could be seen over the gold statue of governer Marley in the earlier version that's disappeared, too).
Nice work :-)
comment:9 by , 20 years ago
Adding cameraMoved() to the end of setCameraAt() seems to fix the problem for me. Would this be an acceptable solution?
I have this vague feeling that we used to have a similar glitch in DOTT when Bernard tried to send an object to Laverne, when she wasn't able to receive it. For the life of me, I can't remember exactly what we did about it, though...
comment:10 by , 20 years ago
Erik, while I don't recall that error you describe, maybe you can find the relevant bug tracker item. From that it should be possible to determine the fix (either by comments on the tracker item, or by comparing with the CVS logs).
comment:11 by , 20 years ago
I tried finding them yesterday, but failed. I finally found them today, though:
The bug:
https://sourceforge.net/tracker/index.php?func=detail&aid=778060&group_id=37116&atid=418820
The patch: https://sourceforge.net/tracker/index.php?func=detail&aid=778442&group_id=37116&atid=418822
So the bug was somewhat similar: cameraMoved() wasn't called early enough, and we fixed it by calling it manually; something we already did for more recent games anyway.
However, it doesn't really tell us what to do for this bug, does it? What did you think about adding cameraMoved() to the functions that set the camera position?
comment:12 by , 20 years ago
Well, I see no fundamental harm in adding the cameraMoved() call there; however, it still would be nice if somebody could investigate this based on the assembly :-)
So from my POV, feel free to commit the fix, just mark it with a comment pointing to this bug report.
comment:13 by , 20 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
comment:14 by , 20 years ago
I've made the change, and added a comment pointing to this bug report and #929242 which, as you said, was apparently caused by the same thing.
Let's hope there are no regressions. :-)
The text is cut off becasuse it is drawn at the wrong position. That is, it is drawn off to the left side, partially outside the visible screen area.