aboutsummaryrefslogtreecommitdiff
path: root/scumm/resource_v7he.h
diff options
context:
space:
mode:
authorGregory Montoir2005-01-30 20:38:54 +0000
committerGregory Montoir2005-01-30 20:38:54 +0000
commitb9646d35d340627b47accfd1bc0f8c2da784a473 (patch)
tree7a4e2ec67b0b0e9fa97d120fa1bd97336cd625e8 /scumm/resource_v7he.h
parent339df486e1a3d9ff5546c17e998521af504510cc (diff)
downloadscummvm-rg350-b9646d35d340627b47accfd1bc0f8c2da784a473.tar.gz
scummvm-rg350-b9646d35d340627b47accfd1bc0f8c2da784a473.tar.bz2
scummvm-rg350-b9646d35d340627b47accfd1bc0f8c2da784a473.zip
added a basic cursor cache for win32 HE70+ games
svn-id: r16708
Diffstat (limited to 'scumm/resource_v7he.h')
-rw-r--r--scumm/resource_v7he.h17
1 files changed, 17 insertions, 0 deletions
diff --git a/scumm/resource_v7he.h b/scumm/resource_v7he.h
index b492372cc9..3aef799933 100644
--- a/scumm/resource_v7he.h
+++ b/scumm/resource_v7he.h
@@ -123,10 +123,27 @@ class Win32ResExtractor {
int convertIcons(byte *data, int datasize, byte **cursor, int *w, int *h,
int *hotspot_x, int *hotspot_y, int *keycolor);
+ enum {
+ MAX_CACHED_CURSORS = 10
+ };
+
+ struct CachedCursor {
+ bool valid;
+ int id;
+ byte *bitmap;
+ int w, h;
+ int hotspot_x, hotspot_y;
+ uint32 last_used;
+ };
+
private:
+ Win32ResExtractor::CachedCursor *findCachedCursor(int id);
+ Win32ResExtractor::CachedCursor *getCachedCursorSlot();
+
bool _arg_raw;
ScummEngine_v70he *_vm;
char _fileName[256];
+ CachedCursor _cursorCache[MAX_CACHED_CURSORS];
typedef Common::MemoryReadStream MemoryReadStream;