diff options
author | Travis Howell | 2005-06-02 14:40:13 +0000 |
---|---|---|
committer | Travis Howell | 2005-06-02 14:40:13 +0000 |
commit | 0e26360fe31dc467955292b097889cf7f1b7eb7a (patch) | |
tree | cb26a251c5a59808bba65010ba0ed1cf4dbf7b1f | |
parent | bf89c8a4b9eb485e9248d5da3aac1d16c1310d7f (diff) | |
download | scummvm-rg350-0e26360fe31dc467955292b097889cf7f1b7eb7a.tar.gz scummvm-rg350-0e26360fe31dc467955292b097889cf7f1b7eb7a.tar.bz2 scummvm-rg350-0e26360fe31dc467955292b097889cf7f1b7eb7a.zip |
HE games require min/max heap sizes to be set, after index is read.
Init _hePalettes, to fix valgrind warnings.
svn-id: r18311
-rw-r--r-- | scumm/scumm.cpp | 38 |
1 files changed, 20 insertions, 18 deletions
diff --git a/scumm/scumm.cpp b/scumm/scumm.cpp index 8e36c2193d..62c732eba7 100644 --- a/scumm/scumm.cpp +++ b/scumm/scumm.cpp @@ -946,6 +946,7 @@ ScummEngine::ScummEngine(GameDetector *detector, OSystem *syst, const ScummGameS _palManipPalette = NULL; _palManipIntermediatePal = NULL; memset(gfxUsageBits, 0, sizeof(gfxUsageBits)); + _hePalettes = NULL; _shadowPalette = NULL; _shadowPaletteSize = 0; memset(_currentPalette, 0, sizeof(_currentPalette)); @@ -1513,24 +1514,6 @@ int ScummEngine::init(GameDetector &detector) { requestLoad(ConfMan.getInt("save_slot")); } -#ifdef __PALM_OS__ - if (_features & GF_NEW_COSTUMES) - res._maxHeapThreshold = gVars->memory[kMemScummNewCostGames]; - else - res._maxHeapThreshold = gVars->memory[kMemScummOldCostGames]; -#else - if (_heversion >= 90 && _HEHeapSize) { - res._maxHeapThreshold = _HEHeapSize * 1024; - } else if (_features & GF_NEW_COSTUMES) { - // Since the new costumes are very big, we increase the heap limit, to avoid having - // to constantly reload stuff from the data files. - res._maxHeapThreshold = 2500000; - } else { - res._maxHeapThreshold = 550000; - } -#endif - res._minHeapThreshold = 400000; - allocResTypeData(rtBuffer, MKID('NONE'), 10, "buffer", 0); setupScummVars(); @@ -1570,6 +1553,24 @@ int ScummEngine::init(GameDetector &detector) { readIndexFile(); +#ifdef __PALM_OS__ + if (_features & GF_NEW_COSTUMES) + res._maxHeapThreshold = gVars->memory[kMemScummNewCostGames]; + else + res._maxHeapThreshold = gVars->memory[kMemScummOldCostGames]; +#else + if (_heversion >= 90 && _HEHeapSize) { + res._maxHeapThreshold = _HEHeapSize * 1024; + } else if (_features & GF_NEW_COSTUMES) { + // Since the new costumes are very big, we increase the heap limit, to avoid having + // to constantly reload stuff from the data files. + res._maxHeapThreshold = 2500000; + } else { + res._maxHeapThreshold = 550000; + } +#endif + res._minHeapThreshold = 400000; + scummInit(); initScummVars(); @@ -1885,6 +1886,7 @@ void ScummEngine_v99he::scummInit() { ScummEngine_v90he::scummInit(); _hePalettes = (uint8 *)malloc((_numPalettes + 1) * 1024); + memset(_hePalettes, 0, (_numPalettes + 1) * 1024); // Array 129 is set to base name int len = resStrLen((const byte *)_gameName.c_str()) + 1; |