diff options
author | Paul Gilbert | 2014-04-12 11:08:50 -0400 |
---|---|---|
committer | Paul Gilbert | 2014-04-12 11:08:50 -0400 |
commit | bb82a344a96bcf63c63ab6a297b83eaefa0383d6 (patch) | |
tree | 9a94871d5111b6924ccc58b68f3adfb7e9fe1850 /engines/mads/palette.cpp | |
parent | 2a979e59a0481f62d67b8b323c79cccaa6552d0a (diff) | |
download | scummvm-rg350-bb82a344a96bcf63c63ab6a297b83eaefa0383d6.tar.gz scummvm-rg350-bb82a344a96bcf63c63ab6a297b83eaefa0383d6.tar.bz2 scummvm-rg350-bb82a344a96bcf63c63ab6a297b83eaefa0383d6.zip |
MADS: Further refactoring for PaletteUsage data arrays
Diffstat (limited to 'engines/mads/palette.cpp')
-rw-r--r-- | engines/mads/palette.cpp | 14 |
1 files changed, 9 insertions, 5 deletions
diff --git a/engines/mads/palette.cpp b/engines/mads/palette.cpp index a307a08848..8dfd8f6525 100644 --- a/engines/mads/palette.cpp +++ b/engines/mads/palette.cpp @@ -84,6 +84,10 @@ int PaletteUsage::process(Common::Array<RGB6> &palette, uint flags) { int palHigh = (flags & 0x800) ? 0x100 : 0xFC; int palIdx; + PaletteUsage tempUsage(_vm); + Common::Array<UsageEntry> tempUsageData; + tempUsage.load(&tempUsageData); + if (flags & 0x4000) { palLow = 0; palIdx = palHigh; @@ -111,12 +115,12 @@ int PaletteUsage::process(Common::Array<RGB6> &palette, uint flags) { } if (hasUsage) { - getKeyEntries(palette); - prioritize(palette); + tempUsage.getKeyEntries(palette); + tempUsage.prioritize(palette); } int freeIndex; - int palCount = getGamePalFreeIndex(&freeIndex); + int palCount = tempUsage.getGamePalFreeIndex(&freeIndex); Common::Array<UsageRange> palRange; for (uint palIndex = 0; palIndex < palette.size(); ++palIndex) { @@ -148,8 +152,8 @@ int PaletteUsage::process(Common::Array<RGB6> &palette, uint flags) { } if (hasUsage && palette[v1]._flags & 0x10) { - for (uint usageIndex = 0; usageIndex < _data->size() && !var48; ++usageIndex) { - if ((*_data)[usageIndex]._palIndex == palIndex) { + for (uint usageIndex = 0; usageIndex < tempUsage._data->size() && !var48; ++usageIndex) { + if ((*tempUsage._data)[usageIndex]._palIndex == palIndex) { var48 = true; int dataIndex = MIN(usageIndex, _data->size() - 1); var4 = (*_data)[dataIndex]._palIndex; |