diff options
author | Max Horn | 2003-01-13 01:29:45 +0000 |
---|---|---|
committer | Max Horn | 2003-01-13 01:29:45 +0000 |
commit | eb9726c4974111ac56bbc256658785f06d4df531 (patch) | |
tree | ed335402a935d3f49c80675f752a4d1bad1201cd /scumm/scummvm.cpp | |
parent | 1f88542417b58ce2e71708217f17ebcc7de78c20 (diff) | |
download | scummvm-rg350-eb9726c4974111ac56bbc256658785f06d4df531.tar.gz scummvm-rg350-eb9726c4974111ac56bbc256658785f06d4df531.tar.bz2 scummvm-rg350-eb9726c4974111ac56bbc256658785f06d4df531.zip |
added V8 scaling code
svn-id: r6440
Diffstat (limited to 'scumm/scummvm.cpp')
-rw-r--r-- | scumm/scummvm.cpp | 23 |
1 files changed, 15 insertions, 8 deletions
diff --git a/scumm/scummvm.cpp b/scumm/scummvm.cpp index cb8f1d8cb7..63afbc2286 100644 --- a/scumm/scummvm.cpp +++ b/scumm/scummvm.cpp @@ -835,14 +835,11 @@ void Scumm::initRoomSubBlocks() offs = ptr - roomptr; if (_features & GF_AFTER_V8) { for (i = 1; i < _maxScaleTable; i++, offs += 16) { - int a = READ_LE_UINT32(roomptr + offs); - int b = READ_LE_UINT32(roomptr + offs + 4); - int c = READ_LE_UINT32(roomptr + offs + 8); - int d = READ_LE_UINT32(roomptr + offs + 12); - if (a || b || c || d) { - setScaleItem(i, b, a, d, c); - roomptr = getResourceAddress(rtRoom, _roomResource); - } + int scale1 = READ_LE_UINT32(roomptr + offs); + int y1 = READ_LE_UINT32(roomptr + offs + 4); + int scale2 = READ_LE_UINT32(roomptr + offs + 8); + int y2 = READ_LE_UINT32(roomptr + offs + 12); + setScaleSlot(i, 0, y1, scale1, 0, y2, scale2); } } else { for (i = 1; i < _maxScaleTable; i++, offs += 8) { @@ -981,6 +978,16 @@ void Scumm::setScaleItem(int slot, int a, int b, int c, int d) } } +void Scumm::setScaleSlot(int slot, int x1, int y1, int scale1, int x2, int y2, int scale2) +{ + _scaleSlots[slot].x2 = x2; + _scaleSlots[slot].y2 = y2; + _scaleSlots[slot].scale2 = scale2; + _scaleSlots[slot].x1 = x1; + _scaleSlots[slot].y1 = y1; + _scaleSlots[slot].scale1 = scale1; +} + void Scumm::dumpResource(char *tag, int idx, byte *ptr) { char buf[256]; |