diff options
Diffstat (limited to 'engines/sci/engine/kgraphics.cpp')
-rw-r--r-- | engines/sci/engine/kgraphics.cpp | 12 |
1 files changed, 11 insertions, 1 deletions
diff --git a/engines/sci/engine/kgraphics.cpp b/engines/sci/engine/kgraphics.cpp index ddf38e40a8..8d77e9306d 100644 --- a/engines/sci/engine/kgraphics.cpp +++ b/engines/sci/engine/kgraphics.cpp @@ -1031,8 +1031,14 @@ reg_t kDrawPic(EngineState *s, int funct_nr, int argc, reg_t *argv) { s->picture_port->widfree(GFXW(s->picture_port)); s->iconbar_port->widfree(GFXW(s->iconbar_port)); +#ifdef CUSTOM_GRAPHICS_OPTIONS s->wm_port = gfxw_new_port(s->visual, NULL, s->gfx_state->options->pic_port_bounds, s->ega_colors[0], transparent); s->picture_port = gfxw_new_port(s->visual, NULL, s->gfx_state->options->pic_port_bounds, s->ega_colors[0], transparent); +#else + s->wm_port = gfxw_new_port(s->visual, NULL, gfx_rect(0, 10, 320, 190), s->ega_colors[0], transparent); + s->picture_port = gfxw_new_port(s->visual, NULL, gfx_rect(0, 10, 320, 190), s->ega_colors[0], transparent); +#endif + s->iconbar_port = gfxw_new_port(s->visual, NULL, gfx_rect(0, 0, 320, 200), s->ega_colors[0], transparent); s->iconbar_port->flags |= GFXW_FLAG_NO_IMPLICIT_SWITCH; @@ -2375,9 +2381,13 @@ reg_t kSetPort(EngineState *s, int funct_nr, int argc, reg_t *argv) { return s->r_acc; } - // FIXME: this actually changes the picture port bounds, which are supposed to be user-defined... + // This should never occur. This case happens when the port is supplied via command line parameters +#ifdef CUSTOM_GRAPHICS_OPTIONS s->gfx_state->options->pic_port_bounds = gfx_rect(UKPV(5), UKPV(4), UKPV(3), UKPV(2)); +#else + warning("kSetPort() was called to change the picture port bounds, but custom graphics options are not enabled, so it has been ignored"); +#endif // FIXME: Should really only invalidate all loaded pic resources here; // this is overkill |