diff options
author | Filippos Karapetis | 2009-03-23 08:43:53 +0000 |
---|---|---|
committer | Filippos Karapetis | 2009-03-23 08:43:53 +0000 |
commit | a6f49a636bf0e8cef76bc416d80ed10020a1924a (patch) | |
tree | ccdc650a66009b93eb5f51b84ba531fbfc44313e /engines/sci/gfx/gfx_resmgr.cpp | |
parent | 93ff05cb6de0ed8b199eab31812421e03a94809c (diff) | |
download | scummvm-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.cpp | 21 |
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); |