aboutsummaryrefslogtreecommitdiff
path: root/scumm/scummvm.cpp
diff options
context:
space:
mode:
authorMax Horn2003-01-13 01:29:45 +0000
committerMax Horn2003-01-13 01:29:45 +0000
commiteb9726c4974111ac56bbc256658785f06d4df531 (patch)
treeed335402a935d3f49c80675f752a4d1bad1201cd /scumm/scummvm.cpp
parent1f88542417b58ce2e71708217f17ebcc7de78c20 (diff)
downloadscummvm-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.cpp23
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];