aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/gfx/gfx_resmgr.cpp
diff options
context:
space:
mode:
authorFilippos Karapetis2009-03-23 08:43:53 +0000
committerFilippos Karapetis2009-03-23 08:43:53 +0000
commita6f49a636bf0e8cef76bc416d80ed10020a1924a (patch)
treeccdc650a66009b93eb5f51b84ba531fbfc44313e /engines/sci/gfx/gfx_resmgr.cpp
parent93ff05cb6de0ed8b199eab31812421e03a94809c (diff)
downloadscummvm-rg350-a6f49a636bf0e8cef76bc416d80ed10020a1924a.tar.gz
scummvm-rg350-a6f49a636bf0e8cef76bc416d80ed10020a1924a.tar.bz2
scummvm-rg350-a6f49a636bf0e8cef76bc416d80ed10020a1924a.zip
- Moved palette initialization inside the graphics resource manager
- The static palette is no longer needlessly referenced directly outside the graphics resource manager - Moved the SCI interpreter version inside the graphics resource manager, instead of gfx_state_t svn-id: r39626
Diffstat (limited to 'engines/sci/gfx/gfx_resmgr.cpp')
-rw-r--r--engines/sci/gfx/gfx_resmgr.cpp21
1 files changed, 21 insertions, 0 deletions
diff --git a/engines/sci/gfx/gfx_resmgr.cpp b/engines/sci/gfx/gfx_resmgr.cpp
index 6ab69e6ecf..b474a1e36c 100644
--- a/engines/sci/gfx/gfx_resmgr.cpp
+++ b/engines/sci/gfx/gfx_resmgr.cpp
@@ -48,6 +48,27 @@ struct param_struct {
gfx_driver_t *driver;
};
+GfxResManager::GfxResManager(int version, gfx_options_t *options, gfx_driver_t *driver, ResourceManager *resManager) :
+ _version(version), _options(options), _driver(driver), _resManager(resManager),
+ _lockCounter(0), _tagLockCounter(0) {
+ gfxr_init_static_palette();
+
+ if (_version < SCI_VERSION_01_VGA) {
+ _staticPalette = gfx_sci0_pic_colors->getref();
+ } else if (_version == SCI_VERSION_1_1 || _version == SCI_VERSION_32) {
+ GFXDEBUG("Palettes are not yet supported in this SCI version\n");
+ } else {
+ Resource *res = resManager->findResource(kResourceTypePalette, 999, 0);
+ if (res && res->data)
+ _staticPalette = gfxr_read_pal1(res->id, res->data, res->size);
+ }
+}
+
+GfxResManager::~GfxResManager() {
+ _staticPalette->free();
+ delete _staticPalette;
+}
+
#define DRAW_PIC01(pic, picStyle, isSci1) \
gfxr_draw_pic01((pic), flags, default_palette, res->size, res->data, (picStyle), res->id, (isSci1), _staticPalette);