diff options
author | Max Horn | 2005-04-17 23:19:16 +0000 |
---|---|---|
committer | Max Horn | 2005-04-17 23:19:16 +0000 |
commit | 96e40213efc65644c3685ca543f6ddbc05a27d87 (patch) | |
tree | 4d648d30e1e100841127adbe7fd6c1bfcb2a904e /scumm/cursor.cpp | |
parent | c4e7f403f8b36c4c0437b6fa911f383dfa0770ab (diff) | |
download | scummvm-rg350-96e40213efc65644c3685ca543f6ddbc05a27d87.tar.gz scummvm-rg350-96e40213efc65644c3685ca543f6ddbc05a27d87.tar.bz2 scummvm-rg350-96e40213efc65644c3685ca543f6ddbc05a27d87.zip |
New virtual method getObjectIdFromOBIM
svn-id: r17660
Diffstat (limited to 'scumm/cursor.cpp')
-rw-r--r-- | scumm/cursor.cpp | 22 |
1 files changed, 12 insertions, 10 deletions
diff --git a/scumm/cursor.cpp b/scumm/cursor.cpp index 9d025c6e60..8f49b9f624 100644 --- a/scumm/cursor.cpp +++ b/scumm/cursor.cpp @@ -157,26 +157,28 @@ void ScummEngine_v6::setCursorFromImg(uint img, uint room, uint imgindex) { const byte *dataptr, *bomp; uint32 size; FindObjectInRoom foir; + const ImageHeader *imhd; if (room == (uint) - 1) room = getObjectRoom(img); findObjectInRoom(&foir, foCodeHeader | foImageHeader | foCheckAlreadyLoaded, img, room); + imhd = (const ImageHeader *)findResourceData(MKID('IMHD'), foir.obim); if (_version == 8) { - setCursorHotspot(READ_LE_UINT32(&foir.imhd->v8.hotspot[0].x), - READ_LE_UINT32(&foir.imhd->v8.hotspot[0].y)); - w = READ_LE_UINT32(&foir.imhd->v8.width) / 8; - h = READ_LE_UINT32(&foir.imhd->v8.height) / 8; + setCursorHotspot(READ_LE_UINT32(&imhd->v8.hotspot[0].x), + READ_LE_UINT32(&imhd->v8.hotspot[0].y)); + w = READ_LE_UINT32(&imhd->v8.width) / 8; + h = READ_LE_UINT32(&imhd->v8.height) / 8; } else if (_version == 7) { - setCursorHotspot(READ_LE_UINT16(&foir.imhd->v7.hotspot[0].x), - READ_LE_UINT16(&foir.imhd->v7.hotspot[0].y)); - w = READ_LE_UINT16(&foir.imhd->v7.width) / 8; - h = READ_LE_UINT16(&foir.imhd->v7.height) / 8; + setCursorHotspot(READ_LE_UINT16(&imhd->v7.hotspot[0].x), + READ_LE_UINT16(&imhd->v7.hotspot[0].y)); + w = READ_LE_UINT16(&imhd->v7.width) / 8; + h = READ_LE_UINT16(&imhd->v7.height) / 8; } else { if (!(_features & GF_HUMONGOUS)) - setCursorHotspot(READ_LE_UINT16(&foir.imhd->old.hotspot[0].x), - READ_LE_UINT16(&foir.imhd->old.hotspot[0].y)); + setCursorHotspot(READ_LE_UINT16(&imhd->old.hotspot[0].x), + READ_LE_UINT16(&imhd->old.hotspot[0].y)); w = READ_LE_UINT16(&foir.cdhd->v6.w) / 8; h = READ_LE_UINT16(&foir.cdhd->v6.h) / 8; } |