Opened 9 years ago

Closed 4 months ago

#10261 closed defect (fixed)

SCI: RAMA: Misplaced zero for bangkok sum/difference puzzles

Reported by: dafioram Owned by: sluicebox
Priority: normal Component: Engine: SCI
Version: Keywords:
Cc: Game: RAMA

Description

ScummVM: 1.10.0git-5097-gd75dab4
Game: RAMA 1.0 DOS/English
Tester OS: Win7-64

When doing anyone of the three sum/difference puzzles (the right most terminal on each level) there will be a symbol in the top left corner that represents the value zero for that alien species. It does not change and it is not on the terminal screen.

It doesn't appear to be in the original since it is not present during this dosbox players play-through. ​https://youtu.be/WEI9Uyssh44?t=362, but maybe he has a patch.

Attachments (2)

rama.038​ (15.1 KB ) - added by dafioram 9 years ago.
bangkok top level
scummvm00000.png​ (130.6 KB ) - added by dafioram 9 years ago.
The white rectangle in the top left shouldn't be there.

Download all attachments as: .zip

Change History (8)

by dafioram, 9 years ago

Attachment: rama.038​ added

bangkok top level

by dafioram, 9 years ago

Attachment: scummvm00000.png​ added

The white rectangle in the top left shouldn't be there.

comment:1 by csnover, 9 years ago

So what seems to be going on here is that the game stacks unused question digit views in the top-left corner for the arithmetic puzzle. These views are not fully initialised so they are just cel 0 views which happens to correspond to the digit 0 (even though the views themselves aren’t for digit 0). Since this running into the last-ditch sorting algorithm again (vs the plane pic), I guess we’re consistently sorting the digits higher than the plane pic cel. It looks like the game messes with priorities on the digits it actually uses, so hopefully I can just script patch it the unused priority to -1.

comment:2 by csnover, 9 years ago

Oh, yeah. This totally makes sense. The plane pic screen items get synthetic IDs which are *always* higher than game views will be in SSCI during last-ditch sorting comparisons. So we should be doing that too.

comment:3 by csnover, 9 years ago

Owner: set to csnover
Resolution: → fixed
Status: new → closed

Thanks for your report! A patch for this issue has been added in commit 8985f8f447a04d2a46b509fdf225cd87c00c9ba9 and will be available in daily builds 1.10.0git-5108 and later.

comment:4 by sluicebox, 4 months ago

Resolution: fixed
Status: closed → new

This bug is not fixed. It has been reported again in #16837, and is easily reproducible.

comment:5 by sluicebox <22204938+sluicebox@…>, 4 months ago

In 9c9b568d:

SCI32: Fix RAMA floating digits in math puzzle

Fixes bugs #10261, #16837

comment:6 by sluicebox, 4 months ago

Keywords: sci32 removed
Owner: changed from csnover to sluicebox
Resolution: → fixed
Status: new → closed

Fixed in 9c9b568d71f322991c819b4d44887193fed880d9

I came to the same conclusions as csnover. Now that we can decompile SCI3 scripts, it's easier to see that this is a script bug that happened to work. The question digits aren't explicitly hidden, but the answer digits are, and they work as expected. SSCI's last-ditch sorting based on memory addresses masked the question digits' script bug.

I'm still not sure if the 2017 commit really fixed this. If it did, it wasn't for long, because two months later we released 2.0.0, the first release to support RAMA, and it contains the bug.

The decompiled script, for reference: ​https://github.com/sluicebox/sci-scripts/blob/main/rama-dos-001.000.000/src/bkManipulation.sc

Note: See TracTickets for help on using tickets.