Opened 9 years ago
Closed 9 years ago
#9666 closed defect (fixed)
SCI: Hoyle5: crash due to kList w/Sort subop signature mismatch
| Reported by: | OmerMor | Owned by: | csnover |
|---|---|---|---|
| Priority: | normal | Component: | Engine: SCI |
| Version: | Keywords: | sci32 | |
| Cc: | Game: |
Description
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.
Change History (2)
comment:1 by , 9 years ago
| Component: | --Unset-- → Engine: SCI |
|---|
comment:2 by , 9 years ago
| Keywords: | sci32 added |
|---|---|
| Owner: | set to |
| Resolution: | → fixed |
| Status: | new → closed |
Note:
See TracTickets
for help on using tickets.

Fixed in 5b5aaee57b16605d44c8b9f1f3279c2d4b097aca.