aboutsummaryrefslogtreecommitdiff
path: root/engines/sci/graphics/animate.h
diff options
context:
space:
mode:
authorMartin Kiewitz2016-02-23 20:17:18 +0100
committerMartin Kiewitz2016-02-23 20:17:18 +0100
commit82165bb6f63290635cedb41b3a8dff1a5d1f5745 (patch)
treeedaf769ebe342f18ca19a31a89d93c20f9c1d6ee /engines/sci/graphics/animate.h
parent64e21078dae76e900ed2c8e338e27fe57b4cae4d (diff)
downloadscummvm-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.h10
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