#9864 closed defect (wontfix)
SCI: Torin: Send to invalid selector at Lycentia doorway 5th world
Reported by: | g5ppc | Owned by: | csnover |
---|---|---|---|
Priority: | blocker | Component: | Engine: SCI |
Version: | Keywords: | sci32 | |
Cc: | Game: | Torin's Passage |
Description
After the Dreep creature moved offscreen, Torin can click to climb around the platform and enter the upside down door. After the animation for this, the console appears with error "Send to invalid selector 0x4f7 (holdTime) of object at 0065:167c!"
build is 1.10.0git3562-g5d1b527829 on Win 7 SP1 x64.
Game is French PointSoft release with TORINPAT applied.
Attachments (1)
Change History (6)
by , 7 years ago
Attachment: | torin-cd-win-fr.027 added |
---|
comment:1 by , 7 years ago
Priority: | normal → blocker |
---|---|
Summary: | Send to invalid selector at Lycentia doorway 5th world → SCI: Torin: Send to invalid selector at Lycentia doorway 5th world |
comment:2 by , 7 years ago
Thanks for your report!
So.
This PointSoft release has a different selector vocab than the other releases of Torin. Most of the selectors are the same, but these 41 are different:
Selector | Sierra | PointSoft |
---|---|---|
4bf | flag | bSwing |
4c0 | toggle | flag |
4c1 | oFace | toggle |
4c2 | bSwing | oFace |
4c8 | nPointOn | nSound |
4c9 | nMusic | nPointOn |
4ca | nPointLeft | raiseHands |
4cb | nPointTo | lowerHands |
4cc | oAvoiding | bLeftHandOut |
4cd | bAvoid | bRightHandOut |
4ce | nLastX | oLeftHand |
4cf | nLastY | oRightHand |
4d0 | oMusic | bSinging |
4d1 | oSound | oSingCuee |
4d2 | bExcusedSelf | curPrayer |
4d3 | curPrayer | unselect |
4d4 | unloadSound | getOneHigher |
4d5 | nSound | getTwoHigher |
4d6 | raiseHands | switchWith |
4d7 | lowerHands | sing |
4d8 | bLeftHandOut | stopSinging |
4d9 | bRightHandOut | setDisplay |
4da | oLeftHand | getMyYOffset |
4db | oRightHand | unlockAudio |
4dc | bSinging | nGoingTo |
4dd | oSingCuee | nComingFrom |
4de | unselect | nMusic |
4df | getOneHigher | nPointLeft |
4e0 | getTwoHigher | nPointTo |
4e1 | switchWith | oAvoiding |
4e2 | sing | bAvoid |
4e3 | stopSinging | nLastX |
4e4 | setDisplay | nLastY |
4e5 | getMyYOffset | oMusic |
4e6 | unlockAudio | oSound |
4e7 | nGoingTo | bExcusedSelf |
4e8 | nComingFrom | unloadSound |
4f5 | holdStart | stopCorder |
4f6 | holdTime | holdStart |
4f7 | reallyDispose | holdTime |
4fe | stopCorder | reallyDispose |
So, in this crash, reallyDispose
selector in the Sierra release is instead holdTime
in the PointSoft release, which is why this is crashing. This means that TORINPAT can't be applied to the PointSoft release without breaking the game.
I am not sure what the best path forward here is. There are only a few options I can think of, and none of them seem very good:
- Continue requiring TORINPAT for all releases, identify uses of the different selectors in the patch files and hot-patch them to the PointSoft selector values;
- Require TORINPAT for the Sierra releases and play whack-a-mole with the bugs in the PointSoft releases;
- Subsume TORINPAT into ScummVM so no extra patching is needed.
I will check to see if anyone else has some better ideas.
comment:3 by , 7 years ago
How many games are unwinnable unless played in ScummVM? I know KQ5FR is one. Now this may be another.
comment:4 by , 7 years ago
Owner: | set to |
---|---|
Resolution: | → wontfix |
Status: | new → closed |
Since this issue is caused by applying TORINPAT, the solution for this for now is to not apply TORINPAT to the PointSoft release of the game. This will invalidate the save game on this ticket since the patch makes changes to system scripts, but hopefully now that #9797 is fixed with a hot-patch, no additional work will be necessary for this release to be completable. (If you encounter any more issues, please continue opening tickets for those.)
comment:5 by , 7 years ago
Can confirm this seems fixed from a restart at the beginning of the chapter to ending.
savegame, click on doorway to crash