aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/engine
diff options
context:
space:
mode:
Diffstat (limited to 'engines/sci/engine')
-rw-r--r--engines/sci/engine/game.cpp9
-rw-r--r--engines/sci/engine/kernel.h13
-rw-r--r--engines/sci/engine/kgraphics.cpp3
-rw-r--r--engines/sci/engine/savegame.cpp5
-rw-r--r--engines/sci/engine/state.cpp6
-rw-r--r--engines/sci/engine/state.h6
6 files changed, 14 insertions, 28 deletions
diff --git a/engines/sci/engine/game.cpp b/engines/sci/engine/game.cpp
index 8ec2026997..94e49ab33f 100644
--- a/engines/sci/engine/game.cpp
+++ b/engines/sci/engine/game.cpp
@@ -162,8 +162,8 @@ const char *convertSierraGameId(const char *gameName, uint32 *gameFlags) {
return strdup(sierraId.c_str());
}
-int _reset_graphics_input(EngineState *s) {
#ifdef INCLUDE_OLDGFX
+int _reset_graphics_input(EngineState *s) {
Resource *resource;
int font_nr;
gfx_color_t transparent = { PaletteEntry(), 0, -1, -1, 0 };
@@ -263,8 +263,6 @@ int _reset_graphics_input(EngineState *s) {
s->titlebar_port->_bgcolor.priority = 11; // Standard priority for the titlebar port
#endif
-#endif
-
s->priority_first = 42; // Priority zone 0 ends here
if (s->usesOldGfxFunctions())
@@ -279,6 +277,8 @@ int game_init_graphics(EngineState *s) {
return _reset_graphics_input(s);
}
+#endif
+
static void _free_graphics_input(EngineState *s) {
debug(2, "Freeing graphics");
@@ -406,9 +406,6 @@ int game_init(EngineState *s) {
#ifdef INCLUDE_OLDGFX
if (s->gfx_state && _reset_graphics_input(s))
return 1;
-#else
- if (_reset_graphics_input(s))
- return 1;
#endif
s->successor = NULL; // No successor
diff --git a/engines/sci/engine/kernel.h b/engines/sci/engine/kernel.h
index 15e7489aff..9294b6a172 100644
--- a/engines/sci/engine/kernel.h
+++ b/engines/sci/engine/kernel.h
@@ -221,19 +221,6 @@ int _find_priority_band(EngineState *s, int band);
*/
int _find_view_priority(EngineState *s, int y);
-#define SCI0_VIEW_PRIORITY_14_ZONES(y) (((y) < s->priority_first)? 0 : (((y) >= s->priority_last)? 14 : 1\
- + ((((y) - s->priority_first) * 14) / (s->priority_last - s->priority_first))))
-
-#define SCI0_PRIORITY_BAND_FIRST_14_ZONES(nr) ((((nr) == 0)? 0 : \
- ((s->priority_first) + (((nr)-1) * (s->priority_last - s->priority_first)) / 14)))
-
-#define SCI0_VIEW_PRIORITY(y) (((y) < s->priority_first)? 0 : (((y) >= s->priority_last)? 14 : 1\
- + ((((y) - s->priority_first) * 15) / (s->priority_last - s->priority_first))))
-
-#define SCI0_PRIORITY_BAND_FIRST(nr) ((((nr) == 0)? 0 : \
- ((s->priority_first) + (((nr)-1) * (s->priority_last - s->priority_first)) / 15)))
-
-
/******************** Dynamic view list functions ********************/
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp
index e81378a9b1..24a0737aa8 100644
--- a/engines/sci/engine/kgraphics.cpp
+++ b/engines/sci/engine/kgraphics.cpp
@@ -268,8 +268,7 @@ reg_t kGraph(EngineState *s, int argc, reg_t *argv) {
case K_GRAPH_ADJUST_PRIORITY:
debugC(2, kDebugLevelGraphics, "adjust_priority(%d, %d)\n", argv[1].toSint16(), argv[2].toSint16());
- s->priority_first = argv[1].toSint16() - 10;
- s->priority_last = argv[2].toSint16() - 10;
+ s->_gui->modifyPriorityBands(argv[1].toSint16() - 10, argv[2].toSint16() - 10);
break;
case K_GRAPH_SAVE_UPSCALEDHIRES_BOX:
diff --git a/engines/sci/engine/savegame.cpp b/engines/sci/engine/savegame.cpp
index 9f3aa118b4..fd8cb6e142 100644
--- a/engines/sci/engine/savegame.cpp
+++ b/engines/sci/engine/savegame.cpp
@@ -658,8 +658,9 @@ void SegManager::reconstructScripts(EngineState *s) {
}
}
}
-
+#ifdef INCLUDE_OLDGFX
int _reset_graphics_input(EngineState *s);
+#endif
static void reconstruct_sounds(EngineState *s) {
Song *seeker;
@@ -770,7 +771,9 @@ EngineState *gamestate_restore(EngineState *s, Common::SeekableReadStream *fh) {
retval->gc_countdown = GC_INTERVAL - 1;
retval->sys_strings_segment = retval->_segMan->findSegmentByType(SEG_TYPE_SYS_STRINGS);
retval->sys_strings = (SystemStrings *)GET_SEGMENT(*retval->_segMan, retval->sys_strings_segment, SEG_TYPE_SYS_STRINGS);
+#ifdef INCLUDE_OLDGFX
_reset_graphics_input(retval);
+#endif
// Time state:
retval->last_wait_time = g_system->getMillis();
diff --git a/engines/sci/engine/state.cpp b/engines/sci/engine/state.cpp
index cfb70d6399..5925698e49 100644
--- a/engines/sci/engine/state.cpp
+++ b/engines/sci/engine/state.cpp
@@ -61,12 +61,12 @@ EngineState::EngineState(ResourceManager *res, Kernel *kernel, Vocabulary *voc,
dyn_views = 0;
drop_views = 0;
-#endif
-
- _menubar = 0;
priority_first = 0;
priority_last = 0;
+#endif
+
+ _menubar = 0;
last_wait_time = 0;
diff --git a/engines/sci/engine/state.h b/engines/sci/engine/state.h
index 72a0737ef0..9e517adf4b 100644
--- a/engines/sci/engine/state.h
+++ b/engines/sci/engine/state.h
@@ -169,12 +169,12 @@ public:
GfxList *dyn_views; /**< Pointers to pic and dynamic view lists */
GfxList *drop_views; /**< A list Animate() can dump dropped dynviews into */
-#endif
-
- Menubar *_menubar; /**< The menu bar */
int priority_first; /**< The line where priority zone 0 ends */
int priority_last; /**< The line where the highest priority zone starts */
+#endif
+
+ Menubar *_menubar; /**< The menu bar */
uint32 game_start_time; /**< The time at which the interpreter was started */
uint32 last_wait_time; /**< The last time the game invoked Wait() */