diff options
| -rw-r--r-- | engines/sci/engine/klists.cpp | 3 | ||||
| -rw-r--r-- | engines/sci/engine/workarounds.cpp | 1 | 
2 files changed, 4 insertions, 0 deletions
| diff --git a/engines/sci/engine/klists.cpp b/engines/sci/engine/klists.cpp index 93e95099f5..2188087b8c 100644 --- a/engines/sci/engine/klists.cpp +++ b/engines/sci/engine/klists.cpp @@ -40,6 +40,9 @@ static bool isSaneNodePointer(SegManager *segMan, reg_t addr) {  			if ((g_sci->getGameId() == GID_ICEMAN) && (g_sci->getEngineState()->currentRoomNumber() == 40)) {  				// ICEMAN: when plotting course, unDrawLast is called by startPlot::changeState  				//  there is no previous entry so we get 0 in here +			} else if ((g_sci->getGameId() == GID_HOYLE1) && (g_sci->getEngineState()->currentRoomNumber() == 3)) { +				// HOYLE1: after sorting cards in hearts, in the next round +				// we get an invalid node - bug #3038433  			} else {  				error("isSaneNodePointer: Node at %04x:%04x wasn't found", PRINT_REG(addr));  			} diff --git a/engines/sci/engine/workarounds.cpp b/engines/sci/engine/workarounds.cpp index 4fe1e66570..f7b2b16792 100644 --- a/engines/sci/engine/workarounds.cpp +++ b/engines/sci/engine/workarounds.cpp @@ -48,6 +48,7 @@ const SciWorkaroundEntry opcodeDptoaWorkarounds[] = {  //    gameID,           room,script,lvl,          object-name, method-name,    call,index,             workaround  const SciWorkaroundEntry opcodeGeWorkarounds[] = { +	{ GID_HOYLE1,           5,  213,  0,                   "", "export 0",       -1,    0, { WORKAROUND_FAKE,   1 } }, // happens sometimes during cribbage - bug #3038433  	{ GID_PQ3,             31,   31,  0,              "rm031", "init",           -1,    0, { WORKAROUND_FAKE,   1 } }, // pq3 english: when exiting the car, while morales is making phonecalls - bug #3037565  	SCI_WORKAROUNDENTRY_TERMINATOR  }; | 
