aboutsummaryrefslogtreecommitdiff
path: root/engines/sci
diff options
context:
space:
mode:
authorMatthew Hoops2009-10-27 02:23:45 +0000
committerMatthew Hoops2009-10-27 02:23:45 +0000
commitb132c65ff3b6e374c94bb57187284740d75a5fb8 (patch)
tree24d347ae0636bdfe8b9611b0edfce70a7bd2f0a6 /engines/sci
parent4b681f7ec7e42ea17ed97c80372cf564a8648682 (diff)
downloadscummvm-rg350-b132c65ff3b6e374c94bb57187284740d75a5fb8.tar.gz
scummvm-rg350-b132c65ff3b6e374c94bb57187284740d75a5fb8.tar.bz2
scummvm-rg350-b132c65ff3b6e374c94bb57187284740d75a5fb8.zip
Make Jones in the Fast Lane use up the whole screen as did the original game.
svn-id: r45431
Diffstat (limited to 'engines/sci')
-rw-r--r--engines/sci/gfx/gfx_resmgr.cpp6
-rw-r--r--engines/sci/gfx/gfx_resmgr.h2
-rw-r--r--engines/sci/gfx/operations.cpp9
-rw-r--r--engines/sci/gui/gui_windowmgr.cpp3
4 files changed, 13 insertions, 7 deletions
diff --git a/engines/sci/gfx/gfx_resmgr.cpp b/engines/sci/gfx/gfx_resmgr.cpp
index 967b80b889..27858aa1b6 100644
--- a/engines/sci/gfx/gfx_resmgr.cpp
+++ b/engines/sci/gfx/gfx_resmgr.cpp
@@ -49,12 +49,12 @@ struct param_struct {
GfxDriver *driver;
};
-GfxResManager::GfxResManager(GfxDriver *driver, ResourceManager *resMan, SciGuiScreen *screen, SciGuiPalette *palette) :
+GfxResManager::GfxResManager(GfxDriver *driver, ResourceManager *resMan, SciGuiScreen *screen, SciGuiPalette *palette, Common::Rect portBounds) :
_driver(driver), _resMan(resMan), _screen(screen), _palette(palette),
_lockCounter(0), _tagLockCounter(0), _staticPalette(0) {
gfxr_init_static_palette();
-
- _portBounds = Common::Rect(0, 10, 320, 200); // default value, with a titlebar of 10px
+
+ _portBounds = portBounds;
if (!_resMan->isVGA()) {
_staticPalette = gfx_sci0_pic_colors->getref();
diff --git a/engines/sci/gfx/gfx_resmgr.h b/engines/sci/gfx/gfx_resmgr.h
index b6dea1a8e2..17598b0b53 100644
--- a/engines/sci/gfx/gfx_resmgr.h
+++ b/engines/sci/gfx/gfx_resmgr.h
@@ -91,7 +91,7 @@ typedef Common::HashMap<int, gfx_resource_t *> IntResMap;
/** Graphics resource manager */
class GfxResManager {
public:
- GfxResManager(GfxDriver *driver, ResourceManager *resMan, SciGuiScreen *screen, SciGuiPalette *palette);
+ GfxResManager(GfxDriver *driver, ResourceManager *resMan, SciGuiScreen *screen, SciGuiPalette *palette, Common::Rect portBounds);
~GfxResManager();
diff --git a/engines/sci/gfx/operations.cpp b/engines/sci/gfx/operations.cpp
index d6fd5dc6b4..a89968598b 100644
--- a/engines/sci/gfx/operations.cpp
+++ b/engines/sci/gfx/operations.cpp
@@ -345,12 +345,17 @@ void gfxop_init(GfxState *state, ResourceManager *resMan,
state->pic = state->pic_unscaled = NULL;
state->pic_nr = -1; // Set background pic number to an invalid value
state->tag_mode = 0;
- state->pic_port_bounds = gfx_rect(0, 10, 320, 190);
state->_dirtyRects.clear();
+
+ // Jones in the Fast Lane uses up the whole window
+ if (!scumm_stricmp(((SciEngine *)g_engine)->getGameID(), "jones"))
+ state->pic_port_bounds = gfx_rect(0, 0, 320, 200);
+ else
+ state->pic_port_bounds = gfx_rect(0, 10, 320, 190);
state->driver = new GfxDriver(screen, scaleFactor);
- state->gfxResMan = new GfxResManager(state->driver, resMan, screen, palette);
+ state->gfxResMan = new GfxResManager(state->driver, resMan, screen, palette, toCommonRect(state->pic_port_bounds));
gfxop_set_clip_zone(state, gfx_rect(0, 0, 320, 200));
diff --git a/engines/sci/gui/gui_windowmgr.cpp b/engines/sci/gui/gui_windowmgr.cpp
index cf34537e22..1d40fa353d 100644
--- a/engines/sci/gui/gui_windowmgr.cpp
+++ b/engines/sci/gui/gui_windowmgr.cpp
@@ -50,7 +50,8 @@ SciGuiWindowMgr::SciGuiWindowMgr(SciGuiScreen *screen, SciGuiGfx *gfx, SciGuiAni
_windowsById.resize(1);
_windowsById[0] = _wmgrPort;
- int16 offTop = 10;
+ // Jones in the Fast Lane uses up the whole window
+ int16 offTop = !scumm_stricmp(((SciEngine *)g_engine)->getGameID(), "jones") ? 0 : 10;
_gfx->OpenPort(_wmgrPort);
_gfx->SetPort(_wmgrPort);