Opened 21 years ago
Closed 21 years ago
#986 closed defect (fixed)
LOOM: Distaff looks bizarre when restoring from save
Reported by: | SF/dfabulich | Owned by: | Kirben |
---|---|---|---|
Priority: | normal | Component: | Engine: SCUMM |
Version: | Keywords: | ||
Cc: | Game: | Loom |
Description
Restore from any saved game. The distaff will be missing all of its letters and it will look like every active note is on at the same time, making the staff look like a rainbow. Clicking on individual notes can correct this.
Win2K, ScummVM 0.5.0pre-cvs Built on Jul 10 2003 20:29:19.
Ticket imported from: #770041. Ticket imported from: bugs/986.
Attachments (2)
Change History (12)
by , 21 years ago
comment:1 by , 21 years ago
Owner: | set to |
---|---|
Resolution: | → duplicate |
Status: | new → closed |
comment:3 by , 21 years ago
This bug is different from the note letter problem in Loom CD. The LoomCD note letter problem occurs b/c the notes are created as dialogue; they disappear when you bring up the Save Game screen and hit cancel. But in Loom EGA the note letters are not generated using dialogue; this bug only occurs on Restore. It also is visually plainly different from the other bug. Look at the screenshot to see what I mean.
So, I think these bugs are different. Do you have some special reason to think that these bugs are due to the same root cause or something?
comment:4 by , 21 years ago
Owner: | removed |
---|---|
Status: | closed → new |
comment:5 by , 21 years ago
OK I closed a bit too quickly, reopening. Are you using non-English version of Loom EGA ? your Loom EGA save games crash ScummVM (Latest CVS) under Windows XP here.
comment:6 by , 21 years ago
Nope, plain English. I'll try updating to latest ScummVM sometime later this weekend.
comment:7 by , 21 years ago
I looked briefly at this once. This is all from memory, so I may have gotten some details wrong.
The glittering of the distaff is implemented by activating and drawing a new verb image in place of the old one.
Problem is, these new verbs are never deactivated and when you load an old save game all active verbs are drawn in verb number order. The "glitter" verbs all have higher number than the normal ones, so they are all drawn last.
In the CD version, by the way, the "glitter" verbs are deactivated as soon as they are used.
Knowing this, it would be trivial to add a hack to fix the bug, but as far as I know this is not what the original interpreter does. I don't know how to fix it properly.
comment:8 by , 21 years ago
Summary: | Loom EGA: Distaff looks bizarre when restoring from save → LOOM: Distaff looks bizarre when restoring from save |
---|
comment:9 by , 21 years ago
To elaborate slightly, here are script fragments from script-31 (the script that makes the distaff glitter) for both EGA Loom and CD Loom:
EGA Loom
[02A3] (9A) Local[4] = Var[152 + Local[3]];
[02AA] (9A) Local[5] = Var[142 + Local[3]];
[02B1] (FA)
VerbOps(Local[4],[SetXY(Local[1],Local[2]),Image(Local[5]),On()])
[02BE] (9A) Var[134 + Local[0]] = Local[4];
CD Loom:
[0337] (9A) Local[5] = Var[202 + Local[4]];
[033E] (9A) Local[6] = Var[192 + Local[4]];
[0345] (44) if (Local[4] > 0) {
[034C] (AC) Exprmode Local[10] = (Local[4] - 1);
[0357] (9A) Local[10] = Var[202 + Local[10]];
[035E] (FA) VerbOps(Local[10],[Off()])
[0363] (**) }
[0363] (FA)
VerbOps(Local[5],[SetXY(Local[2],Local[3]),Image(Local[6]),On()])
[0370] (9A) Var[184 + Local[0]] = Local[5];
Both scripts traverse a list of verbs, each representing an animation frame for the distaff. However, CD Loom explicitly turns off the previous verb while EGA Loom leaves it on. My guess is that the save/restore dialog in EGA Loom only redraws the "standard" parts of the distaff, rather than every active verb. But I don't know for sure.
comment:10 by , 21 years ago
Owner: | set to |
---|---|
Resolution: | duplicate → fixed |
Status: | new → closed |
A saved game selected at random