diff options
author | Martin Kiewitz | 2016-02-23 20:17:18 +0100 |
---|---|---|
committer | Martin Kiewitz | 2016-02-23 20:17:18 +0100 |
commit | 82165bb6f63290635cedb41b3a8dff1a5d1f5745 (patch) | |
tree | edaf769ebe342f18ca19a31a89d93c20f9c1d6ee /engines/sci/graphics/animate.h | |
parent | 64e21078dae76e900ed2c8e338e27fe57b4cae4d (diff) | |
download | scummvm-rg350-82165bb6f63290635cedb41b3a8dff1a5d1f5745.tar.gz scummvm-rg350-82165bb6f63290635cedb41b3a8dff1a5d1f5745.tar.bz2 scummvm-rg350-82165bb6f63290635cedb41b3a8dff1a5d1f5745.zip |
SCI: Improve kAnimate fastcast detection, Remove EQ1 hack
- Add "kAnimate fast cast state" to "version" debug command
- Make it possible for script patcher signatures to get fully
used outside of the regular script patcher
- Remove previous fastcast detections and replace them with
a signature heuristic
- Remove object name checking, when fastcast global is set
- Heuristic detects "fast cast" support incorrectly for multilingual
KQ5, but it seems the game never sets the global, so it won't
matter. KQ5 CD (also SCI1 late) has fastcast support.
- Remove hack in GfxView::draw
- Add lots of comments to ScriptPatcher class
This fixes EcoQuest 1 Floppy showing the anemone on top of the
message box (see bug #5170)
Diffstat (limited to 'engines/sci/graphics/animate.h')
-rw-r--r-- | engines/sci/graphics/animate.h | 10 |
1 files changed, 8 insertions, 2 deletions
diff --git a/engines/sci/graphics/animate.h b/engines/sci/graphics/animate.h index 6c1822c903..ac7078093c 100644 --- a/engines/sci/graphics/animate.h +++ b/engines/sci/graphics/animate.h @@ -87,9 +87,13 @@ class GfxView; */ class GfxAnimate { public: - GfxAnimate(EngineState *state, GfxCache *cache, GfxPorts *ports, GfxPaint16 *paint16, GfxScreen *screen, GfxPalette *palette, GfxCursor *cursor, GfxTransitions *transitions); + GfxAnimate(EngineState *state, ScriptPatcher *scriptPatcher, GfxCache *cache, GfxPorts *ports, GfxPaint16 *paint16, GfxScreen *screen, GfxPalette *palette, GfxCursor *cursor, GfxTransitions *transitions); virtual ~GfxAnimate(); + bool isFastCastEnabled() { + return _fastCastEnabled; + } + void disposeLastCast(); bool invoke(List *list, int argc, reg_t *argv); void makeSortedList(List *list); @@ -110,6 +114,7 @@ public: private: void init(); + bool detectFastCast(); void addToPicSetPicNotValid(); void animateShowPic(); @@ -119,6 +124,7 @@ private: void setNsRect(GfxView *view, AnimateList::iterator it); EngineState *_s; + ScriptPatcher *_scriptPatcher; GfxCache *_cache; GfxPorts *_ports; GfxPaint16 *_paint16; @@ -130,7 +136,7 @@ private: AnimateList _list; AnimateArray _lastCastData; - bool _ignoreFastCast; + bool _fastCastEnabled; }; } // End of namespace Sci |