[Scummvm-tracker] [ScummVM] #9666: SCI: Hoyle5: crash due to kList w/Sort subop signature mismatch
Omer Mor
trac at scummvm.org
Sat Dec 10 22:26:44 CET 2016
#9666: SCI: Hoyle5: crash due to kList w/Sort subop signature mismatch
---------------------+-----------------------
Reporter: Omer Mor | Owner: (none)
Type: defect | Status: new
Priority: normal | Component: --Unset--
Keywords: | Game:
---------------------+-----------------------
After starting a game of Hearts, the game will deal the cards and then
crash due to mismatched kList/sort signature in `Hand::sort()`.
The current signature is `"ooo"`.
The expected signature appears to be `"li(i)"` which I guess stands for
something like this:
`List_Sort(List elements, int prop_to_sort_by, int order = 0);`
Here's the decompiled script:
{{{
(method (sort param1)
(if
(and
(not (Dealer script?))
(or faceUp (and argc param1))
)
(switch gGNewStr_2AsInteger_8
(1
(List 22 (self elements?) 756 0)
)
(2
(List 22 (self elements?) 756 1)
)
(3
(self convertSuit: 3)
(List 22 (self elements?) 756 0)
(List 22 (self elements?) 755 0)
(self revertSuit: 3)
)
(4
(self convertSuit: 4)
(List 22 (self elements?) 756 1)
(List 22 (self elements?) 755 1)
(self revertSuit: 4)
)
(5
(List 22 self sortedList ascendingBySuitCode)
)
(6
(List 22 self sortedList descendingBySuitCode)
)
(else (self posn:) (return))
)
(self update: gCrazy8sSortCode)
)
)
}}}
This bug can be reproduced using the Hoyle5 demo from here:
[http://www.sierrahelp.com/Files/Demos/HoyleClassicGames5InteractiveDemo.zip].
--
Ticket URL: <https://bugs.scummvm.org/ticket/9666>
ScummVM <https://bugs.scummvm.org>
ScummVM
More information about the Scummvm-tracker
mailing list