aboutsummaryrefslogtreecommitdiff
path: root/engines/bladerunner/screen_effects.h
diff options
context:
space:
mode:
authorThanasis Antoniou2019-05-21 22:13:45 +0300
committerThanasis Antoniou2019-05-21 22:13:45 +0300
commitd4855a64b3bc9f9b2951486589ee8bff26ffabc2 (patch)
tree96574b1c391b705e80b49ac321b2636194c45afd /engines/bladerunner/screen_effects.h
parent203d82a1a0382684884da0d6c285444605153802 (diff)
downloadscummvm-rg350-d4855a64b3bc9f9b2951486589ee8bff26ffabc2.tar.gz
scummvm-rg350-d4855a64b3bc9f9b2951486589ee8bff26ffabc2.tar.bz2
scummvm-rg350-d4855a64b3bc9f9b2951486589ee8bff26ffabc2.zip
BLADERUNNER: Add methods to skip screen effects
Also enhanced functionality for debugger's cmdDraw, allowing to draw isolated objects
Diffstat (limited to 'engines/bladerunner/screen_effects.h')
-rw-r--r--engines/bladerunner/screen_effects.h11
1 files changed, 10 insertions, 1 deletions
diff --git a/engines/bladerunner/screen_effects.h b/engines/bladerunner/screen_effects.h
index d16f1cf284..06d8014c58 100644
--- a/engines/bladerunner/screen_effects.h
+++ b/engines/bladerunner/screen_effects.h
@@ -36,6 +36,8 @@ namespace BladeRunner {
class BladeRunnerEngine;
class ScreenEffects {
+ friend class Debugger;
+ static const int kMaxEffectsInScene = 7;
public:
struct Entry {
Color256 palette[16];
@@ -52,6 +54,10 @@ public:
Common::Array<Entry> _entries;
uint8 *_data;
int _dataSize;
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ Common::Array<int> _skipEntries; // added member to allow skipping specified effects
+#endif // BLADERUNNER_ORIGINAL_BUGS
public:
ScreenEffects(BladeRunnerEngine *vm, int size);
@@ -59,7 +65,10 @@ public:
void readVqa(Common::SeekableReadStream *stream);
void getColor(Color256 *outColor, uint16 x, uint16 y, uint16 z) const;
-
+#if BLADERUNNER_ORIGINAL_BUGS
+#else
+ void toggleEntry(int effectId, bool skip); // added method to allow skipping specified effects
+#endif // BLADERUNNER_ORIGINAL_BUGS
//TODO
//bool isAffectingArea(int x, int y, int width, int height, int unk);
};