diff options
author | Gregory Montoir | 2005-01-30 20:38:54 +0000 |
---|---|---|
committer | Gregory Montoir | 2005-01-30 20:38:54 +0000 |
commit | b9646d35d340627b47accfd1bc0f8c2da784a473 (patch) | |
tree | 7a4e2ec67b0b0e9fa97d120fa1bd97336cd625e8 /scumm/resource_v7he.h | |
parent | 339df486e1a3d9ff5546c17e998521af504510cc (diff) | |
download | scummvm-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.h | 17 |
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; |