[Scummvm-tracker] [ScummVM :: Bugs] #14435: SHERLOCK: ROSETATTOO: Unable to proceed in Case of the Rose Tattoo, Wiggins do not present correct alt.

ScummVM :: Bugs trac at scummvm.org
Sat Jul 15 10:37:54 UTC 2023


#14435: SHERLOCK: ROSETATTOO: Unable to proceed in Case of the Rose Tattoo, Wiggins
do not present correct alt.
-------------------------------------+-------------------------------------
Reporter:  VonKossa                  |       Owner:  (none)
    Type:  defect                    |      Status:  new
Priority:  normal                    |   Component:  Engine: Sherlock
 Version:                            |  Resolution:
Keywords:  Sherlock Wiggins case,    |        Game:  Sherlock Holmes: Case
  Rose Tattoo                        |  of the Rose Tattoo
-------------------------------------+-------------------------------------
Comment (by PushmePullyu):

 Thanks for the MD5s, they match my files.

 Also, about the talkHistory entry:

 The talk history is held in

 {{{
 Common::Array<Sherlock::TalkHistoryEntry> Sherlock::Talk::_talkHistory
 }}}

 Every TalkHistoryEntry holds 16 bools, each corresponding to a statement:

 {{{
 struct TalkHistoryEntry {
         bool _data[16];
         ...
 }
 }}}


 For the conversation with Wiggins (Resource index: 984, WIGG01B.TLK) the
 entry for statements![16] is stored in _talkHistory![984]._data![16].
 However, this is out of bounds for _data. The memory addressed is that of
 _data![0] in the next TalkHistoryEntry (_talkHistory![985]), which is used
 for SPIT36D.TLK (The description shown when entering Spitalfields).
 So entering Spitalfields also marks statements![16] for Wiggins as spoken
 before.

 This out-of-bounds access happens for all conversations with more than 16
 statements.

 TLDR: The history entry for statements![16] was basically a red herring.

 I will be busy the next 2-3 weeks, but will investigate more after that.
-- 
Ticket URL: <https://bugs.scummvm.org/ticket/14435#comment:6>
ScummVM :: Bugs <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list