[Scummvm-tracker] [ScummVM] #10849: SCI: QFG4CD: Wrong message audio for Rusalka/flowers

Vhati trac at scummvm.org
Sun Dec 23 23:29:14 CET 2018


#10849: SCI: QFG4CD: Wrong message audio for Rusalka/flowers
--------------------------------+-------------------------
  Reporter:  sluicebox          |      Owner:  (none)
      Type:  defect             |     Status:  new
  Priority:  normal             |  Component:  Engine: SCI
Resolution:                     |   Keywords:  original
      Game:  Quest for Glory 4  |
--------------------------------+-------------------------

Comment (by Vhati):

 @sluicebox:
 > This bug was found by OrphanHunter5000.exe

 What is that?
 \\
 \\
 > Is there precedent in ScummVM for just adding missing message text

 Adding text would mean adding text for each language. Luckily QFG4 CD is
 only English. In principle, such messages should be filtered through
 internationalization, kept separate from the source code.
 \\
 \\
 I haven't dealt with message.cpp. I imagine tuples could be intercepted to
 return a string *as if* it had been looked up.
 \\
 \\
 [https://github.com/scummvm/scummvm/blob/81288f2cac5773274ba09469552f48b5d3ca696f/engines/sci/engine/message.cpp#L270
 Source]: message.cpp - MessageState::getRecord()
 {{{
 // Fill in known missing message tuples
 if (g_sci->getGameId() == GID_SQ4 && stack.getModule() == 16 &&
         t.noun == 7 && t.verb == 0 && t.cond == 3 && t.seq == 1) {
         // This fixes the error message shown when speech and subtitles
 are
         // enabled simultaneously in SQ4 - the (very) long dialog when
 Roger
         // is talking with the aliens is missing - bug #3538416.
         record.tuple = t;
         record.refTuple = MessageTuple();
         record.talker = 7;      // Roger
         // The missing text is just too big to fit in one speech bubble,
 and
         // if it's added here manually and drawn on screen, it's painted
 over
         // the entrance in the back where the Sequel Police enters, so it
         // looks very ugly. Perhaps this is why this particular text is
 missing,
         // as the text shown in this screen is very short (one-liners).
         // Just output an empty string here instead of showing an error.
         record.string = "";
         record.length = 0;
         delete reader;
         return true;
 }
 }}}
 record.string = "";
 \\
 \\
 Elsewhere, [https://bugs.scummvm.org/ticket/10750#comment:12 m-kiewitz]
 said:
 > We could - in theory - patch the message resource in some way.

 I poked around a little, trying to find raw message bytes with the script
 patcher to do word substitution. Unsuccessful.

 Either I guessed my signatures incorrectly, or the patcher would need
 modification to see messages. I couldn't find a View's cel either. The
 patcher can definitely see scripts and heaps.

--
Ticket URL: <https://bugs.scummvm.org/ticket/10849#comment:1>
ScummVM <https://bugs.scummvm.org>
ScummVM


More information about the Scummvm-tracker mailing list