#11042 closed defect (fixed)
SCI: CAMELOT: Sheath-sword bug
Reported by: | sluicebox | Owned by: | sluicebox |
---|---|---|---|
Priority: | normal | Component: | Engine: SCI |
Version: | Keywords: | original has-pull-request | |
Cc: | Game: | Conquests of Camelot |
Description
Sheathing the sword by pressing F8 while entering or exiting a room breaks the game by placing ego in an invalid state that allows walking through obstacles and prevents room changes. This also occurs in the original.
Attached is a DOS save to reproduce with.
Before attempting to reproduce, know that you have to work around an unrelated ScummVM limitation that heavily affects this game. ScummVM doesn't persist SCI game's menu state to saved games (yet!) and Camelot depends on that. This currently breaks loading a lot of Camelot saved games, including this one. These steps involve working around around that.
- Load the game in the monk's ruins. The menu state will incorrectly disallow sword actions.
- Walk north to change rooms. This will run scripts that refresh the menu to the correct state.
- Walk south towards the previous room and press F8 once the game takes control of walking Arthur off screen. (cursor turns to a grail)
- Arthur will sheath his sword, stop walking, and you now have control of and can walk through walls and walk off screen without triggering a room change.
Attachments (1)
Change History (5)
by , 5 years ago
Attachment: | camelot.019 added |
---|
comment:1 by , 5 years ago
Owner: | set to |
---|
comment:2 by , 5 years ago
Removing the menu sync code was done by me, about 10 years ago:
https://github.com/scummvm/scummvm/commit/226f0bd23d40f4c807c33ee32f77d449a4f06837
It was a time where we had two different graphics codes: one from FreeSCI, and one from Greg Frieger, which was much closer to the original SCI behavior. Having said that, the cases where menu state syncing is actually used are quite rare (found in Jones, PQ2, and now Camelot).
We should either choose to save the menu state for all games, or handle this specific case with a script patch, which should also work when loading from the launcher.
The code that handles menus when loading in Jones and PQ2 was done in these commits:
https://github.com/scummvm/scummvm/commit/5b1631960e1c10e8fe60261eee0cec62756e3d66
https://github.com/scummvm/scummvm/commit/1d5536da02c20c5c635e02dd19aa38fb3b1128ec
https://github.com/scummvm/scummvm/commit/fc1464155a7e48b05829401c7605c3f65bda0000
comment:3 by , 5 years ago
Resolution: | → fixed |
---|---|
Status: | new → closed |
https://github.com/scummvm/scummvm/pull/1786