SCI: Patched the QFG3 character import screen the same way as with QFG2
This prevents random crashes and slow refreshing, same as with QFG2 svn-id: r54414
This commit is contained in:
parent
0b06a1fe7b
commit
d8afddac63
1 changed files with 31 additions and 1 deletions
|
@ -751,6 +751,33 @@ const SciScriptSignature qfg2Signatures[] = {
|
|||
SCI_SIGNATUREENTRY_TERMINATOR
|
||||
};
|
||||
|
||||
// ===========================================================================
|
||||
// Patch for the import screen in QFG3, same as the one for QFG2 above
|
||||
const byte qfg3SignatureImportDialog[] = {
|
||||
15,
|
||||
0x63, 0x2a, // pToa text
|
||||
0x31, 0x0b, // bnt [next state]
|
||||
0x7a, // push2
|
||||
0x39, 0x03, // pushi 03
|
||||
0x36, // push
|
||||
0x43, 0x72, 0x04, // callk Memory 4
|
||||
0x35, 0x00, // ldi 00
|
||||
0x65, 0x2a, // aTop text
|
||||
0
|
||||
};
|
||||
|
||||
const uint16 qfg3PatchImportDialog[] = {
|
||||
PATCH_ADDTOOFFSET | +4,
|
||||
0x48, // ret
|
||||
PATCH_END
|
||||
};
|
||||
|
||||
// script, description, magic DWORD, adjust
|
||||
const SciScriptSignature qfg3Signatures[] = {
|
||||
{ 944, "import dialog continuous calls", 1, PATCH_MAGICDWORD(0x2a, 0x31, 0x0b, 0x7a), -1, qfg3SignatureImportDialog, qfg3PatchImportDialog },
|
||||
SCI_SIGNATUREENTRY_TERMINATOR
|
||||
};
|
||||
|
||||
// ===========================================================================
|
||||
// script 298 of sq4/floppy has an issue. object "nest" uses another property
|
||||
// which isn't included in property count. We return 0 in that case, the game
|
||||
|
@ -975,6 +1002,9 @@ void Script::matchSignatureAndPatch(uint16 scriptNr, byte *scriptData, const uin
|
|||
case GID_QFG2:
|
||||
signatureTable = qfg2Signatures;
|
||||
break;
|
||||
case GID_QFG3:
|
||||
signatureTable = qfg3Signatures;
|
||||
break;
|
||||
case GID_SQ4:
|
||||
signatureTable = sq4Signatures;
|
||||
break;
|
||||
|
|
Loading…
Add table
Add a link
Reference in a new issue