aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/kgraphics.cpp6
1 files changed, 3 insertions, 3 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index 543aebb857..5c955568fb 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -934,14 +934,14 @@ reg_t kDrawCel(EngineState *s, int argc, reg_t *argv) {
bool hiresMode = (argc > 7) ? true : false;
reg_t upscaledHiresHandle = (argc > 7) ? argv[7] : NULL_REG;
- if (s->_gameId == "freddypharkas") {
+ if ((s->_gameId == "freddypharkas") || (s->_gameId == "freddypharkas-demo")) {
// WORKAROUND
// Script 24 contains code that draws the game menu on screen. It uses a temp variable for setting priority that
// is not set. in Sierra sci this happens to be 8250h. In our sci temporary variables are initialized thus we would
// get 0 here resulting in broken menus.
- if ((viewId == 995) && (x == 0x33) && (y == 0x26)) // game menu
+ if ((viewId == 995) && (loopNo == 0) && (celNo == 0) && (priority == 0)) // game menu
priority = 15;
- if ((viewId == 992) && (x == 48) && (y == 24)) // quit game
+ if ((viewId == 992) && (loopNo == 0) && (celNo == 0) && (priority == 0)) // quit game
priority = 15;
}